Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
open и close
перебор открытых ордеров происходит только в случае включенного трала и включенного закрытия по сигналам, но в моем случае все это отключено.
Что бы не вдаваться в подробности, если по сигналу есть открытие ордера, а дальше игнор, то всё-таки перебор ордеров некорректный.
думал об этом, но у сигналов в разных советниках разные значения, ограничений нет
Измените в своем советнике, символы явно прописанные "EURGBP" на _Symbol или Symbol(),
и я уверен будет вам щястье
Возможно в начале кода где-то используется
... ну и дальше основной код
//первый сигнал
while((Price<MA) && (Price1>MA_1))
{
chk=9;
Print("Позиция возможна SELL EURGBP!");
break;
}
if(chk==9)
{
//второй сигнал и открытие
if((iStochastic("EURGBP",0,K,D,Slow,MODE_SMA,0,MODE_MAIN,1)>iStochastic("EURGBP",0,K,D,Slow,MODE_SMA,0,MODE_SIGNAL,1)) && (iStochastic("EURGBP",0,K,D,Slow,MODE_SMA,0,MODE_MAIN,0)<iStochastic("EURGBP",0,K,D,Slow,MODE_SMA,0,MODE_SIGNAL,0)))
{
{
ticket=OrderSend("EURGBP",OP_SELL,Lot,NormalizeDouble(Bid,Digits),3,NormalizeDouble(Bid+StopLoss*Point,Digits),NormalizeDouble(Bid-TakeProfit*Point,Digits),
"EMA position:",16385,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
Print("Открыт ордер SELL EURGBP: ",OrderOpenPrice());
Time_open = TimeCurrent()-Time[0]; //вводим новую строку (запоминаем интервал от времени открытия бара, на котором был вход, до момента входа)
Time_bar = Time[0];
chk=0;
}
else
{
Print("Ошибка открытия SELL ордера EURGBP: ",GetLastError());
return(0);
}
}
}
return(0);
}
Код некорректен, какой Ask, Bid, если идёт обращение к конкретной паре? SymbolInfoDouble есть для того. Или MarketInfo.
Если весь советник написан в том же духе, то надо править всё.