請強力小幫手協助確認停損寫法

  •   163 
  • 最後發表   Zreedom  2023 八月 07
Zreedom 發文於   2023/07/25

照下列寫法回測,發現當價格低於我的買進價(condition3)並沒有發動清倉,想確認是否有沒有哪裡寫錯,感謝:

另想確認用"收盤價"跑交易腳本時是即時的價格嗎

 

Value1= GetField("收盤價");

Value1 = GetField("Close");

var:bCost(0);//設定買進價格的變數

condition1 = (close-open)>0; 

condition2 = (close-open)<0;

condition3 = (bCost<Value1);//當現行價格跌破買入成本時

if condition1 then 

begin

setposition(+1,market);

bCost=value1;

end;

 

if condition2 and condition3 then 

begin

setposition(0,market);

bCost=0;

end;

排序方式: 標準 | 最新
XQ小幫手 發文於   2023/07/26

Hello Zreedom,

 

收盤價欄位是當下的成交價,也就是該次腳本運算時最新的價格。

bCost 紀錄的會是進場時的成交價,並不是交易的成交價。

且需注意若使用逐筆洗價的話,要用 intrabarpersist 宣告才可以確保記錄到數值。

可以使用 filledavgprice 來取得未平倉成本。

建議您可以使用 print 將相關數值印出,比較容易找出問題原因。

 

網站上有教學區,裡面有XS語法的基礎和應用可以閱覽。

Zreedom 發文於   2023/08/03

想請教進場時的成交價,與交易的成交價有甚麼差別

XQ小幫手 發文於   2023/08/07

Hello Zreedom,

 

一個是腳本運算觸發委託時當下的成交價 (市場當下的價格),一個是下出委託後的實際成交價格。

兩者可能會因為快市或滑價而有所不同。

發表回覆
Close