//+------------------------------------------------------------------+ //| Test_Market_Sell.mq4 | //| Copyright © 2006, lukas1 | //| http://www.alpari-idc.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, lukas1." #property show_inputs #include <stdlib.mqh> #include <WinUser32.mqh> extern int Sell_tprofit =3; extern int Sell_stloss =0; extern string order_comment= "lukas1"; bool UseSound = True; // Èñïîëüçîâàòü çâóêîâîé ñèãíàë string NameFileSound = "expert.wav"; // Íàèìåíîâàíèå çâóêîâîãî ôàéëà //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { if (!IsCondition()) return; int ticket; // íîìåð òèêåòà int digits =MarketInfo(Symbol(),MODE_DIGITS); // ñîõðàíèì êîëè÷åñòâî çíàêîâ double volume =MarketInfo(Symbol(),MODE_MINLOT); // ñîõðàíèì ìèíèìàëüíûé ëîò double stoplevel=MarketInfo(Symbol(),MODE_STOPLEVEL); // ñîõðàíèì ìèíèìàëüíûé îòñòóï double spred =MarketInfo(Symbol(),MODE_SPREAD); //---- ïîêàæåì íàñòðîéêè Print("Ìèíèìàëüíûé ëîò: ",volume," ìèíèìàëüíûé îòñòóï: ",stoplevel); //---- ðàñ÷èòàåì ñòîïû, ó÷èòûâàÿ ìèíèìàëüíûé îòñòóï îò BID if(Sell_stloss+spred>=stoplevel) int st=stoplevel; else st=Sell_stloss+spred; //---- ïîïðîáóåì îòêðûòü ïîçèöèþ ïî ðûíêó ñ ìàêñèìàëüíî áëèçêî //---- óñòàíîâëåííûìè StopLoss è TakeProfit, ïîêóïàåì ïî áèäó //---- ïîêàçûâàåì, ÷òî îòêðûâàòüñÿ ìîæíî ñ îòñòóïîì â stoplevel ïóíêòîâ ticket=OrderSend(Symbol(),OP_SELL,volume,Bid,2, NormalizeDouble(Ask+st*Point,digits), // SL NormalizeDouble(Ask-stoplevel*Point-spred*Point,digits),order_comment, // TP 0,0,CLR_NONE); ShowError(); if(ticket<1) { Print("Oøèáêà ",ErrorDescription(GetLastError())); return(-1); } else if (UseSound) PlaySound(NameFileSound); Print("Îðäåð SELL óñïåøíî óñòàíîâëåí!"); return(0); } bool IsCondition() { bool result=true; string field=" "; string msg; string title="Îøèáêà"; if (AccountNumber()>0) title=AccountNumber()+": "+title; if (!IsConnected()) { msg=msg+"Ñâÿçü ñ ñåðâåðîì îòñóòñòâóåò"+field; result=false; } if (!IsTradeAllowed()) { if (!result) msg=msg+"\n"; msg=msg+"Òîðãîâëÿ çàïðåùåíà"+field; result=false; } double freemargin=AccountFreeMargin(); if(freemargin<=0) { if (!result) msg=msg+"\n"; msg=msg+"Íåò ñâîáîäíûõ ñðåäñòâ"+field; result=false; } if (!result) MessageBox(msg,title,MB_OK|MB_ICONERROR); return (result); } void ShowError() { string description; int err=GetLastError(); switch (err) { case 0: return; case 1: description="Íåò îøèáêè, íî ðåçóëüòàò íåèçâåñòåí"; break; case 2: description="Îáùàÿ îøèáêà"; break; case 3: description="Íåïðàâèëüíûå ïàðàìåòðû"; break; case 4: description="Òîðãîâûé ñåðâåð çàíÿò"; break; case 5: description="Ñòàðàÿ âåðñèÿ êëèåíòñêîãî òåðìèíàëà"; break; case 6: description="Íåò ñâÿçè ñ òîðãîâûì ñåðâåðîì"; break; case 7: description="Íåäîñòàòî÷íî ïðàâ"; break; case 8: description="Ñëèøêîì ÷àñòûå çàïðîñû"; break; case 9: description="Íåäîïóñòèìàÿ îïåðàöèÿ íàðóøàþùàÿ ôóíêöèîíèðîâàíèå ñåðâåðà"; break; case 64: description="Ñ÷åò çàáëîêèðîâàí"; break; case 65: description="Íåïðàâèëüíûé íîìåð ñ÷åòà"; break; case 128: description="Èñòåê ñðîê îæèäàíèÿ ñîâåðøåíèÿ ñäåëêè"; break; case 129: description="Íåïðàâèëüíàÿ öåíà"; break; case 130: description="Íåïðàâèëüíûå ñòîïû"; break; case 131: description="Íåïðàâèëüíûé îáúåì"; break; case 132: description="Ðûíîê çàêðûò"; break; case 133: description="Òîðãîâëÿ çàïðåùåíà"; break; case 134: description="Íåäîñòàòî÷íî äåíåã äëÿ ñîâåðøåíèÿ îïåðàöèè"; break; case 135: description="Öåíà èçìåíèëàñü"; break; case 136: description="Íåò öåí"; break; case 137: description="Áðîêåð çàíÿò"; break; case 138: description="Íîâûå öåíû"; break; case 139: description="Îðäåð çàáëîêèðîâàí è óæå îáðàáàòûâàåòñÿ"; break; case 140: description="Ðàçðåøåíà òîëüêî ïîêóïêà"; break; case 141: description="Ñëèøêîì ìíîãî çàïðîñîâ"; break; case 145: description="Ìîäèôèêàöèÿ çàïðåùåíà, òàê êàê îðäåð ñëèøêîì áëèçîê ê ðûíêó"; break; case 146: description="Ïîäñèñòåìà òîðãîâëè çàíÿòà"; break; case 147: description="Èñïîëüçîâàíèå äàòû èñòå÷åíèÿ îðäåðà çàïðåùåíî áðîêåðîì"; break; default : description="Íåèçâåñòíàÿ îøèáêà"; break; } string field=" "; string msg="Îøèáêà #"+err+" "+description+field; string title="Îøèáêà"; if (AccountNumber()>0)title=AccountNumber()+": "+title; MessageBox(msg,title,MB_OK|MB_ICONERROR); } // End /* Ñêðèïò "Îòêðûòü ïîçèöèþ". Ïîñòàðàëèñü èçáåæàòü íåîòêðûòèÿ îðäåðà ïî÷òè âñåìè âîçìîæíûìè ñïîñîáàìè.  ñëó÷àå îòñóòñòâèÿ ñîåäèíåíèÿ, çàïðåòà òîðãîâëè, îòñóòñòâèÿ ñâîáîäíûõ ñðåäñòâ èëè íåóäà÷è ïðè îòêðûòèè ïîçèöèè âûñêàêèâàåò îêîøêî ñ îïèñàíèåì îøèáêè. Ñòîï ëîññ ïî óìîë÷àíèþ âûñòàâëÿåòñÿ ìèíèìàëüíî âîçìîæíûì íà äàííîì èíñòðóìåíòå. Åãî âåëè÷èíà ñ÷èòàåòñÿ îò Bid, íî ó÷èòûâàåò ñïðýä. Òåéêïðîôèò âñåãäà óñòàíàâëèâàåòñÿ è ìîæåò ïîëó÷èòü çíà÷åíèå ñ ðûíêà ìåíüøå ÷åì òåêóùèé Ask. Òîðãîâëÿ èäåò ìèíèìàëüíûì ëîòîì. */ //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Other Features:
It plays sound alerts
It opens Message Boxes to the user