Ответ
 
Опции темы
09.09.2016, 16:09
Аватар для st2050
st2050 Местный знаток
Регистрация: 08.09.2012 / Сообщений: 329
Поблагодарили 619 раз(а) / Репутация: 620
Сообщение от _SERG_ Посмотреть сообщение
Я тут, часть разговора пропустил, а шо тут у Вас происходит?

В моЁм понимании, не на панель надо стремиться, а на автомат. В смысле автоматической торговле.
А Вы что подумали?

Происходит обсуждение как легко скрыть/отобразить линии цены и как получить по челчку мышкой на линии ордера его тикет (этот вопрос я еще не решил).
Про автомат я задумываюсь, но пока не собрался с духом, собираюсь я долго. Торговать руками - это что-то вроде мазохизма.
А пока итог недели +18,95%. И Вам не хворать!

Последний раз редактировалось st2050; 09.09.2016 в 16:18.
st2050 на форуме Ответить с цитированиемОтветить с цитированием  
12.09.2016, 07:41
Аватар для ref2015
ref2015 Интересующийся
Регистрация: 28.03.2015 / Сообщений: 8
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
Подскажите как дописать (пауза после сигнала в секундах) для советника, при появлении сигнала на покупку или продажу советник выдерживал паузу.
ref2015 вне форума Ответить с цитированиемОтветить с цитированием  
12.09.2016, 15:01
Регистрация: 09.08.2012 / Адрес: Ua_Khm / Сообщений: 1,761
Поблагодарили 9,128 раз(а) / Репутация: 9133
Сообщение от ref2015 Посмотреть сообщение
Подскажите как дописать (пауза после сигнала в секундах) для советника, при появлении сигнала на покупку или продажу советник выдерживал паузу.
PHP код:
Sleep(sec 1000); 
mobidik на форуме Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
DomovenokBrest (12.09.2016), eevviill2 (12.09.2016)
12.09.2016, 15:02
Аватар для ref2015
ref2015 Интересующийся
Регистрация: 28.03.2015 / Сообщений: 8
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
[QUOTE=mobidik;1182595]
PHP код:
Sleep(sec 1000); 
[/QUOспасибо!
ref2015 вне форума Ответить с цитированиемОтветить с цитированием  
12.09.2016, 16:10
Аватар для eevviill2
eevviill2 Почётный гражданин
Регистрация: 13.08.2016 / Адрес: Бандерівці / Сообщений: 356
Поблагодарили 423 раз(а) / Репутация: 422
  • Отправить сообщение для eevviill2 с помощью Skype™
Сообщение от mobidik Посмотреть сообщение
PHP код:
Sleep(sec 1000); 
Потім
RefreshRates();

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Героям слава!
eevviill2 на форуме Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
mobidik (12.09.2016)
12.09.2016, 16:59
Аватар для ref2015
ref2015 Интересующийся
Регистрация: 28.03.2015 / Сообщений: 8
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
понятно только в каком блоке это прописать?
ref2015 вне форума Ответить с цитированиемОтветить с цитированием  
12.09.2016, 19:19
Аватар для eevviill2
eevviill2 Почётный гражданин
Регистрация: 13.08.2016 / Адрес: Бандерівці / Сообщений: 356
Поблагодарили 423 раз(а) / Репутация: 422
  • Отправить сообщение для eevviill2 с помощью Skype™
Сообщение от ref2015 Посмотреть сообщение
понятно только в каком блоке это прописать?
Можеш одразу перед OrderSend(...);

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Героям слава!
eevviill2 на форуме Ответить с цитированиемОтветить с цитированием  
12.09.2016, 19:35
Аватар для _SERG_
_SERG_ Активный участник
Регистрация: 21.07.2009 / Сообщений: 264
Поблагодарили 82 раз(а) / Репутация: 82
Сообщение от ref2015 Посмотреть сообщение
Подскажите как дописать (пауза после сигнала в секундах) для советника, при появлении сигнала на покупку или продажу советник выдерживал паузу.
Я бы не паузу Sleep(), а задержку использовал, в виде разницы.
GetTickCount() окончания - GetTickCount() начала= Разница во времни.
Почему?
Потому, что Sleep() Задерживает выполнение эксперта на определенный интервал.
И не факт, что после задержки придёт котировка, и время задержки будет именно "минута".
Да и "минута", тоже понятие относительное.
А может, чуть больше, а может чуть меньше, но это уже вопрос выбора критерия условия.
Поэтому, анализ интервала надо разместить в функции OnTimer(), с частотой дискретизации в 10 раз больше времени анализируемого параметра. (Как минимум.)

Соль, перец, другие рекомендации, по вкусу.

Последний раз редактировалось _SERG_; 12.09.2016 в 19:48.
_SERG_ вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
DomovenokBrest (12.09.2016)
12.09.2016, 19:53
Регистрация: 09.08.2012 / Адрес: Ua_Khm / Сообщений: 1,761
Поблагодарили 9,128 раз(а) / Репутация: 9133
Сообщение от _SERG_ Посмотреть сообщение
Я бы не паузу Sleep(), а задержку использовал, в виде разницы.
GetTickCount() окончания - GetTickCount() начала= Разница во времни.
Почему? Потому, что Sleep() Задерживает выполнение эксперта на определенный интервал.
То, что можно с помощью GetTickCount() - согласен, а вот на счет:
Сообщение от _SERG_ Посмотреть сообщение
...И не факт, что после задержки придёт котировка, и время задержки будет именно "минута".
А причем тут: после задержки придёт котировка - произошла задержка на выполнения кода на определенное значение времени, после чего код выполняется дальше и не имеет значения была ли котировка в этот промежуток времени. А вот с GetTickCount() нужно составлять условие, которое выполнится спустя N-е время с приходом нового тика, который может и задержаться. В связи с этим, задержка составит больше установленного времени, если код работает не по таймеру/OnTimer(), имхо.
mobidik на форуме Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
DomovenokBrest (12.09.2016), eevviill2 (12.09.2016)
12.09.2016, 20:10
Аватар для _SERG_
_SERG_ Активный участник
Регистрация: 21.07.2009 / Сообщений: 264
Поблагодарили 82 раз(а) / Репутация: 82
Сообщение от mobidik Посмотреть сообщение
То, что можно с помощью GetTickCount() - согласен, а вот на счет:

А причем тут: после задержки придёт котировка - произошла задержка на выполнения кода на определенное значение времени, после чего код выполняется дальше и не имеет значения была ли котировка в этот промежуток времени. А вот с GetTickCount() нужно составлять условие, которое выполнится спустя N-е время с приходом нового тика, который может и задержаться. В связи с этим, задержка составит больше установленного времени, если код работает не по таймеру/OnTimer(), имхо.
GetTickCount() понятно, что по условию, и вызов чего-то дальше......
"N-е время" Это как? Вопрос больше в обработке "события", которое не связано с приходом котировки. Ну раз "минута".

"А при чем..." А при том, что для выполнения операций с ордерами не требуется приход котировки.

Поправочка: На одном инструменте, или на нескольких.
Методика отличается.

Последний раз редактировалось _SERG_; 12.09.2016 в 20:20.
_SERG_ вне форума Ответить с цитированиемОтветить с цитированием  
12.09.2016, 20:26
Регистрация: 09.08.2012 / Адрес: Ua_Khm / Сообщений: 1,761
Поблагодарили 9,128 раз(а) / Репутация: 9133
Сообщение от _SERG_ Посмотреть сообщение
GetTickCount() понятно, что по условию, и вызов чего-то дальше......
"N-е время" Это как?
Например, так (не по таймеру):
- выполнилось условие, подняли флаг и ждем "минуту" с помощью GetTickCount()
- последняя котировка была, когда задержка отработала уже 59 сек., ждем...
- следующая котировка пришла спустя 17 сек. и выполнилось условие по GetTickCount.
и что имеем, задержка составила уже "минута" + 16 сек. - вот и N-е время...
Как-то так.

PS.
Нам не известны все нюансы связанные с задержкой по задумке автора, реализовать можно по разному, все зависит от поставленных целей.
mobidik на форуме Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill2 (12.09.2016)
12.09.2016, 20:39
Аватар для eevviill2
eevviill2 Почётный гражданин
Регистрация: 13.08.2016 / Адрес: Бандерівці / Сообщений: 356
Поблагодарили 423 раз(а) / Репутация: 422
  • Отправить сообщение для eevviill2 с помощью Skype™
_SERG_
Ти не правий.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Героям слава!
eevviill2 на форуме Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
mobidik (12.09.2016)
12.09.2016, 20:40
Аватар для _SERG_
_SERG_ Активный участник
Регистрация: 21.07.2009 / Сообщений: 264
Поблагодарили 82 раз(а) / Репутация: 82
Сообщение от mobidik Посмотреть сообщение
Например, так (не по таймеру):
- выполнилось условие, подняли флаг и ждем "минуту" с помощью GetTickCount()
- последняя котировка была, когда задержка отработала уже 59 сек., ждем...
- следующая котировка пришла спустя 17 сек. и выполнилось условие по GetTickCount.
и что имеем, задержка составила уже "минута" + 16 сек. - вот и N-е время...
Как-то так.

PS.
Нам не известны все нюансы связанные с задержкой по задумке автора, реализовать можно по разному, все зависит от поставленных целей.
Вопросы по аффтору понятны, пусть он нас простит.
Яж про частоту дискеризации сказал, и про GetMicrosecondCount(), я в курсе, минута +17 цыфирь ОШИБОЧНАЯ.
Ну и про 59 и 00, тож понятно.
Давай на милисекунды перекинемся, аще тёрка будет конкретная.
Тут простой вопрос обработка события, а как? Это же вопрос результата, устраивающего афффффтора.
_SERG_ вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
mobidik (12.09.2016)
12.09.2016, 21:24
Аватар для _SERG_
_SERG_ Активный участник
Регистрация: 21.07.2009 / Сообщений: 264
Поблагодарили 82 раз(а) / Репутация: 82
Сообщение от eevviill2 Посмотреть сообщение
_SERG_
Ти не правий.
Да я и не Левый.
По логике - центровой.
Тем не менее, весь внимание.
Напиши, в чём, я закодю и проверю.

Последний раз редактировалось _SERG_; 12.09.2016 в 21:30.
_SERG_ вне форума Ответить с цитированиемОтветить с цитированием  
13.09.2016, 08:04
Аватар для eevviill2
eevviill2 Почётный гражданин
Регистрация: 13.08.2016 / Адрес: Бандерівці / Сообщений: 356
Поблагодарили 423 раз(а) / Репутация: 422
  • Отправить сообщение для eevviill2 с помощью Skype™
Сообщение от _SERG_ Посмотреть сообщение
Да я и не Левый.
По логике - центровой.
Тем не менее, весь внимание.
Напиши, в чём, я закодю и проверю.
Sleep затримує, а не зупиняє виконання коду.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Героям слава!
eevviill2 на форуме Ответить с цитированиемОтветить с цитированием  
13.09.2016, 12:50
Аватар для _SERG_
_SERG_ Активный участник
Регистрация: 21.07.2009 / Сообщений: 264
Поблагодарили 82 раз(а) / Репутация: 82
Сообщение от eevviill2 Посмотреть сообщение
Sleep затримує, а не зупиняє виконання коду.
Зповагою до співрозмовника.
Так, дійсно, код не виконується, але і життя не зупиняється, мить, коли код продовжить працювати, стан подій вже зміниться, та не тільки ціна, а й наприклад сред, чи своп, чи взагалі зв'язок зникне.
ВИСНОВОК: Призупинений код шкодить загальному аналізу, чи стратегії, а продовження роботи, дозволяе відстежувати ті події, які стануться з моменту призупинення коду, до його відновлення.
"Зайва" додаткова перевірка захиістить від хибних висновків та дій.

Да действительно, код не выполняется, но жизнь продолжается, в момент, когда продолжит работать код, состояние событий измениться, и не только цена, а например спрэд, или своп, или связь пропадёт.
ВЫВОД: Остановленный код вредит общему анализу, или стратегии, а продолжение работы, позволяет отследить те события, которые произойдут с момента приостановки кода, до возобновления его работы.
Одна "лишняя" проверка убережет от неправильных выводов и действий.




Формулировку, я из хєлпа взял, так, что Метаквотовцы написали, то и процитировал.

Последний раз редактировалось _SERG_; 13.09.2016 в 12:59.
_SERG_ вне форума Ответить с цитированиемОтветить с цитированием  
13.09.2016, 13:14
Аватар для eevviill2
eevviill2 Почётный гражданин
Регистрация: 13.08.2016 / Адрес: Бандерівці / Сообщений: 356
Поблагодарили 423 раз(а) / Репутация: 422
  • Отправить сообщение для eevviill2 с помощью Skype™
Сообщение от _SERG_ Посмотреть сообщение
Зповагою до співрозмовника.
Так, дійсно, код не виконується, але і життя не зупиняється, мить, коли код продовжить працювати, стан подій вже зміниться, та не тільки ціна, а й наприклад сред, чи своп, чи взагалі зв'язок зникне.
ВИСНОВОК: Призупинений код шкодить загальному аналізу, чи стратегії, а продовження роботи, дозволяе відстежувати ті події, які стануться з моменту призупинення коду, до його відновлення.
"Зайва" додаткова перевірка захиістить від хибних висновків та дій.

Да действительно, код не выполняется, но жизнь продолжается, в момент, когда продолжит работать код, состояние событий измениться, и не только цена, а например спрэд, или своп, или связь пропадёт.
ВЫВОД: Остановленный код вредит общему анализу, или стратегии, а продолжение работы, позволяет отследить те события, которые произойдут с момента приостановки кода, до возобновления его работы.
Одна "лишняя" проверка убережет от неправильных выводов и действий.




Формулировку, я из хєлпа взял, так, что Метаквотовцы написали, то и процитировал.
RefreshRates()
все інше викликається і взнається по ходу коду.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Героям слава!
eevviill2 на форуме Ответить с цитированиемОтветить с цитированием  
13.09.2016, 14:23
Аватар для _SERG_
_SERG_ Активный участник
Регистрация: 21.07.2009 / Сообщений: 264
Поблагодарили 82 раз(а) / Репутация: 82
Сообщение от eevviill2 Посмотреть сообщение
RefreshRates()
все інше викликається і взнається по ходу коду.
Яж сказал, тут, как аффтор порешит, я свою точку зрения обозначил.

Может условия заставят её пресмотреть когда то.

Но в текущих условиях (моих) мне приходится укладывать код в некое время , и тратить это время на остановку кода считаю нецелесообразным. ИХМО.

Про RefreshRates(), на одном инструменте, пользоваться можно, а на нескольких, из одного советника, не совсем.
А приобретённые привычки потом сложно менять.

Последний раз редактировалось _SERG_; 13.09.2016 в 14:36.
_SERG_ вне форума Ответить с цитированиемОтветить с цитированием  
13.09.2016, 15:57
Аватар для ref2015
ref2015 Интересующийся
Регистрация: 28.03.2015 / Сообщений: 8
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
нужно еще после задержки дописывать повторную проверку сигнала если нет сигнала и сделки нет
ref2015 вне форума Ответить с цитированиемОтветить с цитированием  
13.09.2016, 17:56
Аватар для eevviill2
eevviill2 Почётный гражданин
Регистрация: 13.08.2016 / Адрес: Бандерівці / Сообщений: 356
Поблагодарили 423 раз(а) / Репутация: 422
  • Отправить сообщение для eevviill2 с помощью Skype™
Сообщение от _SERG_ Посмотреть сообщение
...
Про RefreshRates(), на одном инструменте, пользоваться можно, а на нескольких, из одного советника, не совсем.
А приобретённые привычки потом сложно менять.

Наприклад шоб взнати бід gbpusd MarketInfo("GBPUSD",MODE_BID) треба.
А це функція, її данні отримуються при виклику.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Героям слава!
eevviill2 на форуме Ответить с цитированиемОтветить с цитированием  
Ответ

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


Опции темы

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

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



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


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