[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 688

 
Инвесторы нонче грамошные пошли: знают, что такое эквити. Наелись, видно, этих ракет баланса в небо до отвала...
 
Mathemat:
Инвесторы нонче грамошные пошли: знают, что такое эквити. Наелись, видно, этих ракет баланса в небо до отвала...
:) Алексей, а ведь не перевелись ещё на Руси толстосумы, завороженно смотрящие в небо вслед за линией баланса... :)

... Только есть такое понятие как совесть и честность, прямо произрастающее из совести... :)

Позже мысль пришла - добавил: и не только совесть и честность... тут ещё и последствия имеют немаловажную роль... Для здравомыслящих ес-с-но...

 
ToLik_SRGV:

Зачем вам индикатор? Вот вам функция:

Параметр ех – номер экстремума зигзага, считать надо с права на лево, начиная с 1. Отсальные параметры, стандартные настройки зигзага.

Пример использования функции:
Вернем 3 последних экстремума зигзага.


Это очень неэффективно, внутри этой функции цикл, будет три цикла в то время как все три вершины можно найти за один.

Для того чтобы извлечь из индикатора несколько величин нужно заводить для них индикаторный буфер, и специально обслуживать этот буфер в коде индикатора. И памяти буфер возьмёт неоправданно много. То есть это тоже не слишком эффективное решение.

Эффективно будет интегрировать код зигзага в нужный индикатор, тогда вершины можно будет запоминать в момент их возникновения. А чтобы как-то структурировать код нужно оформить в виде функции сам зигзег, точнее один шаг зигзага. Тогда сам индикатор зигзага будет выглядеть примерно так

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   int    counted_bars=IndicatorCounted();
//----
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;

   for(int i=0; i<limit; i++) {    RunZZ(i);    }

//----    return(0);   }

Такой цикл будет легко вставить хоть в индикатор, хоть в эксперт. И без лишних проблем пользоваться "внутренними" данными зигзага.

 
Candid:

Это очень неэффективно, внутри этой функции цикл, будет три цикла в то время как все три вершины можно найти за один...

Возможно, это так и есть, но интегрировать код зигзага в советник или другой индикатор, в данном конкретном случае, что стрелять из пулемета по воробьям, излишнее усложнение.
Насколько я понял, человеку нужны  несколько последних экстремумов ZigZag, поэтому циклы в моем методе будут достаточно "короткие", и сильно систему не перегрузят.
 
ToLik_SRGV:

Зачем вам индикатор? Вот вам функция:

Параметр ех – номер экстремума зигзага, считать надо с права на лево, начиная с 1. Отсальные параметры, стандартные настройки зигзага.

Пример использования функции:
Вернем 3 последних экстремума зигзага.


Спасибо большое, а я целый день вчера провозился с этим зигзагом, при вызове iCustom почему то 0 возвращает. Осталось эту функцию к советнику "прикрутить", попробую, может получится.
 
Candid:

Это очень неэффективно, внутри этой функции цикл, будет три цикла в то время как все три вершины можно найти за один.

Для того чтобы извлечь из индикатора несколько величин нужно заводить для них индикаторный буфер, и специально обслуживать этот буфер в коде индикатора. И памяти буфер возьмёт неоправданно много. То есть это тоже не слишком эффективное решение.

Эффективно будет интегрировать код зигзага в нужный индикатор, тогда вершины можно будет запоминать в момент их возникновения. А чтобы как-то структурировать код нужно оформить в виде функции сам зигзег, точнее один шаг зигзага. Тогда сам индикатор зигзага будет выглядеть примерно так

Такой цикл будет легко вставить хоть в индикатор, хоть в эксперт. И без лишних проблем пользоваться "внутренними" данными зигзага.

Спасибо за помощь, только как бы чего не испортить в зигзаге, я же только учусь ещё.
 
ToLik_SRGV:

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

Как вы это себе представляете? Линия баланса через AccountBalance() считается уже по закрытым позициям, то есть с зафиксированной прибылью или убытком, как при этом он может спускать вложенные средства, в просадке? Тогда причем здесь AccountEquity() если мартин правильно считать с зафиксированных позиций? Взять ту же функцию Кима, она ведь ищет последнюю ЗАКРЫТУЮ позицию в истории.

Он в любом случае обречен.

Призадумался - от чего отталкиваться при расчете риска для новой сделки, если главный критерий - наименьший риск? -

AccountFreeMargin(), AccountEquity(), AccountBalance() ..?

- AccountBalance() - не учитывает открытых сделок.

- AccountEquity() - это то что мы видим на графике баланса? - в таком случае мы будем опираться на деньги, которые еще нам не принадлежат.

- AccountFreeMargin() - может использовать это? (допускаю что могу неверно понимать что это такое)

 
eugggy:
Спасибо за помощь, только как бы чего не испортить в зигзаге, я же только учусь ещё.


Как пример быстрого зигзага, который строит канал по последним вершинам

Файлы:
 
Vinin:


Как пример быстрого зигзага, который строит канал по последним вершинам

ОК, попробую. Но для идентификации фигур он наверное не подойдёт.
 

Здравствуйте.

У меня наверно простой вопрос для профи, имхо, вопрос по ограничению количества символов в mql4.

Прочёл, что в переменную типа string помещается не более 255 символов, а есть ли подобное ограничение для if ?

Если есть, то какие? :)

Сигналы для открытия позиции можно записывать под одним if ? или необходимо разбивать код на блоки?