MetaTrader 4 Client Terminal build 610 - страница 60

 

господа разработчики, объясните куда подевалась единица

и когда все таки код будет одинаково работать при F7 и F5 ?

 

Всем доброго!

Вопрос к разработчикам, после перехода на 610 бил, эксперт перестал нормально работать, работа его основана на индикаторе.

Сам индикатор при подключении его на график работает исправно, дает тот же результат что и на ранних билдах терминала, но если его вызывать через iCustom, то получаю иной результат, выяснилось что через iCustom не передаются строковые переменные, вопрос это особенность билда 610 или баг с вашей стороны?

Вызов в боте:

void OnTick()
  {
//---
   string IndicatorName1 = "Indcator.07h-1";
   string _F = "1";
   string _P = "2";
   string _B = "3";
   string _L = "4";
   string ListPairs = "EUR,USD";
   double CodeRun = iCustom(NULL, 0,IndicatorName1,_F,15,_P,0,false,5,MODE_SMA,true,5,MODE_SMA,true,5,MODE_SMA, false,_B,301,_L,ListPairs, 7, 0);// 
   //double CodeRun = iCustom(NULL, 0,IndicatorName1,_F, 7, 0);// 
   
  }

В самом индикаторе проверяю получил ли я что-то или нет:

input string _F = "Количество фреймов";
input int sFraime = 60;
input string _P = "Период(времени)";
input int sPeriod = EMPTY;//PERIOD_M1;
input bool ShowL0 = false;//true;
input int L0PeriodMA = 13;
input int L0MethodMA = MODE_SMA;
input bool ShowL1 = true;
input int L1PeriodMA = 13;
input int L1MethodMA = MODE_SMA;
input bool ShowL2 = true;
input int L2PeriodMA = 13;
input int L2MethodMA = MODE_SMA;

input bool DrawOnlyMiddle = false;
input string _B = "Количество баров";
input int sBars = 300;
input string _L = "Список валют.";
input string ListPairs = "EUR,JPY,CAD,USD,GBP,AUD,CHF,NZD,OIL,CNY,TWD,KRW,INR,CNH,TRY,SGD,HKD,MXN,XAU,XAG";

int init()
  {
//---- indicators
   BaseSymbol = GetBasePairs(0, 3);
   SecondSymbol = GetBasePairs(3, 3);
   Print("Индюк -- ",ListPairs);

В журнале тестера данная строка пустая, при вызове индикатора через iCustom в боте:

2014.03.01 20:31:19.804 DashBoardV0.07h-1 EURUSD,M1: Индюк -- 

Та же срока если я кидаю индикатор на график:

2014.03.01 20:25:16.866 DashBoardV0.07h-1 EURUSD,H1: Индюк -- EUR,JPY,CAD,USD,GBP,AUD,CHF,NZD,OIL,CNY,TWD,KRW,INR,CNH,TRY,SGD,HKD,MXN,XAU,XAG

Повторю вопрос, почему не получается передать строковые переменные через iCustom ????


UP!
 

Терминал МТ4 билд 613, запущен в режиме /portable.

Происходит сброс настроек советника, прикреплённого на график при компиляции любого кода (неважно, индикатора, скрипта, другого советника). Советник кидаю на график, загружаю настройки из set-файла, он работает, как только что угодно скомпилирую в едиторе, настройки советника оказываются сброшены на те что прописаны в коде по умолчанию.

Это уже начинает надоедать, работает шесть советников параллельно и каждый раз надо им заново настройки загружать...

 
evillive:

Терминал МТ4 билд 613, запущен в режиме /portable.

Происходит сброс настроек советника, прикреплённого на график при компиляции любого кода (неважно, индикатора, скрипта, другого советника). Советник кидаю на график, загружаю настройки из set-файла, он работает, как только что угодно скомпилирую в едиторе, настройки советника оказываются сброшены на те что прописаны в коде по умолчанию.

Это уже начинает надоедать, работает шесть советников параллельно и каждый раз надо им заново настройки загружать...

но ведь так всегда было
я всегда закрываю терминал при компиляции чтобы они не сбросились
 
wlad:
но ведь так всегда было
я всегда закрываю терминал при компиляции чтобы они не сбросились

Раньше не замечал такого, вроде тоже компилировал в том же терминале другие коды, но настройки советника в окне не слетали. Подчеркну - компилируется совершенно посторонний код, а не тот советник что в терминале трудится, а слетают настройки именно у него.
 

да если другой компилируется, тогдa настройки не должны слетать

непорядок, пиши в сервисдеск
 
keekkenen:

господа разработчики, объясните куда подевалась единица

и когда все таки код будет одинаково работать при F7 и F5 ?


в продолжение, можно писать вот такие залепухи по коду

if(NormalizeDouble(lowPoint*Point-low,Digits)!=0)
     {        
      while(NormalizeDouble(lowPoint*Point-low,Digits) < 0)
        {
         lowPoint+=1;
        }
      while(NormalizeDouble(lowPoint*Point-low,Digits)>0)
        {
         lowPoint-=1;
        }
     }

но сами понимаете что это у же не программирование, а гадание на кофейной гуше

 
AlexeyVik:

Извиняюсь, я тоже проверил. Так и есть, в Comment и Print работает а в Alert не хочет.

Уже выше написал об этом. Проигнорировали.

Раньше наоборот было. В алерте работало, в принт не работало. Что-то, видимо, перепутали.

 

OnTimer()

почему то запускатся перестала

или в выходные она не работает?

.......

сейчас заработала опять
я уже на днях замечал, работает как то через раз
перкомпилировал несколько раз - ничего
потом вдруг и заработало

странно

.......

никто не сталкивался?
не могу воспроизвести,
странно уже пару раз было что функкция не запускалась
потом все как будто ничего не бывало
Windows 8.1 Pro 64-bit

 
wlad:

OnTimer()

почему то запускатся перестала

или в выходные она не работает?

.......

сейчас заработала опять
я уже на днях замечал, работает как то через раз
перкомпилировал несколько раз - ничего
потом вдруг и заработало

странно

.......

никто не сталкивался?
не могу воспроизвести,
странно уже пару раз было что функкция не запускалась
потом все как будто ничего не бывало
Windows 8.1 Pro 64-bit



на текущий момент имеются определенные (и неопределенные) косяки в компиляторе, поэтому рекомедую код компилировать по F5
Причина обращения: