回測多條件出場語法

  •   569 
  • 最後發表   XQ Benson  2022 四月 07
XQ Benson 發文於   2022/03/26

小幫手你好,如題

日盤K操作,有2個出場條件

條件1. 如何撰寫設定停損點數出場(只要盤中打到就出場)。

條件2. 指定時間(如13:40分以後)在執行,當下價格跌破前日K棒最低點出場,沒破續抱。

 

input:period(1,"區間");

value1=Lowest(Low[1],period);

 if  close<value1

 then ret=1;

排序方式: 標準 | 最新
XQ Benson 發文於   2022/03/30

OP文已過三天沒見小幫手回應,

我把需求完整說明一下

(以下語法僅是我會的部分)

===進場腳本條件===

(可啟用模擬逐筆洗價)

1. 操作週期:K,以下三條件完全符合 進場。

1.1 指定時間確認當下價格是否突破前三日K最高價。

1.2 且符合 前1K與前2K的最高點差在100內。

1.3 且符合 突破當下價格高於5MA

input: KH1(100,"高點差");

input:period(3,"計算區間");

input:period1(5,"高於MA");

 

value1=highest(high[1],period);

value2 = average(close,period1);

 

if close>value1

and close>value2

AND high[1]-high[2]<KH1

AND high[2]-high[1]<KH1

then ret=1;


 

 

===出場腳本條件===

(可啟用模擬逐筆洗價)

1. 操作週期:K,符合以下其一條件 出場。

1.1 進場後,盤中跌破設定停損點 出場。

1.2 沒打到停損點條件下,指定時間確認當下價格日否跌破前日K最低點,跌破出場。

 

input:period(2,"計算區間");

 

value1=Lowest(Low[1],period);

 

if  close<value1

 

then ret=1;

 

XQ小幫手 發文於   2022/04/07

Hello XQ Benson,

 

由於您使用的是策略雷達,所以沒辦法使用交易函數取得庫存和成本,所以停損停利的作法可以有以下兩種:

1. 直接將停損停利的價格寫在input來判斷,缺點是需要每次使用時作修改,所以無法使用在停損。

2. 將進場的邏輯寫在出場腳本中,並用變數紀錄觸發當下的成交價當作計算起點。缺點是當下的成交價並不一定就是實際的成交價。

小幫手會建議您使用交易腳本比較容易控制。

至於停損停利如何撰寫,您可以參考內建的交易腳本,裡面有簡單的範例。

日頻率下的前日K棒最低點其實就是low[1],不需要特別使用lowest。

附上範例的警示腳本供您參考。

 

另外補充,小幫手回覆問題時是由討論區後方開始回覆。(優先回覆先發問的用戶)

所以如果您在同一篇文章下推文的話會將文章向前推移,導致延後小幫手看到的時間。

由於近來發問人數眾多,所以麻煩您在發問後多等待一陣子,感謝。

附加文件

  • 按讚來自於
  • skywalker0123
發表回覆
Close