Orders Execution
0
Views
0
Downloads
0
Favorites
Nevalyashka3_1
//+------------------------------------------------------------------+
//| Nevalyashka.mq4 |
//| Copyright © 2013 Ñåðãåé Ñîáàêèí |
//| zavanet@mail.ru |
//| |
//--------------------------------------------------------------------
#property copyright "Copyright © 2013 Ñåðãåé Ñîáàêèí"
#property link "zavanet@mail.ru"
//--------------------------------------------------------------------
extern string _1.0="Îáùèå íàñòðîéêè";
extern double StartLot=0.1; //ëîò (N)
extern double K_lot=1.4; //ëîò, íà êîòîðûé óâåëè÷èòüñÿ ïðè ïîëó÷åíèè ìèíóñà (M) ëèáî ýòî ìíîæèòåëü êîýô
extern int takeprofit = 1900, //Ïðîôèò
moveprofit = 100, //Øàã òðàëà
stoploss = 700; // Ñòîï ëîññ
int tip;//Òèï îðäåðà (Ñåëë, Áàé)
double eq=0; //Ñîõðàíåííîå çíà÷åíèå ýêâèòè
double OpenPrice=0;//Öåíà îòêðûòèÿ îðäåðà
double min=0;
double max=0;
double Lot; //ëîò (N)
double ma;
string n;
int TP;
int op;
//--------------------------------------------------------------------
int init()
{
eq=AccountEquity(); //Çàïîìèíàåì ýêâèòè
Lot=StartLot; //Ëîò îðäåðîâ ðàâåí íà÷àëüíîìó
if (OrderSend(Symbol(),OP_SELL,NormalizeDouble(Lot,1),Bid,3,NormalizeDouble(Ask+stoploss*Point,Digits),
NormalizeDouble(Bid - takeprofit*Point,Digits)," ",777,Blue)!=-1) // íà÷àëå îòêðûâàåì ñåëë.tip=1
{
tip=1;
OpenPrice=Bid;
}
}
//--------------------------------------------------------------------
int start()
{
bool result;
if (OrdersTotal()==0) //Çàêðûëñÿ îðäåð
{
if (AccountEquity()>eq) //Òåêóùåå ýêâèòè áîëüøå ñîõðàíåííîãî,ò.å. çàêðûëèñü â ïëþñ
{
eq=AccountEquity();//Çàïîìèíàåì òåêóùåå ýêâèòè
Lot=StartLot;//Îáúåì ëîòà ñáðàñûâàåò äî íà÷àëüíîãî
if (tip==0) // Çàêðûëñÿ áàé
{
if (OrderSend(Symbol(),OP_BUY ,NormalizeDouble(Lot,1),Ask,3,NormalizeDouble(Bid-stoploss*Point,Digits),
NormalizeDouble(Ask + takeprofit*Point,Digits)," ",777,Blue)!=-1) OpenPrice=Ask;// Îòêðûâàåì îðäåð â òîì íàïðàâëåíèè è çàïîìèíàåì öåíó îòêðûòèÿ
}
if (tip==1) // Çàêðûëñÿ ñåëë
{
if (OrderSend(Symbol(),OP_SELL,NormalizeDouble(Lot,1),Bid,3,NormalizeDouble(Ask+stoploss*Point,Digits),
NormalizeDouble(Bid - takeprofit*Point,Digits)," ",777,Blue)!=-1) OpenPrice=Bid;
}
}else //Òåêóùåå ýêâèòè ìåíüøå ñîõðàíåííîãî,ò.å. çàêðûëèñü â ìèíóñ
{
Lot=Lot*K_lot; //óâåëè÷èëè ëîò
if (tip==0) //Çàêðûëñÿ áàé
{
if (OrderSend(Symbol(),OP_SELL,NormalizeDouble(Lot,1),Bid,3,NormalizeDouble(Ask+stoploss*Point,Digits),
NormalizeDouble(Bid - takeprofit*Point,Digits)," ",777,Blue)!=-1) //Îòêðûëè ñåëë
{
OpenPrice=Bid;//ñîõðàíèëè öåíó îòêðûòèÿ
tip=1;//ïîìåòèëè ñåëë
return;
}
}
if (tip==1)
{
if (OrderSend(Symbol(),OP_BUY ,NormalizeDouble(Lot,1),Ask,3,NormalizeDouble(Bid-stoploss*Point,Digits),
NormalizeDouble(Ask + takeprofit*Point,Digits)," ",777,Blue)!=-1)
{
OpenPrice=Ask;
tip=0;
}
}
}
}else //Îðäåð îòêðûò, îòñëåæèâàåì òðàë
{
if (tip==0)//Áàé
{
if (Ask-OpenPrice>moveprofit*Point)// Öåíà óøëà âûøå öåíû îòêðûòèÿ îðäåðà íà øàã òðàëà
{
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
result=OrderModify(OrderTicket(),0,Bid-stoploss*Point,OpenPrice + takeprofit*Point,0,CLR_NONE);//Ïåðåíîñèì ñòîï âûøå
if (Lot>StartLot && (Bid-stoploss*Point>OrderOpenPrice())) Lot=Lot/K_lot; //Åñëè òåêóùèé ñòîï âûøå öåíû îòêðûòèÿ, òî óìåíüøàåì ëîò ñëåäóþùåãî îðäåðà
OpenPrice=Ask; //Ñîõðàíÿåì òåêóùóþ öåíó. Òåïåðü îò íåå ñ÷èòàåì òðàë
}
}
}else
{
if (OpenPrice-Bid>moveprofit*Point)
{
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
result=OrderModify(OrderTicket(),0,Ask+stoploss*Point,OpenPrice - takeprofit*Point,0,CLR_NONE);
if (Lot>StartLot && (Ask+stoploss*Point<OrderOpenPrice())) Lot=Lot/K_lot;
OpenPrice=Bid;
}
}
}
}
return(0);
}
//-----------------------------------------------------------------
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
---