關於【指標】僅在一段時間SHOW出的語法

  •   128 
  • 最後發表   melshen  2023 三月 13
melshen 發文於   2023/03/07

以台指期的商品 抓首K高低點並在在一段時間(當日0845至隔日0445)內呈現指標就好

例如從當日0845開始
所以我寫了以下語法  

if time = 084500
then begin

Value1  = High;

Value2  = Low;

Value3  = Open;

Value4  = Close;

Value5  = High - Low; 

end;

Plot1(Value5,"最大點數區間");


但我想要在隔日的 044500 結束
所以爬文用了 timeadd 寫了以下語法

Value99 = TimeAdd(084500, "H", 20);
if time = 084500 and time < Value99
then begin  

可是執行後整個指標都不見了
想請問小編問題出在那?

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

 Hello melshen,

 

您可以實際將 Value99 print 或 plot 出來就可以理解問題原因。

value99 會是 44500,您的 time 不可能同時等於 084500 且小於 44500。

應該將條件修改為 if time >= 084500 or time < value99 才會符合您要的 08:45 ~ 04:45。

melshen 發文於   2023/03/09

謝謝小編的回答,您的邏輯我可以理解
但改成,會變成會去抓每一分K的高低。
所以問題來了,要抓首K(084500)的高低點,是不是只能用 time = 084500 去抓,還是有其它方法呢?

XQ小幫手 發文於   2023/03/13

 Hello melshen,

 

您可以先用 time = 084500 抓高低點,接著再用另外條件決定畫出的區間,沒有必要一定要用同一個條件來決定取得的值和畫出的時間。

舉例來說:

if time = 084500 then begin

    Value1  = High;

    Value2  = Low;

    Value3  = Open;

    Value4  = Close;

    Value5  = High - Low; 

    end;

 

if time >= 084500 or time <= 044500 then plot1(value5) else noplot(1);

 

發表回覆
Close