Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Позиция переворачивается потому, что программа отправляет на сервер два идентичных запроса. Программа же отправляет на сервер два идентичных запроса потому, что её код не предусматривает проверку на наличие ранее отправленного запроса (а также не предусматривает проверку результата обработки этого запроса на сервере).
Yedelkin пишет: что её код не предусматривает проверку на наличие ранее отправленного запроса. Подскажите пожалуйста, какая функция делает эту проверку?
У каждого - своё понимание правильности кода. Поэтому "правильный" код придётся в итоге писать Вам. А в качестве ещё одной подсказки - попробуйте, работает ли вот такой код в нужном ключе (схематичное использование флага sentRequest):
У каждого - своё понимание правильности кода. Поэтому "правильный" код придётся в итоге писать Вам. А в качестве ещё одной подсказки - попробуйте, работает ли вот такой код в нужном ключе (схематичное использование флага sentRequest):
Огромное спасибо! Пробую...
Результат следующий: код исправно закрывает длинную позицию и не открывает короткую... Но! При повторном открытии лонга, эксперт не закрывает больше позу по условию. В окне эксперта всё время идут сообщения:
Как же использовать этот код в теле эксперта, если он работает только 1 раз)?
oldiol: При повторном открытии лонга, эксперт не закрывает больше позу по условию. В окне эксперта всё время идут сообщения: Как же использовать этот код в теле эксперта, если он работает только 1 раз)?
В этом вопросе всё должно быть достаточно просто. В схематическом коде флаг sentRequest должен обнуляться, если открытая позиция не является Buy-позицией (последняя строчка кода). Посмотрите, почему этот флаг в рамках Вашего кода не обнуляется в случаях, когда либо нет открытой позиции, либо открытая позиция не является Buy-позицией.
Ура! Заработало))) Убрал еlse if(sentRequest) sentRequest=false; И написал перед блоком if(PositionsTotal()==0) sentRequest=false; Выражаю большую благодарность Yedelkin за помощь, УСПЕХОВ ВАМ!
oldiol: При повторном открытии лонга, эксперт не закрывает больше позу по условию. В окне эксперта всё время идут сообщения: Как же использовать этот код в теле эксперта, если он работает только 1 раз)? Извиняюсь, моя ошибка... В коде есть ещё одно условие
if(PositionSelect(_Symbol)==true) // есть открытая позиция
{
БЛОК ЗАКРЫТИЯ ПОЗИЦИИ
} // ... поэтому
еlse if(sentRequest) sentRequest=false;// разместил за следующей скобкой и всё ОТЛИЧНО работает. Yedelkin СПАСИБО!