Как переделать советник на MQL4 под торговлю бинарными опционами |
//+------------------------------------------------------------------+
//| Option.mq4 |
//| Copyright 2015, AM2 |
//| http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2015, AM2"
#property link "http://www.forexsystems.biz"
#property description "Simple expert advisor"
//--- Inputs
extern double Lot = 5; // лот
extern int StopLoss = 400; // лось
extern int TakeProfit = 800; // язь
extern int Slip = 30; // проскальзывание
extern int Magic = 111; // магик
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
Comment("");
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
Comment("");
}
//+------------------------------------------------------------------+
//| Check for open order conditions |
//+------------------------------------------------------------------+
void OpenPos()
{
int res;
double bid=MarketInfo(OrderSymbol(),MODE_BID);
double ask=MarketInfo(OrderSymbol(),MODE_ASK);
//--- sell
if(High[1]<High[2] && High[3]<High[2])
{
res=OrderSend(Symbol(),OP_SELL,Lot,
NormalizeDouble(bid,Digits),Slip,
NormalizeDouble(bid+StopLoss*Point,Digits),
NormalizeDouble(bid-TakeProfit*Point,Digits),
"",Magic,0,Red);
return;
}
//--- buy
if(Low[1]>Low[2] && Low[3]>Low[2])
{
res=OrderSend(Symbol(),OP_BUY,Lot,
NormalizeDouble(ask,Digits),Slip,
NormalizeDouble(ask-StopLoss*Point,Digits),
NormalizeDouble(ask+TakeProfit*Point,Digits),
"",Magic,0,Blue);
return;
}
//---
}
//+------------------------------------------------------------------+
int CountTrades()
{
int count=0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
count++;
}
}
}
return(count);
}
//+------------------------------------------------------------------+
//| OnTick function |
//+------------------------------------------------------------------+
void OnTick()
{
if(CountTrades()<1) OpenPos();
}
//+------------------------------------------------------------------+
//--- Inputs
extern double Lot = 5; // лот
extern int StopLoss = 400; // лось
extern int TakeProfit = 800; // язь
extern int Slip = 30; // проскальзывание
extern int Magic = 111; // магик
//--- Inputs
extern double Lot = 5; // лот
extern int Magic = 111; // магик
extern string Expiration = "5"; // время истечения в минутах
//--- Inputs
extern double Stavka = 5; // ставка в валюте
extern string Expiration = "5"; // время истечения в минутах
extern int Magic = 111; // магик
//--- sell
if(High[1]<High[2] && High[3]<High[2])
{
res=OrderSend(Symbol(),OP_SELL,Lot,
NormalizeDouble(bid,Digits),Slip,
NormalizeDouble(bid+StopLoss*Point,Digits),
NormalizeDouble(bid-TakeProfit*Point,Digits),
"",Magic,0,Red);
return;
}
//--- buy
if(Low[1]>Low[2] && Low[3]>Low[2])
{
res=OrderSend(Symbol(),OP_BUY,Lot,
NormalizeDouble(ask,Digits),Slip,
NormalizeDouble(ask-StopLoss*Point,Digits),
NormalizeDouble(ask+TakeProfit*Point,Digits),
"",Magic,0,Blue);
return;
}
//---
//--- sell
if(High[1]<High[2] && High[3]<High[2])
{
res=OrderSend(Symbol(),OP_SELL,Stavka,bid,0,0,0,Expiration,Magic,0,Red);
return;
}
//--- buy
if(Low[1]>Low[2] && Low[3]>Low[2])
{
res=OrderSend(Symbol(),OP_BUY,Stavka,ask,0,0,0,Expiration,Magic,0,Blue);
return;
}
//---
//+------------------------------------------------------------------+
//| Option.mq4 |
//| Copyright 2015, AM2 |
//| http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2015, AM2"
#property link "http://www.forexsystems.biz"
#property description "Simple expert advisor"
//--- Inputs
extern double Stavka = 5; // ставка в валюте
extern string Expiration = "5"; // время истечения в минутах
extern int Magic = 111; // магик
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
Comment("");
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
Comment("");
}
//+------------------------------------------------------------------+
//| Check for open order conditions |
//+------------------------------------------------------------------+
void OpenPos()
{
int res;
double bid=MarketInfo(OrderSymbol(),MODE_BID);
double ask=MarketInfo(OrderSymbol(),MODE_ASK);
//--- sell
if(High[1]<High[2] && High[3]<High[2])
{
res=OrderSend(Symbol(),OP_SELL,Stavka,bid,0,0,0,Expiration,Magic,0,Red);
return;
}
//--- buy
if(Low[1]>Low[2] && Low[3]>Low[2])
{
res=OrderSend(Symbol(),OP_BUY,Stavka,ask,0,0,0,Expiration,Magic,0,Blue);
return;
}
//---
}
//+------------------------------------------------------------------+
int CountTrades()
{
int count=0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
count++;
}
}
}
return(count);
}
//+------------------------------------------------------------------+
//| OnTick function |
//+------------------------------------------------------------------+
void OnTick()
{
if(CountTrades()<1) OpenPos();
}
//+------------------------------------------------------------------+
06 сентября 2015
|
02 октября 2015
|
Комментарии (20)
Попробую-ка теперь по колдовать. Может удастся зачаровать пару сов.
10 session Сообщений: 165
extern string Expiration = «5»; // время истечения в минутах
А что и где еще нужно прописать что бы заработало?
Редактирован: 16 сентября 2015, 15:10
10 session Сообщений: 165
34 AM2 Автор Сообщений: 15880 - Андрей
10 session Сообщений: 165
34 AM2 Автор Сообщений: 15880 - Андрей
Так выдает ошибку.
Если бы был в советнике комент то его и так можно бы было использовать для экспирации. Редактирован: 16 сентября 2015, 15:17
10 session Сообщений: 165
34 AM2 Автор Сообщений: 15880 - Андрей
Отличная тема для нас — люмпинов.
10 session Сообщений: 165
Можете подсказать, как добавить мартингейл в советник?
14 beton2011 Сообщений: 895
По этому поводу тоже есть статья: mql.opentraders.ru/1663.html
34 AM2 Автор Сообщений: 15880 - Андрей
Я переделал советник под бинары, ордера открываются но не работает мартингейл встроенный в советнике.
14 beton2011 Сообщений: 895
34 AM2 Автор Сообщений: 15880 - Андрей
0 OLEG2017 Сообщений: 4
0 bear001 Сообщений: 2
34 AM2 Автор Сообщений: 15880 - Андрей
0 bear001 Сообщений: 2
0 OLEG2017 Сообщений: 4
14 Syte Сообщений: 399
14 Syte Сообщений: 399
0 OLEG2017 Сообщений: 4
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий