high的問題

  •   480 
  • 最後發表   Benzing  2021 九月 22
Benzing 發文於   2021/09/15

你好 小編
我想請問 自動交易的程式碼
如果有value1=getField("high"); 如果是在1分K的頻率之下
他是指當下最大的交易價嗎
這個數值再跑回測的時候是否會出現問題呢?
另外這個數值會等於value2=highD 這個數值嗎?
舉例來說 
我想要當價格超過今日最高下的當下進場
是否能寫成 if c cross over value1 then setposition(1,market)

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

Hello Benzing,

 

High 會回傳該頻率的最高價。

所以用在一分鐘頻率上的話,High指的就是當根一分鐘Bar的最高價。

HighD 會回傳指定日的最高價。

您也可以使用 GetField("High", "D") 來取得日頻率的最高價。

您沒辦法寫價格超過今日最高價,因為當收盤價超過時今日最高價時今日最高價就會被更新為該價格,所以不會發生超過。

這時有兩種方法:

1. 收盤價等於當日最高價

if close = getfield("High", "D") then setposition(1, market);

2. 收盤價超過上一筆的當日最高價 (非昨日最高價,是該頻率中的"上一筆")

value1 = getfield("High", "D");

if close cross over value1[1] then setposition(1, market);

Benzing 發文於   2021/09/17

想請問 假設開盤 10分鐘  出現了一個當時最高價 100元

 在第15分鐘的時候 出現超過 100元

這樣是不是寫成第二個的寫法呢在一分k下

value1 = getfield("High", "D");

if close cross over value1[1] then setposition(1, market);

這樣在第15分鐘 就會發動程式嗎?

XQ小幫手 發文於   2021/09/22

Hello Benzing,

 

您舉的例子,如果在第15分鐘時收盤價同時也等於超過100元的價格的話,兩者都會觸發。

如果收盤價超過100元,但並不等於當日最高價的話就只會有第二種寫法會觸發。

舉例來說,第15分鐘Bar出現時的當日最高價為105,而收盤價為103的話,由於收盤價有向上穿越之前的100所以第二種寫法會被觸發。

但第一種寫法會因為收盤價並不等於105故不觸發。

Benzing 發文於   2021/09/22

了解 感謝小編

發表回覆
Close