Ответ
 
Опции темы
Старый 06.04.2014, 09:33   #2741 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от wellaflex Посмотреть сообщение
Я проверил .У обоих брокеров указано при открытии " Вы можете установить ордер не ближе 0 пунктов от рыночной цены". Но на одном открывает ,а на другом -нет...
То что терминал отвечает что стоп левел =0, ещё не означает что BuyStop ордер можно установить прямо на Ask.
В этом случае надо внимательно читать торговые условия и регламент. На разных ДЦ по разному. И даже на разных типах счетов в пределах одного ДЦ могут быть разные правила.
Например может использоваться в качестве стоп левела спред, или вообще разрешено устанавливать даже внутри спреда.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 06.04.2014, 10:45   #2742 (permalink)
Новичок форума
 
Аватар для wellaflex
 
Регистрация: 08.11.2009
Сообщений: 19
Репутация: 9
wellaflex
Сказал(а) спасибо: 0
Поблагодарили 9 раз(а) в 4 сообщениях
Поинты: 23
Сообщение от Ugar Посмотреть сообщение
То что терминал отвечает что стоп левел =0, ещё не означает что BuyStop ордер можно установить прямо на Ask.
В этом случае надо внимательно читать торговые условия и регламент. На разных ДЦ по разному. И даже на разных типах счетов в пределах одного ДЦ могут быть разные правила.
Например может использоваться в качестве стоп левела спред, или вообще разрешено устанавливать даже внутри спреда.
Понятно ,спасибо. Только я вспомнил одну важную деталь.Когда советник пытается выставить стоповый ордер и сыпет ошибками в журнале о неправильном ТП или СЛ,чуть ли не каждую секунду.В этот момент стоит только нажать на смайлик советника,вызвать его настройки и там просто нажать ОК,ничего не меняя.И после этого стоповый ордер сразу выставляется.
Так что тут проблема в коде видимо,только при перезапуске настроек сов выставляет стоп ордер.
wellaflex вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 08.04.2014, 11:43   #2743 (permalink)
Новичок форума
 
Аватар для Roschah
 
Регистрация: 21.08.2013
Сообщений: 27
Репутация: 9
Roschah
Сказал(а) спасибо: 10
Поблагодарили 8 раз(а) в 4 сообщениях
Поинты: 4
Уважаемые программисты, возник такой вопрос: ставлю один советник на несколько различных валютных пар, как запретить советнику открывать ордера, если есть уже открытый ордер по другой паре?????
Roschah на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 08.04.2014, 11:58   #2744 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3646
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,114
Поблагодарили 3,650 раз(а) в 1,470 сообщениях
Поинты: 2007
Сообщение от Roschah Посмотреть сообщение
Уважаемые программисты, возник такой вопрос: ставлю один советник на несколько различных валютных пар, как запретить советнику открывать ордера, если есть уже открытый ордер по другой паре?????
Как вариант, убрать из проверки принадлежности ордера Symbol() и магик. Хотя магик можно оставить, но назначить его одинаковым на все советники. Это позволит разделить советники на 2-3 группы, если такое желание появится.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Roschah (08.04.2014)
Старый 08.04.2014, 12:19   #2745 (permalink)
Новичок форума
 
Аватар для Roschah
 
Регистрация: 21.08.2013
Сообщений: 27
Репутация: 9
Roschah
Сказал(а) спасибо: 10
Поблагодарили 8 раз(а) в 4 сообщениях
Поинты: 4
Сообщение от AlexeyVik Посмотреть сообщение
Как вариант, убрать из проверки принадлежности ордера Symbol() и магик. Хотя магик можно оставить, но назначить его одинаковым на все советники. Это позволит разделить советники на 2-3 группы, если такое желание появится.
А можно ли сделать так, чтобы советник первым делом проверял есть ли открытые ордера вообще на счету и если есть, то не открывал своих ордеров????
Roschah на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 08.04.2014, 12:31   #2746 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3646
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,114
Поблагодарили 3,650 раз(а) в 1,470 сообщениях
Поинты: 2007
Сообщение от Roschah Посмотреть сообщение
А можно ли сделать так, чтобы советник первым делом проверял есть ли открытые ордера вообще на счету и если есть, то не открывал своих ордеров????
if(OrdersTotal() > 0) return;
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Roschah (08.04.2014)
Старый 08.04.2014, 13:38   #2747 (permalink)
Новичок форума
 
