Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
deni
24
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);

  } 

 

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

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

Alexey Kozitsyn
7620
Alexey Kozitsyn  

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

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

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

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

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

 

 

Maxim Kuznetsov
11798
Maxim Kuznetsov  
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  
Alexey Kozitsyn:

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

 

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

Dmitry Fedoseev
46494
Dmitry Fedoseev  
Лучше в OnTimer.
Alexey Kozitsyn
7620
Alexey Kozitsyn  

deni:

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

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

 

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