MACD_OSC對應高點、對應低點:作為防守停損

  •   428 
  • 最後發表   散散惹人愛  2024 十二月 10
散散惹人愛 發文於   2024/12/04

variable:_dif(0),_macd(0),_osc(0);

macd(weightedClose(),12,26,9,_dif,_macd,_osc);

 

value1 = SwingHighBar(High,12,3,2,1);

value2 = SwingLowBar(LOW,12,3,2,1);

 

condition1 = _osc[value1] < _osc[value1][1] and _osc>0 and HIGH[1]>HIGH;////高點已過

condition2 = _osc[value2] > _osc[value2][1] and _osc<0 and LOW[1]<LOW;////低點已過

if condition1 then plot1(HIGH[1],"防守之高點");

if condition2 then plot2(LOW[1],"防守之低點");

 

作空:condition 1如上圖所示:當第二個閃電標示出現時,

前一根5分K同時也是最近12根K之 _osc 最高的紅柱的最高值,以這個5分K最高點為防守點位,

最新的5分K 若高過 防守點 則停損,若未高過則不需觸發停損。

 


 

3

作多:condition 2如上圖所示:當$標示出現時,

前一根5分K同時也是最近12根K之 _osc 最長的綠住的最低值,並以這個5分K最低點為防守點位,

最新的5分K 若跌破 防守點 則停損,若未跌破則不需觸發停損。

上圖2 雖然最低價非 _osc 最長之綠柱, 但原先最低價若和osc 最長之綠柱最低點,相較,未再創低,仍以以出線的最低點為防守點。上圖有達成這樣的需要。

 

以上請教,有些K棒有正常觸發,但也不盡然,

或許將觸發標示正確顯示在_osc  該根K棒正下方才正確?

請協助檢查有何處編譯有誤,感謝你們

排序方式: 標準 | 最新
虎科大許教授 發文於   2024/12/04

(1)請指出哪一檔商品的哪一根K棒標示的指標不正確。

(2)由於你加上高點已過及低點已過的條件,所以標示的指標一定會在高點、低點之後。

XS小編 發文於   2024/12/06

Hello 散散惹人愛,

 

小編不太確定您想尋找的條件為何,但 value1 和 value2 找的並不是osc的轉折位置,而是 High 跟 Low 的轉折位置。

故跟osc的最大最小值沒有關係。

要麻煩您更詳細描述腳本的條件和問題,小編才有辦法給建議。

散散惹人愛 發文於   2024/12/07

十分感謝,知道問題原來是在 value1、value2 :放錯數值

osc值最大值,該根K棒最高點,

osc值最小值時,該根K棒最低點

從而處理OSC轉折。

 

 

XS小編 發文於   2024/12/10

Hello 散散惹人愛,

 

如果是這樣的話,您只需要將high/low 與_osc調換即可。

簡單舉例來說:

value1 = SwingHighBar(_osc,12,3,2,1);   //近12期內的OSC轉折位置

if value1 > 0 then value2 = high[value1] else value2 = 0;     //若OSC有上方轉折的話,則value2為轉折點的高價,否則為0

 

需注意若沒有轉折點的 SwingHighBar 函數會回傳 -1,要另外處理。

發表回覆
Close