Скачать MetaTrader 5

Автообновление скрипта, возможно?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Подключи хранилище исходного кода MQL5 Storage. Это бесплатно!
deni
24
deni 2016.01.16 06:54 

Приветствую идейных бойцов за дензнаки!

Вопрос чайника, далекого от вдумчивого программирования. Есть вот такой скрипт расчета лота:

 

#property indicator_chart_window

input int StopLoss = 200;

input double Procent_Loss = 1;

double TickValue;

void start()

  {

  OnTick();

  }

void OnTick()

  {

TickValue = MarketInfo(_Symbol,MODE_TICKVALUE);

Comment(" ",StopLoss/10,"п  ",Procent_Loss,"%  ", AccountBalance()/100*Procent_Loss/StopLoss/TickValue);

  } 

 

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

Есть ли возможность заставить его пересчитываться периодически или регулярно?

Alexey Kozitsyn
6371
Alexey Kozitsyn 2016.01.16 07:11  

Есть ли возможность заставить его пересчитываться периодически или регулярно?

Да, такая возможность есть. Для этого и существуют индикаторы. Они не обязательно должны отображаться в подокне. Могут также отображать только комментарий и обновлять его по тикам/по времени.
deni
24
deni 2016.01.16 08:14  
Может тогда кто подправит, если это не сложно. Заранее спасибо!
Alexey Kozitsyn
6371
Alexey Kozitsyn 2016.01.16 11:01  
deni:
Может тогда кто подправит, если это не сложно. Заранее спасибо!

Файлы:
hz.mq4 2 kb
deni
24
deni 2016.01.19 03:08  
Alexey Kozitsyn:

Попробовал, поставил. Все равно самостоятельно не изменяется при изменении баланса
Alexey Kozitsyn
6371
Alexey Kozitsyn 2016.01.19 08:26  
deni:
Попробовал, поставил. Все равно самостоятельно не изменяется при изменении баланса

У меня все самостоятельно изменилось.

 

 

Maxim Kuznetsov
9607
Maxim Kuznetsov 2016.01.19 08:39  
deni:

Приветствую идейных бойцов за дензнаки!

Вопрос чайника, далекого от вдумчивого программирования. Есть вот такой скрипт расчета лота:

 

#property indicator_chart_window

input int StopLoss = 200;

input double Procent_Loss = 1;

double TickValue;

void start()

  {

  OnTick();

  }

void OnTick()

  {

TickValue = MarketInfo(_Symbol,MODE_TICKVALUE);

Comment(" ",StopLoss/10,"п  ",Procent_Loss,"%  ", AccountBalance()/100*Procent_Loss/StopLoss/TickValue);

  } 

 

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

Есть ли возможность заставить его пересчитываться периодически или регулярно?

Добавь пересчёт баланса по событиям на чарте :

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam
                  )

  {  OnTick();

  }

и функция у тебя неудачно названна :-) вместо OnTick() логичнее какой-нить "CheckBalance()"
deni
24
deni 2016.01.19 13:17  
Alexey Kozitsyn:

У меня все самостоятельно изменилось.

 

 У меня через раз, то обновляется , то нет)

Dmitry Fedoseev
42875
Dmitry Fedoseev 2016.01.19 13:25  
Лучше в OnTimer.
Alexey Kozitsyn
6371
Alexey Kozitsyn 2016.01.19 15:48  

deni:

Из документации: Функция OnCalculate() вызывается только в пользовательских индикаторах при необходимости произвести расчет значений индикатора по событию Calculate. Обычно это происходит при поступлении нового тика по символу, для которого рассчитывается индикатор.

Никаких через раз/два быть не может. Ценовые данные изменились - пришло событие - обновился индикатор (конечно, если по логике оно должно быть). 

 

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