Вопросы от "чайника" - страница 209

 
talliy:

Хотелось бы еще уточнить как переменной запретить двигаться за ценой.

Пример: Простой тралл стопа. Мы говорим переменной следить за ценой на расстоянии 20 пунктов(к примеру). Т.е. переменная = цена bid - 20 пунктов(при условии что мы купили). Ценна идет в верх и мы успешно следуем за ней. Далее цена пошла в низ, а нам надо что бы переменная осталась в своем значении на прежнем уровне.

Т.е. мой вопрос - как запретить переменной принимать значения в определенный момент? 

Например так:

if(mysymbol.Bid()>(myposition.StopLoss()+StopLoss*_Point))
              {
                ...
              }
 
A100:

 Метод  Описание
mysymbol.RefreshRates() Используется для обновления котировок. При установке нового символа вызывается автоматически.
 

 

Тогда получается, что не автоматически!

 Method  Description
mysmbol.RefreshRates() This function is used to check the latest quotes data. It returns true on success and false on failure. This is a useful function you cannot do without.

 

Получается что статья https://www.mql5.com/en/articles/138 изначально была на английском и перевод не совсем тот - нет указания на автоматический вызов. Желательно в заловке статьи указывать исходный язык.

The Use of the MQL5 Standard Trade Class libraries in writing an Expert Advisor
The Use of the MQL5 Standard Trade Class libraries in writing an Expert Advisor
  • 2010.11.10
  • Samuel
  • www.mql5.com
This article explains how to use the major functionalities of the MQL5 Standard Library Trade Classes in writing Expert Advisors which implements position closing and modifying, pending order placing and deletion and verifying of Margin before placing a trade. We have also demonstrated how Trade classes can be used to obtain order and deal details.
 
uncleVic:

Большое человеческое спасибо!!!

Кому интересно:

Статическая переменная может быть проинициализирована соответствующей ее типу константой или константным выражением, в отличие от простой локальной переменной, которая может быть проинициализирована любым выражением.

Статические переменные существуют с момента выполнения программы и инициализируются однократно перед вызовом специализированной функции OnInit(). Если начальные значения не указаны, то переменные статического класса памяти принимают нулевые начальные значения.

Локальные переменные, объявленные с ключевым словом static сохраняют свои значения в течение всего времени существования функции. При каждом следующем вызове функции такие локальные переменные содержат те значения, которые они имели при предыдущем вызове. 

 
Reshetov:

Например так:

А если тралл осуществляется невидимо от брокера без обозначения стоп лоса. Просто некое слежение за ценой.
 
A100:
 Method  Description
mysmbol.RefreshRates() This function is used to check the latest quotes data. It returns true on success and false on failure. This is a useful function you cannot do without.

 

Получается что статья https://www.mql5.com/en/articles/138 изначально была на английском и перевод не совсем тот - нет указания на автоматический вызов. Желательно в заловке статьи указывать исходный язык.

Спасибо за полезную ссылочку
 
MetaQuotes:


MetaTrader 5 Client Terminal build 722

5. Terminal: Исправлена навигация по чарту при заданной точке фиксации.
Можно подробнее, о чем это? 
 

talliy:

Yedelkin: Как вариант, введите ещё одну переменную, которой будете присваивать значение true, если первая переменная послана на печать.

bool bar_printed=false;
...
if()                     //Проверяете нужное условие
  {
   ...
   if(!bar_printed) { Print("Нужное условие выполнено");
      bar_printed=true;
     }
  } 

В случае котором предлагаете вы, переменная с каждым тиком ложно и уже после выполнения печати в журнал становится истинной. Далее новый тик и оператор onTick() выполняет свою программу сверху в низ. А там переменная опять ложно, а в условии что если переменная ложно то печать. И следовательно журнал полнится записями с каждым тиком. Проверено!!!

Интересно, а кто Вам сказал, что строчку 'bool bar_printed=false;' необходимо вставлять в обработчик тиков? - Тем не менее, Вы вставили эту строчку непосредственно в обработчик тиков и затем сделали свой вывод типа "переменная с каждым тиком ложно".

А многоточие из второй строчки моего примера Вы куда вставили? И как Ваш эксперт отреагировал на это многоточие? - ...Может, перед тем, как ставить очередной штамп "Проверено!!!", лучше спросить, насколько правильно Вы поняли суть предлагаемого примера?

 
uncleVic:

Если приглядеться к классу CPositionInfo "с рентгеном", можно заметить что метод Type() не возвращает тип позиции (в отличии от метода PositionType()).

Предлагаю все методы Type()  стандартной библиотеки переименовать в ClassType().

Слишком много подобных ошибок и путаницы.

Я уже раза три-четыре на автомате прописывал CPositionInfo.Type() в коде там где нужен был тип позиции.  Потом отлаживался по три дня (первых два раза.  потом быстрее доходить стало.) :)

Для совместимости можно для начала сделать дубликат с новым именем, а старое снести через несколько недель (месяцев).

 
Здравствуйте. Подскажите, как поместить файл Channel.mq4 и Scalper_MA.mq4, в МТ4? Спасибо!
 
[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - MQL4 форум
  • www.mql5.com
[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - MQL4 форум