[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 66
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
а вааще-то в таких случаях я обычно более широко стараюсь использовать GetLastError(). Впрочем я, конечно, не профи
я так понимаю что GetLastError() должен говорить почему что-то не делается, например если поток занят, у меня же вообще нихрена не происходит!
Я так понял вам просто надо чтобы открылось 3 ордера по разным инструментам? А почему бы не сделать флаговую переменную ну например
В глобальных переменных создаем
int flag=0;
string Symb;
///////////////
далее
int start()
{
if (условие открытия)
{flag=1;}
if (flag==1)
{
Symb="EURUSD";
OrderSend(Symb,...)///Открываем, переносим флаг во 2 состояние для открытия след ордера и
flag=2; ///выходим тк больше мы ни чего не можем сделать
return(0);
}
if (flag==2)
{
Symb="AUDUSD";
OrderSend(Symb,...)
flag=3;
return(0);
}
if (flag==3)
{
Symb="USDJPY";
OrderSend(Symb,...)
flag=0;//Возвращаем флаг в начальное состояние..
return(0);
}
return(0);}
Еще не плохо бы добавить проверку открытия и только после того как проверка успешно прошла перемещать флаг.
Большое спасибо! попробую!
}
else Print ("Ошибка открытия длинной позиции:",GetLastError());
возвращает ошибку при неудачном OrderSelect().
if(OrderSend(Symbol(), OP_SELLSTOP, getLots, Bid, 0, 0, 0, WindowExpertName(),Magic, 0, Red) < 0)
Print("Error Open Sellstop = ",GetLastError());
возвращает ошибку при неудачном OrderSend().есть версия, что не срабатывает именно OrderSend()
а нет версий почему он на тестере срабатывает?
а нет версий почему он на тестере срабатывает?
Нет. Но я говорю о том, что при более широком использовании фунции Print (пусть даже и без последующего GetLastError),
намного лучше видно, как советник торгует.
например так:
if(MA1>MA2 && StochPrev<StohCur && StochPrev<SignPrev )
{
print("условие для бай ордера выполнено");
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",16895,0,DeepSkyBlue);if(ticket>0)
}