keithlsp 發表於 12-8-30 23:40

如何編寫不同TIMEFRAME的MACD同步

本帖最後由 keithlsp 於 12-8-31 00:57 編輯

各位大大好, 本人是剛開始學習AMIBROKER, 請大家多多指教!!
現在, 我正要編寫不同TIMEFRAME的MACD同步, 例如:
5MIN MACD CROSS UP, 10MIN MACDCROSS DOWN,結果是沒有訊號
5MIN MACD CROSS UP, 10MIN MACDCROSS UP,結果是買入訊號

5MIN MACD CROSS DOWN, 10MIN MACDCROSS UP,結果是沒有訊號
5MIN MACD CROSS DOWN, 10MIN MACDCROSS DOWN,結果是賣出訊號





各位大大可以指出我的錯處嗎? 謝謝各位!!

我的錯誤AFL如下:
p1=12;
p2=26;
T5 = 300;
TimeFrameSet( T5 );
Buy1= MACD( p1, p2 )> Signal() ;
Sell1= MACD( p1, p2 )< Signal() ;
TimeFrameRestore();
T10 = 600;
TimeFrameSet( T10 );
Buy2= MACD( p1, p2 )> Signal() ;
Sell2= MACD( p1, p2 )< Signal() ;
TimeFrameRestore();

Buy=Buy1 AND Buy2;
Sell=Sell1 AND Sell2;
dist = 1.5*ATR(10);
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);

PlotShapes( Buy * shapeUpArrow + Sell * shapeDownArrow, IIf( Buy, colorBlue, colorBlack ) );

enochyu 發表於 12-8-31 01:33

1. 確認執行於小於5分鐘K線週期
2. 再加入 TimeFrameExpand 試試

keithlsp 發表於 12-8-31 12:24

改好了, 多謝大大的指點, 很受用!!

keithlsp 發表於 12-9-3 16:04

大大你好, 我想問一個問題, 就是關於MACD的,
例如:
Buy1= MACD( p1, p2 )> Signal() ;

我發現Buy1 是要在MACD(p1,p2) > Signal() 某個數值, 條件才能成立, 而不是在MACD(p1,p2)-Signal = Positive 就成立

為什麼會這樣的?!

keithlsp 發表於 12-9-4 00:52

問題解決了, 應該改為這樣:
Buy1= MACD( p1, p2 )> Signal(p1,p2,6) ;
頁: [1]
查看完整版本: 如何編寫不同TIMEFRAME的MACD同步