Rejoindre la communauté
banner_forum
Devenez membre de la plus grande
communauté francophone sur le Forex
Partagez, échangez et apprenez en gagnant des crédits sur votre compte de trading

EA CCI-MACD avec conditions

  • Settela

    Bonjour

    j'ai l'EA CCI-MACD, et je veux ajouter des conditions pour que l'ouverture de positions soit plus efficace:

    en faite ma stratégie est comme suit:

    MACD (12,26,9)
    CCI (21) with levels (-90,90)
    Parablic SAR ==> step= 0.018 max= 0.08
    3 moving average ( EMA(5), EMA(6) and SMA(35)
    ADX (14)

    Long position

    EMA(5), EMA(6) au dessus SMA(35)
    MACD> 0
    Parablic SAR en dessous de la courbe des prix
    CCI > +90
    ADX (14) >20

    Short position

    EMA(5), EMA(6) en dessous SMA(35)
    MACD> 0
    Parablic SAR au dessus de la courbe des prix
    CCI <-90
    ADX > 20

    Timeframe= should be configurable on the MT4
    LOT=0.3
    Take profit =20 pips
    Stop loss = 35 pips

    Voici le code élémentaire de l'EA CCI-MACD:

    Code
    int start() { double MACD=iMACD(NULL,0,MACD_FastEma,MACD_SlowEma,MACD_SignalPeriod,PRICE_CLOSE,MODE_MAIN,0); double CCI1=iCCI(NULL,0,CCIPeriod,PRICE_CLOSE,1); double CCI0=iCCI(NULL,0,CCIPeriod,PRICE_CLOSE,0); Trailing_Simple(TrailingStop); if(TradeExists()){ if(CCI0 > UpperCloseThreshold) { Orders_CloseLong(); } if (CCI0 < LowerCloseThreshold) { Orders_CloseShort(); } }else { if (CCI1 < BuyThreshold && CCI0 > BuyThreshold && MACD < 0 ) { if(IsTradeTime(StartHour,EndHour) == true) Order_Buy(Lots,StopLossPips,TakeProfitPips,MaxOrders,TradeInhibitMins); } if (CCI1> SellThreshold && CCI0 < SellThreshold && MACD > 0) { if(IsTradeTime(StartHour,EndHour) == true) Order_Sell(Lots,StopLossPips,TakeProfitPips,MaxOrders,TradeInhibitMins); } } return(0); }
    merci
    Modifié le 2013-07-04 20:50:48 par AliX
  • Settela

    j'ai réussi les contraintes mais j'ai trouvé une erreur de compilation que je n'arrive pas à résoudre

    ci joint le lien du code: https://mega.co.nz/#!Il0BwawK!Kgjrf1Jb9823O43ZPj285lwekZMr4nfV_pCUFwn0OqQ
  • AliX

    Ton lien ne marche pas Settela, copie-colle le code avec les balises [ code ] et [ / ] ;)
    Modifié le 2013-07-04 20:52:40 par AliX
  • Settela

    et voici le code:

    Code
    [int init() { return(0); } int start() { //Step 1 _Commodity_Channel_Index = iCCI( Symbol(), 1, 14, 0, 0 ); _MACD = iMACD( Symbol(), 0, 12, 26, 9, 0, 0, 0 ); _Fats_MA = iMA( Symbol(), 1, 6, 0, 1, 0, 0 ); _Slow_MA = iMA( Symbol(), 1, 35, 0, 0, 0, 0 ); _Average_Directional_Movement = iADX( Symbol(), 0, 14, 0, 0, 0 ); //Step 2 _Compare = _Commodity_Channel_Index > 90; _Compare_1 = _MACD > 0; _Compare_2 = _Average_Directional_Movement > 20; _Compare_3 = _Fats_MA > _Slow_MA; _Compare_4 = _Commodity_Channel_Index < -90; _Compare_5 = _MACD < 0; _Compare_6 = _Average_Directional_Movement > 14; _Compare_7 = _Slow_MA < _Fats_MA; //Step 3 _AND = _Compare && _Compare_1 && _Compare_2 && _Compare_3; _AND_1 = !_Compare_4 && !_Compare_5 && !_Compare_6 && !_Compare_7; //Step 4 if( _AND ) _Buy = Buy( 0, 0, 30, 20, 5, 1, 0 ); if( !_AND_1 ) _Sell = Sell( 0, NaN, 30, 20, 5, 1, 0 ); return(0); }]
    Modifié le 2013-07-05 10:27:23 par AliX