
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Подтверждаю про глюки с #property indicator_buffers
если указать что индикаторных буферов будет больше чем реально используется в программе то данные из реально задействованных буферов не отрисовываются
еще, я не нашел как количеством буферов для отрисовки и для расчета можно управлять в OnInit()
в MQL4 такое было можно
еще, еще, не обновился сегодня терминал автоматом через LiveUpdate как это можно руками запустить без скачивания всего терминала с сайта ?
Был косяк в отрисовке. Исправили. Спасибо.
Похоже не совсем исправили.
Вот код индикатора:
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_plots 2
#property indicator_type1 DRAW_ZIGZAG
#property indicator_type2 DRAW_ZIGZAG
#property indicator_type3 DRAW_ZIGZAG
#property indicator_type4 DRAW_ZIGZAG
#property indicator_color1 Red
#property indicator_color2 Blue
double high1[], high2[], low1[], low2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
SetIndexBuffer(0,low1);
SetIndexBuffer(1,low2);
SetIndexBuffer(2,high1);
SetIndexBuffer(3,high2);
PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0);
PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,0.0);
//---
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime& time[],
const double& open[],
const double& high[],
const double& low[],
const double& close[],
const long& tick_volume[],
const long& volume[],
const int& spread[])
{
//---
ArrayInitialize(high1,0.0);
ArrayInitialize(high2,0.0);
ArrayInitialize(low1,0.0);
ArrayInitialize(low2,0.0);
int i=0;
while(i<rates_total-1)
{
high1[i]=high[i+1];
high2[i+1]=high[i+1];
low1[i]=low[i+1];
low2[i+1]=low[i+1];
i++;
}
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+
Еще странность с индикаторными буферами
для отрисовки обязательно должны быть в начале списка
тоесть если есть два буфера и один из них для отрисовки так вот индексы (у отрисовки должен быть 0 а для расчетов 1) если на оборот то не отрисовывает
точнее индекс буфера для отрисовки не должен привышать значение что указано в
Так не работает, скрипт:
void OnStart()
{
//---
double mass[][100000];
ArrayResize(mass,1000);
ArrayInitialize(mass,0);
ArraySort(mass);
//---
}
Пишет: " 'mass' - parametr conversion is not allowed
На какую строку ругается? На ArraySort?
Уважаемые сотрудники MetaQuotes
Может все же построить бета тестирование по следующей схеме
Пользователь нашел ошибку\баг\фичу или еще что, что его не устраивает
Администрация в кратчайшие сроки дает ответ на сообщение в форуме
типа (да это ошибка будет исправлена в ближайшем билде) или (так и было задумано см. документацию стр.ччч пункт ууу)
а то такое ощущение что разговор в никуда....
а вообще если кажный день будет новый билд то не плохо бы (как велось с МТ4) сообщать что исправили в новом билде (по стравнению с предыдущем официальным)
Похоже так и не исправили баг.
1. Когда существующий(!) отложенный ордер пытаешься изменить, и выбираешь 'Specified' в поле 'Expiration', то 'Expiration Date' все равно остается серым.
2. Потом, когда второй раз открывем диалог модификации, дату менять можно, но кнопка Modify не активируется! ))
Заметьте - уже существующий отложник. Всем превед.
Параметр prev_calculated при вызове функции содержит значение, которое вернула функция OnCalculate() на предыдущем вызове. Это позволяет реализовать экономные алгоритмы расчета пользовательского индикатора с тем, чтобы избежать повторных расчетов для тех баров, которые не изменились с предыдущего запуска этой функции.
И как обработать новый бар если значения переменных одинаковы?
2009.10.15 00:29:52 Nonbeta (GBPUSD,M1) Bars = 3000460 rates_total= 3000460 prev_calculated= 3000460
2009.10.15 00:28:55 Nonbeta (GBPUSD,M1) Bars = 3000460 rates_total= 3000460 prev_calculated= 3000460
2009.10.15 00:27:53 Nonbeta (GBPUSD,M1) Bars = 3000460 rates_total= 3000460 prev_calculated= 3000460
2009.10.15 00:26:55 Nonbeta (GBPUSD,M1) Bars = 3000460 rates_total= 3000460 prev_calculated= 3000460
2009.10.15 00:25:57 Nonbeta (GBPUSD,M1) Bars = 3000460 rates_total= 3000460 prev_calculated= 3000460
2009.10.15 00:24:59 Nonbeta (GBPUSD,M1) Bars = 3000460 rates_total= 3000460 prev_calculated= 3000460
2009.10.15 00:24:02 Nonbeta (GBPUSD,M1) Bars = 3000460 rates_total= 3000460 prev_calculated= 3000460
2009.10.15 00:23:05 Nonbeta (GBPUSD,M1) Bars = 3000460 rates_total= 3000460 prev_calculated= 3000460
2009.10.15 00:22:08 Nonbeta (GBPUSD,M1) Bars = 3000460 rates_total= 3000460 prev_calculated= 3000460
2009.10.15 00:21:11 Nonbeta (GBPUSD,M1) Bars = 3000460 rates_total= 3000460 prev_calculated= 3000460
Посмотрите примеры наших пользовательских индикаторов. Последний бар всегда пересчитывается (ищите строку pos=prev_calculated-1 и аналогичные)
Уважаемые сотрудники MetaQuotes
Может все же построить бета тестирование по следующей схеме
Пользователь нашел ошибку\баг\фичу или еще что, что его не устраивает
Администрация в кратчайшие сроки дает ответ на сообщение в форуме
типа (да это ошибка будет исправлена в ближайшем билде) или (так и было задумано см. документацию стр.ччч пункт ууу)
а то такое ощущение что разговор в никуда....
а вообще если кажный день будет новый билд то не плохо бы (как велось с МТ4) сообщать что исправили в новом билде (по стравнению с предыдущем официальным)
Все сообщения внимательнейшим образом просматриваются и при необходимости направляются в техническую поддержку. По возможности мы отвечаем. Но не всегда получается
Например, про избыточное количество индикаторных буферов. Мы этим сейчас занимаемся. Когда решим проблему, тема обрастёт ещё несколькими страницами.
Мы не меньше вашего заинтересованы в поиске и исправлении косяков, так что давайте не будем разводить бюрократию с сообщениями, что исправили в каждом билде - это отнимет у нас половину рабочего времени. Так как на каждый пункт нам неоднократно придётся ещё и давать ответы тем, кто пока не в теме, проходили, знаем.