mfi_forex_expert_advisor

Author:
Profit factor:
0.00
Orders Execution
Checks for the total of open ordersIt automatically opens orders when conditions are reached
Indicators Used
Money flow index
Miscellaneous
It issuies visual alerts to the screen
10 Views
0 Downloads
0 Favorites
mfi_forex_expert_advisor
//+------------------------------------------------------------------+
//|                                     mfi_forex_expert_advisor.mq4 |
//|                                Copyright 2013, Akhmetov Kuanysh. |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
#include <library.mqh>
   
   // Âñåì ïðèâåò. ß íà÷èíàþùèé â ýòîì äåëå, ÿ äàæå íå ïðîãðàììèñò.
   // Íåäàâíî ÿ íà÷àë òîðãîâàòü íà ôîðåêñå (ñ ïåðåìåííûì óñïåõîì) è
   // ìåíÿ çàèíòåðåñîâàëî ïðîãðàììèðîâàíèå íà mql4. Â ìîåì îêðóæåíèè 
   // íå ñ êåì ïîãîâîðèòü íà ýòó òåìó, êîðî÷å ×ÒÎ ÑÊÀÆÅÒÅ ÏÐÎ ÝÒÎÒ ÑÎÂÅÒÍÈÊ.
   // Â òåñòåðå îí ïîêàçûâàåò íèçêóþ ïðîñàäêó ìàêñèìóì ÷òî ÿ âèäåë ýòî äî 3%.
   // Ìîæåò ÷òî-òî äîáàâèòü èëè óáðàòü. Èëè êàê-òî íàäî ôèëüòð ïîñòàâèòü.
  
extern int mfiperiod=14;            // çàäàåì ïåðèîä èíäèêàòîðà MFI
extern int mfiup=80;                // âåðõíèé óðîâåíü èíäèêàòîðà
extern int mfidown=20;              // íèæíèé óðîâåíü èíäèêàòîðà
extern double lot=0.1;              // Ðàçìåð ëîòà
extern int MagicNumber=4321;        // Ìàãè÷åñêèé íîìåð
extern int TP=200;                  // Òåéê ïðîôèò
extern int SL=50;                   // Ñòîïëîññ
extern int Tral_dist=50;            // äèñòàíöèÿ òðàëà
extern int Shag=40;                 // Ðàçìåð øàãà ïðè èñïîëüçîâàíèè òðåèëèíã ñòîïà
extern bool Use_shag=false;         // Èñïîëüçîâàòü èëè íåò Øàã
extern bool Use_bezubytok=false;    // Èñïîëüçîâàòü èëè íåò áåçóáûòîê

int start()
  
  {
    double tp, sl;
   // ðàçíîå êîë-âî öèôð â êîòèðîâêàõ ïîñëå çàïÿòîé
   if (Digits==3||Digits==5) {tp=TP*10*Point; sl=SL*10*Point;}
   else if (Digits==2||Digits==4) {tp=TP*Point; sl=SL*Point;}
          
   double mfi=iMFI(Symbol(),0,mfiperiod,1);
   
   
   
   // ïðîâåðÿåì ëîò
   if (lot > MarketInfo(Symbol(),MODE_MAXLOT))
{ Alert("MODE_MAXLOT Ñëèøêîì ìàë, ñ òàêèìè ñòàâêàìè èäè ê äðóãîìó áðîêåðó");
lot = MarketInfo(Symbol(),MODE_MAXLOT);
}
   // ÏÐÎÂÅÐßÅÌ ÊÎËÈ×ÅÑÒÂÎ ÎÐÄÅÐÎÂ
     int kolpos=0;
   for (int pos=0; pos <OrdersTotal(); pos++)
   {
   OrderSelect(pos, SELECT_BY_POS, MODE_TRADES);
   if (OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      kolpos++;
   }
   // åñëè êîë-âî îðäåðîâ ðàâíî 0, òî îòêðûâàåì ïîçèöèþ åñëè åñòü íà òî óñëîâèÿ
   if (kolpos==0)  
      {
         if (mfi>=mfiup)
            OrderSend(Symbol(),OP_BUY,lot, Ask, 20, Ask-sl, Ask+tp, NULL, MagicNumber, 0, Green);
   
   
         if (mfi<=mfidown)
            OrderSend(Symbol(), OP_SELL,lot,Bid,20,Bid+sl,Bid-tp,NULL,MagicNumber,0,Red);
      }
    // åñëè åñòü îòêðûòûé îðäåð òî âêëþ÷àåòñÿ òðåèëèíã ñòîï 
if (OrdersTotal()>0)
Trailing_stop(MagicNumber,Symbol(),Tral_dist, Shag,Use_shag, Use_bezubytok);

//----
   return(0);
  }
//+------------------------------------------------------------------+

Comments