Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Проблема такова: с одним запуском мтс следует одна сделка,дальше надо удалить советник з графика и наново запустить тогда он совершыт еще одну сделку! МОЖЕТ ОН ПОСЛЕ СОВЕРШЕНИЯ ОДНОЙ СДЕЛКИ ПРОСТО ОСТАНОВЛЯЕТСЯ А НЕ ПРОДОЛЖАЕТ РАБОТАТЬ,КАК ЕГО ЗАПУСТИТЬ НА ПОСТОЯННУЮ РАБОТУ?
Очень похоже на скрипт, а не на советник.
bool first=true;
...
if (first) {a=Ask; b=Bid; first=false; return(0);}
...
Вот часть кода. Как его можно исправить?
bool first=true; - эта переменная локальная (описана внутри функции) ?
Чтобы не заглядывать сюда снова - мало ли какие еще загадки Вы задавать будете :).
Если эта переменная локальная, то получаем бесконечный цикл первого запуска - значение флага всегда будет истина поскольку при перезапуске функции все локальные переменные переинициализируются, а чтобы локальная переменная не переинициализировалась при повторном запуске функции она должна быть статической.
static bool first=true;
Если же переменная глобальная (описана вне функций) - ищите ошибку в другом месте.
Успехов.
Будут еще варианты ? :)
Будут еще варианты ? :)
будут :-) Возможно закрытие ордера происходит по TakeProfit или по StopLoss , соответственно флаг bool first=true; на разрешение открытия нового ордера не устанавливается