策略回測找出進場價位

  •   111 
  • 最後發表   黑框  2022 二月 09
黑框 發文於   2022/02/06

小幫手好,我想要在某一個進場條件成立下的隔天開盤買進

因此利用barlast的寫法來找出進場的價格,如下:

 

If volume>volume[1]*1.2

and close>open

and close>close[1]*1.03

then condition1=true

else condition1=false;

Value1=barslast(condition1);

If Value1=1 Then Value2=open;

 

Value2就是我的買入價格,但這種寫法如果未出場前,有條件符合的話

Value2就會被新的價格取代,而不是第一次符合的價格

請問小幫手有其他寫法嗎? (能否利用array來存取每一次的價格呢?)

 

XQ小幫手 發文於   2022/02/09

Hello 黑框,

 

您可以設一個變數紀錄當下是否有進場,如果有進場的話就不更新該數值。

直到出場時再將該變數調整回0即可。

另外要判斷上一期是否符合條件的話可以直接用condition1[1]即可,不需要特別使用barslast。

舉例來說:

var: _pos(0);   //部位

If volume>volume[1]*1.2

and close>open

and close>close[1]*1.03

and _pos = 0

then condition1=true else condition1=false;

 

If condition1[1] Then begin

    Value2=open;

    _pos = 1;

    end;

這樣的話在觸發條件後 _pos 變回 0 之前都不會再度觸發,value2也不會被更新。

發表回覆
Close