Ваши вопросы по языку MQL4

Milord

Местный знаток
Меряет скорость исполнения для iMAonArray и для простого суммирования с делением на количество слагаемых

СПАСИБО ЗА ПОДСКАЗКУ,интересно есть ли скрипты измеряющие скорость открытия, закрытия, удаления ордеров,частоту пропадания связи и прочих реквот брокера, чтобы оценить его "вшивость" относительно других брокеров???
если у кого есть, выложите плиз)
ЗАРАНЕЕ СПАСИБО!)
 

Milord

Местный знаток
Так ли работает Мартингейл???

Уважаемые программеры, скажите свое мнение, верно ли я понимаю, что советник-мартингейл имеет простой алгоритм:
1)открываем ордер
2)если пошла просадка(лось) открываемся в ту
же сторону с увеличением лота
3)лот увеличиваем по формуле Lot=Lot*LotExp, где LotExp- коэффициент увеличения лота, обычно равен от 1 до 2, с шагом 0.1
вот и вся логика мартина, остальное все стандартное, число ордеров, магик номер и прочее...

P.S.
неясно только по какому условию или индикатору открывается 1-й ордер, и в какую сторону???
и в чем разница алгоритма усреднения ордеров и мартингейла???

ответьте плиз понятнее,и подробнее)
ЗАРАНЕЕ СПАСИБО!)
 
Последнее редактирование:

Ugar

Гуру форума
Уважаемые программеры, скажите свое мнение, верно ли я понимаю, что советник-мартингейл имеет простой алгоритм:
1)открываем ордер
2)если пошла просадка(лось) открываемся в ту
же сторону с увеличением лота
3)лот увеличиваем по формуле Lot=Lot*LotExp, где LotExp- коэффициент увеличения лота, обычно равен от 1 до 2, с шагом 0.1
вот и вся логика мартина, остальное все стандартное, число ордеров, магик номер и прочее...

P.S.
неясно только по какому условию или индикатору открывается 1-й ордер, и в какую сторону???
и в чем разница алгоритма усреднения ордеров и мартингейла???

ответьте плиз понятнее,и подробнее)
ЗАРАНЕЕ СПАСИБО!)
Есть 2 основных вида мартингейла, простой и сложный.
То что описано даже не простой, а примитивное подобие.
В простом мартингейле ставка увеличивается так что бы выигрышная сделка скомпенсировала все предыдущие потери и принести прибыль в размере начальной ставки.
Если взять пример из форекса. К примеру закрытие только по стоп лосс или тейк профит и они равны, то лот должен величиваться в 2 раза относительно лота последней проирышной сделки. Лот будет меняться 0.1, 0.2, 0.4, 0.8...
А если стоп лосс в несколько раз больше чем тейк профит, то и умножение лота должно быть соответственго пересчитано.
В сложном мартингейле компенсация потерь производится не одной выигрышной сделкой, а несколькими. Соответственно и коэффициент умножения обычно меньше. Например с тем же примером стоп лосс равен тейк профит. Коэфиициент умножения лота 1.4 позволит отбить убытки и заработать начальную прибыль 2 выигрышными сделками подряд.
В метатрейдере, есть возможность открывать много сделок. И эту возможность стали использовать для реализации мартингейла.
Собрав сеть ордера в сторону убытка и переместив общий тейк на пересчитанный соответствующий уровень.
На самом деле это разновидность простого мартингейла. За счёт открытия нескольких ордеров, немного снижены платы за спред.
 

Milord

Местный знаток
Есть 2 основных вида мартингейла, простой и сложный.
То что описано даже не простой, а примитивное подобие.
В простом мартингейле ставка увеличивается так что бы выигрышная сделка скомпенсировала все предыдущие потери и принести прибыль в размере начальной ставки.
Если взять пример из форекса. К примеру закрытие только по стоп лосс или тейк профит и они равны, то лот должен величиваться в 2 раза относительно лота последней проирышной сделки. Лот будет меняться 0.1, 0.2, 0.4, 0.8...
А если стоп лосс в несколько раз больше чем тейк профит, то и умножение лота должно быть соответственго пересчитано.
В сложном мартингейле компенсация потерь производится не одной выигрышной сделкой, а несколькими. Соответственно и коэффициент умножения обычно меньше. Например с тем же примером стоп лосс равен тейк профит. Коэфиициент умножения лота 1.4 позволит отбить убытки и заработать начальную прибыль 2 выигрышными сделками подряд.
В метатрейдере, есть возможность открывать много сделок. И эту возможность стали использовать для реализации мартингейла.
Собрав сеть ордера в сторону убытка и переместив общий тейк на пересчитанный соответствующий уровень.
На самом деле это разновидность простого мартингейла. За счёт открытия нескольких ордеров, немного снижены платы за спред.
спасибо Profi!
вы не сказали по какому условию или индюку открывается 1й ордер мартина?
и какой ответ на 2 вопрос - в чем разница алгоритма усреднения ордеров и мартина, или это синонимы?
 
Последнее редактирование:

Ugar

Гуру форума
спасибо Profi!
вы не сказали по какому условию или индюку открывается 1й ордер мартина?
и какой ответ на 2 вопрос - в чем разница алгоритма усреднения ордеров и мартина, или это синонимы?
Торговая система состоит из нескольких основных частей.
1. Правила открытия
2. Правила закрытия
3. Контроль и сопровождение позиций.
4. ММ Управление капиталом.
Так вот мартингейл относится к управлению капиталом. То есть это часть системы. Каждый лепит свою систему как нравится. То что капитал в системе управляется по мартингейлу, это не значит что должны быть строго определённые индикаторы.

"Усреднение" сленговое словечко, каждый понимает по своему. По сути, открытие серии ордеров при движении цены против позиций.
Можно закрыть позиции усреднения по мартингейлу, когда прибыль достигнет прибыли начальной позиции, а можно попытаться заработать побольше бабла когда цена наконец пошла в нужную сторону.
Ну а если цена всё таки не пошла в нужную сторону, "здравствуй коля". Каждый кто применяет мартингейл и усреднение, должен понимать что это может быстро кончиться совсем не здорово.
 

Milord

Местный знаток
Торговая система состоит из нескольких основных частей.
1. Правила открытия
2. Правила закрытия
3. Контроль и сопровождение позиций.
4. ММ Управление капиталом.
Так вот мартингейл относится к управлению капиталом. То есть это часть системы. Каждый лепит свою систему как нравится. То что капитал в системе управляется по мартингейлу, это не значит что должны быть строго определённые индикаторы.

"Усреднение" сленговое словечко, каждый понимает по своему. По сути, открытие серии ордеров при движении цены против позиций.
Можно закрыть позиции усреднения по мартингейлу, когда прибыль достигнет прибыли начальной позиции, а можно попытаться заработать побольше бабла когда цена наконец пошла в нужную сторону.
Ну а если цена всё таки не пошла в нужную сторону, "здравствуй коля". Каждый кто применяет мартингейл и усреднение, должен понимать что это может быстро кончиться совсем не здорово.

спасибо за ответ, получается так что мартин в потенциале сливной советник? а если скажем использовать локовые ордера в комбинации с мартином или каким то видом усреднения, можно ли при любых условиях и скачках рынка избежать риска слива депо?
 

Ugar

Гуру форума
спасибо за ответ, получается так что мартин в потенциале сливной советник? а если скажем использовать локовые ордера в комбинации с мартином или каким то видом усреднения, можно ли при любых условиях и скачках рынка избежать риска слива депо?
Никакие методы не защитят счёт от слива при любых обстоятельствах. А с мартингейлом слив закономерен. По закону вероятности, гарантирован. Вопрос не должен ставиться сольёт ли, вопрос только когда.
К ним подходит поговорка "Не бывает сливных систем, бывает мало денег на счёте". Действительно, большая сумма на счёте с минимальным стартовым лотом, может сильно уменьшить вероятность слива. Но малая вероятность не означает что слив невозможен. Кроме того, прибыль такой системы может оказаться меньше банковского процента.
Чаще всего с мартингейлами применяют тактику частых сливов. При такой тактике слив счёта, всего лишь рабочий момент, а не катастрофа. Как для обычной системы стоп лосс, неприятно, но не катастрофа.
На счёте обычно не все деньги предназначенные для форекса, а только часть которую можно слить. Вся прибыль сразу снимается со счёта. После слива, снова пополняется счёт и снова снимается вся прибыль пока счёт не будет слит. Для рентабельной торговли снимаемая прибыль должна быть больше слитых средств.
 

Skalper10

