[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 450
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
да последнюю, но суть вопросы была в том что предыдущий ордер закрылся с минусом функция это не успевает показать, сначала открывается ордер проходит пару тиков и только тогда функция показывает что последний убыток но ордер уже открылся. как это преодолеть?
А почему не использовать параметр отложенного ордера Expiration.
Есть конечно вероятность, что этот параметр нельзя использовать.
На некоторых торговых серверах может быть установлен запрет на применение срока истечения отложенных ордеров. В этом случае при попытке задать ненулевое значение в параметре expiration будет сгенерирована ошибка 147 (ERR_TRADE_EXPIRATION_DENIED).
Тогда конечно только так...
Внес, как Вы советовали, изменения в строку и советник перестал работать...
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask+PriceDistance*Point,3,Ask+PriceDistance*Point-StopLoss*Point,Ask+PriceDistance*Point+TakeProfit*Point,"PD",1,TimeCurrent()+10*60,Green);
При этом знаю точно что запрета нет.
В чем может быть ошибка, подскажите, пожалуйста.
я делал так еще раз говорю не успевает проверить сначала проходит как будто нету лося открывается сделка а потом до него доходит что лось был
Внес, как Вы советовали, изменения в строку и советник перестал работать...
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask+PriceDistance*Point,3,Ask+PriceDistance*Point-StopLoss*Point,Ask+PriceDistance*Point+TakeProfit*Point,"PD",1,TimeCurrent()+10*60,Green);
При этом знаю точно что запрета нет.
В чем может быть ошибка, подскажите, пожалуйста.
Работать-то он вряд ли перестал, а вот критерии ваши, скорее всего хромают. Без кода сложно придумать вам причину неработы советника...
Вот всё что "накрапал" на сей момент:
extern double TakeProfit = 50;// the end.
В таком виде пашет.... Но, соответственно, открывает сделки на неопределенное время, гад.
Заранее благодарю!
Вот всё что "накрапал" на сей момент:
extern double TakeProfit = 50;// the end.
В таком виде пашет.... Но, соответственно, открывает сделки на неопределенное время, гад.
Заранее благодарю!
научитесь вставлять код - читайте это все.
научитесь вставлять код - читайте это все.
Roman, благодарю за ответ!
У меня дело за малым- заставить робота открывать сделки на время с момента их автоматического открытия.
Например, робот открывая ОТЛОЖЕННУЮ сделку, автоматически выставляет время истечения +600 сек от текущего и всё....
При этом, вариант когда он удаляет их сам не подойдет, поскольку у ДЦ на котором я "тренирубсь" есть ограничение на модификацию отложников если цена подошла ближе чем на 10 пунктов +спред к цене открытия в том числе и еще не открытого ордера.
К тому же, суть в том что если ордер уже открыт- его удалять не надо, надо дать ему "доиграть" и схлопнуться своей "смертью". А если поставить orderdelite, функция ведь будет закрывать и уже сработавшие ордера. (?)
Что касается учебника- ну не программер я по складу, гумманитарий ярковыраженный- рисую, леплю, сочиняю и ни на что более не заточен!)))
Добросовестно пытался вникнуть. Кой чего дошло, а что то- не лезет...
Поэтому я и здесь.....
Roman, благодарю за ответ!
У меня дело за малым- заставить робота открывать сделки на время с момента их автоматического открытия.
Например, робот открывая ОТЛОЖЕННУЮ сделку, автоматически выставляет время истечения +600 сек от текущего и всё....
При этом, вариант когда он удаляет их сам не подойдет, поскольку у ДЦ на котором я "тренирубсь" есть ограничение на модификацию отложников если цена подошла ближе чем на 10 пунктов +спред к цене открытия в том числе и еще не открытого ордера.
К тому же, суть в том что если ордер уже открыт- его удалять не надо, надо дать ему "доиграть" и схлопнуться своей "смертью". А если поставить orderdelite, функция ведь будет закрывать и уже сработавшие ордера. (?)
Что касается учебника- ну не программер я по складу, гумманитарий ярковыраженный- рисую, леплю, сочиняю и ни на что более не заточен!)))
Добросовестно пытался вникнуть. Кой чего дошло, а что то- не лезет...
Поэтому я и здесь.....
Попробуйте словами описать то, что вы тут написали:
Лично для меня на самый первый взгляд оказалось головоломкой ваша затея: Если единица не равна единице, то закрыть ордер...
Остальное после этого смотреть не стал...
ЗЫ и не пытайтесь, даже не думайте, что в одном цикле возможно написать нормальный советник...
...А если поставить orderdelite, функция ведь будет закрывать и уже сработавшие ордера. (?)
...
Нет. Знакомьтесь внимательней. Сработавший отложенник - становится рыночным - эта ф-ия его никак не касается.
"Удаляет ранее установленный отложенный ордер. Возвращает TRUE при успешном завершении функции. Возвращает FALSE
при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError()."