Orders Execution
Indicators Used
0
Views
0
Downloads
0
Favorites
Proffessor_v1_2011
//+------------------------------------------------------------------+
//| Proffessor_v1_2011.mq4 |
//| Copyright © 2011, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
extern double lot=0.01;
extern int MAX_Lines =5; // Ìàêñèìàëüíîå êîëëè÷åñòâî îòëîæåííûõ îðäåðîâ êàæäîãî íàïðàâëåíèÿ
extern double klot = 1; // Êîýôôèöèåíò óìíîæåíèÿ ëîòîâ ïðè óäàëåíèè îò öåíû
extern double pluslot =0.01; // Êîýôôèöèåíò äîëèâêè ëîòà ïðè óäàëåíèè îò öåíû
extern double Delta1 = 30; // Ïåðâàÿ äåëüòà îò öåíû äëÿ ñòîïîâîãî îðäåðà
extern int Delta = 30; // Ðàññòîÿíèå ìåæäó ëèìèòíûìè îðäåðàìè
extern double ProfitClose = 0.8; // Çàêðûâàòü âñå îðäåðà ïðè ïîëó÷åíèè ïðîôèòà(â äîëëàðàõ)
extern double f = 40; // Ïàðàìåòð ãðàíèöû ôëåòà ïî ADX
extern double bar = 2; // Ñäâèã ïî áàðàì ADX
extern double timeframe= 1; // Òàéìôðåéì äëÿ èíäèêàòîðà ADX
//--- 0-òåêóùèé,1-1ìèíóòà, 2-5ìèíóò, 3-15ìèíóò, 4-30ìèíóò, 5-1÷àñ,6-4÷àñà, 7-äåíü, 8-íåäåëÿ, 9-ìåñÿö
extern int magic=12345;
extern int StartHour=0; // ×àñ íà÷àëà ðàáîòû ñîâåòíèêà
extern int EndHour=24; // ×àñ îêîí÷àíèÿ ðàáîòû ñîâåòíèêà
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
Comment("ProfessorSoft_v1_2011");
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
Comment("");
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
bool ticket;
double Lots;
int x;
bool trade=false;
trade=true;
double iflet,ibuy,isell;
int _timeframe;
if(timeframe==1)_timeframe=1;
else if(timeframe==0)_timeframe=0;
else if(timeframe==2)_timeframe=5;
else if(timeframe==3)_timeframe=15;
else if(timeframe==4)_timeframe=30;
else if(timeframe==5)_timeframe=60;
else if(timeframe==6)_timeframe=240;
else if(timeframe==7)_timeframe=1440;
else if(timeframe==8)_timeframe=10080;
else _timeframe=43200;
if(OrdersTotal()==0 && trade==true && time()==true)
{
ticket=-1;
iflet=iADX( Symbol(), _timeframe, 14, PRICE_CLOSE,MODE_MAIN, bar);
ibuy=iADX(Symbol(),_timeframe,14,PRICE_CLOSE,MODE_PLUSDI,bar);
isell=iADX(Symbol(),_timeframe,14,PRICE_CLOSE,MODE_MINUSDI,bar);
if(iflet<f && ibuy>isell)
{
Lots=lot;
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"",magic,0,Blue);
if(ticket==-1)return(0);
OrderSend(Symbol(),OP_SELLSTOP,Lots,Bid-Delta1*Point,3,0,0,"",magic,0,Red);
for(x=1;x<=MAX_Lines;x++)
{
Lots=NormalizeDouble(Lots*klot,2)+pluslot;
OrderSend(Symbol(),OP_BUYLIMIT,Lots,Ask-(Delta1+x*Delta)*Point,3,0,0,"",magic,0,Blue);
OrderSend(Symbol(),OP_SELLLIMIT,Lots,Bid+x*Delta*Point,3,0,0,"",magic,0,Red);
}
}
else if(iflet<f && ibuy<isell)
{
Lots=lot;
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"",magic,0,Red);
if(ticket==-1)return(0);
OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask+Delta1*Point,3,0,0,"",magic,0,Blue);
for(x=1;x<=MAX_Lines;x++)
{
Lots=NormalizeDouble(Lots*klot,2)+pluslot;
OrderSend(Symbol(),OP_BUYLIMIT,Lots,Ask-x*Delta*Point,3,0,0,"",magic,0,Blue);
OrderSend(Symbol(),OP_SELLLIMIT,Lots,Bid+(Delta1+x*Delta)*Point,3,0,0,"",magic,0,Red);
}
}
else if(iflet>f && ibuy>isell)
{
Lots=lot;
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"",magic,0,Blue);
if(ticket==-1)return(0);
OrderSend(Symbol(),OP_SELLSTOP,Lots,Bid-Delta1*Point,3,0,0,"",magic,0,Red);
for(x=1;x<=MAX_Lines;x++)
{
Lots=NormalizeDouble(Lots*klot,2)+pluslot;
OrderSend(Symbol(),OP_SELLSTOP,Lots,Bid-(Delta1+x*Delta)*Point,3,0,0,"",magic,0,Blue);
OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask+x*Delta*Point,3,0,0,"",magic,0,Red);
}
}
else if(iflet>f && ibuy<isell)
{
Lots=lot;
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"",magic,0,Red);
if(ticket==-1)return(0);
OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask+Delta1*Point,3,0,0,"",magic,0,Blue);
for(x=1;x<=MAX_Lines;x++)
{
Lots=NormalizeDouble(Lots*klot,2)+pluslot;
OrderSend(Symbol(),OP_SELLSTOP,Lots,Bid-x*Delta*Point,3,0,0,"",magic,0,Blue);
OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask+(Delta1+x*Delta)*Point,3,0,0,"",magic,0,Red);
}
}
else return(0);
}
if(OrdersTotal()>0)
{
Comment("Balance ",AccountBalance(),"\nEquity ",AccountEquity(),"\n Profit ",OrdersProfit());
if(OrdersProfit()>=ProfitClose)
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
// bool error=true;
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Blue);
// error=false;
}
if(OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
// error=false;
}
Sleep(1000);
if(OrderType()>1) OrderDelete(OrderTicket());
}
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| time |
//+------------------------------------------------------------------+
bool time()
{
if(StartHour<EndHour)
{if(Hour()>=StartHour && Hour()<EndHour) return(true); else return(false);}
if(StartHour>EndHour)
{if(Hour()>=EndHour && Hour()<StartHour) return(false); else return(true);}
}
//+------------------------------------------------------------------+
//| OrdersProfit |
//+------------------------------------------------------------------+
double OrdersProfit()
{
double rezultSymb=0;
string SMB=Symbol();
int i;
for(i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderSymbol()!=SMB) continue;
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
rezultSymb+=OrderProfit();
}
}
}
return(rezultSymb);
}
//+------------------------------------------------------------------+
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
---