Orders Execution
Miscellaneous
0
Views
0
Downloads
0
Favorites
vav_openlimitorder_manually
//+------------------------------------------------------------------+
//| vav_openlimitorder_manually.mq4 |
//| vav |
//| vav |
//+------------------------------------------------------------------+
#property copyright "vav"
#property link "vav"
#property version "1.00"
#property strict
#property script_show_inputs
//--- input parameters
input int Ident=123; //Èäåíòèôèêàòîð îðäåðà
input string coment=""; //Êîììåíòàðèé
input int PrSk=3; //Ïðîñêàëüçûâàíèå
input double CenaOp=0; //Price
input double Stop=0; //StopLoss
input double Tk=0; //TakeProfit
input double PrDepo=1; //Äîïóñòèìûé óáûòîê â % îò äåïîçèòà
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
int nZn = Digits; //Êîë-âî çíàêîâ
string SymB = Symbol(); //Ñèìâîë
double Lo; //Îáúåì ëîòà
double minLot = MarketInfo(SymB, MODE_MINLOT);
int ti;
double Take=Tk;
if(CenaOp<Ask)
{
if(Stop<CenaOp)
{
if(Take<=CenaOp || Take==0)
{
Take=0;
Alert("TakeProfit íå óñòàíîâëåí");
}
Lo=Lot(SymB,(int)((CenaOp-Stop)*MathPow(10,nZn)),PrDepo);
if(Lo<minLot)
{
Alert("Íåäîñòàòî÷íî ñðåäñòâ äåïîçèòà");
}
else
{
Lo=NormalizeDouble(Lo,2);
ti=OrderSend(SymB,OP_BUYLIMIT,Lo,CenaOp,PrSk,Stop,Take,coment,Ident,0,clrNONE);
if(ti!=-1)
{
Alert("Óñòàíîâëåí îðäåð",ti,"BuyStop");
}
else
Alert("Îðäåð íå óñòàíîâëåí");
}
}
else
{
Alert("Íåäîïóñòèìîå çíà÷åíèå StopLoss");
}
}
if(CenaOp>Bid)
{
if(Stop>CenaOp)
{
if(Take>=CenaOp || Take==0)
{
Take=0;
Alert("TakeProfit íå óñòàíîâëåí");
}
Lo=Lot(SymB,(int)((Stop-CenaOp)*MathPow(10,nZn)),PrDepo);
if(Lo<minLot)
{
Alert("Íåäîñòàòî÷íî ñðåäñòâ äåïîçèòà");
}
else
{
Lo=NormalizeDouble(Lo,2);
ti=OrderSend(SymB,OP_SELLLIMIT,Lo,CenaOp,PrSk,Stop,Take,coment,Ident,0,clrNONE);
if(ti!=-1)
{
Alert("Óñòàíîâëåí îðäåð",ti,"SellStop");
}
else
Alert("Îðäåð íå óñòàíîâëåí");
}
}
}
if(Bid<=CenaOp && CenaOp<=Ask)Alert("Íåäîïóñòèìàÿ öåíà îòêðûòèÿ");
}
//+------------------------------------------------------------------+
//Ôóíêöèÿ íàõîæäåíèÿ ëîòà îò äåïîçèòà
double Lot(string Sym,int Pn,double pD)
{
double L=(AccountBalance()/100*pD)/(MarketInfo(Sym, MODE_TICKVALUE)*(Pn));
return(L);
}
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
---