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

 

Не знаю, был ли раньше такой баг, или он новый. Спрошу здесь. Из кода создаю новый график и меняю его символ и период:

void OnStart()
{
    long chartID = ChartOpen("GBPUSD", PERIOD_M1);
    ChartSetSymbolPeriod(chartID, "EURUSD", PERIOD_M5);
}

Он размещается так, что не видна шкала времени, она находится где-то ниже (см. рисунок). Виновата в этом функция ChartSetSymbolPeriod(), до её вызова шкала на месте. Мелочь, но неприятная. Можно как-нибудь победить?

PS. Причём это происходит только в том случае, если открыт только один график, на который и бросается этот скрипт. Если же открыто более одного графика, то всё в порядке.

 
Spy:

Не знаю, был ли раньше такой баг, или он новый. Спрошу здесь. Из кода создаю новый график и меняю его символ и период:

Он размещается так, что не видна шкала времени, она находится где-то ниже (см. рисунок). Виновата в этом функция ChartSetSymbolPeriod(), до её вызова шкала на месте. Мелочь, но неприятная. Можно как-нибудь победить?

PS. Причём это происходит только в том случае, если открыт только один график, на который и бросается этот скрипт. Если же открыто более одного графика, то всё в порядке.

ChartSetInteger(chartID,CHART_SHOW_DATE_SCALE,true);
 
GSB:

Вопрос такой - какие торговые функции блокирует отжатие кнопки Expert Advizors ?

По моим наблюдениям модификация экспертом TP позиции продолжается и при отжатой кнопке


В эксперт надо встроить проверку на отжатие кнопки "советники". Если советник был запущен а потом кнопка отжата, то он в некоторых случаях продолжает работать как и раньше, пока не выгрузишь вручную (если зациклен, например).

evillive:

В эксперт надо встроить проверку на отжатие кнопки "советники". Если советник был запущен а потом кнопка отжата, то он в некоторых случаях продолжает работать как и раньше, пока не выгрузишь вручную (если зациклен, например).

Да встроить то можно, но это все "ухищрения", а я говорю про платформу и ее функционал. Кнопка Expert Advizors должна блокировать все активные торговые функции Close(), CloseBy(),Send(), Modify(), Delete(). Остальные информационного характера оставив функционирующими.

Не хочу заниматься критиканством, Но... любая торговая платформа предназначена для трейдеров и ведения торгов, коей МТ4 и был до 509 билда, а не для коммерции посредством встроенного Маркета, ради чего все и было затеяно.

Возможно в ближайшей перспективе Метаквотовцы и заработают на этом "базаре" за счет людей не желающих учится торговать и именно этим зарабатывать, а рассчитывающих на "сыр в мышеловке", но среди трейдеров авторитет подорвут. Ну это выбор учредителей.

 
GSB:

В эксперт надо встроить проверку на отжатие кнопки "советники". Если советник был запущен а потом кнопка отжата, то он в некоторых случаях продолжает работать как и раньше, пока не выгрузишь вручную (если зациклен, например).


Да встроить то можно, но это все "ухищрения", а я говорю про платформу и ее функционал. Кнопка Expert Advizors должна блокировать все активные торговые функции Close(), CloseBy(),Send(), Modify(), Delete(). Остальные информационного характера оставив функционирующими.

Не хочу заниматься критиканством, Но... любая торговая платформа предназначена для трейдеров и ведения торгов, коей МТ4 и был до 509 билда, а не для коммерции посредством встроенного Маркета, ради чего все и было затеяно.

Возможно в ближайшей перспективе Метаквотовцы и заработают на этом "базаре" за счет людей не желающих учится торговать и именно этим зарабатывать, а рассчитывающих на "сыр в мышеловке", но среди трейдеров авторитет подорвут. Ну это выбор учредителей.


Отжатие кнопки "Советники" блокирует только торговые функции советников. Где-то об этом уже писали разработчики. Искать не буду.
 
artmedia70:
Отжатие кнопки "Советники" блокирует только торговые функции советников. Где-то об этом уже писали разработчики. Искать не буду.


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


Я читаю официальную документацию - блокирует функцию start() а следовательно полностью работу эксперта. В любом случае модификаций ордеров не должно быть. Возможно я ошибся, в ближайшие торговые сессии проверю.

Как написал выше, на мой взгляд, было бы правильно блокировать только активные функции работы с ордерами, а информационные оставить, но это лишняя проблема для разработчиков.


 
Есть вопрос к разработчикам или к знающим людям.

У меня есть несколько исследовательских терминалов и несколько терминалов на ВПС. Они все запускаются в режиме /portable. Я удаляю на них все лишнее и не нужное мне для работы или торговли. В частности я удаляю все стандартные индикаторы, скрипты и эксперты. Но после обновления теминала, они опять появляются в рабочих директориях. Как мне их удалить так, чтобы при обновлении они больше не появлялись бы?
 
ANG3110:
Я удаляю на них все лишнее и не нужное мне для работы или торговли.

Зря Вы считаете все это лишним, Большому брату виднее ;D
А вообще, сделайте bat-файл в котором будет указано что необходимо удалить -
коряво конечно, может разработчики предложат вариант получше?!
 
chief2000:

Зря Вы считаете все это лишним, Большому брату виднее ;D
А вообще, сделайте bat-файл в котором будет указано что необходимо удалить -
коряво конечно, может разработчики предложат вариант получше?!

В 509-й версии такого не было. Когда идет реальная торговля на ВПС, бывает что что-то нужно сделать немедленно, так как от этого зависят очень приличные деньги и все лишнее, что маячит перед глазами, я лично убираю. Но вот при обновлении, все эти нагромождения опять устанавливаются в рабочие папки. Делать батник - ну можно, да зачем городить такие сложности. Да и вообще такие решения - через задницу. Если можно решить это как-то по человечески - было бы намного лучше.
 
artmedia70:

ChartSetInteger(chartID,CHART_SHOW_DATE_SCALE,true);


Проблема не в шкале, она есть, просто нижняя граница окна опущена куда-то вниз, посмотрите на рисунок внимательнее. Тут флаг CHART_WINDOW_MAXIMIZED помог бы, но такого флага нет. А вообще, это просто баг, который проявляет себя только в том случае, если в терминале открыто не более одного окна.
 

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

Вопрос к разработчикам, после перехода на 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 ????