Hello to everyone!
I deleted all of my old experts, because they do not pass the test in 2010 and I made a new EA.
Its called [B]UnniversalMartinEQ[/B]. It is testing in 2010 and 2011 with a drawdown of no more than 35%
This strategy is based on martingale with hedging:
- 2 sides MartinGaile
- LastTP
- Hedging (Opposite Order)
- All series closed with the function “CloseBy”, which reduces the drawdown (profit: the lots are closed with the lock from highest to lowest orders)
- Money Management (Risk & restriction on the MaxLotByRisk directly proportional to increases the risk of)
- Adviser will close all orders when the percentage of profit will exceed the specified
- input is based on three modes of analysis of bars (no indicators) and the indicator input using six indicators:
- Bands
- RSI
- ADX_CCI
- MACD_Stoch
- MaOnCCI
- ROC_CCI
General Settings:
extern int MN_Buy = 0;// magic number of BUY orders(the counselor helps differentiate their orders from strangers)
extern int MN_Sell = 0;// magic number of SELL orders(the counselor helps differentiate their orders from strangers)
extern int MaxTrades = 100; // the maximum number of orders in each direction (plus zerostart order)
extern double MaxEquityProfit = 1; // %% profit of deposit to be earned from the beginning of the series, when the EA will close all orders
extern int StartHour = 0;
extern int EndHour = 24;
//-------------------------------------
extern string LotSet = “Lot Settings”;
extern double InitLot = 0.1; // lot size for the start of trading
extern int LotDecimal = 2; // number of decimal places in the lot
extern double LotExp = 1.4; // how much to multiply the lot off for the next tribe, the example: first lot: 0.1, seria: 0.16, 0.26, 0.43 …
extern double Risk = 0.1; // The first deal as a% of funds(0.05…3), if = 0, then 'InitLots’
extern double MaxLot = 10000; // maximal lot
extern double MaxLotByRisk = 10000; // ratio shows how many times the item may increase when compared with the initial, but not more than 'MaxLot’
extern int OppLot_On_Off = 1; // 1 - is calculate whether the first item on the lot opposite the last series in drawdown?
extern int StartOppLots = 2; // with several orders in the series include the regime of the opposite lot?
extern double OppLotExp = 1; // factor for the lot opposite from the last order of series that in the drawdown
extern double OppLot = 0; // if greater than zero, then the specified item has been exposed, or OppLotExp*last lot opposite the series
extern double OppLotTP = 10; // reaches several pips to close the OppLot order (if 0, than = InitTP, otherwise specified TP)
//-------------------------------------
extern string StepSet = “PipStep Settings”;
extern int InitPipStep = 5;
extern int PipStepMode = 0; //0 - Geom, 1- Arith
extern double PipStepExp = 1; //how much to multiply PipStep, for permanent PipStep, PipStepExp = 1
extern int PipStepInc = 2; //how much add to PipStep, for permanent PipStep, PipStepInc = 1
extern int StartDynStep = 100; //after which the knee begins to rise a step
//-------------------------------------
extern string TPSet = “TakeProfit Settings”;
extern int InitTP = 1000; // reaches several pips to close the deal (seria)
extern int LastTP_On_Off = 1; // 0-Off, 1-On, TP of the last order
// !If LastTP_On_Off=1 than its not bring the line TP seria!
// but will give a chance to make money by LastTP in flat
extern double LastTPk = 0.02; // How many points (in % from InitTP)in the past came close warrant
// example: 0,5 - 50% от InitTP
extern int StartLastTP = 10; // From what knee start lastTP
//-------------------------------------
extern string SigSet = “Signal Settings”;
extern string Mode1 = “0-Random, 1-Inds 1st Step, 2-Inds All Steps”;
extern int SigMode = 2; // 1- only for the first series of knee, 2- for all the tribes of the series
extern int MinVotes = 1; // The minimum number of signal indicators other than 0
extern int MinMajority = 1; // What is needed in the superiority of the signals of indicators
extern string ModeTxt1 = “ЕNTER: #1 & #2 - by 6 indicators; 3 - candlestick analysis + МА; 4 - by MA”;
extern int BarsCheckMode = 4; // ЕNTER: 1 & 2 - by 6 indicators; 3- candlestick analysis + МА;
//----
extern string ModeTxt2 = “Enter #3 ‘‘candlestick analysis+ МА’’: 1 - by 3 candle, 2 - by 2 candle + current candle”;
extern int variant_ROC_Signal = 1; // If BarsCheckMode=3: 1 - by 3 candle, 2 - by 2 candle + current candle
extern int PerMA_Col = 5; // MA period in BarsCheckMode=3
//----
extern string ModeTxt3 = “Enter #4 by MA”;
extern string ModeTxt4 = “type МА(0…3), type of price(0…6)”;
extern double NAler = 50; // The difference between the averages of values
extern int PerTFAler = 5; // The average period
extern int MAshiftCurrAler = 1; // The shift of the last bar
extern int MAshiftPrevAler = 5; // The shift of the penultimate bar
extern int MAmetAler = 0; //The method of averaging MA:
//0 - Simple Moving Average; 1 - Exponential Moving Average;
//2 - Smoothed moving averag; 3 - The linearly weighted moving average;
extern int MApriceAler = 1; //0 - closing price; 1 - opening price;
//2 - maximum price; 3 - minimum price;
//4 - average price, (high+low)/2; 5 - typical price, (high+low+close)/3;
//6 - Weighted closing price of, (high+low+close+close)/4;
//----
extern string ModeTxt5 = “Enter #5: period, tipe of МА(0…3), price(0…6)”;
extern int PerTFAler5 = 8; // The average period
extern int MAmetAler5 = 0; //The method of averaging MA:
//0 - Simple Moving Average; 1 - Exponential Moving Average;
//2 - Smoothed moving average; 3 - The linearly weighted moving average;
extern int MApriceAler5 = 4; //0 - closing price; 1 - opening price;
//2 - maximum price; 3 - minimum price;
//4 - average price, (high+low)/2; 5 - typical price, (high+low+close)/3;
//6 - Weighted closing price of, (high+low+close+close)/4;
//----
extern bool RollerMode = False; // if True, if there no signal we have a random (EA inputs are always)
extern bool NoInd = True; // if True, entry in the series does not require proof of indicators
//-----------------------------------------
extern string Ind = “6 INDICATORS SETTINGS:”;
extern string BandsSet = “Bands Settings”;
extern int Bands_On_Off = 0; //On/Off.
extern int TFBands = 2; //Periodicity, ТF (1=1M, 2=5M, 3=15M…)
extern int periodBands = 11; //period.
extern int deviationBands = 6; //Deviation from the baseline.
extern int bandsshiftBands = 3; //The shift of the indicator relative to the price schedule.
extern int appliedpriceBands = 6; //The used price. (0-6).
extern int shiftBandsCurr = 0; //The index values obtained from the indicator buffer (shift relative to the current bar to the specified number of periods ago).
extern int shiftBandsPrev = 3; //The index values obtained from the indicator buffer (shift relative to the current bar to the specified number of periods ago).
//-----------------------------------------
extern string RsiSet = “RSI Settings”;
extern int RSI_On_Off = 0; //On/Off.
extern int TFRSI = 2; //Periodicity, ТF (1=1M, 2=5M, 3=15M…)
extern int periodRSI = 5; //Period.
extern int appliedpriceRSI = 6; //The used price (0-6).
extern int shiftRSICurr = 0; //The index values obtained from the indicator buffer (shift relative to the current bar to the specified number of periods ago).
extern int shiftRSIPrev = 2; //The index values obtained from the indicator buffer (shift relative to the current bar to the specified number of periods ago).
extern int RsiMinimum = 30; //lower bound.
extern int RsiMaximum = 70; //the upper limit.
//-----------------------------------------
extern string ADX_CCISet = “ADX_CCI Settings”;
extern int ADX_CCI_On_Off = 0; //On/Off.
extern int PeriodADX = 11; // Period АДХ (7…11…15)
extern double DeltaADX = 2.2; // Level ADX to test for trend. If DeltaADX > setpoint, there is trend!. < 1,0 не ставить (3.2? 0.12?)
extern double StopADX = 75; // 50-80-100 restriction on the opening of ADX
extern double Per1 = 50; // 75? period CCI
extern double Per2 = 60; // 40? period CCI
extern double Drop1 = 55; // 75? Level CCI above which the series does not start
extern double Drop2 = 135; // 60? Level CCI above which the series does not start
//-------------------------------------------------------------------
extern string MACDSet = “MACD_Stoch Settings”;
extern int MACD_Stoch_On_Off = 0; //On/Off.
extern int MACDFast = 4; // 8
extern int MACDSlow = 21; // 17
extern int MACDSignal = 6; // 9
extern int KPeriod = 5; // 13
extern int DPeriod = 3; // 5
extern int Slowing = 6; // 4
extern int LimitLevel = 20;
//--------------------------------------
extern string MaOnCCISet = “MaOnCCI Settings”;
extern int MaOnCCI_On_Off = 0; //On/Off.
extern int MA1_Period = 6; // Period Fast МА(4…10)
extern int MA2_Period = 18; // Period first Slow МА(12…24)
extern int MA3_Period = 36; // Period second Slow МА(30…48)
extern double DelFX = 3; // The distance between МА1 and МА2 inn pips(0…5)
extern int MA_sf = 1; // Number of “prev bar” to account for the trend (from 1 to 3)
extern int CCI_Level = 150; // Level-off CCI(100…200)
extern int CCI_Per = 14; // Period CCI(7…28)
extern int CCI_sf = 1; // Number of “prev bar” to account for the trend (from 1 to 3)
//--------------------------------------
extern string ROCSet = “ROC_CCI Settings”;
extern int ROC_CCI_On_Off = 0; //On/Off.
extern int Period_MA_0 = 13; // The period of reference MA for the current TF
extern int Period_MA_1 = 21; // Period estimated МА
extern int Bars_V = 13; // The number of bars to calculate the velocity
extern int TF_ROC_CCI = 2; // //Periodicity 1=1M, 2=5M, 3=15M…(2-5)
extern int Drop_1 = 110; // Level CCI-1 for Enter, excess levels of a signal to the input
extern int Drop_2 = 70; // Level CCI-2 for Enter, excess levels of a signal to the input
extern int Per_1 = 30; // Period CCI-1
extern int Per_2 = 75; // Period CCI-2
This is a new advisor. He has not yet been optimized. If you are an experienced trader - you can optimize it in the history of the opening prices. (I have not even had time to verify the indicators in these tests :))
You can find your strategy within this counselor because he has so many settings and indicators. select your own risk, drawdown and profit:
Free test on demo. Ask on mail <[email protected]>