Да. Bid b Ask, и также Volume. При Volume == 1, там время прихода 1 тика нового бара.
Хотелось иметь массив, аналогичный массиву баров, чтобы можно было обратиться, например, последовательно к каждому тику, ясное дело, что речь идет об истории. Чувствую, что придется вручную (самостоятельно) формировать такой массив из имеющихся в истории значений котировок. И потом уж обращаться к элементам этого массива
Здравствуйте! Разбираю индикатор SMA. Не могу понять:
intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//--- check for bars countif(rates_total<InpMAPeriod-1 || InpMAPeriod<2)
return(0);
//--- counting from 0 to rates_totalArraySetAsSeries(ExtLineBuffer,false); // если не объявлять то по умолчанию разве не стоит тоже самое?ArraySetAsSeries(close,false);//--- first calculation or number of bars was changed
//+------------------------------------------------------------------+//| simple moving average |//+------------------------------------------------------------------+void CalculateSimpleMA(int rates_total,int prev_calculated,constdouble &price[])
{
int i,limit;
//--- first calculation or number of bars was changedif(prev_calculated==0)
{
limit=InpMAPeriod;
//--- calculate first visible valuedouble firstValue=0;
for(i=0; i<limit; i++)
firstValue+=price[i];
firstValue/=InpMAPeriod;
ExtLineBuffer[limit-1]=firstValue; Не чего не пойму, записываем в массив где limit =периоду(например 15-1),
}
else
limit=prev_calculated-1; После первого запуска пусть будет равен Limit = 256 - 1;//--- main loopfor(i=limit; i<rates_total && !IsStopped(); i++)
ExtLineBuffer[i]=ExtLineBuffer[i-1]+(price[i]-price[i-InpMAPeriod])/InpMAPeriod; Тогда ExtLineBuffer[i-1]=0 т.к. ExtLineBuffer[256-1]=0 так получается, объясните пожалуйста эту строчку.
Заранее благодарю//---
}
Если надо вставить (High[i+j]+Low[i+j])*0.5; то есть применить Median Price (HL/2) Куда лучше подставить?
Добрый день! Посмотрите пожалуйста код ниже, создание объекта "Стрелка" на сигнале, в тестере стрелки не рисует,хотя по журналу проходят, и еще в журнале при запуске в тестере пишет ошибку TestGenerator: unmatched data error (volume limit 412 at 2014.10.13 17:10 exceeded),
и во время тестирования выдает ошибку "Проверка стрелки USDJPYm,M5: Ошибка создания объекта: code #4200" - но я так понимаю, что это нормально, так как вначале программа находит что объект создан, а после удаления,создает вновь. В общем буду благодарен за Ваши комментарии к вопросам.
Индикатор в окне показывает до 5 знака после запятой.
При использовании его в советнике через iCustom(Symbol(), PERIOD_M1, "MACD",12, 26, SignalSMA, 0, 0) выводит значение до 4 знака (установлено командой Print).
Может поможет. Метод позволяет получить историю котировок, по тикам
;
Хорошая ссылка. Спасибо! Но есть же и второй вопрос: как средствами MQL обратиться к каждому выбранному тику?
Cредствами MQL. Пробуйте, компилируйте как советник и на график, и ищите в файлах файл "Запись"
Удачи.
Cредствами MQL. Пробуйте, компилируйте как советник и на график, и ищите в файлах файл "Запись"
Удачи.
Спасибо и Вам! Я так понял, что эта процедура будет записывать в файл текущие тики. Да?
Да. Bid b Ask, и также Volume. При Volume == 1, там время прихода 1 тика нового бара.
Да. Bid b Ask, и также Volume. При Volume == 1, там время прихода 1 тика нового бара.
Хотелось иметь массив, аналогичный массиву баров, чтобы можно было обратиться, например, последовательно к каждому тику, ясное дело, что речь идет об истории. Чувствую, что придется вручную (самостоятельно) формировать такой массив из имеющихся в истории значений котировок. И потом уж обращаться к элементам этого массива
Здравствуйте! Разбираю индикатор SMA. Не могу понять:
При оптимизации в тестере часто выскакивает в журнале такое сообщение
"2015.03.05 11:04:55.924 Memory handler: cannot allocate 343699140 bytes of memory"
Уважаемые, подскажите какую такую память не может обнаружить терминал? Как лечится?
Добрый день! Посмотрите пожалуйста код ниже, создание объекта "Стрелка" на сигнале, в тестере стрелки не рисует,хотя по журналу проходят, и еще в журнале при запуске в тестере пишет ошибку TestGenerator: unmatched data error (volume limit 412 at 2014.10.13 17:10 exceeded),
и во время тестирования выдает ошибку "Проверка стрелки USDJPYm,M5: Ошибка создания объекта: code #4200" - но я так понимаю, что это нормально, так как вначале программа находит что объект создан, а после удаления,создает вновь. В общем буду благодарен за Ваши комментарии к вопросам.
Не судите строго, как написано.
Добрый день.
Индикатор в окне показывает до 5 знака после запятой.
При использовании его в советнике через iCustom(Symbol(), PERIOD_M1, "MACD",12, 26, SignalSMA, 0, 0) выводит значение до 4 знака (установлено командой Print).
Как получить 5-ть знаков в сове?