
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вау ... то, что вы хотите, в принципе, довольно легко закодировать.
Можете ли вы направить меня к этому? У меня уже есть это из Интернета
Теперь, я ясно дал понять, что я не кодер, но я думаю, что мне нужна строка ниже "int start()", которая подсчитывает количество ИСПОЛНЕННЫХ [не отложенных] ордеров и затем переходит к следующему коду, только если их 2, и выполняет остальной код... if (AccountProfit()>= My_Money_Profit_Target)... etc.
правильно? Как сказать такую строку на MQL?
Да, деВрис,
все не получается, и я не должен этого делать, если вы так говорите, но поскольку я действительно не вижу большой помощи в вашем ответе ......
Вы же понимаете, что этот код не является коммерческим советником, предназначенным для продажи привередливому клиенту, верно Мы пытаемся что-то решить, и если вы не хотите помочь, вы должны по крайней мере оставить это в покое.
Вы действительно считаете, что если я несколько раз изменю временной интервал..... что? Проскальзывание будет 3000000? Не в моем MT4, очевидно. И если вы мне не верите, проведите тест сами.
Мой тест говорит, что когда вы меняете таймфреймы, советник проходит цикл deinit/init, и так как упомянутый код находится в OnInit, Slippage каждый раз будет на уровне 30 пунктов.
Как видно, смена таймфреймов не приведет к тому, что проскальзывание достигнет миллиона, если вы это имеете в виду.
И нет, это не поддельная картинка, она реальная, вы можете проверить время смены каждого таймфрейма.
Надеюсь, это поможет.
это не работает .....
для многих сделок prc не является правильной ценой
что вы можете сказать об этом...
читайте Двойные вызовы OnInit() и OnDeinit()
есть проблемы с новыми версиями
(Проблема двойного OnInit(), похоже, исправлена в билде 628, но в этой версии еще нет)
это не работает .....
для многих сделок prc не является подходящей ценой
Что вы можете сказать по этому поводу...
хе-хе, теперь вы двое углубились в кроличью нору и обсуждаете что-то, что заставляет птиц летать над моей головой! xD ... не могли бы вы посмотреть на ту отстойную строчку кода, которую я добавил? =D
хе-хе, теперь вы двое углубились в кроличью нору и обсуждаете что-то, что заставляет птиц летать над моей головой! xD ... не могли бы вы посмотреть на ту отстойную строчку кода, которую я добавил? =D
Правильные Ask и Bid - это цены chartSymbol, если сделка совершается по другому символу, то цена закрытия будет неверной.
Какой эффект это даст?
он не работает???? OrderType это отложенная сделка ????
или закрытие не происходит
в этом случае вам нужно получить последнюю ошибку GetLastError(), зная причину.
Советник запускается ---> Ничего не делает, пока не будет 0 или 1 ордер ----> Издает звук "call open", когда срабатывает второй ордер ----> Закрывает оба ордера с X суммой чистой прибыли [после учета спреда] и издает звук "call close" ].
конечно, звуковые файлы call open и call close могут быть любыми маленькими волновыми файлами... легко доступными на самом mt4. ... Я думаю, что эти вещи могут быть достигнуты в вышеупомянутом советнике, который я разместил, изменив несколько вещей! хехехе помогите мне plz =D
Привет, tatyawinchu,
Я думаю, что вы не очень хорошо поняли, что делает советник. Позвольте мне провести вас шаг за шагом, и вы решите, можете ли вы использовать его для своих целей или нет.
Стоп-лосс на основе счета существует для защиты любого, кто хочет его использовать, и я бы никогда не рекомендовал находиться на рынке без хотя бы аварийного стопа, если у вас есть 10 000 на вашем счете, и вы хотите рискнуть всем, просто установите StopLossLimit на 10 000.
Решайте сами.
Теперь вернемся к коду, это так же просто, как 1, 2, 3:
1. Если вы прочитаете код в функции OnTick - это та часть, которая выполняется на каждом тике - вы увидите, что первое, что она делает, это : CountMyOrders. Надеюсь, вы это поняли. Далее, если myOrders <1, значит ордеров еще нет, проверяет эквити счета, запоминает его и все.
Больше ничего не делает. Следующий тик, если ордеров все еще нет, снова ожидание. Довольно скучно быть советником, не так ли?
2.Когда ордер размещен, myOrders<1 больше не является истиной, поэтому на следующем тике он переходит на следующую строку и вычисляет прибыль для ордера или ордеров, которые находятся в рынке.
3.Далее, он сравнит сумму прибыли всех ордеров с целевой прибылью.
Легко, не правда ли? Если прибыль достигает цели, в следующей строке написано : ExitAll . И на экране появится оповещение (со звуком) о том, что ордера достигли цели!
Не так уж и плохо, не правда ли?
И я забыл упомянуть, если рынок идет против вас и потеря капитала достигает заданного уровня, он выведет вас с рынка, чтобы защитить весь оставшийся капитал.
И это лучшая помощь, которую я могу вам дать.
Если вам нужно что-то большее, то это, вероятно, работа для тех, кто занимается более сложным кодом, чем этот.
Надеюсь, это поможет.
Ваше здоровье
Здравствуйте, tatyawinchu,
Я полагаю, что вы не очень хорошо поняли, что делает советник. Позвольте мне провести вас шаг за шагом, и вы решите, можете ли вы использовать его для своей цели или нет.
Стоп-лосс на основе счета существует для защиты любого, кто хочет его использовать, и я бы никогда не рекомендовал быть на рынке без хотя бы аварийного стопа, если у вас есть 10 000 на вашем счете, и вы хотите рискнуть всем, просто установите StopLossLimit на 10 000.
Решайте сами.
Теперь вернемся к коду, это так же просто, как 1, 2, 3:
1. Если вы прочитаете код в функции OnTick - это та часть, которая выполняется на каждом тике - вы увидите, что первое, что она делает, это : CountMyOrders. Надеюсь, вы это поняли. Далее, если myOrders <1, значит ордеров еще нет, проверяет эквити счета, запоминает его и все.
Больше ничего не делает. Следующий тик, если ордеров все еще нет, снова ожидание. Довольно скучно быть советником, не так ли?
2.Когда ордер размещен, myOrders<1 больше не является истиной, поэтому на следующем тике он перейдет к следующей строке и вычислит прибыль для ордера или ордеров, которые находятся в рынке.
3.Далее он сравнит сумму прибыли всех ордеров с целевой прибылью.
Легко, не правда ли? Если прибыль достигает цели, в следующей строке написано : ExitAll . И на экране появится оповещение (со звуком) о том, что ордера достигли своей цели!
Не так уж и плохо, не правда ли?
И я забыл упомянуть, если рынок идет против вас и потеря капитала достигает заданного уровня, он выведет вас с рынка, чтобы защитить весь оставшийся капитал.
И это лучшая помощь, которую я могу вам дать.
Если вам нужно что-то большее, то это, вероятно, работа для тех, кто занимается более сложным кодом, чем этот.
Надеюсь, это поможет.
Ваше здоровье
Хм... похоже, мы отдаляемся друг от друга...
Мое точное требование следующее:-
Шаг 1 Советник запускается.
Шаг 2 Советник проверяет текущую прибыль на счете, чтобы знать начальную точку для расчета.
Шаг 3 Советник проверяет наличие запущенных открытых ордеров [не отложенных].
Шаг 4 Советник ничего не делает, если нет ни одного работающего ордера ИЛИ есть только ОДИН работающий ордер.
Шаг 5 Советник издает звук, когда срабатывает ВТОРОЙ ордер. Этот второй ордер будет на другой паре.
Шаг 6 Эксперт закрывает ОБА ордера с прибылью X после учета SPREAD и делает звук.... здесь ОБА должны быть ВСЕ открытые ордера ... не нужно удалять отложенные ордера.
Что советнику не нужно... установка SL или TP любого вида...
Желательно, чтобы советник работал на ордерах больше двух, но не обязательно, если это слишком сложно...
[ Хотя логически я чувствую, что это не будет сложно, скорее очень просто, потому что советник активирует закрытие ВСЕХ открытых ордеров, если они БОЛЕЕ 1... то есть 2 или БОЛЕЕ автоматически! так что это может быть уже покрыто советником... поправьте меня, если я не прав!]
Вау... то, что вы хотите, в принципе, довольно легко закодировать.
Ты смешной. Тонко, но смешно.
Ты смешной. Тонко, но смешно.
что если я могу добавить цикл IF, а затем вставить остальную часть кода ниже, который запускает цикл?
Условие IF должно проверить, что OrdersTotal => 2, чтобы управление было передано на закрытие всех открытых ордеров с прибылью X после спреда?
Как указать советнику делать отметки в определенном случае?
Допустим, я делаю следующее
Ok, cant seem to get out of this box yet ! hehe need to know forum stuff more ! but, as you can see above, if that "if (OrdersTotal()=>2)" is valid, it would directly solve my problems .. because the rest of the stuff would be executed only if the total running market orders are 2 ! =D .. and some forum guru please release this text from this src prison box ! ;)