"

EA_PSar_002B_v1

by Dr.Hamdi Boukamcha
Name:
EA_PSar_002B_v1
Author: basisforex (2010.09.22 15:27)
Downloaded: 3520
Download:
EA_PSar_002B_v1   EA_PSar_002B_v1.mq4 (6.4 Kb) View
EA_PSar_002B_v1   EA_PSar_002B_WHRoeder.mq4 (7.0 Kb) View
 

EA_PSar_002B_v1 designed on the idea of the indicator Nik_PSAR_2B (http://codebase.mql4.com/6934).

EA tested and optimized on FXDD’s MT4 trading platforms.

This is a sample version of the EA.

All active traders will be able to receive (with some conditions) a free full version of this EA ([email protected]).

EA_PSar_002B_v1

7 comments  To post a new comment, please log in or register

Please, I will like to include a money management technique to my EA. The idea is to let only a fraction of your total margin be in use at any instant. For example, you can use only 50% of account; with 50% margin usage the EA risk only 50% of account in worst scenario. Any help as to how to generate this code and include it in my EA at http://www.mql4.com/users/brayt? You can find details of where this idea is applied at http://www.fxpromaker.com/advanced50.html. ANY HELP PLEASE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
06.10.2010 15:47 brayt

maxfor:
Nice work basis…

I built myself one on Nik_PSAR_2b as well using pending orders on EURUSD H1. I dubbed it “Craptacular” – my code is crappy but it had surprising results…

EA_PSar_002B_v1

I really like the concept of that indicator…

Great work on your interpretation.

Max.

 

Good work!

24.09.2010 17:45 basisforex

WHRoeder:

  1. Don’t hard code numbers
    // a = NormalizeDouble((PercentMM * AccountFreeMargin() / 100000), 1); // Valid IFF minlot and lotstep == 0.1
    //      if(a > 49.9) return(49.9);
    //      else if(a < 0.1)
    a = (PercentMM * AccountFreeMargin() / 100000),
    double LotStep = MarketInfo(Symbol(), MODE_LOTSTEP),   //IBFX= 0.01
           maxLot  = MarketInfo(Symbol(), MODE_MAXLOT ),   //IBFX=50.00
           minLot  = MarketInfo(Symbol(), MODE_MINLOT );   //IBFX= 0.01
                                                           //Was IBFX= 0.10
    a =  MathFloor(a/LotStep)*LotStep;
           if (a > maxLot) return(maxLot);
           if (a < minLot)
    ...

  2. The EA should adjust SL/TP/ and slippage for 5 digit brokers
    //++++ These are adjusted for 5 digit brokers.
    double  pips2points,    // slippage  3 pips    3=points    30=points
            pips2dbl;       // Stoploss 15 pips    0.0015      0.00150
    int     Digits.pips;    // DoubleToStr(dbl/pips2dbl, Digits.pips)
    int init(){
        if (Digits == 5 || Digits == 3){    // Adjust for five (5) digit brokers.
                    pips2dbl    = Point*10; pips2points = 10;   Digits.pips = 1;
        } else {    pips2dbl    = Point;    pips2points =  1;   Digits.pips = 0; }
        // OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl

Thank you.

24.09.2010 17:44 basisforex

  1. Don’t hard code numbers
    // a = NormalizeDouble((PercentMM * AccountFreeMargin() / 100000), 1); // Valid IFF minlot and lotstep == 0.1
    //      if(a > 49.9) return(49.9);
    //      else if(a < 0.1)
    a = (PercentMM * AccountFreeMargin() / 100000),
    double LotStep = MarketInfo(Symbol(), MODE_LOTSTEP),   //IBFX= 0.01
           maxLot  = MarketInfo(Symbol(), MODE_MAXLOT ),   //IBFX=50.00
           minLot  = MarketInfo(Symbol(), MODE_MINLOT );   //IBFX= 0.01
                                                           //Was IBFX= 0.10
    a =  MathFloor(a/LotStep)*LotStep;
           if (a > maxLot) return(maxLot);
           if (a < minLot)
    ...

  2. The EA should adjust SL/TP/ and slippage for 5 digit brokers
    //++++ These are adjusted for 5 digit brokers.
    double  pips2points,    // slippage  3 pips    3=points    30=points
            pips2dbl;       // Stoploss 15 pips    0.0015      0.00150
    int     Digits.pips;    // DoubleToStr(dbl/pips2dbl, Digits.pips)
    int init(){
        if (Digits == 5 || Digits == 3){    // Adjust for five (5) digit brokers.
                    pips2dbl    = Point*10; pips2points = 10;   Digits.pips = 1;
        } else {    pips2dbl    = Point;    pips2points =  1;   Digits.pips = 0; }
        // OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl
24.09.2010 17:14 WHRoeder

Hi Max, this looks great, could you post your EA here perhaps?

Thanks,

Andre

24.09.2010 13:07 Powerpack2008

Nice work basis…

I built myself one on Nik_PSAR_2b as well using pending orders on EURUSD H1. I dubbed it “Craptacular” – my code is crappy but it had surprising results…

EA_PSar_002B_v1

I really like the concept of that indicator…

Great work on your interpretation.

Max.

 

Share this article

Leave a comment