小幫手你好,近期有寫一個做多策略,進場蠻簡單的就是下期開盤價,
出場設定的停損利想要在進場日所計算出的ATR加上或減去來做停損利(停利=進場日+ATR、停損=進場日-ATR),
但因為策略回測進出場腳本是分開的,現在在煩惱如何下手取得進場日的ATR資訊,懇請小幫手解惑,謝謝
        
        小幫手你好,近期有寫一個做多策略,進場蠻簡單的就是下期開盤價,
出場設定的停損利想要在進場日所計算出的ATR加上或減去來做停損利(停利=進場日+ATR、停損=進場日-ATR),
但因為策略回測進出場腳本是分開的,現在在煩惱如何下手取得進場日的ATR資訊,懇請小幫手解惑,謝謝
Hello 異想天開,
您可以將進場條件和相關運算也撰寫在出場腳本中,並使用變數來記錄進場條件符合時的ATR數值,這樣就可以用來判斷出場。
小幫手我試了很多次 還是不了解怎麼把進場腳本傳值給出場腳本,可以幫我解惑嗎

Hello 異想天開,
請注意小幫手所說的並不是 "把進場腳本傳值給出場腳本",而是 "將進場條件和相關運算也撰寫在出場腳本中"。
也就是讓出場腳本和進場腳本作一樣的運算,這樣就可以取到所需的值。
舉例來說,進場腳本如下:
if close cross over average(close, 20) then ret = 1;
那麼您的出場腳本可以如此撰寫:
value1 = atr(14);
//進場條件符合時計算停利停損點
if close cross over average(close, 20) then begin
value2 = close + value1; //停利值
value3 = close - value1; //停損值
end;
//停利停損點達到時出場,且將停利停損點歸0避免再度觸發
if (close >= value2 or close <= value3) and value2 <> 0 and value3 <> 0 then begin
ret = 1;
value2 = 0;
value3 = 0;
end;
3 評論