我寫了一段台指自動進場、自動停損停利的程式, 進場的沒問題,唯有在自動停損時,會同時觸發買進與賣出, 這問題我試了一週也試不出原因,不知小幫手可以提點一下嗎?(附上截圖與程式碼)
▼進場策略中卻出現「停損」的執行,這是進場策略啊? 我看了我寫的if,再怎麼看都不可能同時觸發才對,

▼出場策略 : 是正常的賣出平倉無誤。
程式碼我附在下一則回應中,字數太長了無法存檔。
我寫了一段台指自動進場、自動停損停利的程式, 進場的沒問題,唯有在自動停損時,會同時觸發買進與賣出, 這問題我試了一週也試不出原因,不知小幫手可以提點一下嗎?(附上截圖與程式碼)
▼進場策略中卻出現「停損」的執行,這是進場策略啊? 我看了我寫的if,再怎麼看都不可能同時觸發才對,

▼出場策略 : 是正常的賣出平倉無誤。
程式碼我附在下一則回應中,字數太長了無法存檔。
input:Length(20,"MA的天數"),
UpperBand(2,"上通道標準差倍數"),
LowerBand(2,"下通道標準差倍數");
variable:mid(0),up(0),down(0);
variable:_cost(0),_stock(0),_gainprice(0),_lossprice(0);
input:gain(12,"停利點數");
input:loss(10,"停損點數");
up = bollingerband(Close,Length,UpperBand) ;
mid = average(close,Length);
down = bollingerband(Close,Length,-1*LowerBand);
if date <> date[1]
then begin
_stock =0;
_cost=0;
end;
//多單進場
if close crosses above down
and _stock =0
then begin
_cost = close ;//
_gainprice = _cost+gain;//停利
_lossprice = _cost-loss;//停損
_stock =1;
ret = 1;
retmsg ="多單進場";
Print(Date,Time,"多單進場:","成本價:",_cost,"庫存",_stock,"close",close,"_gainprice",_gainprice,"_lossprice",_lossprice);
end;
//多單停利
if _stock = 1
and close > _gainprice
then begin
_stock =0;
ret = 1;
retmsg ="多單停利";
Print(Date,Time,"多單停利:","成本價:",_cost,"庫存:",_stock,"close",close,"_gainprice",_gainprice);
end;
//多單停損
if _stock =1
and close < _lossprice
then begin
_stock = 0;
ret = 1;
retmsg ="多單停損";
Print(Date,Time,"多單停損","成本價:",_cost,"庫存:",_stock,"close",close,"_lossprice",_lossprice);
end;
1 評論