Ошибки, баги, вопросы - страница 2135

 

Trailing в Советнике работает на всех валютах/товарах, НО:

SILVER,H1: invalid stoploss for OrderModify function

Подскажите: куда смотреть?

 
Igor Golieniev:

Trailing в Советнике работает на всех валютах/товарах, НО:

SILVER,H1: invalid stoploss for OrderModify function

Подскажите: куда смотреть?


SYMBOL_TRADE_TICK_SIZE

Минимальное изменение цены

double

 
Vladislav Andruschenko:


SYMBOL_TRADE_TICK_SIZE

Минимальное изменение цены

double

Спасибо. Как задать явно размер тика? Для Silver/
 
Igor Golieniev:
Спасибо. Как задать явно размер тика? Для Silver/


Задать вы не сможете, это задает брокер. 

Вам нужно "отъюстировать" Ваши стопы по размеру тика

 
Vladislav Andruschenko:


Задать вы не сможете, это задает брокер. 

Вам нужно "отъюстировать" Ваши стопы по размеру тика

Перед отправкой приказа на модификацию выводит в принт значение stoploss = 15,15 - двухзнак.

Можно лиэто исправить по простому? Принудительно, чтоб выдавал тризнака.

 

Всем привет! Подскажите что за колдунство происходит в MQL5.


Такой код будет ждать нового тика чтобы посчитаться:


int TakeArraySize(datetime time)

{

   MqlRates rates[];

   int Arr1 = CopyRates(_Symbol, PERIOD_CURRENT, time, time, rates);

   Print("Время: ", TimeToString(time), " Скопировано ", Arr1 ," баров");

   // Тут мы будем ждать следующий тик и не будем выходить из функции;

   int Arr2 = CopyRates(_Symbol, PERIOD_CURRENT, time+60, time+60, rates);

   Print("Время: ", TimeToString(time), " Скопировано ", Arr2 ," баров");

   return (Arr2 );

}


А этот код выполнится нормально во время одного тика:


int TakeArraySize(datetime time)

{

   MqlRates rates[];

   int Arr1 = CopyRates(_Symbol, PERIOD_CURRENT, time, time, rates);

   Print("Время: ", TimeToString(time), " Скопировано ", Arr1 ," баров");

   // А этот код работает и не ждет следующий тик.

   MqlRates rates1[];

   int Arr2 = CopyRates(_Symbol, PERIOD_CURRENT, time+60, time+60, rates1);

   Print("Время: ", TimeToString(time), " Скопировано ", Arr2 ," баров");

   return (Arr2 );

}


А, да, даже если просто два раза подряд вызвать "TakeArraySize" (как в следующем куске кода) мы все равно будем ждать один тик


int TakeArraySize(datetime time)

{

   MqlRates rates[];

   int Arr1 = CopyRates(_Symbol, PERIOD_CURRENT, time, time, rates);

   Print("Время: ", TimeToString(time), " Скопировано ", Arr1 ," баров");

   return (Arr1);

}

В чем прикол? Как это можно исправить? Ну или что я делаю не так в данном примере?

Заранее спасибо.

 

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

(0-9)

(a-z)

(A-Z)

(.)

(&)

еще какие нибудь?

 
Pavel Kolchin:

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

(0-9)

(a-z)

(A-Z)

(.)

(&)

еще какие нибудь?

#

$

_ (нижнее подчёркивание)
 
OrderStopLoss() выводит два знака после запятой.
Можно ли принудить его выводить три знака?
 
Igor Golieniev:

Зачем?

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