Одинаков ли алгоритм вычисления Volumes в МТ3 и МТ4 ?
Да, одинаков - это тиковый объем (количество изменений цены в единицу времени).
Разница из-за разных датафидов. Видимо у Альпари более интенсивный поток цен, а у нас более сглаженный.
Ренат, спасибо за оперативный ответ.
Раз уж вы сейчас у руля, то продолжим.
Только, что подключился к чисто демо на Алпари через МТ3 и МТ4.
Наблюдаю ту же разницу в тиковых объёмах, которую я описывал ранее.
Склонен думать, что это всётаки баг или фича МТ4.
Разберитесь с этим, пожалуйста.
Раз уж вы сейчас у руля, то продолжим.
Только, что подключился к чисто демо на Алпари через МТ3 и МТ4.
Наблюдаю ту же разницу в тиковых объёмах, которую я описывал ранее.
Склонен думать, что это всётаки баг или фича МТ4.
Разберитесь с этим, пожалуйста.
МТ3 и МТ4
Это разные датафиды (даже внутри Альпари), так как для МТ4 не все датафиды сконвертированы из MT3.
Ренат. Собственно проблема возникла в процессе переноса одного очень простенького индикатора. привожу код в МТ3(работающий) и код в МТ4 оличающийся довольно сильно по результатам. Может быть я просто криво переписал ?
Для МТ3
Для МТ3
/*[[ Name := indicator Author := monglo Link := Separate Window := Yes First Color := Blue First Draw Type := Line First Symbol := 217 Use Second Data := Yes Second Color := Red Second Draw Type := Line Second Symbol := 218 ]]*/ Inputs: barcount(10), Ind_length(1000); Variable : shift(0),sum(0),i(0),vol(0); SetLoopCount(0); For shift=Ind_length Downto 0 Begin sum=0; for i=shift to shift+barcount { if shift=0 then vol=v[i-1]/1000 else vol=v[i]/1000; sum=sum-((c[i]-o[i])/(h[i]-l[i])*vol); } sum=sum/(barcount+1); SetIndexValue(shift,sum); End;
Для МТ4
//+------------------------------------------------------------------+ //| 1.mq4 | //| mong lo inc | //| | //+------------------------------------------------------------------+ #property copyright "mong lo inc" #property link "" #property indicator_separate_window extern int barcount=10; extern int Ind_Length=1000; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ double EEE[]; int init() { string short_name; //---- indicator line SetIndexStyle(0,DRAW_LINE,EMPTY,0,RoyalBlue); SetIndexBuffer(0,EEE); SetIndexEmptyValue(0,0); //---- name for DataWindow and indicator subwindow label short_name="FirstIndicator"; IndicatorShortName(short_name); SetIndexLabel(0,short_name); //---- SetIndexDrawBegin(0,100); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- TODO: add your code here //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int i,j; double vol; double sum; int counted_bars=IndicatorCounted(); //---- TODO: add your code here for (i = Ind_Length-counted_bars;i>0;i--) { sum = 0; for (j=i;j<i+barcount;j++) { if (i==0) vol=Volume[j-1]/1000; else vol=Volume[j]/1000; if (((High[j]-Low[j])*vol)!=0) sum = sum - (Close[j]-Open[j])/((High[j]-Low[j])*vol); else /// Деление на ноль в МТ3 ошибок не выдавались, а сейчас приходится обходить sum = sum - (Close[j]-Open[j])/((High[j]-Low[j])*vol+0.000001*Point); } sum=sum /(barcount+1); EEE[i] = sum; // Поиск ошибок if (i == 1) Print(Close[i],Open[i],High[i],Low[i],Volume[i]); if (i == 2) Print(Close[i],Open[i],High[i],Low[i],Volume[i]); if (i == 3) Print(Close[i],Open[i],High[i],Low[i],Volume[i]); if (i == 4) Print(Close[i],Open[i],High[i],Low[i],Volume[i]); } //---- return(0); }
МТ3 и МТ4
Это разные датафиды (даже внутри Альпари), так как для МТ4 не все датафиды сконвертированы из MT3.
Изменится ли со временем к тому датафиду, что был в МТ3 или нет? От кого это зависит ?
Могу ли я сам привести (конвертировать) датафиды из МТ3 в МТ4. Так, чтобы в МТ4 было также, как в МТ3 ?
МТ3 и МТ4
Это разные датафиды (даже внутри Альпари), так как для МТ4 не все датафиды сконвертированы из MT3.
Изменится ли со временем к тому датафиду, что был в МТ3 или нет? От кого это зависит ?
Могу ли я сам привести (конвертировать) датафиды из МТ3 в МТ4. Так, чтобы в МТ4 было также, как в МТ3 ?
Это зависит от брокерской компании.
оличающийся довольно сильно по результатам
Что значит "довольно сильно" после использования другого коэффициента (2000 вместо 1000) ?
Как можно менять коэффициент в 2 раза, а потом спрашивать - почему результаты другие?
оличающийся довольно сильно по результатам
Что значит "довольно сильно" после использования другого коэффициента (2000 вместо 1000) ?
Как можно менять коэффициент в 2 раза, а потом спрашивать - почему результаты другие?
Ренат, сильно извиняюсь. Уже исправил. Конечно же там тоже стоит 1000. Результат действительно сильно отличается. Этот индикатор я использую на Н4. Посмотри сам.
А 2000 - это была попытка подогнать под новые Волумы. Результат не впечатляет. Разница всё равно очень сильная. Индикатор потерял свою информативность.
А ещё, Ренат, давай синхронизируем понятия.
Объясни пожалуйста что ты понимаешь под понятием датафид.
Вдруг, я понимаю это слово по-другому.
Почему-то, МТ3 и на реале и на демо считает приведённый выше код индикатора с одним результатом,
а МТ4 на демо, что в Алпари, что в Метаквотс считает приведённый код с другим результатом.
Следовательно, либо ошибка в коде индикатора на МТ4(я поправил код для МТ4), либо ошибка в обработке кода, либо настолько сильно отличаются котировки сервера для МТ3 от котировок сервера для МТ4.
Вопрос - так в чём же дело ?
Объясни пожалуйста что ты понимаешь под понятием датафид.
Вдруг, я понимаю это слово по-другому.
Почему-то, МТ3 и на реале и на демо считает приведённый выше код индикатора с одним результатом,
а МТ4 на демо, что в Алпари, что в Метаквотс считает приведённый код с другим результатом.
Следовательно, либо ошибка в коде индикатора на МТ4(я поправил код для МТ4), либо ошибка в обработке кода, либо настолько сильно отличаются котировки сервера для МТ3 от котировок сервера для МТ4.
Вопрос - так в чём же дело ?
датафид
Это источник данных, используемый сервером в данный момент и для данного символа. На сервере может быть несколько источников данных одновременно для разных инструментов. Кроме того, приходящий поток данных фильтруется и сглаживается.
Вопрос - так в чём же дело ?
Дело в том, что любой стандартный(описанный в книгах) индикатор, базирующийся на объемах, практически слабо применим на форексе из-за того что тут используется тиковый объем, который является лишь относительным показателем _активности_ рынка, а не _объемов_ проводимых операций. Естественно, активность и реальные объемы коррелируют, но этого недостаточно.
Если хотите сравнить полученные индикаторы - экспортируйте график из МТ3, импортируйте его в МТ4 (тем самым решив главную задачу - соблюдение одинаковости исходных данных) и проверьте результаты индикаторов в контрольных точках. Если результаты не сойдутся, то пришлите, пожалуйста, скриншоты на stringo AT metaquotes . ru
В расчетах Вы активно используете High и Low, которые в МТ3 и МТ4 различаюся. В МetaTrader 3 бары строятся под (bid+ask)/2 , а в MetaTrader 4 - только по бидам.
Надеюсь, Вы понимаете что результат теханализа напрямую зависит от исходных данных? Если есть хоть малейшее расхождение в исходных данных, то результаты могут очень сильно различаться. Это в первую очередь касается слишком чувствительных функций типа осцилляторов и в меньшей степени толстокожих мувингов. Выход точно такой же как и при написании экспертов - использовать "робастые/толстокожие" индикаторы, а не излишне чувствительные, которые нужно постоянно подгонять под рынок.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Одинаков ли алгоритм вычисления Volumes в МТ3 и МТ4 ?
Как мне получать прежние как в МТ3 объёмы ? Или всё же всё дело в причине демо\реал ?