Orders Execution
Miscellaneous
0
Views
0
Downloads
0
Favorites
Test_Market_Buy
//+------------------------------------------------------------------+
//| Test_Market_Buy.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 Buy_tprofit =3;
extern int Buy_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(Buy_stloss-spred<=stoplevel) int st=stoplevel; else st=Buy_stloss-spred;
//---- ïîïðîáóåì îòêðûòü ïîçèöèþ ïî ðûíêó ñ ìàêñèìàëüíî áëèçêî
//---- óñòàíîâëåííûìè StopLoss è TakeProfit, ïîêóïàåì ïî àñêó
//---- ïîêàçûâàåì, ÷òî îòêðûâàòüñÿ ìîæíî ñ îòñòóïîì â stoplevel ïóíêòîâ
ticket=OrderSend(Symbol(),OP_BUY,volume,Ask,2,
NormalizeDouble(Bid-st*Point,digits), // SL
NormalizeDouble(Bid+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("Îðäåð BUY óñïåøíî óñòàíîâëåí!");
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. Òîðãîâëÿ èäåò ìèíèìàëüíûì ëîòîì.
*/
//+------------------------------------------------------------------+
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---