Заблокирован
упростить процесс написания советника можно с помощью конструктора Molanis, который считается лучшей графической средой для создания торговых советников и пользовательских индикаторов для MetaTrader 4 и MetaTrader 5. Не требуются знание программного кода, программирования или знание MQL. Molanis использует современнейший генератор кода MQL. Доступен он для клиентов ActivTrades
 

АлександрV

Новичок форума
Есть ли в мт4 возможность реализовать такое требование - есть индикатор( гистограмма в отдельном окне) работает по установленному заданию- считает пункты.цикл равен таймфрейму графика.и каждый раз при появлении нового бара цикл повторяется . если поставим на дневки то каждый новый день обновляеться. если н4 то каждые 4- часа( на каком тф-ме стоит так и циклует). нужно сделать чтобы он видел условия отсчета например с недельного графика а столбики рисовал на н4 или н1. Начинается неделя и по условию исполнения на графике W он все что больше открытия W он должен отнимать(условия могут быть и другие). А на н4 эти бы условия не перескакивали вместе с возникновением нового бара а оставались бы привязанными к недельке. сразу скажу простые манипуляции с временным размером PERIOD_W1 эффекта не дают . Любое прописывание размера тянет этот размер по ходу времени.
 

mobidik

-----
Вот мне интересно. Есть ф-ция iCustom, прописывается в самом индюке, сове и т.д. для вызова индюка/ф-ции. А возможно ли сделать так, что бы в окне вызова (индюка) можно было указать название стороннего индюка для ф-ции iCustom, т.е., когда нужно сменить подключаемый индюк не залазить в код индюка, а через его меню.
 

Ugar

Гуру форума
Вот мне интересно. Есть ф-ция iCustom, прописывается в самом индюке, сове и т.д. для вызова индюка/ф-ции. А возможно ли сделать так, что бы в окне вызова (индюка) можно было указать название стороннего индюка для ф-ции iCustom, т.е., когда нужно сменить подключаемый индюк не залазить в код индюка, а через его меню.
Можно. Только параметры индюков будут по умолчанию.
 

ansol

Местный знаток
matro3, Ugar
Не понял, что имеется в виду?
PHP:
double iCustom( string symbol, int timeframe, string name, ..., int mode, int shift)
Вместо name можно подставлять любое имя, эту строковую переменную можно вынести в параметры и т.д.
Или что-то другое имеется в виду?
 

matro3

Почетный гражданин
Есть советник exp_iCustom, почитай про него. Там это реализовано.
 

Ugar

Гуру форума
matro3, Ugar
Не понял, что имеется в виду?
PHP:
double iCustom( string symbol, int timeframe, string name, ..., int mode, int shift)
Вместо name можно подставлять любое имя, эту строковую переменную можно вынести в параметры и т.д.
Или что-то другое имеется в виду?
Да, строковую переменную имени индикатора во внешние переменные советника или другого индикатора где вызывается iCustom.
 

mobidik

-----
Таки, да, exp_iCustom об этом советнике, что-то и не вспомнил, надо посмотреть, как у него сделано, хотя Ugar уже все и объяснил...
Жму руку.
 
Последнее редактирование:

Partizan64

Прохожий
Доброе время суток товарищи. Подскажите пожалуйста как закодить такое условие: появился новый дневной хай(мах), если этот новый хай в пределах 10пунктов от старого хая - то производится какое-то действие.
 

Вложения

  • eurusdm15.png
    eurusdm15.png
    2,4 КБ · Просмотры: 13

Milord

Местный знаток
Доброе время суток товарищи. Подскажите пожалуйста как закодить такое условие: появился новый дневной хай(мах), если этот новый хай в пределах 10пунктов от старого хая - то производится какое-то действие.
неточный вопрос,выше или ниже на 10 пунктов???
если допускается вниз 10 пунктов и вверх 10 пунктов,то я бы написал так:

PHP:
if((High[1]<=High[2]+10*Point)||(High[1]>=High[2]-10*Point))
{
ваше действие;
}
 

qqmber

Почетный гражданин
Доброе время суток товарищи. Подскажите пожалуйста как закодить такое условие: появился новый дневной хай(мах), если этот новый хай в пределах 10пунктов от старого хая - то производится какое-то действие.
Надо найти два последних сегодняшних непустых значения индикатора iFractals(), сравнить их и выполнить действие, если модуль разности меньше 10 п.

PHP:
if((High[1]<=High[2]+10*Point)||(High[1]>=High[2]-10*Point))
{
ваше действие;
}

Поторопился, Milord, if(true) написал.
 
Верх