Скачать MetaTrader 5

Проблема с обновлением комментариев на графике

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Pirat
251
Pirat  

Здравствуйте уважаемые форумчане. Столкнулся вот с такой проблемой. У меня стратегия рассчитана на работу по таймфреймам, советник открывает отложники каждый таймфрейм (например если советник стоит на h1, то открывает каждый час). Реализовал я это с помощью функции

   if (Time[0] == my_time) return (0);
   my_time = Time[0];

Все отлично работает, но есть один момент. Комментарии в терминале обновляются только 1 раз в таймфрейм, например если советник стоит на h1 то график обновляется раз в час (

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

Подскажите господа, как профиксить этот баг (хотя багом это и не назовешь), чтобы комменты обновлялись каждый тик)

Заранее спасибо за ответы, с уважением Pirat

o_o
Модератор
24297
o_o  
поставить перед этим return
Андрей
1890
Андрей  

Переформатируете код вашего советника в функции типа

ПроапдейтитьКомментарий(); 
и 
ПровестиАнализОткрытьОрдера(); 
.

И в функции start() пишите что-то типа

int start()

{ 

 ПроапдейтитьКомментарий(); 

if (Time[0] == my_time) return (0);
 my_time = Time[0];

ПровестиАнализОткрытьОрдера();
 

}
.

Гы. 

Pirat
251
Pirat  
sergeev:
поставить перед этим return

Чтовы имели ввиду перед этим? перед выводом комментария или перед функцией которую я привел?
Pirat
251
Pirat  
jartmailru:

Переформатируете код вашего советника в функции типа

и .

И в функции start() пишите что-то типа

.

Гы.


Приведите пожалуйста пример функции -
ПроапдейтитьКомментарий
Я не совсем вас понял
Андрей
1890
Андрей  

Пример функции ПроапдейтитьКомментарий()

void ПроапдейтитьКомментарий()

{

string строкаКомментария =  "Текущий профит: " + ...;

Comment(строкаКомментария);

.

Можете назвать функцию ВывестиТекущийПрофит() 

Pirat
251
Pirat  
jartmailru:

Пример функции ПроапдейтитьКомментарий()

.

void ПроапдейтитьКомментарий()

{

string строкаКомментария = "Текущий профит: " + ...;

Comment(строкаКомментария);
}

.

Можете назвать функцию ВывестиТекущийПрофит()


Если у меня Comment очень длинный, например Comment(""
+ "\n"
+ " "
+ "\n"
+ " "

+ "\n" и тд

то это никак не повлияет на работу вашей функции, которую вы привели в примере? Или вы имели ввиду что функция будет апдетить только те переменные, которые я там приведу?

Андрей
1890
Андрей  

Я имел в виду обновить комментарий до вот этих строчек:

if (Time[0] == my_time) return (0);
 my_time = Time[0];

А после него разместить торговлю.

.

А в функцию можно и не такое засунуть. 

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий