Параметр ех – номер экстремума зигзага, считать надо с права на лево, начиная с 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);
}
Такой цикл будет легко вставить хоть в индикатор, хоть в эксперт. И без лишних проблем пользоваться "внутренними" данными зигзага.
Это очень неэффективно, внутри этой функции цикл, будет три цикла в то время как все три вершины можно найти за один...
Возможно, это так и есть, но интегрировать код зигзага в советник или другой индикатор, в данном конкретном случае, что стрелять из пулемета по воробьям, излишнее усложнение. Насколько я понял, человеку нужны
несколько последних экстремумов ZigZag, поэтому циклы в моем методе будут достаточно "короткие", и сильно систему не перегрузят.
Параметр ех – номер экстремума зигзага, считать надо с права на лево, начиная с 1. Отсальные параметры, стандартные настройки зигзага.
Пример использования функции: Вернем 3 последних экстремума зигзага.
Спасибо большое, а я целый день вчера провозился с этим зигзагом, при вызове iCustom почему то 0 возвращает. Осталось эту функцию к советнику "прикрутить", попробую, может получится.
Это очень неэффективно, внутри этой функции цикл, будет три цикла в то время как все три вершины можно найти за один.
Для того чтобы извлечь из индикатора несколько величин нужно заводить для них индикаторный буфер, и специально обслуживать этот буфер в коде индикатора. И памяти буфер возьмёт неоправданно много. То есть это тоже не слишком эффективное решение.
Эффективно будет интегрировать код зигзага в нужный индикатор, тогда вершины можно будет запоминать в момент их возникновения. А чтобы как-то структурировать код нужно оформить в виде функции сам зигзег, точнее один шаг зигзага. Тогда сам индикатор зигзага будет выглядеть примерно так
Такой цикл будет легко вставить хоть в индикатор, хоть в эксперт. И без лишних проблем пользоваться "внутренними" данными зигзага.
Спасибо за помощь, только как бы чего не испортить в зигзаге, я же только учусь ещё.
Да нет, не лучше Артём, AccountBalance () возвращает сумма денежных средств на счете без учета открытых позиций, при это не важно в плавающие прибыли или убытке она сейчас находится, в то время как AccountEquity() возвращает баланс с учетом плавающей прибыли или убытка, это что же получится допустим одна позиция ушла в плавоющий убыток, а мартин тут же удваивает лот? как то странно получится по мойму... Как я уже сказал функцию лучше вызывать когда других открытых позиций нет, а в этот момент AccountEquity() и AccountBalance() возвращают одни и те же цифры.
Как вы это себе представляете? Линия баланса через AccountBalance() считается уже по закрытым позициям, то есть с зафиксированной прибылью или убытком, как при этом он может спускать вложенные средства, в просадке? Тогда причем здесь AccountEquity() если мартин правильно считать с зафиксированных позиций? Взять ту же функцию Кима, она ведь ищет последнюю ЗАКРЫТУЮ позицию в истории.
Он в любом случае обречен.
Призадумался - от чего отталкиваться при расчете риска для новой сделки, если главный критерий - наименьший риск? -
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Инвесторы нонче грамошные пошли: знают, что такое эквити. Наелись, видно, этих ракет баланса в небо до отвала...
... Только есть такое понятие как совесть и честность, прямо произрастающее из совести... :)
Позже мысль пришла - добавил: и не только совесть и честность... тут ещё и последствия имеют немаловажную роль... Для здравомыслящих ес-с-но...
Зачем вам индикатор? Вот вам функция:
Параметр ех – номер экстремума зигзага, считать надо с права на лево, начиная с 1. Отсальные параметры, стандартные настройки зигзага.
Пример использования функции:
Вернем 3 последних экстремума зигзага.
Это очень неэффективно, внутри этой функции цикл, будет три цикла в то время как все три вершины можно найти за один.
Для того чтобы извлечь из индикатора несколько величин нужно заводить для них индикаторный буфер, и специально обслуживать этот буфер в коде индикатора. И памяти буфер возьмёт неоправданно много. То есть это тоже не слишком эффективное решение.
Эффективно будет интегрировать код зигзага в нужный индикатор, тогда вершины можно будет запоминать в момент их возникновения. А чтобы как-то структурировать код нужно оформить в виде функции сам зигзег, точнее один шаг зигзага. Тогда сам индикатор зигзага будет выглядеть примерно так
Такой цикл будет легко вставить хоть в индикатор, хоть в эксперт. И без лишних проблем пользоваться "внутренними" данными зигзага.
Это очень неэффективно, внутри этой функции цикл, будет три цикла в то время как все три вершины можно найти за один...
Насколько я понял, человеку нужны несколько последних экстремумов ZigZag, поэтому циклы в моем методе будут достаточно "короткие", и сильно систему не перегрузят.
Зачем вам индикатор? Вот вам функция:
Параметр ех – номер экстремума зигзага, считать надо с права на лево, начиная с 1. Отсальные параметры, стандартные настройки зигзага.
Пример использования функции:
Вернем 3 последних экстремума зигзага.
Это очень неэффективно, внутри этой функции цикл, будет три цикла в то время как все три вершины можно найти за один.
Для того чтобы извлечь из индикатора несколько величин нужно заводить для них индикаторный буфер, и специально обслуживать этот буфер в коде индикатора. И памяти буфер возьмёт неоправданно много. То есть это тоже не слишком эффективное решение.
Эффективно будет интегрировать код зигзага в нужный индикатор, тогда вершины можно будет запоминать в момент их возникновения. А чтобы как-то структурировать код нужно оформить в виде функции сам зигзег, точнее один шаг зигзага. Тогда сам индикатор зигзага будет выглядеть примерно так
Такой цикл будет легко вставить хоть в индикатор, хоть в эксперт. И без лишних проблем пользоваться "внутренними" данными зигзага.
Да нет, не лучше Артём, AccountBalance () возвращает сумма денежных средств на счете без учета открытых позиций, при это не важно в плавающие прибыли или убытке она сейчас находится, в то время как AccountEquity() возвращает баланс с учетом плавающей прибыли или убытка, это что же получится допустим одна позиция ушла в плавоющий убыток, а мартин тут же удваивает лот? как то странно получится по мойму...
Как я уже сказал функцию лучше вызывать когда других открытых позиций нет, а в этот момент AccountEquity() и AccountBalance() возвращают одни и те же цифры.
Как вы это себе представляете? Линия баланса через AccountBalance() считается уже по закрытым позициям, то есть с зафиксированной прибылью или убытком, как при этом он может спускать вложенные средства, в просадке? Тогда причем здесь AccountEquity() если мартин правильно считать с зафиксированных позиций? Взять ту же функцию Кима, она ведь ищет последнюю ЗАКРЫТУЮ позицию в истории.
Он в любом случае обречен.
Призадумался - от чего отталкиваться при расчете риска для новой сделки, если главный критерий - наименьший риск? -
AccountFreeMargin(), AccountEquity(), AccountBalance() ..?
- AccountBalance() - не учитывает открытых сделок.
- AccountEquity() - это то что мы видим на графике баланса? - в таком случае мы будем опираться на деньги, которые еще нам не принадлежат.
- AccountFreeMargin() - может использовать это? (допускаю что могу неверно понимать что это такое)
Спасибо за помощь, только как бы чего не испортить в зигзаге, я же только учусь ещё.
Как пример быстрого зигзага, который строит канал по последним вершинам
Как пример быстрого зигзага, который строит канал по последним вершинам
Здравствуйте.
У меня наверно простой вопрос для профи, имхо, вопрос по ограничению количества символов в mql4.
Прочёл, что в переменную типа string помещается не более 255 символов, а есть ли подобное ограничение для if ?
Если есть, то какие? :)
Сигналы для открытия позиции можно записывать под одним if ? или необходимо разбивать код на блоки?