//+------------------------------------------------------------------+ //| T3MA(MTC).mq4 | //| Áåçáîðîäîâ Àëåêñåé | //| AlexeiBv@ya.ru | //+------------------------------------------------------------------+ #property copyright "Áåçáîðîäîâ Àëåêñåé" #property link "AlexeiBv@ya.ru" extern double ÐàçìåðËîòà=1.0; extern bool ÈñïîëüçîâàòüËîññ = true; extern int Ëîññ = 40; extern bool ÈñïîëüçîâàòüÏðîôèò = true; extern int Ïðîôèò = 11; extern bool ÈñïîëüçîâàòüÎäíîâðÑäåëêè = true; extern int ÁàðÈíäèêàòîð = 1; extern int Ìàãè÷åñêîå×èñëî=1234; extern bool ÈñäÑèãíàë=true; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ double LastOrder=0; int start() { //---- int i=0; double m0,m1,m2; int Îðäåð=0; double ×èñëîËîòîâ=ÐàçìåðËîòà; double ÑòîïÏîòåðè=0; double ÂçÿòüÏðîôèò=0; int Ìàãè÷åñêîå×èñëî1; datetime ÑðîêÈñòå÷åíèÿ=0; string Êîìåíòàðèé = "Îðäåð ïî Ò3ÌÀ"; int èñïÎðäåð=0; int cmd; double Öåíà; int Ïðîñêàëüçûâàíèå=3; color ÖâåòÑèìâîëà = 0x008000; m0=iCustom(NULL,0,"T3MA-ALARM",true,0,ÁàðÈíäèêàòîð); m1=iCustom(NULL,0,"T3MA-ALARM",true,1,ÁàðÈíäèêàòîð); Comment("m0="+m0+" m1="+m1+" LastOrder"+LastOrder); if(m0!=0.0 && m0!=LastOrder && (ÈñïîëüçîâàòüÎäíîâðÑäåëêè==true || !ExistPositions()) ) { LastOrder=m0; ÑòîïÏîòåðè=0.0; if(ÈñïîëüçîâàòüËîññ==1) { ÑòîïÏîòåðè=Bid-Ëîññ*Point; } cmd=OP_BUY; Öåíà=Ask; èñïÎðäåð=1; Ìàãè÷åñêîå×èñëî1=Ìàãè÷åñêîå×èñëî; ÂçÿòüÏðîôèò=0; if(ÈñïîëüçîâàòüÏðîôèò==1) ÂçÿòüÏðîôèò=(Bid + Ïðîôèò*Point); } if(m1!=0.0 && m1!=LastOrder && (ÈñïîëüçîâàòüÎäíîâðÑäåëêè==true || !ExistPositions()) ) { LastOrder=m1; ÑòîïÏîòåðè=0.0; if(ÈñïîëüçîâàòüËîññ==1) { ÑòîïÏîòåðè=Bid+Ëîññ*Point; } cmd=OP_SELL; Öåíà=Bid; èñïÎðäåð=1; Ìàãè÷åñêîå×èñëî1=Ìàãè÷åñêîå×èñëî; ÂçÿòüÏðîôèò=0; if(ÈñïîëüçîâàòüÏðîôèò==1) ÂçÿòüÏðîôèò=(Bid - Ïðîôèò*Point); } if(èñïÎðäåð>0) { Îðäåð=OrderSend( Symbol(), cmd, ×èñëîËîòîâ, Öåíà, Ïðîñêàëüçûâàíèå, ÑòîïÏîòåðè, ÂçÿòüÏðîôèò, Êîìåíòàðèé, Ìàãè÷åñêîå×èñëî1, ÑðîêÈñòå÷åíèÿ, ÖâåòÑèìâîëà ); if(Îðäåð<1) { Print("Íå óäàëîñü óñòàíîâèòü îðäåð íà Buy, êîä îøèáêè #",GetLastError()); } else { if(ÈñäÑèãíàë==true){PlaySound("alert.wav");} } } //---- return(0); } //+------------------------------------------------------------------+ bool ExistPositions() { for (int i=0; i<OrdersTotal(); i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==Symbol()) { return(True); } } } return(false); }
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
T3MA-ALARM
Order Management characteristics:
Checks for the total of open orders
Other Features:
It plays sound alerts