Между строк(аномалия).... - страница 2

 
gumgum:

Тут возникает маa(a)ленькая вероятность, что написаное на x64 терминале возможно не будет работать на x86 терминале(может и наоборот)...   

Насколько я понимаю, теоретически, если код является чистым MQL5 он должен быть абсолютно совместим. Другое дело если в МТС входят DLL-ки например...
 

Interesting:
Насколько я понимаю, теоретически, если код является чистым MQL5 он должен быть абсолютно совместим. Другое дело если в МТС входят DLL-ки например...

 

Я так понимаю, под x64 эксперту доступно гораздо больше памяти, чем под x86. Отсюда возможна несовместимость эксперта, написанного под x64, с терминалом для x86.
 
lea:
Я так понимаю, под x64 эксперту доступно гораздо больше памяти, чем под x86. Отсюда возможна несовместимость эксперта, написанного под x64, с терминалом для x86.
Теоретически полная совместимость. Память конечно будет узким местом...
 
Да память не в счет. Допустим код у вас ограмедный... замучаешся искать "слабое звено".
 
gumgum:
Да память не в счет. Допустим код у вас ограмедный... замучаешся искать "слабое звено".

Дело не в коде, а в количестве информации которую он обрабатывает, и скорости работы торговой системы.

Допустим, общий размер кода будет составлять 1 Mb, и что?...

 
Interesting:

Дело не в коде, а в количестве информации которую он обрабатывает, и скорости работы торговой системы.

Допустим, общий размер кода будет составлять 1 Mb, и что?...

Вы про что? А я про то, что одна строка работает на x64, а на x86 нет(или наоборот).
 
gumgum:
Вы про что? А я про то, что одна строка работает на x64, а на x86 нет(или наоборот).

А кто сказал, что там нет Бага? Реализация в 32 Bit может быть нормальная, а в 64 bit с "косяком".

PS

Я то имел введу теоретическую совместимость кода MQL5, этот код должен максимально одинаково работать хоть на x64, хоть на x86 (Если не считать определенной разницы самих платформ. Например скорость работы и объем обрабатываемой информации)...

 

Вот это работает в x86 терминале, а в x64 нет:

//+------------------------------------------------------------------+
//|                                                          log.mq5 |
//|                        Copyright 2010, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2010, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
//---
   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[])
  {
//---
Print(MathLog10(close[(rates_total-1)-2]/close[(rates_total-1)-3]),"  ",MathLog(close[(rates_total-1)-2]/close[(rates_total-1)-3]));
//--- return value of prev_calculated for next call
   return(rates_total);
  }

Наверное с Print'ом что-то... не так... 

 
gumgum:

Вот это работает в x86 терминале, а в x64 нет:

Наверное с Print'ом что-то... не так... 

 

EX5 должен одинаково работать как с x86, так и с x64 версиями терминала. Правильно было замечено, при использовании DLL такая совместимость пропадает, тут мы пока думаем, что можно сделать.

С описаной Вами проблемой будем разбираться.

Причина обращения: