以5分K的示警模式下,抓去前日最高點均線

  •   389 
  • 最後發表   JCL  2025 二月 05
JCL 發文於   2025/01/27

請問如何寫出在昨日開盤090000的average(close,60)大於前日average(close,60)的最高點呢?

排序方式: 標準 | 最新
虎科大許教授 發文於   2025/01/31

{這個任務需要準備足夠的資料筆數,以5分鐘頻率而言,

需要至少準備3天加60筆資料,亦即3*54+60=222}

setTotalBar(222);

value1=getbaroffset(getField("日期","D")[1],090000);

value2=getbaroffset(getField("日期","D")[2],090000);

value3=average(c[value1],60);

value4=simplehighest(average(c,60)[value1],value2-value1+1);

if value3>value4 then ret=1;

JCL 發文於   2025/01/31

謝謝教授的回答,另外請教上述幾點問題:

1.如果剛好遇到跨假日或是休市日,舉例來說getbaroffset(getField("日期","D")[2],090000)回傳上會有問題嗎?

2.在value4=simplehighest(average(c,60)[value1],value2-value1+1); 中的value2-value1+1這段是甚麼意思呢?

虎科大許教授 發文於   2025/01/31

(1)getbaroffset抓的是資料的日期。不受假日影響。

(2)value4為何這樣計算,你慢慢琢磨,這樣才會進步。

JCL 發文於   2025/01/31

了解,謝謝許教授熱心地回答。

虎科大許教授 發文於   2025/02/01

你可在上述程式的最後一行加上Print,以顯示相關變數的數值,這樣方便你了解各個變數運算的結果。

print(date,time,datetime[value1],datetime[value2],value1,value2,value3,value4);

JCL 發文於   2025/02/03

好的,謝謝許教授的回覆。

XS小編 發文於   2025/02/05

Hello JCL,

 

小編補充,關於 getbaroffset 的部分,您可以參考 XSHelp 上的說明:

當無傳入日期這根K棒時,會往前找到最接近的一根。

JCL 發文於   2025/02/05

謝謝小編的解答。

發表回覆
Close