Обновление платформы MetaTrader 4 билд 625: Журналы в MetaTrader Market и новый MetaViewer - страница 32

 

Почему перестали отличаться по цвету от локальных переменных цвета?

Например: arrow_color = Red;

Раньше отличались вроде синеватым, как arrow_color = Red;

 
borilunad:

Почему перестали отличаться по цвету от локальных переменных цвета?

Например: arrow_color = Red;

Раньше отличались вроде синеватым.


clrRed
 
chief2000:

clrRed


Спасибо, но я не использую новый язык! Попробую, конечно, если только компилятор не заставит всё переделывать!

Попробовал, не заругался, тогда подставлю эти три буквы! Ещё раз спасибо!

 
RickD:
Добавьте плиз предопределенную переменную __VERSION__
Вы можете самостоятельно отдефайнить __VERSION__
 
Y.A.K._:

Как подкачать историю?

Метод, описаный в справке для MQL5, не помогает.

Zhunko:
Для МТ4 только так. Более надёжного способа ещё не придумано.

Zhunko, спасибо.

Уважаемые разработчики!

Не планируете ли вы дать возможность подкачивать историю из советников без плясок с бубном?

 
Y.A.K._:

Zhunko, спасибо.

Уважаемые разработчики!

Не планируете ли вы дать возможность подкачивать историю из советников без плясок с бубном?




Пока не планируем.

Кроме плясок с бубном есть два совершенно легальных способа подкачать историю

1. Закачка через центр котировок (но это подойдёт не всем)

2. Запуск тестирования на определённом символе-периоде инициирует подкачку данных по символу-периоду и по этому же символу и всем меньшим таймфреймам

 
stringo:
Вы можете самостоятельно отдефайнить __VERSION__

Я сейчас так и делаю . Но это выглядит не очень красиво. Как избыточный код.

#define __VERSION__ "2.18"
#property version __VERSION__

 
RickD:

Я сейчас так и делаю . Но это выглядит не очень красиво. Как избыточный код.

#define __VERSION__ "2.18"
#property version __VERSION__


Нормальное решение.
 

Может всё-таки кто-нибудь осветить ситуацию? Т.е. ерунда получается, если отдать библиотеке сразу массив &open[]

Индикатор:

#import "TestOpen.dll"
  void test(MqlRates &rates[], const double &arr[], const double &open[], double &outrates[], double &outarr[], double &outopen[]);

#import
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[])   {    MqlRates rates[];    ArraySetAsSeries(rates,false);    ArraySetAsSeries(open,false);    ArrayCopyRates(rates);    for(int i=0; i<nobs; i++) arr[i]=open[i];    test(rates,arr,open,outrates,outarr,outopen);    string show=" Rates      Array      open\n";    for(int i=0; i<50; i++) {     show+=DoubleToStr(outrates[i],5)+"  "+DoubleToStr(outarr[i],5)+"  "+DoubleToStr(outopen[i],5)+"\n";    }    Comment(show);    return(rates_total);   }

Библиотека:

#pragma pack(push,1)
struct RateInfo
{
  __int64           ctm;
  double            open;
  double            low;
  double            high;
  double            close;
  unsigned __int64  vol_tick;
  int               spread;
  unsigned __int64  vol_real;
};
#pragma pack(pop)


__declspec(dllexport) void __stdcall test
(
  const RateInfo *rates,
  const double   *arr,
  const double   *op,
  double         *outrates,
  double         *outarr,
  double         *outopen
)
{
  for(int i=0; i<1000; i++) {
    outrates[i]=rates[i].open;
    outarr[i]=arr[i];
    outopen[i]=op[i];
  }
}

Результат. 1-я и 2-я колонки - массивы rates и arr. Оба (дополнительных) массива отправили в длл цены нормально. А open НЕ нормально (3-я колонка)

Файлы:
 
Alexey_74:

Может всё-таки кто-нибудь осветить ситуацию? Т.е. ерунда получается, если отдать библиотеке сразу массив &open[]

Индикатор:

Библиотека:

Результат. 1-я и 2-я колонки - массивы rates и arr. Оба (дополнительных) массива отправили в длл цены нормально. А open НЕ нормально (3-я колонка)



Видимо потому что open это ссылка. Попробуй слать Open.