在腳本設定為分鐘頻率下,如何才能只觸發一次?

  •   913 
  • 最後發表   C先生  2020 八月 14
C先生 發文於   2017/10/13

假設腳本設定頻率是30分或15分

我希望 只有第一個符合觸發條件的K棒時,執行觸發。之後符合的K棒,便不再觸發。

這在XS語法中或在回測設定中,要怎麼實現這個策略?

我在策略雷達中,設定"啟動後只觸發一次",但回測後發現每根K棒都會重新執行一次腳本,一有符合就會觸發,這不是我要的。我只要第一個符合條件的K棒做觸發,之後就不再觸發。

排序方式: 標準 | 最新
XQ小幫手 發文於   2017/10/16

Hi C先生,

待小幫手查看後,再向您說明,謝謝。

XQ小幫手 發文於   2017/10/16

Hi C先生,

小幫手使用XS語法撰寫旗標的方式,看看能否達成您的需求,

 

回測腳本程式碼範例如下方所述,記得回測開始日期須在回測設定介面,依據回測的初始日調整:

input:Start_Day(20170715,"回測開始日期");

if date >= Start_Day and value1 = 0 then 
begin ret = 1; value1 = 1; end;

 

回測設定畫面:

 

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

 

以上供您參考,謝謝。

C先生 發文於   2017/10/16

你的方法無效說 ,提供我的腳本給你,看看能否解決。

我的進場策略如下

//僅適用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;

 

XQ小幫手 發文於   2017/10/17

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;

 

回測設定畫面如下:

 

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

無情卻慈悲 發文於   2020/08/14

我想請問一下,這個 value100=1; 

是有什麼用途嗎?看不太懂呢

感謝

GammaCEO 發文於   2020/08/14

我想請問一下,這個 value100=1; 

是有什麼用途嗎?看不太懂呢

感謝

 

在未宣告intrabarpersist參數時

通常會用value變數作為出場判讀依據

小編的value100應該只是隨機值

發表回覆
Close