Fehler, Irrtümer, Fragen - Seite 840

 

Sind die MC-Server defekt?

Aktueller Audi.

 
kazakov.v:

Vielleicht wurde PositionSelect nicht unmittelbar vor dem Aufruf durchgeführt - deshalb werden alte Daten zurückgegeben.

Nein, das nicht. Vielleicht ist Refresh() vor dem Aufruf erforderlich, ich werde es überprüfen.
 

Ich habe an den SD geschrieben, aber ich denke, es wird lange dauern, bis ich eine Antwort erhalte.

Könnte bitte jemand ein solches Thema in Ihrem Tester überprüfen?

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

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 
Кстати хай у него тоже не совпадает с экраном 
Дополнительные сведения
В терминале все нормально.
Прикрепленные файлы:

  




Es bringt die Objekte im Renderer zum Tanzen.

Vielleicht liegt es nur an mir...

 

Guten Tag. Können Sie mir raten, ich habe einen einfachen Indikator geschrieben... und wenn ein neuer Balken kommt, verhält sich die Indikatorlinie so. Was könnte das Problem sein?

Der Indikatorcode:


//+------------------------------------------------------------------+
//| 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:

Guten Tag. Können Sie mich beraten, ich habe einen einfachen Indikator geschrieben... und wenn ein neuer Balken kommt, sehe ich dieses Verhalten der Indikatorlinie. Was könnte das Problem sein?


Der Indikatorcode:


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


Nun, für den Anfang sollten Sie die Größe der Arrays angeben...
 
pronych:

Ich habe an den SD geschrieben, aber ich denke, es wird lange dauern, bis ich eine Antwort erhalte.

Könnte bitte jemand ein solches Thema in Ihrem Tester überprüfen?

Es bringt die Objekte im Renderer zum Tanzen.

Vielleicht liegt es nur an mir...

Das ist bereits geschehen. Bitte warten Sie auf den Build.
 

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

Ich danke Ihnen.

Ich habe sie darauf hingewiesen, aber es hat nichts gebracht.

Ich habe vergessen zu erwähnen, dass sich der Aufbau des Indikators wieder normalisiert(die Indikatorlinien entsprechen den Preiswerten, bei denen sie gezeichnet werden), wenn der Bildschirmbereich leicht nach links verschoben wird.

Mit anderen Worten, wenn Sie die ersten Balken aus dem Bildschirm "entfernen", wird der Indikator gut gezeichnet. Sobald der Indikator ganz nach rechts verschoben wird, stellt sich ein solcher Fehler heraus.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов - Документация по MQL5
 
stringo:
Bereits behoben. Warten Sie auf den Bau.
Ja, danke.
 
Karlson:

Sind die MC-Server defekt?

Aktueller Audi.

Nach USDLFX zu urteilen, ist es ein Problem von Lightforx, nicht von MQ.
 
notused:
Nach USDLFX zu urteilen, ist dies das Problem von Lyforex, nicht von MQ.

Aufmerksam ))))

Racing Expert.Connected auf MK.On lite war es genau richtig.