Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
***
Однако мой первоначальный код ежегодно открывал несколько позиций, как и ожидалось, но его проблема заключалась в том, что когда последняя открытая позиция на покупку находится в убытке, он не может открыть позицию на продажу, как предполагалось. Пожалуйста, взгляните на код:
***
Я не понимаю. Опишите другими словами.
И далее:
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Как начать работать с MQL5
Владимир Карпутов, 2021.09.24 05:27
*** и добавить код с помощью кнопки ...
Я не понимаю. Опишите другими словами.
И далее:
Я имел в виду, что если последняя открытая позиция - Buy (с максимальным размером лота, и ни одна из открытых позиций не имеет равного размера лота), а текущий рыночный тренд идет вниз, заставляя эту позицию Buy терять минимум 250 пунктов, то есть не приносить прибыль, то советник должен открыть позицию Sell с тем же размером лота, что и у этой Buy.
Спасибо за помощь.
Я имел в виду, что если последняя открытая позиция - это покупка (с максимальным размером лота, и ни одна из открытых позиций не имеет равного размера лота), а текущий рыночный тренд идет вниз, заставляя эту позицию на покупку терять минимум 250 пунктов, то есть не приносить прибыль, то советник должен открыть позицию на продажу с тем же размером лота, что и на покупку .
Ок. Добавьте код:
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Как начать работать с MQL5
Владимир Карпутов, 2021.09.24 05:27
*** и добавить код с помощью кнопки ...
Я имел в виду, что если последняя открытая позиция - это покупка (с максимальным размером лота, и ни одна из открытых позиций не имеет равного размера лота), а текущий рыночный тренд идет вниз, заставляя эту позицию на покупку потерять минимум 250 пунктов, то есть не получить прибыль, то советник должен открыть позицию на продажу с тем же размером лота, что и на покупку.
Спасибо за помощь.
Ваша ошибка: Вы помните параметры определенной позиции, но по какой-то причине сравниваете их в объекте m_positions:
Ок. Добавьте код:
Когда последняя открытая позиция является покупкой (ее размер лота в настоящее время является самым высоким и ни одна из открытых позиций не имеет равного размера лота) и текущий рыночный тренд идет вниз, тем самым заставляя эту позицию покупки терять минимум 250 пунктов, то есть не приносить прибыль, тогда советник должен открыть позицию продажи с тем же размером лота, что и покупка, и наоборот .
Пожалуйста, посмотрите мой оригинальный код до предложенного вами решения ниже:
Ваша ошибка: Вы помните параметры определенной позиции, но по какой-то причине сравниваете их в объекте m_positions:
Спасибо за ответ. Пожалуйста, подтвердите предложенное вами исправление:
Исходя из вышесказанного, полный код выглядит следующим образом:
Однако при бэктесте с января по сентябрь 2021 года было открыто только 2 позиции.
Спасибо за ваш ответ. Пожалуйста, подтвердите предложенное вами исправление:
Исходя из вышесказанного, полный код выглядит следующим образом:
Однако при бэктесте с января по сентябрь 2021 года было открыто только 2 позиции.
Да, теперь ход мыслей правильный
Да, теперь ход мыслей правильный.
Спасибо за ваш ответ. Из бэктестинга 2021 года советник открыл последнюю позицию на покупку 6 января 2021 года и не открывал ни одной позиции на продажу после потери 250 пунктов и выше до 23 сентября 2021 года, когда тестирование закончилось.
Может быть, мой ход мыслей неверен по отношению к тому, чего я хочу добиться .
В общем, я хочу, чтобы советник функционировал следующим образом :
1. При старте советник открывает 1 позицию на покупку и 1 позицию на продажу с размером лота 0,01 каждая .
2. Если последняя открытая позиция - Buy и рынок движется вверх, разрешить текущей Buy закрыться с тейк-профитом 250 пунктов и открыть новую Buy с двойным, в 2 раза, размером лота предыдущей Buy.
3. Если последняя открытая позиция - Buy и рынок движется вниз, немедленно текущая покупка теряет 250 пунктов (не получает прибыли) и открывается Sell с тем же, 1-кратным, размером лота предыдущей покупки.
4. Если последняя открытая позиция - Sell и рынок движется вниз, позвольте текущей Sell закрыться с тейк-профитом 250 пунктов и откройте новую Sell с удвоенным, в 2 раза, размером лота предыдущей Sell.
5. Если последняя открытая позиция - Sell и рынок движется вверх, сразу же текущая Sell теряет 250 пунктов (не получает прибыли) и открывается Buy с тем же, 1-кратным, размером лота предыдущей Sell.
6. И наконец, только 1 позиция Buy и 1 Sell могут иметь одинаковые (одинаковые) размеры лота ,
Большое спасибо за помощь.
Спасибо за ваш ответ. Из бэктестинга 2021 года советник открыл последнюю позицию на покупку 6 января 2021 года и не открывал ни одной позиции на продажу после потери 250 пунктов и выше до 23 сентября 2021 года, когда тестирование закончилось.
Может быть, я неправильно сформулировал свою мысль по отношению к тому, чего я хочу добиться.
В общем, я хочу, чтобы советник работал следующим образом :
1. При старте советник открывает 1 позицию на покупку и 1 позицию на продажу с размером лота 0,01 каждая .
2. Если последняя открытая позиция - покупка и рынок движется вверх, позвольте текущей покупке закрыться с тейк-профитом 250 пунктов и откройте новую покупку с двойным, в 2 раза, размером лота предыдущей покупки.
3. Если последняя открытая позиция - покупка и рынок движется вниз, сразу же текущая покупка теряет 250 пунктов (не получает прибыли) и открывается продажа с тем же, 1-кратным, размером лота предыдущей покупки.
4. Если последняя открытая позиция - Sell и рынок движется вниз, позвольте текущей Sell закрыться с тейк-профитом 250 пунктов и откройте новую Sell с удвоенным, в 2 раза, размером лота предыдущей Sell.
5. Если последняя открытая позиция - Sell и рынок движется вверх, сразу же после того, как текущая Sell потеряет 250 пунктов (не получит прибыли), откройте Buy с таким же, 1-кратным, размером лота предыдущей Sell.
6. И наконец, только 1 позиция Buy и 1 Sell могут иметь одинаковые (одинаковые) размеры лота,
Большое спасибо за помощь.
Я бы работал через OnTradeTransaction - ловил бы сделку "EXIT".
Спасибо за ваш ответ. Из бэктестинга 2021 года советник открыл последнюю позицию на покупку 6 января 2021 года и не открывал ни одной позиции на продажу после потери 250 пунктов и выше до 23 сентября 2021 года, когда тестирование закончилось.
Может быть, я неправильно сформулировал свою мысль по отношению к тому, чего я хочу добиться.
В общем, я хочу, чтобы советник работал следующим образом :
1. При старте советник открывает 1 позицию на покупку и 1 позицию на продажу с размером лота 0,01 каждая .
2. Если последняя открытая позиция - покупка и рынок движется вверх, позвольте текущей покупке закрыться с тейк-профитом 250 пунктов и откройте новую покупку с двойным, в 2 раза, размером лота предыдущей покупки.
3. Если последняя открытая позиция - покупка и рынок движется вниз, сразу же текущая покупка теряет 250 пунктов (не получает прибыли) и открывается продажа с тем же, 1-кратным, размером лота предыдущей покупки.
4. Если последняя открытая позиция - Sell и рынок движется вниз, позвольте текущей Sell закрыться с тейк-профитом 250 пунктов и откройте новую Sell с удвоенным, в 2 раза, размером лота предыдущей Sell.
5. Если последняя открытая позиция - Sell и рынок движется вверх, сразу же после того, как текущая Sell потеряет 250 пунктов (не получит прибыли), откройте Buy с таким же, 1-кратным, размером лота предыдущей Sell.
6. И наконец, только 1 позиция Buy и 1 Sell могут иметь одинаковые (одинаковые) размеры лота,
Большое спасибо за помощь.
Новый проект "Туманность Андромеды
Как присоединиться к проекту
В MetaEditor в окне "Tools" перейдите на вкладку "Public Projects", в колонке "Name" на проекте "AlligatorAndStochastic" нажмите правой кнопкой мыши и выберите пункт "Join".