//+------------------------------------------------------------------+ //| yug_oneMA_v0.mq4 | //| Yuriy Tokman | //| yuriytokman@gmail.com | //+------------------------------------------------------------------+ #property copyright "Yuriy Tokman" #property link "yuriytokman@gmail.com" //123.86 3.02 period=44 ma_shift=4 ma_method=1 applied_price=5 // shift=3 level_high=25 level_low=27 shift_level=3 stoploss=100 takeprofit=50 //timeframe=0 Lots=0.01 slippage=3 extern string ____1___ = "Íàñòðîéêè èíäèêàòîðà"; extern int timeframe = 0;//1, 5, 15, 30, 60, 240, 1440, 10080, 43200 extern int period = 44;//Ïåðèîä óñðåäíåíèÿ äëÿ âû÷èñëåíèÿ ñêîëüçÿùåãî ñðåäíåãî. extern int ma_shift = 4;//Ñäâèã èíäèêàòîðà îòíîñèòåëüíî öåíîâîãî ãðàôèêà. extern int ma_method = 1;//0-3 Ìåòîä óñðåäíåíèÿ. extern int applied_price = 5;//0-6 Èñïîëüçóåìàÿ öåíà. extern int shift = 3;//ñäâèã ÌÀ îòíîñèòåëüíî òåêóùåãî áàðà extern int level_high = 25;//âåðõíèé êîðèäîð extern int level_low = 27;//íèæíèé êîðèäîð extern int shift_level = 3;//ñäâèã òåêóùåãî áàðà extern string ____2___ = "Íàñòðîéêè îðäåðîâ"; extern double Lots = 0.01;//Ëîòû extern int slippage = 3;//ïðîñêàëüçûâàíèå extern int stoploss = 100;//ñòîïëîññ extern int takeprofit = 50;//òåéêïðîôèò extern int magic = 28081975;//ìàãè÷åñêèé íîìåð //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- if(!ExistPositions(NULL,OP_BUY,magic) && GetSignal()==1) OrderSend(Symbol(),OP_BUY,Lots,Ask,slippage,Bid-stoploss*Point,Ask+takeprofit*Point,"",magic,0,Green); if(!ExistPositions(NULL,OP_SELL,magic) && GetSignal()==-1) OrderSend(Symbol(),OP_SELL,Lots,Bid,slippage,Ask+stoploss*Point,Bid-takeprofit*Point,"",magic,0,Red); //---- return(0); } //+------------------------------------------------------------------+ int GetSignal() { double MA = iMA(NULL,timeframe,period,ma_shift,ma_method,applied_price,shift); double MA_high = MA + level_high*Point; double MA_low = MA - level_low*Point; double high = iHigh(NULL,timeframe,shift_level); double low = iLow(NULL,timeframe,shift_level); double open = iOpen(NULL,timeframe,shift_level); int vSignal = 0; if (low>MA && low<MA_high && open>MA_high)vSignal = 1;//up else if (high<MA && high>MA_low && open<MA_low) vSignal =-1;//down return (vSignal); } //+----------------------------------------------------------------------------+ //| Àâòîð : Êèì Èãîðü Â. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Âåðñèÿ : 06.03.2008 | //| Îïèñàíèå : Âîçâðàùàåò ôëàã ñóùåñòâîâàíèÿ ïîçèöèé | //+----------------------------------------------------------------------------+ //| Ïàðàìåòðû: | //| sy - íàèìåíîâàíèå èíñòðóìåíòà ("" - ëþáîé ñèìâîë, | //| NULL - òåêóùèé ñèìâîë) | //| op - îïåðàöèÿ (-1 - ëþáàÿ ïîçèöèÿ) | //| mn - MagicNumber (-1 - ëþáîé ìàãèê) | //| ot - âðåìÿ îòêðûòèÿ ( 0 - ëþáîå âðåìÿ îòêðûòèÿ) | //+----------------------------------------------------------------------------+ bool ExistPositions(string sy="", int op=-1, int mn=-1, datetime ot=0) { int i, k=OrdersTotal(); if (sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sy || sy=="") { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { if (ot<=OrderOpenTime()) return(True); } } } } } } return(False); }
Sample
Analysis
Market Information Used:
Series array that contains the highest prices of each bar
Series array that contains the lowest prices of each bar
Series array that contains open prices of each bar
Indicator Curves created:
Indicators Used:
Moving average indicator
Custom Indicators Used:
Order Management characteristics:
It automatically opens orders when conditions are reached
Checks for the total of open orders
Other Features: