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

VBS Very Blondie Systeme Modifie Expert Advisor

  • lefeuvr3

    J'ai très légèrement modifié le programme original pour améliorer la performance et diminué le Draw Down
    Il serait intéressant d'essayer, d'encore, plus le sécuriser et de corriger 4 warnings qui ne l'empêchent pas ,cependant ,de très bien .fonctionner.


    //+------------------------------------------------------------------+
    //| VBS - Very Blondie System.mq4 |
    //| David |
    //|EURUSD 1 MN [email protected] |
    //+------------------------------------------------------------------+
    #property copyright "David"
    #property link "[email protected]"
    #define MAGICMA 20081109
    extern int MagicNumber=10001;
    extern int Amount = 250;
    extern int Limit = 1;
    extern int Grid = 157;
    extern int LockDown = 310;
    extern int adxperiod =14;
    extern int adxthreshold =27;
    int Slippage = 50;
    //+------------------------------------------------------------------+
    //| Start function |
    //+------------------------------------------------------------------+
    void start()
    {

    //---- calculate open orders by current symbol
    if(OrdersTotal()==0) CheckForOpen();
    else CheckForClose();
    //----
    }

    //---------------------------------------------------------------------------
    int CheckForOpen()
    {
    double Lots = MathRound(AccountBalance()/100)/1000;
    double booster = Volume[1]> Volume[0]&&(iADX(Symbol(),0,adxperiod,PRICE_CLOSE,MODE_MAIN,0)>adxthreshold );

    if((Ask>Limit*Point)&&(booster) )
    {if(OrderSend(Symbol(),OP_BUY,Lots,Ask,1,0,0,"",MAGICMA,0,CLR_NONE))
    for(int i=1; i<5; i++)
    {
    if( OrderSend(Symbol(),OP_BUYLIMIT,MathPow(2,i)*Lots,Ask-i*Grid*Point,1,0,0,"",MAGICMA,0,CLR_NONE))
    ;}
    }

    if((Bid>Limit*Point)&&(booster) )
    {if(OrderSend(Symbol(),OP_SELL,Lots,Bid,1,0,0,"",MAGICMA,0,CLR_NONE))
    for(int j=1; j<5; j++)
    {
    if(OrderSend(Symbol(),OP_SELLLIMIT,MathPow(2,j)*Lots,Bid+j*Grid*Point,1,0,0,"",MAGICMA,0,CLR_NONE))
    ;}
    }

    }

    //---------------------------------------------------------------------------
    int CheckForClose()
    {
    if(getProfit()>=Amount){CloseAll();}

    if(LockDown>0)
    {
    for(int TradeNumber = OrdersTotal(); TradeNumber >= 0; TradeNumber--)
    {
    if (OrderSelect(TradeNumber, SELECT_BY_POS, MODE_TRADES)&&(LockDown>0))
    { int Pos=OrderType();
    if((Pos==OP_BUY)&&(Bid-OrderOpenPrice()>Point*LockDown)&&(OrderStopLoss() == 0))
    {bool modif1=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+Point,OrderTakeProfit(),0,CLR_NONE);}
    if((Pos==OP_SELL)&&(OrderOpenPrice()-Ask>Point*LockDown)&&(OrderStopLoss() == 0))
    {bool modif2=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-Point,OrderTakeProfit(),0,CLR_NONE);}
    }
    }
    }
    }
    //---------------------------------------------------------------------------
    double getProfit()
    {
    double Profit = 0;
    for (int TradeNumber = OrdersTotal(); TradeNumber >= 0; TradeNumber--)
    {
    if (OrderSelect(TradeNumber, SELECT_BY_POS, MODE_TRADES))
    Profit = Profit + OrderProfit() + OrderSwap();
    }
    return (Profit);
    }
    //---------------------------------------------------------------------------
    void CloseAll()
    {
    bool Result;
    int i,Pos,Error;
    int Total=OrdersTotal();

    if(Total>0)
    {
    for(i=Total-1; i>=0; i--)
    {
    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    {
    Pos=OrderType();
    if(Pos==OP_BUY)
    {Result=OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, CLR_NONE);}
    if(Pos==OP_SELL)
    {Result=OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, CLR_NONE);}
    if((Pos==OP_BUYSTOP)||(Pos==OP_SELLSTOP)||(Pos==OP_BUYLIMIT)||(Pos==OP_SELLLIMIT))
    {Result=OrderDelete(OrderTicket(), CLR_NONE);}
    //-----------------------
    if(Result!=true)
    {
    Error=GetLastError();
    Print("LastError = ",Error);
    }
    else Error=0;
    //-----------------------
    }
    }
    }
    return(0);
    }
    lefeuvr3 a joint une image
    vbs-very-blondie-systeme-modifie-expert-advisor-10893
  • lefeuvr3

    J'avais adjoint un trailing stop mais comme cela ne me semblait ne rien apporter de plus ... bien au contraire ,j'ai préféré le retirer .
  • lefeuvr3

    Suivi sans modification des parametres
    lefeuvr3 a joint une image
    vbs-very-blondie-systeme-modifie-expert-advisor-10966
  • Jeanfran

    sur ton image il perd de l'argent, je me trompe ?
  • lefeuvr3

    A priori ,il a gagne 256.9 euros….mais même s'il présente un beau profil ,ce n'est pas mon préfère ….il faut encore l'évaluer