假設腳本設定頻率是30分或15分
我希望 只有第一個符合觸發條件的K棒時,執行觸發。之後符合的K棒,便不再觸發。
這在XS語法中或在回測設定中,要怎麼實現這個策略?
我在策略雷達中,設定"啟動後只觸發一次",但回測後發現每根K棒都會重新執行一次腳本,一有符合就會觸發,這不是我要的。我只要第一個符合條件的K棒做觸發,之後就不再觸發。
假設腳本設定頻率是30分或15分
我希望 只有第一個符合觸發條件的K棒時,執行觸發。之後符合的K棒,便不再觸發。
這在XS語法中或在回測設定中,要怎麼實現這個策略?
我在策略雷達中,設定"啟動後只觸發一次",但回測後發現每根K棒都會重新執行一次腳本,一有符合就會觸發,這不是我要的。我只要第一個符合條件的K棒做觸發,之後就不再觸發。
Hi C先生,
待小幫手查看後,再向您說明,謝謝。
Hi C先生,
小幫手使用XS語法撰寫旗標的方式,看看能否達成您的需求,
回測腳本程式碼範例如下方所述,記得回測開始日期須在回測設定介面,依據回測的初始日調整:
input:Start_Day(20170715,"回測開始日期"); if date >= Start_Day and value1 = 0 then
begin ret = 1; value1 = 1; end;
回測設定畫面:

執行後的回測報告,商品只會交易一次:

以上供您參考,謝謝。
你的方法無效說 ,提供我的腳本給你,看看能否解決。
我的進場策略如下
//僅適用10分鐘線
if barfreq<> "Min" or barinterval <> 10 then return;
//一開盤必須小於漲停價的5%
value1 = UpLimit(CloseD(1)); //計算前一日收盤價之漲停價
input:percent(5);
//
input: FastLength(12), SlowLength(26), MACDLength(9);
variable: difValue(0), macdValue(0), oscValue(0);
MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);
if OscValue>0.05 and time>=092000 and time<=120000 and open<value1*(1-percent/100)
then ret=1;
出場策略如下:
//僅適用10分鐘線
if barfreq<> "Min" or barinterval <> 10 then return;
//
input: FastLength(12), SlowLength(26), MACDLength(9);
variable: difValue(0), macdValue(0), oscValue(0);
MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);
if difValue[1]<difValue[2] or time>=131000
then ret=1;
Hi C先生,
謝謝您提供相關資訊,請將進場腳本修改為以下程式碼範例腳本:
input:Start_Day(20170716,"回測開始日期");
if date < Start_Day or value100 = 1 then return;
//僅適用10分鐘線
if barfreq<> "Min" or barinterval <> 10 then return;
//一開盤必須小於漲停價的5%
value1 = UpLimit(CloseD(1)); //計算前一日收盤價之漲停價
input:percent(5);
//
input: FastLength(12), SlowLength(26), MACDLength(9);
variable: difValue(0), macdValue(0), oscValue(0);
MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);
if OscValue>0.05 and time>=092000 and time<=120000 and open<value1*(1-percent/100) then
begin
ret=1;
value100=1;
end;
回測設定畫面如下:

小幫手回測後的回測報告商品分析明細表,只有交易一次,應該是可行的,呈請您再試試看,謝謝。

我想請問一下,這個 value100=1;
是有什麼用途嗎?看不太懂呢
感謝
我想請問一下,這個 value100=1;
是有什麼用途嗎?看不太懂呢
感謝
在未宣告intrabarpersist參數時
通常會用value變數作為出場判讀依據
小編的value100應該只是隨機值
6 評論