Аватар для Roschah
 
Регистрация: 21.08.2013
Сообщений: 27
Репутация: 9
Roschah
Сказал(а) спасибо: 10
Поблагодарили 8 раз(а) в 4 сообщениях
Поинты: 4
Сообщение от AlexeyVik Посмотреть сообщение
if(OrdersTotal() > 0) return;
я правильно понял???? int start() {
if(OrdersTotal() > 0) return;
Roschah на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 08.04.2014, 13:40   #2748 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3646
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,114
Поблагодарили 3,650 раз(а) в 1,470 сообщениях
Поинты: 2007
Сообщение от Roschah Посмотреть сообщение
я правильно понял???? int start() {
if(OrdersTotal() > 0) return;
Это зависит от алгоритма советника. Если просто ставит ордера, то да. А если ещё и тралит, то нет. Тогда надо изменить условие
if(OrdersTotal() < 1) открыть ордер

ps; и не int start() а void OnTick()
Лучше сразу привыкай к новому МЕ.

Последний раз редактировалось AlexeyVik; 08.04.2014 в 13:42.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Roschah (08.04.2014)
Старый 08.04.2014, 13:58   #2749 (permalink)
Новичок форума
 
Аватар для Roschah
 
Регистрация: 21.08.2013
Сообщений: 27
Репутация: 9
Roschah
Сказал(а) спасибо: 10
Поблагодарили 8 раз(а) в 4 сообщениях
Поинты: 4
Сообщение от AlexeyVik Посмотреть сообщение
Это зависит от алгоритма советника. Если просто ставит ордера, то да. А если ещё и тралит, то нет. Тогда надо изменить условие
if(OrdersTotal() < 1) открыть ордер

ps; и не int start() а void OnTick()
Лучше сразу привыкай к новому МЕ.
Функции трала нет. Спасибо, большое за помощь.
Roschah на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 08.04.2014, 15:21   #2750 (permalink)
 
Аватар для mobidik
 
Регистрация: 09.08.2012
Адрес: Ua_Khm
Сообщений: 1,650
Репутация: 8556
mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik
Сказал(а) спасибо: 633
Поблагодарили 8,552 раз(а) в 1,564 сообщениях
Поинты: 802
Подскажите, как правильно задать условие: ордер открытый на текущей свече, должен закрыться с появлением новой?
mobidik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 08.04.2014, 15:32   #2751 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3646
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,114
Поблагодарили 3,650 раз(а) в 1,470 сообщениях
Поинты: 2007
Сообщение от mobidik Посмотреть сообщение
Подскажите, как правильно задать условие: ордер открытый на текущей свече, должен закрыться с появлением новой?
В некоторых случаях достаточно if(Time[0] > OrderOpenTime())
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
mobidik (08.04.2014)
Старый 09.04.2014, 17:06   #2752 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Я что-то туплю, по ходу. Я иной раз замечаю, что некоторые программисты в своих функциях задают следующее условие:

PHP код:
if (fi_Ticket == 0) return; 
Например, в функции установки стоп-лосса. По скольку тикета равного 0 (нуль) не бывает ни в тестере, ни в реале, возникает вопрос. Зачем такая проверка вообще используется?
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 09.04.2014, 18:49   #2753 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от hoz Посмотреть сообщение
Я что-то туплю, по ходу. Я иной раз замечаю, что некоторые программисты в своих функциях задают следующее условие:

PHP код:
if (fi_Ticket == 0) return; 
Например, в функции установки стоп-лосса. По скольку тикета равного 0 (нуль) не бывает ни в тестере, ни в реале, возникает вопрос. Зачем такая проверка вообще используется?
В том и смысл. Тикета =0 не бывает, а значение переменной вполне.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
hoz (09.04.2014)
Старый 09.04.2014, 20:32   #2754 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
В одной библиотеке имеется перечень глобальных переменных. Данная библиотека подключается к некоторым другим библиотекам. Мне интересен один момент. В С++ есть конструкция, которая гарантирует, что не будет объявлена та же переменная или функция повторно. А в мкл4 как?
Например, по ходу кода в эксперте, в случает, если эксперт использует несколько библиотек и какая-нить переменная объявляется несколько раз (внутри разных библиотек). Это считается нормально? Ведь если переменная объявлена, и, инициализирована некоторым значением до повторного её объявления по ходу отработки кода... то как это отразится на значении данной переменной?
Я раньше не задумывался об этом, но сейчас вот решил въехать, дабы уяснить канкретно.
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 12.04.2014, 10:03   #2755 (permalink)
Почётный гражданин
 
Аватар для matro3
 
Регистрация: 18.07.2013
Сообщений: 349
Репутация: 344
matro3 matro3 matro3 matro3
Сказал(а) спасибо: 25
Поблагодарили 340 раз(а) в 143 сообщениях
Поинты: 160
При компиляции должен будет предупредить.
matro3 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 12.04.2014, 12:12   #2756 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от hoz Посмотреть сообщение
В одной библиотеке имеется перечень глобальных переменных. Данная библиотека подключается к некоторым другим библиотекам. Мне интересен один момент. В С++ есть конструкция, которая гарантирует, что не будет объявлена та же переменная или функция повторно. А в мкл4 как?
Например, по ходу кода в эксперте, в случает, если эксперт использует несколько библиотек и какая-нить переменная объявляется несколько раз (внутри разных библиотек). Это считается нормально? Ведь если переменная объявлена, и, инициализирована некоторым значением до повторного её объявления по ходу отработки кода... то как это отразится на значении данной переменной?
Я раньше не задумывался об этом, но сейчас вот решил въехать, дабы уяснить канкретно.
В mql нет глобальных переменных в том же смысле, как в С, переменные на верхнем уровне все равно локальны внутри модуля и недоступны из других. Не зря extern тут означает совсем другое.
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 12.04.2014, 21:05   #2757 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Я так понимаю, что extern это лишь признак того, что эта переменная вводная. Есс-но, её значение можно ввести. Я вот на данный момент думаю как разумнее разрулить использование переменной типа extern внутри класса. Ведь внутри секций (private, protected и рublic) можно только объявить переменные. Задать значения переменным нельзя.
Тогда возникает вопрос, как передать в класс значение вводимые пользователем? Т.е. extern (input).
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 13.04.2014, 10:26   #2758 (permalink)
Новичок форума
 
Аватар для ctmcn
 
Регистрация: 02.04.2011
Сообщений: 35
Репутация: 7
ctmcn
Сказал(а) спасибо: 12
Поблагодарили 6 раз(а) в 6 сообщениях
Поинты: 36
Здравствуйте !
Подскажите, почему в МЕ 509 билда - ошибки, а в МЕ 625 - ошибок нет.
Считал, что и там, и там ошибок не должно быть.
Индикатор прилагаю.
С уважением.
Вложения:
Тип файла: mq4 ZUPp_148.mq4 (379.8 Кб, 12 просмотров)
ctmcn на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 18.04.2014, 11:49   #2759 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,009
Репутация: 829
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 843 раз(а) в 554 сообщениях
Поинты: 1308
Как узнать время выставления отложенного ордера?
OrderOpenTime() для отложенника не работает. Или я что-то не понял?
Задача - удалять ордер по открытию новой свечи, а у всех ДЦ, с которыми я имел дело, меньше 10 минут отложенники не дает ставить.
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 18.04.2014, 11:53   #2760 (permalink)
Почётный гражданин
 
Аватар для matro3
 
Регистрация: 18.07.2013
Сообщений: 349
Репутация: 344
matro3 matro3 matro3 matro3
Сказал(а) спасибо: 25
Поблагодарили 340 раз(а) в 143 сообщениях
Поинты: 160
Когда выставляешь - запоминай время. Потом сравнивай со временем текущей свечи.
matro3 вне форума   Ответить с цитированиемОтветить с цитированием  
Ответ

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 13:33. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
SEO by vBSEO