Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 488
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Когда параметр настройки у Ind_1 и Ind_GV совпадает, у Ind_GV результирующее значение немного отличается от результирующего значения Ind_1.
Если в период совпадения настроек у Ind_1 и Ind_GV сделать паузу в тестере и произвести компиляцию Ind_GV, то результирующее значение обоих индикаторов совпадает полностью.
Кто знает, чем это можно объяснить?
Подскажите, разве для запуска в тестере стратегий, режима оптимизации советника нужен какой либо код в самом советнике?
Написал советника пытаюсь оптимизировать а оно мне вон что:
2014.02.18 21:54:30.386 Tester: cache file "C:\...\tester\caches\test.NZDUSD5.0" found and can be used for further optimization
История есть. Файлик этот NZDUSD5_0.fxt аж +150 метров весит..
Еще в логах тестера вот это бывает
2014.02.18 22:50:21.251 TestGenerator: unmatched data error (volume limit 305 at 2014.02.12 13:35 exceeded)
Это к чему?
Помогите пожалуйста!
Каждая из переменных может принимать значение от 1 до 5...Подскажите,как не писать 3125 вариантов)))
Помогите пожалуйста!
Каждая из переменных может принимать значение от 1 до 5...Подскажите,как не писать 3125 вариантов)))
Нарисовать 25 вариантов, а после разбираться с тем, кто кого больше.
Спасибо..как раз этим сейчас и занимаюсь...Хотел с массивами замутить,но не хватает тямы...)))
Прошу помощи с индикатором с вложениями ".mqh".
Буферы индикатора ExtBuffer1[], ExtBuffer2[] и Buffer_M[] имеют размер 0, при этом буфер ExtBuffer0[] работает исправно и его размерность равна Bars, как и должно быть. Что самое интересное все работало исправно, в старой версии MT4, пока она не обновилась на новую. И еще. Если все содержимое вложений перенести в один основной файл mq4 индикатора, то все снова работает исправно.
Вопрос: Почему размеры массивов для буферов индикатора во вложениях сбрасываются на 0?
Вот его исходный код индикатора.
//+------------------------------------------------------------------+
//| AO_EMA_(with_includes).mq4 |
//+------------------------------------------------------------------+
#include <AO_EMA_(with_includes)_GLOB.mqh>
//--------------------------------------------
int init()
{
#include <AO_EMA_(with_includes)_INIT.mqh>
return(0);
}
//--------------------------------------------
int start()
{
#include <AO_EMA_(with_includes)_START.mqh>
return(0);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| AO_EMA_(with_includes)_GLOB.mq4 |
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Black
#property indicator_color2 Green
#property indicator_color3 Red
//---- Input Data
extern int Slow = 100;
extern double Slow_Fast = 4.318;
extern int Average = 25; // Усреднение АО
extern bool Show_AO_G = true,
Show_AO_R = true;
//---- Глобальные переменные
int Fast;
bool Alert_done = false; // Флаг говорит о том, что Alert уже был раз сгенерирован.
//---- indicator buffers
double ExtBuffer0[];
double ExtBuffer1[];
double ExtBuffer2[];
//---- Буфера индикатора, для промежуточных расчетов
double Buffer_M[];
//+------------------------------------------------------------------+
//| AO_EMA_(with_includes)_INIT.mq4 |
//+------------------------------------------------------------------+
//---- Установка значение для переменной "Fast"
Fast = NormalizeDouble(Slow / Slow_Fast, 0);
//---- indicator buffers mapping
SetIndexBuffer(0, ExtBuffer0);
SetIndexBuffer(1, ExtBuffer1);
SetIndexBuffer(2, ExtBuffer2);
SetIndexBuffer(3, Buffer_M);
//---- drawing settings
SetIndexStyle(0, DRAW_NONE); // Линия не рисуется
SetIndexStyle(1, DRAW_HISTOGRAM); // Гистограмма
SetIndexStyle(2, DRAW_HISTOGRAM); // Гистограмма
SetIndexStyle(3, DRAW_NONE); // Линия не рисуется
//---- drawing begin settings
SetIndexDrawBegin(0, Fast); // Индикатор начинает рисоваться с этого бара, от начала графика слева.
SetIndexDrawBegin(1, Fast);
SetIndexDrawBegin(2, Slow);
SetIndexDrawBegin(3, Slow);
IndicatorDigits(Digits+1);
//---- name for DataWindow and indicator subwindow label
IndicatorShortName("AO_EMA ("+Fast+"-"+Slow+")");
SetIndexLabel(1,"Green");
SetIndexLabel(2,"Red");
//---- Обнуляем буфер индикатора
SetIndexEmptyValue(0, 0.0); SetIndexEmptyValue(1, 0.0);
SetIndexEmptyValue(2, 0.0); SetIndexEmptyValue(3, 0.0);
//---- initialization done
//+------------------------------------------------------------------+
//| AO_EMA_(with_includes)_START.mq4 |
//+------------------------------------------------------------------+
int limit, pos;
int counted_bars=IndicatorCounted();
double prev,current, pr;
bool up;
//---- Последний посчитанный бар будет пересчитан
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
Print("counted_bars=",counted_bars," Bars=",Bars," limit=",limit);
Print("0=",ArraySize(ExtBuffer0)," 1=",ArraySize(ExtBuffer1)," 2=",ArraySize(ExtBuffer2)," M=",ArraySize(Buffer_M));
//---- Расчет MACD для Гистограммы "= EMA(fast) - EMA(slow)"
if(Show_AO_G == true || Show_AO_R == true)
{ for(int i=0; i<limit; i++)
Buffer_M[i]=iMA(NULL,0,Fast,0,MODE_EMA,PRICE_MEDIAN,i)-iMA(NULL,0,Slow,0,MODE_EMA,PRICE_MEDIAN,i);
//---- Усредняем MACD по "Average".Это и будет рисоваться на графике..
//---- ... можно заменить на " EMA(Fast)".
pr=2.0/(Average+1);
pos=Bars-2;
if(counted_bars>2) pos=Bars-counted_bars-1;
//---- Основной расчет
while(pos>=0)
{ if(pos==Bars-2) ExtBuffer0[pos+1]=Buffer_M[pos+1];
ExtBuffer0[pos]=Buffer_M[pos]*pr+ExtBuffer0[pos+1]*(1-pr);
pos--; }
//---- Расперделение данных между 2-я буферами, для разделения по цветам
for(i=limit-1; i>=0; i--)
{ // При перерасчете самого левого бара, порядковый номер в массиве [i+1] выходит за пределы размера массива, поэтому расчет первого цикла прорускаем.
if(i == Bars-1) continue;
//------------------------------------
current = ExtBuffer0[i];
prev = ExtBuffer0[i+1];
if(current == prev) continue;
else
{ if(current>prev) up=true;
if(current<prev) up=false;
if(!up)
{ ExtBuffer2[i]=current;
ExtBuffer1[i]=0.0; }
else
{ ExtBuffer1[i]=current;
ExtBuffer2[i]=0.0; }
}}}
//--- Устанавливаем видимость индикаторов
if(Show_AO_G == false) SetIndexStyle(1, DRAW_NONE);
if(Show_AO_R == false) SetIndexStyle(2, DRAW_NONE);
Прошу помощи с индикатором с вложениями ".mqh".
Буферы индикатора ExtBuffer1[], ExtBuffer2[] и Buffer_M[] имеют размер 0, при этом буфер ExtBuffer0[] работает исправно и его размерность равна Bars, как и должно быть. Что самое интересное все работало исправно, в старой версии MT4, пока она не обновилась на новую. И еще. Если все содержимое вложений перенести в один основной файл mq4 индикатора, то все снова работает исправно.
Вопрос: Почему размеры массивов для буферов индикатора во вложениях сбрасываются на 0?
Вот его исходный код индикатора.
Вы любите через задницу все делать?