//+------------------------------------------------------------------+ //| Set2StopOrders.mq4 | //| Êèì Èãîðü Â. aka KimIV | //| http://www.kimiv.ru | //| | //| 10.01.2006 Ñêðèïò âûñòàâëÿåò 2 ïðîòèâîïîëîæíûõ ñòîïîâûõ îðäåðà. | //+------------------------------------------------------------------+ #property copyright "Êèì Èãîðü Â. aka KimIV" #property link "http://www.kimiv.ru" #property show_inputs //------- Âíåøíèå ïàðàìåòðû ñêðèïòà ---------------------------------- extern string _P_Trade = "---------- Ïàðàìåòðû òîðãîâëè"; extern double Lots = 0.1; // Ðàçìåð òîðãóåìîãî ëîòà extern int StopLoss = 15; // Ðàçìåð ôèêñèðîâàííîãî ñòîïà extern int TakeProfit = 0; // Ðàçìåð ôèêñèðîâàííîãî òýéêà extern int DistanceSet = 20; // Ðàññòîÿíèå îò ðûíêà extern int Slippage = 3; // Ïðîñêàëüçûâàíèå öåíû //------- Ãëîáàëüíûå ïåðåìåííûå ñêðèïòà ------------------------------ string Name_Expert = "Set2StopOrders"; bool UseSound = True; // Èñïîëüçîâàòü çâóêîâîé ñèãíàë string NameFileSound = "expert.wav"; // Íàèìåíîâàíèå çâóêîâîãî ôàéëà color clOpenBuy = LightBlue; // Öâåò îðäåðà BuyStop color clOpenSell = LightCoral; // Öâåò îðäåðà SellStop //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ void start() { double ldStop=0, ldTake=0; double pAsk=Ask+DistanceSet*Point; double pBid=Bid-DistanceSet*Point; if (StopLoss!=0) ldStop=pAsk-StopLoss*Point; if (TakeProfit!=0) ldTake=pAsk+TakeProfit*Point; SetOrder(OP_BUYSTOP, pAsk, ldStop, ldTake); if (StopLoss!=0) ldStop=pBid+StopLoss*Point; if (TakeProfit!=0) ldTake=pBid-TakeProfit*Point; SetOrder(OP_SELLSTOP, pBid, ldStop, ldTake); } //+------------------------------------------------------------------+ //| Óñòàíîâêà îðäåðà | //| Ïàðàìåòðû: | //| op - îïåðàöèÿ | //| pp - öåíà | //| ldStop - óðîâåíü ñòîï | //| ldTake - óðîâåíü òåéê | //+------------------------------------------------------------------+ void SetOrder(int op, double pp, double ldStop, double ldTake) { color clOpen; string lsComm=GetCommentForOrder(); if (op==OP_BUYSTOP) clOpen=clOpenBuy; else clOpen=clOpenSell; OrderSend(Symbol(),op,Lots,pp,Slippage,ldStop,ldTake,lsComm,0,0,clOpen); if (UseSound) PlaySound(NameFileSound); } //+------------------------------------------------------------------+ //| Ãåíåðèðóåò è âîçâðàùàåò ñòðîêó êîìåíòàðèÿ äëÿ îðäåðà èëè ïîçèöèè | //+------------------------------------------------------------------+ string GetCommentForOrder() { return(Name_Expert+" "+GetNameTF(Period())); } //+------------------------------------------------------------------+ //| Âîçâðàùàåò íàèìåíîâàíèå òàéìôðåéìà | //+------------------------------------------------------------------+ string GetNameTF(int TimeFrame) { switch (TimeFrame) { case PERIOD_MN1: return("Monthly"); case PERIOD_W1: return("Weekly"); case PERIOD_D1: return("Daily"); case PERIOD_H4: return("H4"); case PERIOD_H1: return("H1"); case PERIOD_M30: return("M30"); case PERIOD_M15: return("M15"); case PERIOD_M5: return("M5"); case PERIOD_M1: return("M1"); default: return("UnknownPeriod"); } } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
It automatically opens orders when conditions are reached
Other Features:
It plays sound alerts