Ответ
 
Опции темы
22.11.2015, 19:54
Аватар для CastEt
CastEt Активный участник
Регистрация: 19.10.2012 / Адрес: мАсква-рИка, сердце упокоит на века :-) / Сообщений: 159
Поблагодарили 53 раз(а) / Репутация: 51
Ну вообще-то там оно и так происходит если по тикам тестить. Индюки что перерисовываются, будут перерисовываться, а те что во время отрисовки бара дрючатся, так-же будут дрючится...
...точнее не так, реально он будет плясать от реальных тиков, а в тесторе лишь симуляция по свечкам

Если говорить про встроенные индюки вообще и iRSI в частности, то его\их водит только по нулевому бару в процессе от рисовки оного, а первый и последующие бары не перерисовываются.
CastEt вне форума Ответить с цитированиемОтветить с цитированием  
23.11.2015, 04:55
Аватар для Andy200577
Andy200577 Новичок форума
Регистрация: 20.06.2012 / Сообщений: 57
Поблагодарили 8 раз(а) / Репутация: 9
Сообщение от CastEt Посмотреть сообщение
Ну вообще-то там оно и так происходит если по тикам тестить. Индюки что перерисовываются, будут перерисовываться, а те что во время отрисовки бара дрючатся, так-же будут дрючится...
...точнее не так, реально он будет плясать от реальных тиков, а в тесторе лишь симуляция по свечкам

Если говорить про встроенные индюки вообще и iRSI в частности, то его\их водит только по нулевому бару в процессе от рисовки оного, а первый и последующие бары не перерисовываются.
Когда я наблюдал за rsi, я видел что его значения меняются и на предыдущих барах при движении текущей цены. Но вопрос был не в этом, rsi был просто примером. Возьмем любой другой индюк, который меняет свои значение при движении цены на предыдущих барах. Можно ли при помощи языка mql как бы сэмулировать тестер и отслеживать данные меняющиеся значения индюка в процессе формирования свечей?
Andy200577 вне форума Ответить с цитированиемОтветить с цитированием  
23.11.2015, 06:06
Аватар для Andy200577
Andy200577 Новичок форума
Регистрация: 20.06.2012 / Сообщений: 57
Поблагодарили 8 раз(а) / Репутация: 9
Имеется в виду не в режиме реального времени отслеживать, а именно на истории. Представив например, 10-ый бар нулевым, расчитали значение индюка, потом появляется свеча, он становится первым, снова на этом месте расчитали значение индюка, оно скорее всего будет иметь другое значение. И так далее, вот это интересует, возможно ли так?
Andy200577 вне форума Ответить с цитированиемОтветить с цитированием  
23.11.2015, 06:16
Аватар для AlexeyVik
AlexeyVik Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,590
Поблагодарили 3,712 раз(а) / Репутация: 3708
Сообщение от Andy200577 Посмотреть сообщение
Имеется в виду не в режиме реального времени отслеживать, а именно на истории. Представив например, 10-ый бар нулевым, расчитали значение индюка, потом появляется свеча, он становится первым, снова на этом месте расчитали значение индюка, оно скорее всего будет иметь другое значение. И так далее, вот это интересует, возможно ли так?
Возможно всё... или почти всё.
В индикаторе пишешь цикл не до нулевого бара, а только до десятого и получаешь заветное значение на десятом баре когда он был нулевым.
AlexeyVik вне форума Ответить с цитированиемОтветить с цитированием  
23.11.2015, 09:49
Аватар для Andy200577
Andy200577 Новичок форума
Регистрация: 20.06.2012 / Сообщений: 57
Поблагодарили 8 раз(а) / Репутация: 9
Сообщение от AlexeyVik Посмотреть сообщение
Возможно всё... или почти всё.
В индикаторе пишешь цикл не до нулевого бара, а только до десятого и получаешь заветное значение на десятом баре когда он был нулевым.
Нет подождите. Например мы хотим определить значение индикатора на 10-м баре, соответственно мы пишем в конце строки индикатора номер буфера (например 0) и 10 - (парамертры индюка...,0,10). Но это значение на уже СФОРМИРОВАННОМ графике, а меня интересует значение этого индикатора, когда этот исторический бар только закрылся и новая свеча только открылась, т.е. 4 цены новой свечи (ореn, close, high и low) все равны цене OPEN. Когда эта новая свеча сформируется, то значение индикатора уже может быть другим на интересующей нас предыдущей закрытой свече!!! А Вы фактически предлагаете узнать цену на УЖЕ сформированном графике. Если свеча сформировалась, это вовсе не означает, что на этом же месте зафиксировался индикатор с фиксированным значением, он может и менять свои показания в зависимости от движения текущей цены. Яркий пример - фрактал, он формируется на 2-м баре, но если текущая цена преодолевает вершину фрактала, то он пропадает.

Последний раз редактировалось Andy200577; 23.11.2015 в 09:58.
Andy200577 вне форума Ответить с цитированиемОтветить с цитированием  
23.11.2015, 09:50
Аватар для CastEt
CastEt Активный участник
Регистрация: 19.10.2012 / Адрес: мАсква-рИка, сердце упокоит на века :-) / Сообщений: 159
Поблагодарили 53 раз(а) / Репутация: 51
Сообщение от Andy200577 Посмотреть сообщение
Когда я наблюдал за rsi, я видел что его значения меняются и на предыдущих барах при движении текущей цены.
Ну значит они там на первом наверное курят close нулевого который ещё рисуется, но дальше-то всё спокойно...

Хочешь достоверной эмуляции, разбери индюк, вычисли какое влияние оказывает на него нулевой бар, и тогда ты сможешь найти достоверный диапазон блуждания для любого бара истории, ведь бар то уже нарисован Хай и Лоу тебе известны...
CastEt вне форума Ответить с цитированиемОтветить с цитированием  
23.11.2015, 09:54
Аватар для CastEt
CastEt Активный участник
Регистрация: 19.10.2012 / Адрес: мАсква-рИка, сердце упокоит на века :-) / Сообщений: 159
Поблагодарили 53 раз(а) / Репутация: 51
А у меня тоже, стал насущный вопрос, как разобрать целый тип, например char на массив его битов bool[0..8]?

Если у кого есть велосипедное решение, не стесняйтесь, поделитесь ибо биты мне для начала, а в теории нужны будут триты итд...
CastEt вне форума Ответить с цитированиемОтветить с цитированием  
23.11.2015, 11:20
Аватар для matro3
matro3 Почётный гражданин
Регистрация: 18.07.2013 / Сообщений: 349
Поблагодарили 340 раз(а) / Репутация: 344
Сообщение от Andy200577 Посмотреть сообщение
Имеется в виду не в режиме реального времени отслеживать, а именно на истории. Представив например, 10-ый бар нулевым, расчитали значение индюка, потом появляется свеча, он становится первым, снова на этом месте расчитали значение индюка, оно скорее всего будет иметь другое значение. И так далее, вот это интересует, возможно ли так?
http://docs.mql4.com/ru/indicators/irsionarray
matro3 вне форума Ответить с цитированиемОтветить с цитированием  
23.11.2015, 13:08
Аватар для _SERG_
_SERG_ Активный участник
Регистрация: 21.07.2009 / Сообщений: 264
Поблагодарили 82 раз(а) / Репутация: 82
Сообщение от CastEt Посмотреть сообщение
А у меня тоже, стал насущный вопрос, как разобрать целый тип, например char на массив его битов bool[0..8]?

Если у кого есть велосипедное решение, не стесняйтесь, поделитесь ибо биты мне для начала, а в теории нужны будут триты итд...
Если встал, то хорошо.
Правда не совсем понятно, что ты хотел спросить.
Числа, они в общем, везде одинаково преобразовываются в биты (двоичная система счисления), как и коды символов, ну и другие типы численных данных.
Так что педалируй классическим способом.
Ошибок меньше будет.

Последний раз редактировалось _SERG_; 23.11.2015 в 13:13.
_SERG_ на форуме Ответить с цитированиемОтветить с цитированием  
23.11.2015, 13:15
Аватар для gince
gince Местный знаток
Регистрация: 09.09.2008 / Адрес: Литва / Сообщений: 427
Поблагодарили 783 раз(а) / Репутация: 783
  • Отправить сообщение для gince с помощью Skype™

По умолчанию Помогите покрасить


Привет знатокам языка программироравиния и не всем остальным.
Есть индикатор ravi_base.mq4. Хотел вместо линии сделать гистограму и покрасить ее , но в МТ4 ошибка
ravi_base_color GBPUSD,H1: array out of range in 'ravi_base_color.mq4' (103,11)

Кто может исправить и обьяснить ошибку.

ravi_base.mq4 --> исходный индикатор
ravi_base_color.mq4 --> переделан в цветной (пока с ошибкой)
Вложения:
Тип файла: mq4 ravi_base.mq4 (3.0 Кб, 9 просмотров)
Тип файла: mq4 ravi_base_color.mq4 (5.6 Кб, 10 просмотров)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Гинтарас
gince на форуме Ответить с цитированиемОтветить с цитированием  
23.11.2015, 16:24
Регистрация: 09.08.2012 / Адрес: Ua_Khm / Сообщений: 1,759
Поблагодарили 9,126 раз(а) / Репутация: 9131
Сообщение от gince Посмотреть сообщение
Привет знатокам языка программироравиния и не всем остальным.
Есть индикатор ravi_base.mq4. Хотел вместо линии сделать гистограму и покрасить ее , но в МТ4 ошибка
ravi_base_color GBPUSD,H1: array out of range in 'ravi_base_color.mq4' (103,11)

Кто может исправить и обьяснить ошибку.

ravi_base.mq4 --> исходный индикатор
ravi_base_color.mq4 --> переделан в цветной (пока с ошибкой)
Не верно заданы буферы, если не хочешь что бы отображалась первоначальная линия индикатора, тогда в OnInit() укажи количество буферов, в данном случае: IndicatorBuffers(5).
mobidik на форуме Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
gince (23.11.2015), Vik940 (24.11.2015)
23.11.2015, 17:15
Аватар для DomovenokBrest
DomovenokBrest ♔♕♖♗♘♙
Регистрация: 27.10.2012 / Адрес: Белоруссия, Брест / Сообщений: 2,276
Поблагодарили 10,352 раз(а) / Репутация: 10377
  • Отправить сообщение для DomovenokBrest с помощью Skype™
Сообщение от gince Посмотреть сообщение
Привет знатокам языка программироравиния и не всем остальным.
Есть индикатор ravi_base.mq4. Хотел вместо линии сделать гистограму и покрасить ее , но в МТ4 ошибка
ravi_base_color GBPUSD,H1: array out of range in 'ravi_base_color.mq4' (103,11)

Кто может исправить и обьяснить ошибку.

ravi_base.mq4 --> исходный индикатор
ravi_base_color.mq4 --> переделан в цветной (пока с ошибкой)
по умолчанию, там две машки: 7 и 65.
Миниатюры:
Нажмите на изображение для увеличения
Название: Снимок.JPG
Просмотров: 17
Размер:	232.0 Кб
ID:	226108  

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
DomovenokBrest на форуме Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
gince (23.11.2015)
23.11.2015, 17:41
Аватар для gince
gince Местный знаток
Регистрация: 09.09.2008 / Адрес: Литва / Сообщений: 427
Поблагодарили 783 раз(а) / Репутация: 783
  • Отправить сообщение для gince с помощью Skype™
Сообщение от DomovenokBrest Посмотреть сообщение
по умолчанию, там две машки: 7 и 65.
Я это понял.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Гинтарас
gince на форуме Ответить с цитированиемОтветить с цитированием  
23.11.2015, 20:01
Аватар для AlexeyVik
AlexeyVik Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,590
Поблагодарили 3,712 раз(а) / Репутация: 3708
Сообщение от Andy200577 Посмотреть сообщение
Нет подождите. Например мы хотим определить значение индикатора на 10-м баре, соответственно мы пишем в конце строки индикатора номер буфера (например 0) и 10 - (парамертры индюка...,0,10). Но это значение на уже СФОРМИРОВАННОМ графике, а меня интересует значение этого индикатора, когда этот исторический бар только закрылся и новая свеча только открылась, т.е. 4 цены новой свечи (ореn, close, high и low) все равны цене OPEN. Когда эта новая свеча сформируется, то значение индикатора уже может быть другим на интересующей нас предыдущей закрытой свече!!! А Вы фактически предлагаете узнать цену на УЖЕ сформированном графике. Если свеча сформировалась, это вовсе не означает, что на этом же месте зафиксировался индикатор с фиксированным значением, он может и менять свои показания в зависимости от движения текущей цены. Яркий пример - фрактал, он формируется на 2-м баре, но если текущая цена преодолевает вершину фрактала, то он пропадает.
Вот выдрал из первого попавшегося индикатора

for(shift = limit; shift >= 0; shift--)

Если сделать цикл

for(shift = limit; shift >= 10; shift--)

то пересчёт закончится на десятом баре и девятый не будет посчитан.
AlexeyVik вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
DomovenokBrest (23.11.2015)
24.11.2015, 15:14
Аватар для gush
gush бродяга
Регистрация: 24.01.2011 / Сообщений: 2,520
Поблагодарили 5,290 раз(а) / Репутация: 5506
Всем добра.
Подскажите, как по проще реализовать сигналы на целые уровни.
Например. Сейчас цена 1.1050
Сигналы будут на целых уровнях:
Если пошло вверх и цена коснулась или пошла выше 1.1100 - ПОКУПАЕМ..
Если вниз свалились и цена коснулась или пошла ниже 1.1000 - ПРОДАЕМ!!!

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
больше молока получит тот котенок, который больше всех пищит..
gush вне форума Ответить с цитированиемОтветить с цитированием  
24.11.2015, 19:03
Аватар для _SERG_
_SERG_ Активный участник
Регистрация: 21.07.2009 / Сообщений: 264
Поблагодарили 82 раз(а) / Репутация: 82
Сообщение от gush Посмотреть сообщение
Всем добра.
Подскажите, как по проще реализовать сигналы на целые уровни.
Например. Сейчас цена 1.1050
Сигналы будут на целых уровнях:
Если пошло вверх и цена коснулась или пошла выше 1.1100 - ПОКУПАЕМ..
Если вниз свалились и цена коснулась или пошла ниже 1.1000 - ПРОДАЕМ!!!

Тут вот слова "коснулась" , "пошла выше"/"пошла ниже", надо более детально рассмотреть, обдумать, чтобы поняьт, что всё таки на самом деле происходит.
Т.е., взглянуть глазами и интеллектом программы, если речь идёт о автоматизации этого "сложного" процесса. Хотя бы просто для себя.
А так, в общем, всё как и написано:"Если пошло вверх и цена коснулась...", я не прикалываюсь, просто так и есть.
_SERG_ на форуме Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
gush (25.11.2015)
24.11.2015, 19:07
Аватар для vlad_123
vlad_123 Местный знаток
Регистрация: 29.01.2013 / Сообщений: 389
Поблагодарили 877 раз(а) / Репутация: 881
Сообщение от gush Посмотреть сообщение
Всем добра.
Подскажите, как по проще реализовать сигналы на целые уровни.
Например. Сейчас цена 1.1050
Сигналы будут на целых уровнях:
Если пошло вверх и цена коснулась или пошла выше 1.1100 - ПОКУПАЕМ..
Если вниз свалились и цена коснулась или пошла ниже 1.1000 - ПРОДАЕМ!!!
http://docs.mql4.com/ru/convert/normalizedouble - если например Digits=4, то нормализовать Bid/Ask двумя знаками, и эта нормализация и будет "целыми уровнями"

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

На заказ не программирую.
vlad_123 на форуме Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
gush (25.11.2015)
25.11.2015, 04:21
Аватар для gush
gush бродяга
Регистрация: 24.01.2011 / Сообщений: 2,520
Поблагодарили 5,290 раз(а) / Репутация: 5506
Сообщение от vlad_123 Посмотреть сообщение
http://docs.mql4.com/ru/convert/normalizedouble - если например Digits=4, то нормализовать Bid/Ask двумя знаками, и эта нормализация и будет "целыми уровнями"
а есть какая то формула расчета целого уровня (1.2500, 1.2600, 1.2700 и т.д) действиями с отнять/прибавитьбид/аск*point для выставления отложек на целые уровни?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
больше молока получит тот котенок, который больше всех пищит..
gush вне форума Ответить с цитированиемОтветить с цитированием  
25.11.2015, 04:25
Аватар для gush
gush бродяга
Регистрация: 24.01.2011 / Сообщений: 2,520
Поблагодарили 5,290 раз(а) / Репутация: 5506
Сообщение от _SERG_ Посмотреть сообщение
Тут вот слова "коснулась" , "пошла выше"/"пошла ниже", надо более детально рассмотреть, обдумать, чтобы поняьт, что всё таки на самом деле происходит.
Т.е., взглянуть глазами и интеллектом программы, если речь идёт о автоматизации этого "сложного" процесса. Хотя бы просто для себя.
А так, в общем, всё как и написано:"Если пошло вверх и цена коснулась...", я не прикалываюсь, просто так и есть.
сигнал мастерю, на примере селл:
PHP код:
   if(signal=="SELL")
   {
      
bool set2=OrderSend(Symbol(),OP_SELLLots,Bid,slippage,sl_sell,tp_sell,Order_Comment,MagicNumber,0,NULL);     
   } 
//end if(signal=="SELL") 
как его оформить, чтобы внизу с текущих на целом уровне продавать...
а вверху покупать..
PHP код:
if(signal=="BUY")
   {
      
bool set1=OrderSend(Symbol(),OP_BUYLots,Ask,slippage,sl_buy,tp_buy,Order_Comment,MagicNumber,0,NULL);
   } 
//end if(signal=="BUY") 

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
больше молока получит тот котенок, который больше всех пищит..
gush вне форума Ответить с цитированиемОтветить с цитированием  
25.11.2015, 13:20
Аватар для vlad_123
vlad_123 Местный знаток
Регистрация: 29.01.2013 / Сообщений: 389
Поблагодарили 877 раз(а) / Репутация: 881
Сообщение от gush Посмотреть сообщение
а есть какая то формула расчета целого уровня (1.2500, 1.2600, 1.2700 и т.д) действиями с отнять/прибавитьбид/аск*point для выставления отложек на целые уровни?
предпосылка и/или цель - непонятны.
т.е. NormalizeDouble не подходит по каким-то причинам, и нужно сделать тоже самое, но через отнять/прибавить?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

На заказ не программирую.
vlad_123 на форуме Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
gush (26.11.2015)
Ответ

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


Опции темы

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

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



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


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