開高走低

  •   1.2K 
  • 最後發表   東尼  2021 十一月 08
東尼 發文於   2021/05/21

請問工程師:

用雷達想找開盤跳空3%以上  之後走低  若要找跌破下列2種(各自獨立)條件 請問該如何表示?

1.以今天5月21日3014為例 若開盤價為120.5  之後跌破開盤後低點 綠色箭頭9:02分低點119.5

 

2. 若開盤跳空開高後且 (高於綠色均價線) 之後跌破綠色均價線  紅色箭頭處約9:17分時

 

謝謝工程師

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/05/24

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;

  • 按讚來自於
  • mk1977tw
東尼 發文於   2021/05/24

感謝工程師回覆....

請問

如果以05月24日的 1795為例

若開盤價是94.1(1分K)   同時 1分K的高點是95.2- 之後1795最高價(09:04  96.5)大於開盤(1分K)高價

若要將條件跌破開盤價  改為"跌破第一根1分K"或第一根5分K的高點  請問該如何修正?

倘若執行時間只要限制在 090000-093000  請問該如何表示?

 謝謝您

附加文件

XQ小幫手 發文於   2021/05/25

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;

  • 按讚來自於
  • mk1977tw
東尼 發文於   2021/05/25

感謝您的指導~~~

東尼 發文於   2021/05/26

請問工程師

我要改成"開盤跳空開高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分頻率)

請問 如果要用表示 收盤價小於"第一根至第五根"的低點(或高點) 請問要如何修改?

謝謝~

 

XQ小幫手 發文於   2021/05/27

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

東尼 發文於   2021/05/27

感謝您回覆~~

散散惹人愛 發文於   2021/06/25

小幫手裡面的 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; 

 

請問若要改成 向下跳空 該如何表示, 謝謝!

XQ小幫手 發文於   2021/06/28

Hello 散散惹人愛,

 

如果其他條件不變的話,您只需要把 condition1 修改為

condition1 = (100 * ((getfield("Open", "D") - getfield("Close", "D")[1]) / getfield("Close", "D")[1])) <= -gap; 

即可。

所以如果您 gap 設為 3 的話,向下挑空 3% 以上都會符合。

 

馬克 發文於   2021/06/30

請問為何我執行都無法成功測出呢?

顯示更多回應 發表回覆
Close