错误、漏洞、问题 - 页 840

 

MC公司的服务器是否有问题?

目前的奥迪。

 
kazakov.v:

也许PositionSelect在调用前没有立即完成--这就是为什么它返回旧数据。

不,不是这个。也许在调用前需要刷新(),我会检查。
 

我已经写信给SD,但我认为需要很长时间才能得到答复。

谁能在你的测试器中检查一下这样的主题?

Бары с одинаковым временем

Errors, MetaTrader 5 Client, Открыта, Начата: 2012.09.03 02:28, #482547 
Версия и битность терминала
Win32, Build 687
Описание проблемы
Встречаются бары с одинаковым временем в визуализаторе тестера
Последовательность действий
При запуске тестирования с 01.08.2012 на М15
Полученный результат
на графике тестера два раза выскакивает бар с датой 2012.08.01 00:00:00
в свое время и между 2012.08.01 01:00:00 и  2012.08.01 01:15:00 
Кстати хай у него тоже не совпадает с экраном 
Дополнительные сведения
В терминале все нормально.
Прикрепленные файлы:

  




它使渲染器中的对象跳舞。

也许这只是我的问题...

 

下午好。你能告诉我吗,我写了一个简单的指标......当一个新的条形图出现时,指标线是这样表现的。问题可能是什么?

该指标代码。


//+------------------------------------------------------------------+
//| Liniya_Trenda.mq5 |
//| Второй индикатор |
//+------------------------------------------------------------------+
#property copyright "Линейный график цен баров, двух выбранных валютных пар"
#property version "1.00"
#property description "Пользователь может выбрать по какой цене строить линию графика"
#property indicator_separate_window // Отображение в новом окне
#property indicator_buffers 2 // Количество буферов (1 линия - 1 буфер)
#property indicator_plots 2 // Количество массивов (1 линия - 1 массив)
//--- Укажем тип линий
#property indicator_label1 "FirstAktiv" // Название линии индикатора
#property indicator_type1 DRAW_LINE // Тип линии - линия
#property indicator_style1 STYLE_SOLID // Стиль линии - сплошная
#property indicator_color1 clrMediumBlue // Цвет линии
#property indicator_width1 2 // Толщина линии
#property indicator_label2 "SecondAktiv" // Название линии индикатора
#property indicator_type2 DRAW_LINE // Тип линии - линия
#property indicator_style2 STYLE_SOLID // Стиль линии - сплошная
#property indicator_color2 clrRed // Цвет линии
#property indicator_width2 2 // Толщина линии

enum ChangePrice{Open, High, Low, Close}; // Предоставим пользователю выбор цены по которой будет строиться график

//--- Входные параметры
input string FirstAktiv ="EURUSD"; // Тикер первого актива, по которому будем строить график цен
input string SecondAktiv ="GBPUSD"; // Тикер второго актива, по которому будем строить график цен
input ChangePrice WantPrice = Close; // Цена построения по умолчанию

//--- Глобальные переменные
double LinePriceBuffer1[]; // Массив для хранения данных линейного графика
double LinePriceBuffer2[]; // Массив для хранения данных линейного графика

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
SetIndexBuffer(0,LinePriceBuffer1,INDICATOR_DATA); // Указывает, что массив будет являться буфером индикатора
IndicatorSetString(INDICATOR_SHORTNAME,FirstAktiv);
SetIndexBuffer(1,LinePriceBuffer2,INDICATOR_DATA); // Указывает, что массив будет являться буфером индикатора
IndicatorSetString(INDICATOR_SHORTNAME,SecondAktiv);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total, // Передаем общее количество баров на текущем графике
const int prev_calculated, // Количество баров для которых уже рассчитаны значения индикатора
const int begin, // номер начала достоверного отсчёта баров
const double &price[])
{
// Расчёт стартового номера first для цикла пересчёта баров
int first;
// Проверка на первый старт расчёта индикатора
if(prev_calculated == 0)
{
first = begin; // стартовый номер для расчёта всех баров
}
else
{
first = prev_calculated - 1; // стартовый номер для расчёта новых баров
}

// Объявим массив который будет содержать цены, объемы и спред для каждого бара
MqlRates mrate1[];
MqlRates mrate2[];
// Копируем данные по барам в массив
CopyRates(FirstAktiv,PERIOD_CURRENT,0,rates_total,mrate1);
CopyRates(SecondAktiv,PERIOD_CURRENT,0,rates_total,mrate2);

for(int i = first; i < rates_total; i++)
{
if(WantPrice == Open)
{
LinePriceBuffer1[i] = mrate1[i].open;
LinePriceBuffer2[i] = mrate2[i].open;
}
if(WantPrice == High)
{
LinePriceBuffer1[i] = mrate1[i].high;
LinePriceBuffer2[i] = mrate2[i].high;
}
if(WantPrice == Low)
{
LinePriceBuffer1[i] = mrate1[i].low;
LinePriceBuffer2[i] = mrate2[i].low;
}
if(WantPrice == Close)
{
LinePriceBuffer1[i] = mrate1[i].close;
LinePriceBuffer2[i] = mrate2[i].close;
}
}
//--- return value of prev_calculated for next call
return(rates_total);
}

 
faton:

下午好。你能告诉我吗,我写了一个简单的指标......当一个新的条形图出现时,指标线 是这样表现的。可能是什么问题?


该指标代码。


// Объявим массив который будет содержать цены, объемы и спред для каждого бара
MqlRates mrate1[];
MqlRates mrate2[];


那么,对于初学者来说,你应该指定数组的大小...
 
pronych:

我已经写信给SD,但我认为要花很长时间才能得到答复。

谁能在你的测试器中检查一下这样的主题?

它使渲染器中的对象跳舞。

也许这只是我的问题...

已经修好了。请等待建立。
 

ilunga:
 Ну для начала стоит указать размеры массивов..

谢谢你。

我指出了这一点,但没有任何帮助。

我忘了说,如果屏幕区域稍微向左移动,指标的构造又变得正常了(指标线 与绘制的价格值相对应)。

换句话说,如果你从屏幕上 "删除 "第一个条形图,指标就会画得很好。只要指标一直向右移,就会变成这样的错误。

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов - Документация по MQL5
 
stringo:
已经修好了。等待建设。
是的,谢谢。
 
Karlson:

MC公司的服务器是否有问题?

目前的奥迪。

从USDLFX来看--这是一个lightforx的问题,而不是MQ。
 
notused:
从USDLFX来看--这是Lyforex的问题,不是MQ的问题。

观察者网 ))))

赛车专家.在MK.Lite上连接,就很好。