Мнение - очень успешный советник - $3000 счет до $6300 за две недели (могло бы быть $9000) - страница 5
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
1 быстрая вещь, прежде чем я уйду на работу, есть булевы переменные, которые могут быть истинными или ложными. вам не нужно использовать строку для этого.
Трудно поверить, что вы следуете книге.
1 быстрая вещь, прежде чем я уйду на работу, есть булевы переменные, которые могут быть истинными или ложными. вам не нужно использовать строку для этого.
Трудно поверить, что вы следуете книге.
Я пытаюсь. Я учусь торговать + программировать + MQL одновременно.
Разве вы научитесь водить машину, прочитав одну только книгу?
но спасибо
Я получаю ошибку, что функция OpenBuyOrder и OpenSellOrder не возвращает результат.
что я делаю не так?
Вы получаете эту ошибку, потому что функции OpenBuyOrder() и OpenSellOrder() фактически не возвращают результат. Вы определили их как void, что означает, что они не возвращают никакого аргумента, но вы пытаетесь вернуть целое число (0).
Вот код с некоторыми комментариями:
Основываясь на вашей функции GetSignal, кажется, что вы хотите использовать OpenBuy/SellOrder(), чтобы просто открыть ордер, а не возвращать какой-либо аргумент. Я немного почистил вашу функцию GetSignal(), добавив некоторые комментарии.
вы получаете эту ошибку, потому что функции OpenBuyOrder() и OpenSellOrder() фактически не возвращают результат. вы определили их как void, что означает, что они не возвращают никакого аргумента, но вы пытаетесь вернуть целое число (0).
Вот код с некоторыми комментариями:
Основываясь на вашей функции GetSignal, кажется, что вы хотите использовать OpenBuy/SellOrder(), чтобы просто открыть ордер, а не возвращать какой-то аргумент. Я немного почистил вашу функцию GetSignal() с некоторыми комментариями.
Это объясняет тонны, спасибо большое, я сейчас пробую.
Мой собственный код немного запутан, потому что я в основном копирую из других советников и пытаюсь заставить его работать.
Нет проблем. Не стесняйтесь спрашивать, если столкнетесь с другими проблемами.
я собрал много примеров трейлинг-стопов, но мне нужен такой, который сразу же начинает трейлинг через -ve значения к 0, а затем останавливается как безубыточный.
Так что если взята цена входа в рынок и стоп-лосс равен 100, при движении цены к +25, трейлинг-стоп перемещается к -75, а затем, когда цена достигает 100, трейлинг-стоп останавливается на 0 и не движется дальше.
Может ли кто-нибудь помочь мне с этим? Я потратил весь день, пытаясь заставить его работать, но не могу.
Я думал, что сделал это, но нет, мой трейлинг-стоп следует через 0.
Псевдокод:
zzuegg:
если(Buyorder и stoploss < openrice) : мы должны трейлить
разве стоп-лосс не должен быть всегда ниже openprice, и наоборот?
Я планирую в конечном итоге использовать функцию MaxLoss, поэтому я не буду вставлять стоп-лосс в OrderSend.
если Op_Buy
if bid <= OpenOrderPrice()+(значение трейлинг стопа) : trail -- как только bid > TSV, он не должен продолжать движение?
и
если Op_Sell
если ask >= OpenOrderPrice()-(значение трейлинг-стопа): trail ?
Тогда при значении выше, чем Trailingstop, безубыток может завершить работу?
zzuegg:
если(Buyorder и stoploss < openrice) : мы должны трейлить
разве стоп-лосс не должен быть всегда ниже openprice, и наоборот? Нет, только перед безубыточностью
Я не думаю, что ваш код работает, похоже, вы пытаетесь сделать все наоборот...
нет, все работает отлично. Позвольте мне проверить, что сейчас все так же, как и в том ответе.
Это настолько близко к компромиссу, насколько я могу достичь, чтобы закрыть разрыв убытка за движущейся сделкой, но при этом дать ей возможность дышать. До этого сделка должна была достичь 60 пунктов, прежде чем произойдет BE, поэтому было много максимально остановленных сделок, что приводило к высокой просадке. Надеюсь, это изменит ситуацию.