五分頻率中,該如何使用當日累計的特大單金額差跳警示訊號

  •   399 
  • 最後發表   小豪很仁慈  2025 二月 24
小豪很仁慈 發文於   2025/02/24

想請問如果我想要在五分頻率中,使用當日累計的特大單金額差

開逐筆洗價的狀態,每根k棒去跟前一根比較

當k棒大於前一根k棒數值+n(下面範例是7)

即跳警示訊號

想請問以下的程式碼,應該如何修改?

 

if barfreq <> "Min" and barfreq <> "D" and barfreq <> "AD" then 

raiseruntimeerror("僅支援分鐘與日頻率(含還原)");

 

 value9 = GetField("買進特大單金額","D") ;

 value10 = GetField("賣出特大單金額","D") ;

 value11 = value9 - value10; {=特大單金額差}

 Value12 = GetField("成交金額(元)","D");{=成交值}

 

 if value12 <> 0 then begin

 Value13 = value11 / Value12;

 end

 else begin

 value13 = 0;

 end;

 Value14 = Value13*100;

INput: number1(7, "5k特大單差%增N:");

if  value14 >= value14[1]+ number1{"特大單差%"}

then ret=1;

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

(1)買進特大單金額等欄位資料並不支援還原日頻率。若使用5分鐘頻率,防呆應撰寫如下:

if barfreq <> "Min" or barinterval <> 5 then raiseruntimeerror("僅支援5分鐘頻率");

(2)GetField("買進特大單金額","D")抓的是日頻率的資料,若要抓5分鐘資料,使用預設頻率即可,亦即GetField("買進特大單金額")。

小豪很仁慈 發文於   2025/02/24

謝謝許教授解答,但是因為我想要 使用當日累計的特大單金額差 

這樣還能如何修改呢

GetField("買進特大單金額","D")抓的是日頻率的資料

應該是說要用日頻率累計出來的資料來放到 5 分K裡面使用

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

(1)GetField("買進特大單金額","D")是開盤至今的累計金額。

(2)開盤就紀錄相關指標數值,第二根K棒才開始判斷訊號。

if barfreq <> "Min" or barinterval <> 5 then raiseruntimeerror("僅支援5分鐘頻率");
if getInfo("IsRealTime")=0 then return;
input: number1(7, "5k特大單差%增N:");
value9 = GetField("買進特大單金額","D");
value10 = GetField("賣出特大單金額","D");
value11 = value9 - value10; {=特大單金額差}
Value12 = GetField("成交金額(元)","D");{=成交值}
if value12 <> 0 then 
    Value13 = value11 / Value12     
else 
    value13 = 0;
Value14 = Value13*100;
if time>=090500 then
    if value14 >= value14[1] + number1 then ret=1;

發表回覆
Close