請問工程師:
用雷達想找開盤跳空3%以上 之後走低 若要找跌破下列2種(各自獨立)條件 請問該如何表示?
1.以今天5月21日3014為例 若開盤價為120.5 之後跌破開盤後低點 綠色箭頭9:02分低點119.5
2. 若開盤跳空開高後且 (高於綠色均價線) 之後跌破綠色均價線 紅色箭頭處約9:17分時
謝謝工程師

請問工程師:
用雷達想找開盤跳空3%以上 之後走低 若要找跌破下列2種(各自獨立)條件 請問該如何表示?
1.以今天5月21日3014為例 若開盤價為120.5 之後跌破開盤後低點 綠色箭頭9:02分低點119.5
2. 若開盤跳空開高後且 (高於綠色均價線) 之後跌破綠色均價線 紅色箭頭處約9:17分時
謝謝工程師

Hello 東尼,
您可以針對兩個條件分別撰寫警示腳本。
這邊針對您舉的兩個條件為例子:
1. 跌破開盤
if close < getfield("Open", "D") and close[1] >= getfield("Open", "D") then ret = 1;
2. 開盤向上跳空,且之後高於均線,之後跌破均線
input:gap(0.5, "跳空大小");
var: count(0);
if getfielddate("Date") <> getfielddate("Date")[1] then count = 0;
if high > GetField("均價") then count = 1; //高點有大於均價
condition1 = (getfield("Open", "D") - getfield("Close", "D")[1]) >= gap; //開盤跳空
condition2 = close cross under GetField("均價"); //收盤跌破均價
if condition1 and condition2 and count = 1 then ret = 1;
Hello 東尼,
如果您的條件是 "跌破當日第一根1分頻率或5分頻率的高點" 的話
var: first_bar_high(0);
if barfreq <> "Min" or Barinterval <> 1 then RaiseRuntimeError("請設定頻率為1分鐘");
// 如果頻率是5分鐘的話 if barfreq <> "Min" or Barinterval <> 5 then RaiseRuntimeError("請設定頻率為5分鐘");
if getfielddate("date") <> getfielddate("date")[1] then first_bar_high = high;
// 換日後的第一根bar (相當於開盤第一根 bar), high 可以替換成 close, open, low 看您需求
if close < first_bar_high and close[1] >= first_bar_high then ret = 1;
// 如果要限定在 9:00 - 9:30 的話,多加時間作為限制條件
// if time <= 093000 and time >= 090000 and close < first_bar_high and close[1] >= first_bar_high then ret = 1;
感謝您的指導~~~
請問工程師
我要改成"開盤跳空開高4%" 是否降下列gap 0.5 改成 4 就可以?
因為我已將0.5改成4 但是有些股票篩選出來不是跳空開高4%%
input:gap(0.5, "跳空大小");
var: count(0);
if getfielddate("Date") <> getfielddate("Date")[1] then count = 0;
if high > GetField("均價") then count = 1; //高點有大於均價
condition1 = (getfield("Open", "D") - getfield("Close", "D")[1]) >= gap;
2.if close < first_bar_low and close[1] >= first_bar_low then ret = 1; (1分頻率)
請問 如果要用表示 收盤價小於"第一根至第五根"的低點(或高點) 請問要如何修改?
謝謝~
Hello 東尼,
小幫手裡面的 gap 是實際數值差距,並不是百分比。
如果要修改成百分比的話:
input: gap(4, "跳空百分比");
var: count(0);
if getfielddate("Date") <> getfielddate("Date")[1] then count = 0;
if high > GetField("均價") then count = 1; //高點有大於均價
condition1 = ((getfield("Open", "D") - getfield("Close", "D")[1]) / getfield("Close", "D")[1]) >= gap;
如果要修改為小於第一根至第五根的低/高點的話,您可以設個變數來記錄這段期間的低/高點即可。
var: _high(0), _low(999999), _count(0);
if getfielddate("Date") <> getfielddate("Date")[1] then begin
_count = 1;
_high = 0;
_low = 999999;
end;
if _count <=5 then begin
if _high <= high then _high = high;
if _low >= low then _low = _low;
_count += 1;
end;
if _count >= 6 and close < _low then ret = 1;
// 如果是要高點的話就改為 close < _high
感謝您回覆~~
小幫手裡面的 gap 是實際數值差距,並不是百分比。
如果要修改成百分比的話:
input: gap(4, "跳空百分比");
var: count(0);
if getfielddate("Date") <> getfielddate("Date")[1] then count = 0;
if high > GetField("均價") then count = 1; //高點有大於均價
condition1 = ((getfield("Open", "D") - getfield("Close", "D")[1]) / getfield("Close", "D")[1]) >= gap;
請問若要改成 向下跳空 該如何表示, 謝謝!
Hello 散散惹人愛,
如果其他條件不變的話,您只需要把 condition1 修改為
condition1 = (100 * ((getfield("Open", "D") - getfield("Close", "D")[1]) / getfield("Close", "D")[1])) <= -gap;
即可。
所以如果您 gap 設為 3 的話,向下挑空 3% 以上都會符合。
請問為何我執行都無法成功測出呢?
14 評論