問題請教

  •   108 
  • 最後發表   pon404  2022 一月 13
pon404 發文於   2022/01/10

您好:

目前1分K策略雷達架構如下:

if barfreq <>"Min" or  barinterval<> 1 then raiseruntimeerror("本腳本只適用於1分鐘線");

variable:count(0);

if date<>date[1] then count=0;

count=count+1;

if  count <= 20

and 中間條件省略

then ret=1;

現在想增加一個條件:

當Swinghigh(high,count-1,3,3,1)觸發時已經至少過了3分鐘,

如何能在3分鐘後回頭判斷high值的當下,當日最大值/最小值> 1.02是否成立。

舉例:

9點10分Swinghigh(high,count-1,3,3,1)觸發,假設high為9點6分,

請問如何在9點10分的時候判斷9點6分的當下,當日最大值/最小值是否> 1.02。

有試過highest(high,count),但會算9點10分當下的最大/小值,

我要的是在9點6分當下的最大/小值> 1.02,在9點7分到9點10分才成立的不算。

請提供協助,謝謝。

XQ小幫手 發文於   2022/01/13

 Hello pon404,

 

小幫手認為您可以參考 SwingHighBar 來取得達成條件的轉折高點相對位置。

因為照您的寫法 Swinghigh(high,count-1,3,3,1) 會持續抓到當日最近一筆轉折高點,但您無法確認其相對位址。

使用 SwingHighBar 取得相對位置後就可以取得那根Bar運算出來的最大值/最小值或是直接取用該時間的條件是否成立。

舉例來說:

value1 = getfield("High", "D") / getfield("Low", "D");    //計算當日 最大值/最小值

condition1 = value1 > 1.02;    //判斷當日最大值/最小值是否> 1.02

 

value1[Swinghighbar(high,count-1,3,3,1)] 就會是轉折高點那根Bar當下的最大值/最小值

condition1[Swinghighbar(high,count-1,3,3,1)] 就會是轉折高點那根Bar當下條件是否有成立。

 

發表回覆
Close