CDP 警示

  •   138 
  • 最後發表   XIANGXIANG  2024 八月 06
XIANGXIANG 發文於   2024/04/27

請問XS能撰寫當該日盤走勢觸碰到 CDP AH 或 NH 時發出警示麼?

例如: 趨勢向上時觸碰到 CDP AH, 警示; 趨勢向下穿過 CDP AH 警示

 

謝謝

 

附加文件

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

Hello, XIANGXIANG.

首先,我們先找出CDP的定義,

https://www.moneydj.com/kmdj/wiki/wikiviewer.aspx?keyid=283b3907-2c43-4b27-9bc0-a7c0aa668894

 

以下就是個簡單的價位突破AH的範例,

Var: _PreOpen(0), _PreHigh(0), _PreLow(0), _PreClose(0), _CDP(0), _AH(0), _NH(0), _NL(0), _AL(0);

if 
    IsFirstCall("Date") // 先把值設定好
then begin
    _PreOpen = GetField("Open", "D")[1];
    _PreHigh = GetField("High", "D")[1];
    _PreLow = GetField("Low", "D")[1];
    _PreClose = GetField("Close", "D")[1];
    _CDP = ( _PreHigh + _PreLow + 2 * _PreClose ) / 4;

    _AH = _CDP + (_PreHigh - _PreLow);
    _NH = (2 * _CDP) - _PreLow;
    _NL = (2 * _CDP) - _PreHigh;
    _AL = _CDP - (_PreHigh - _PreLow);
end;

if 
    Close Cross over _AH
then
    ret = 1;

以上為簡單的策略雷達警示做法,

網站上有教學區,裡面有XS語法的基礎和應用可以閱覽。

https://www.xq.com.tw/learn

 

謝謝。

藍色螃蟹 發文於   2024/07/22

請問[1]是前一日的意思嗎 ?

謝謝

虎科大許教授 發文於   2024/07/22

若主頻率是日,則[1]代表前一日的資料。

藍色螃蟹 發文於   2024/07/22
藍色螃蟹 發文於   2024/07/29

請問寫了一個CDP的判定,但都無法觸發,能否幫忙看一下原因

謝謝

 

Var: _PreOpen(0), _PreHigh(0), _PreLow(0), _PreClose(0), _CDP(0), _AH(0), _NH(0), _NL(0), _AL(0);

 

if 

    IsFirstCall("Date") // 先把值設定好

then begin

    _PreOpen = GetField("Open", "D")[1];

    _PreHigh = GetField("High", "D")[1];

    _PreLow = GetField("Low", "D")[1];

    _PreClose = GetField("Close", "D")[1];

    _CDP = ( _PreHigh + _PreLow + 2 * _PreClose ) / 4;

 

    _AH = _CDP + (_PreHigh - _PreLow);

    _NH = (2 * _CDP) - _PreLow;

    _NL = (2 * _CDP) - _PreHigh;

    _AL = _CDP - (_PreHigh - _PreLow);

end;

 

if 

    Close Cross over _AH OR Close Cross over _NH OR Close Cross Below _AL OR Close Cross Below _NL

then

    ret = 1;

虎科大許教授 發文於   2024/07/29

你只在交易日的第一次洗價計算CDP指標,若不是第一次洗價,例如,盤中才啟動策略,就沒有這些指標數據,自然不會觸發訊號。

XS小編 發文於   2024/08/06

Hello 藍色螃蟹,

 

小編補充,由於不確定您的策略參數是如何設定的,建議可以將變數宣告為 intrabarpersist

如 Var: intrabarpersist _PreOpen(0), intrabarpersist  _PreHigh(0), ...

並搭配使用 print 函數印出確認相關數值是否有如預想中的計算。

 

感謝 虎科大許教授 的熱心回覆。

發表回覆
Close