
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Однако вы должны помнить. Советник закрывает только текущие сделки. Вы должны открыть сделку самостоятельно.
100%, нет проблем, скорее это именно то, чего я пытаюсь достичь... я не хочу, чтобы советник открывал любую сделку, это моя работа... я просто хочу, чтобы он закрывал ее, если открыто более 2 ордеров с прибылью X и должен учитывать спред! Постепенно я приближаюсь к этому... этому программированию должны были учить в школах... жаль, что я из 80-х, никогда не думал, что мне придется пройти через это, но чем больше я читаю файл помощи, я нахожу это все более и более интригующим... также, на этом форуме есть много помощи, благодаря таким парням, как вы.
что если я могу добавить цикл IF, а затем вставить остальную часть кода ниже, который запускает цикл?
Условие IF должно проверять OrdersTotal, чтобы быть => 2, так что контроль передается, чтобы закрыть все открытые ордера с прибылью X после спреда?
Я не уверен, что вы действительно имеете в виду "Условие IF должно проверить OrdersTotal, чтобы быть => 2, так что контроль передается, чтобы закрыть все открытые ордера с X прибылью после спреда".
но я уверен, что ничего страшного не произойдет, если вы попробуете. А если не получится, то терять нечего. По крайней мере, вы попытались.
100%, нет проблем, скорее это именно то, чего я пытаюсь достичь... я не хочу, чтобы советник открывал любую сделку, это моя работа... я просто хочу, чтобы он закрывал ее, если открыто более 2 ордеров с прибылью X и должен учитывать спред! Медленно я приближаюсь к этому... этому программированию должны были учить в школах... жаль, что я из 80-х, никогда не думал, что мне придется пройти через это, но чем больше я читаю файл помощи, я нахожу это все более и более интригующим... также, на этом форуме есть много помощи, благодаря таким парням, как вы.
Просто включите спред в totalprofit.
Я не уверен, что вы действительно имеете в виду "Условие IF должно проверить, что OrdersTotal => 2, чтобы управление было передано для закрытия всех открытых ордеров с прибылью X после спреда".
но я уверен, что ничего страшного не произойдет, если вы попробуете. А если не получится, то терять нечего. По крайней мере, вы попытались.
Я не уверен, что вы действительно имеете в виду "Условие IF должно проверить, что OrdersTotal => 2, чтобы управление было передано на закрытие всех открытых ордеров с прибылью X после спреда".
Хм... Хорошо, что я имею в виду под этим
ЕСЛИ ... общее количество открытых ордеров больше или равно 2 ... только тогда идите вперед и следуйте остальной части кода...
Если общее количество открытых ордеров [ OrdersTotal() ?? ] ... меньше 2 ... то есть либо 1, либо 0, то ничего не делать ...
Теперь, вот в чем проблема для меня, в файле справки mql 4 говорится, что OrdersTotal() считает все ордера, рыночные и отложенные... Я пытаюсь найти какую-то функцию, которая может получить только рыночные ордера, а не отложенные, ИЛИ, это может быть вычислено математически, так как в основном у меня только максимум 2 сделки одновременно.
Это объяснение более понятно?
Спасибо за время, которое вы мне уделяете.
thrdel хочет, чтобы вы сначала попробовали и посмотрели, что произойдет, хотя я почти уверен, что скорее всего произойдет.
thrdel хочет, чтобы вы сначала попробовали и посмотрели, что произойдет.
Да, просматриваю файл справки, чтобы найти нужную функцию, которая дает только открытые ордера.
Покажите нам ваш код, когда вам удастся его завершить, и мы поможем вам, если сможем.
Понял! Спасибо большое...
..
и я не смог найти функцию, которая возвращает только открытые сделки ... Это нормально, поэтому я добавил цикл IF, как показано ниже...
Я добавил условие IF в начале, которое идет if (OrdersTotal()>=2) ... [ Выделено в приведенном выше коде с комментарием ].
Теперь возникла проблема с закрытием {}, так как при первой попытке я попытался сделать это как
поэтому, как начинающий кодер, я попытался вынести условие if на проверку ПЕРВЫМ... не скомпилировалось...
Поэтому я закрыл {}, получив условие внутри... теперь он компилируется только с 2 предупреждениями и без ошибок...
возвращаемое значение 'OrderSelect' должно быть проверено Testcode 1.mq4 56 8
не все пути управления возвращают значение Testcode 1.mq4 86 2
Итак, он компилируется... логически корректен ли он?
[Кроме того, я не удаляю информацию об авторских правах, я просто добавляю строку, удаление его данных было бы совершенно нечестным с моей стороны... каковы правила на этот счет? ]
Да, просматриваю файл справки, чтобы найти нужную функцию, которая дает только открытые ордера.
Мне очень жаль, но, как я уже говорил, я не очень хорошо умею объяснять. Я понимаю, что вы хотите найти функцию, которая будет считать только открытые ордера на покупку или продажу, я попросил вас посмотреть на мой код, я объяснил его вам в меру своих возможностей и оказался не так хорош, как надеялся.
Помните ли вы первый шаг, который я упомянул об этом коде?
Это было CountMyOrders. Теперь, если вы посмотрите на код, как я вас просил, вот что вы найдете.
Здесь говорится
Вы должны знать, что означает OP_BUY и OP_SELL.
Никакие отложенные ордера не считаются, нет открытого стопа покупки, нет открытого стопа продажи, нет лимита покупки или лимита продажи, только открытые покупки и открытые продажи.
Как еще я могу лучше объяснить этот кусок кода и то, что он делает?
Вы можете продолжать искать в документации и знакомиться с ней, но я могу сказать, что функции, которую вы ищете, там нет.
Мой советник говорит, что если ордеров еще нет, подождите:
Вы хотите, чтобы советник ждал 2 ордера. Если бы вы уделили немного внимания тому, что я сказал, вы бы заметили, что все, что вам нужно сделать, это :
Voilla. Теперь он ждет, пока 2 ордера будут на месте - никаких отложенных, только покупка или продажа!
Пожалуйста, поймите, что я пытался собрать этот код, чтобы он подошел и другим, кто ищет способ управления открытыми сделками, а не был разработан для конкретной цели.
Он предназначен как пример, возьмите то, что вы считаете хорошим, оставьте остальное, улучшите его, измените его, учитесь на нем, если можете, и экспериментируйте с ним.
Надеюсь, это имеет смысл.
Мне очень жаль, но, как я уже говорил, я не очень хорошо умею объяснять. Я понимаю, что вы хотите найти функцию, которая будет считать только открытые ордера на покупку или продажу, я попросил вас посмотреть на мой код, я объяснил его вам в меру своих возможностей и оказался не так хорош, как надеялся.
Помните ли вы первый шаг, который я упомянул об этом коде?
Это было CountMyOrders. Теперь, если вы посмотрите на код, как я вас просил, вот что вы найдете.
Здесь говорится
Вы должны знать, что означает OP_BUY и OP_SELL.
Никакие отложенные ордера не считаются, нет открытого стопа покупки, нет открытого стопа продажи, нет лимита покупки или лимита продажи, только открытые покупки и открытые продажи.
Как еще я могу лучше объяснить этот кусок кода и то, что он делает?
Вы можете продолжать искать в документации и знакомиться с ней, но я могу сказать, что функции, которую вы ищете, там нет.
Мой советник говорит, что если ордеров еще нет, подождите:
Вы хотите, чтобы советник ждал 2 ордера. Если бы вы уделили немного внимания тому, что я сказал, вы бы заметили, что все, что вам нужно сделать, это :
Voilla. Теперь он ждет, пока 2 ордера будут на месте - никаких отложенных, только покупка или продажа!
Пожалуйста, поймите, что я пытался собрать этот код, чтобы он подошел и другим, кто ищет способ управления открытыми сделками, а не просто был разработан для конкретной цели.
Он предназначен как пример, возьмите то, что вы считаете хорошим, оставьте остальное, улучшите его, измените его, учитесь на нем, если можете, и экспериментируйте с ним.
Надеюсь, это имеет смысл.