Информация

Все разделы форума доступны для просмотра всем желающим, без регистрации. Если вы хотите оставлять комментарии на форуме, вам необходимо создать учетную запись или авторизоваться.

Close
Авторизация
4x_trader offline
#41
24 дек 2010, 12:35
Аватар пользователя
Сообщений: 3759
Поблагодарили: 589 раз(а) в 421 сообщениях
Зарегистрирован: 12 окт 2010, 13:50
----------------------------------------------------------------------------------------------
Собаки лают, караван идёт. Основы Price Action Изображение
Expforex.at.ua offline
#42
24 дек 2010, 21:07
Сообщений: 7
Поблагодарили: 1 раз(а) в 1 сообщениях
Зарегистрирован: 24 окт 2010, 20:27
А некоторые называют свои переменные q1 q2 q3 q4 q5 q6 q7

Специально, для того чтобы иметь доступ к своему советнику, только для себя..
klod offline
#43
26 дек 2010, 02:19
Сообщений: 25
Поблагодарили: 0 раз(а) в 0 сообщениях
Зарегистрирован: 18 ноя 2010, 23:09
Здравствуйте.
Попытался написать тестовый индикатор, использующий значения другого
индикатора с разных таймфреймов, и зашел в тупик. Вот его текст:

#property indicator_separate_window // Индик.рисуется в отдельном окне
#property indicator_buffers 3 // Количество буферов
#property indicator_color1 Lime // Цвет линии буфера 0
#property indicator_color2 Orange // Цвет линии буфера 1
#property indicator_color3 Aqua // Цвет линии буфера 2
//---------------------------------------------------------------
extern int History =2000; // Колич.баров в расчётной истории
extern int TimeFrame1 =1;
extern int TimeFrame2 =5;
extern int TimeFrame3 =15;
extern int PeriodMA1=3; // Период быстрой МА
extern int PeriodMA2=3; // Период средней МА
extern int PeriodMA3=3; // Период медленной МА
//---------------------------------------------------------------
double
Line_0[], // Инд. массив быстрой МА
Line_1[], // Инд. массив средней МА
Line_2[]; // Инд. массив медленной МА
//---------------------------------------------------------------
int init()
{
SetIndexBuffer(0,Line_0); // MA1
SetIndexBuffer(1,Line_1); // MA2
SetIndexBuffer(2,Line_2); // MA3
IndicatorDigits(Digits);
return; // Выход из функции init()
}
//---------------------------------------------------------------
int start() // Специальная функция start()
{
//---------------------------------------------------------------
double MA;
int
i, // Индекс бара
Counted_bars; // Количество просчитанных баров
//--------------------------------------------------------------
Counted_bars=IndicatorCounted(); // Количество просчитанных баров
i=Bars-Counted_bars-1; // Индекс первого непосчитанного
if (i>History-1) // Если много баров то ..
i=History-1; // ..рассчитывать заданное колич.
//--------------------------------------------------------------
while(i>=0) // Цикл по непосчитанным барам
{
//--------------------------------------------------------
MA=iCustom(NULL,TimeFrame1,"Moving Averages",PeriodMA1,0,0,0,i);
Line_0[i]= MA;
//--------------------------------------------------------
MA=iCustom(NULL,TimeFrame2,"Moving Averages",PeriodMA2,0,0,0,i);
Line_1[i]= MA;
//--------------------------------------------------------
MA=iCustom(NULL,TimeFrame3,"Moving Averages",PeriodMA3,0,0,0,i);
Line_2[i]= MA;
//--------------------------------------------------------
i--; // Расчёт индекса следующего бара
//--------------------------------------------------------
}
return; // Выход из спец. ф-ии start()
}
//--------------------------------------------------------------

Это - 3 пользовательских мувинга с параметрами 3,0,0 с таймфреймов
м1(лайм), м5(оранж), м15(аква). При сохранении скрина цвета слегка
изменились, но разобрать можно. Нанёс на м1 эти мувинги с периодами 3,
3*5=15, 3*15=45. Вертикальными линиями выделил участок с 12:00 до 13:00.
На графике м15 этот мувинг с периодом 3 непрерывно растёт от 108.62 до
108.92, а в индикаторе на м1 - телепается в диапазоне 108.42 - 108.69. Линия
индикатора, соответствующая ТФ м5, вообще зашкаливает за 111, хотя на
чарте едва дотягивает до 109.
Ладно бы, мувинги строились с использованием хай и лоу, которые,
понятно, на барах м1 и м15 могут не совпадать. Но из их кода (прилагается)
видно, что используется close.
Подскажите пожалуйста, где я ошибся.
Вложения
Moving Averages.mq4
(5.34 KiB) Скачиваний: 33
test.gif
Sorros offline
#44
26 дек 2010, 23:37
Аватар пользователя
Сообщений: 235
Поблагодарили: 0 раз(а) в 0 сообщениях
Зарегистрирован: 29 июл 2010, 14:07
Приветствую. Проблема в том, что ты считаешь будто нанесенная на график М1 Мария с периодом 15 (3*5) должна в точности повторять Марию с периодом 3 непосредственно на графике М5. Скользящая строится по данным цен закрытия, поэтому нанесенная на М5 скользящая не отражает всех движений цены с графика М1.

Теперь по делу. Код индикатора корректен полностью, индикатор рабочий. Попробуй проверить мувинги индикатора не при помощи комбинации специально нанесенных трех мувингов на М1, а просто посредством переключения таймфреймов и сравнивания мувингов твоего индикатора с мувингом (одним! 3-пириодным) с трех таймфреймов поочередно. Т.е:

Открой М15, сравни мувинг на М15 (период 3) с мувингом из индикатора с цветом Aqua, затем открой М5 - сравни с мувингом индикатора оранжевым, и открой М1, сравни мувинг на графике и мувинг индикатора (при этом возможно потребуется расширить окно индикатора чтобы мувинг не представлял собой прямую горизонтальную линию). Ты увидишь, что все корректно работает.

Еще один момент, на который я хотел бы обратить твое внимание.

Каждая точка мувинга индикатора соответствует цене закрытия бара (из М1, М2 или М3), данные бары расположены в одних и тех же значениях Shift индикаторного буфера в твоем коде. Но так как значение (конечное) Марии строится на основании цены закрытия, то очевидно, что что на одинх и тех же Shift'ах значение Марии и цены не будут совпадать если они из разных таймфреймов.
klod offline
#45
27 дек 2010, 05:01
Сообщений: 25
Поблагодарили: 0 раз(а) в 0 сообщениях
Зарегистрирован: 18 ноя 2010, 23:09
Sorros, спасибо за ответ.
Хорошо, оставим пока в стороне мувинги, нарисованные на м1, дабы не поминать арифметику всуе. Тогда имеем таблицу значений переменных обсуждаемого индикатора на пяти барах:
table.GIF

Из таблицы видно, что,
во-первых, close с разных ТФ на барах с одинаковым временем не совпадают. Пока непонятно, но это я при наличии времени посмотрю сам (на каких минутных барах открываются и закрываются 15-минутные).
во-вторых, значения переменных индикатора не совпадают (за исключением м1) со значениями соответствующих мувингов соответствующих ТФ (в чём, собственно, и состоял вопрос).
Тот факт, что индикатор прикреплён именно к м1, ни на что влиять не должен, поскольку для расчета его переменных используется не текущий, а заданные ТФ. И если код корректен, то интересно, где зарыта собака. Или, хотя бы, откуда на оранжевой линии индикатора значение 111.
Вложения
test2.gif
Sorros offline
#46
27 дек 2010, 06:12
Аватар пользователя
Сообщений: 235
Поблагодарили: 0 раз(а) в 0 сообщениях
Зарегистрирован: 29 июл 2010, 14:07
klod offline
#47
27 дек 2010, 06:45
Сообщений: 25
Поблагодарили: 0 раз(а) в 0 сообщениях
Зарегистрирован: 18 ноя 2010, 23:09
Последний раз редактировалось klod 27 дек 2010, 07:08, всего редактировалось 2 раз(а).
Sorros offline
#48
27 дек 2010, 07:05
Аватар пользователя
Сообщений: 235
Поблагодарили: 0 раз(а) в 0 сообщениях
Зарегистрирован: 29 июл 2010, 14:07
klod offline
#49
27 дек 2010, 07:13
Сообщений: 25
Поблагодарили: 0 раз(а) в 0 сообщениях
Зарегистрирован: 18 ноя 2010, 23:09
Последний раз редактировалось klod 27 дек 2010, 07:16, всего редактировалось 1 раз.
Sorros offline
#50
27 дек 2010, 07:15
Аватар пользователя
Сообщений: 235
Поблагодарили: 0 раз(а) в 0 сообщениях
Зарегистрирован: 29 июл 2010, 14:07

BBCode ВЫКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ

   

Если Вы не хотите добавлять вложения, оставьте поля пустыми.

Пред.След.

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Список форумов

Часовой пояс: UTC + 4 часа (Russia: MSK) по летнему времени Удалить cookies форума

В вашем браузере отключена поддержка cookie. При отключенной поддержке cookie в браузере у вас могут возникнуть проблемы с отображением Личного кабинета. Как включить (активировать) поддержку cookie.