Привал оказывается забанен, и вообще как-то замолчал, поэтому начну с мессиджа для него: Сергей, если ты это читаешь, дай как-нибудь знать, получил ли ты мой ответ на твоё письмо.
Сделал тем временем скрипт, размечающий уровни по ещё одной идее - и эти уровни замечательно выглядят. К сожалению он тяжеловат для сбора хорошей статистики. Но начинает закрадываться подозрение, что на ценовом графике замечательно будет выглядеть практически любая система уровней :)
Кроме того выбрал время и написал тестерного советника по описанному выше алгоритму, он, повторюсь, в моём понимании почти точно соответствует описанному Привалом. Толком правда не испытывал поскольку только закончил, да и не люблю я советников. Но вроде работает. Вот для наглядности его start(), полный код в аттаче.
int start() {
if (Start) {
Start = false;
HalfPoint = 0.5*Point;
DLvl = 1000*Point;
RecDLvl = 1.0/DLvl;
dStopLevel = StopLevel*Point;
}
// Блок сопровождения ордеровdouble Price;
bool IsBuyStop = false;
bool IsSellStop = false;
for(int ord=OrdersTotal();ord>=0;ord--) {
if(OrderSelect(ord,SELECT_BY_POS,MODE_TRADES)==false) continue;
switch(OrderType()) {
case OP_BUY:
if (TimeCurrent()-OrderOpenTime() > LT) OrderClose(OrderTicket(),OrderLots(),Bid,5,Blue);
break;
case OP_SELL:
if (TimeCurrent()-OrderOpenTime() > LT) OrderClose(OrderTicket(),OrderLots(),Ask,5,Yellow);
break;
case OP_BUYSTOP:
IsBuyStop = true;
Price = GetBuyStopLevel(dStopLevel);
if (OrderOpenPrice()-Price > HalfPoint) OrderModify(OrderTicket(),NormalizeDouble(Price,Digits),0,0,0,Blue);
break;
case OP_SELLSTOP:
IsSellStop = true;
Price = GetSellStopLevel(dStopLevel);
if (Price-OrderOpenPrice() > HalfPoint) OrderModify(OrderTicket(),NormalizeDouble(Price,Digits),0,0,0,Yellow);
break;
} // switch(OrderType())
} // for(int ord=OrdersTotal();ord>=0;ord--)// Блок установки орлеров staticint Mnt;
staticint PreMnt;
Mnt = TimeMinute(TimeCurrent());
if (Mnt != PreMnt) {
PreMnt = Mnt;
if (!IsBuyStop) OrderSend(Symbol(),OP_BUYSTOP,Lots(),NormalizeDouble(GetBuyStopLevel(dStopLevel),Digits),5,0,0,NULL,0,0,Blue);
if (!IsSellStop) OrderSend(Symbol(),OP_SELLSTOP,Lots(),NormalizeDouble(GetSellStopLevel(dStopLevel),Digits),5,0,0,NULL,0,0,Yellow);
}
return(0);
}
Дальше без Привала хода нет, он должен сказать, его это тест или не его.
Изменил эксперта, если мы ориентируемся на разворот у уровня, то при первом подходе к уровню стоп-ордер ставиться не должен. Грубо говоря предыдущий эксперт должен давать одинаковое количество баев и селлов у каждого уровня, а этот на один бай больше при подходе сверху и уходе наверх и на один селл больше если наоборот.
Наклон слива для уровня 00 и стоплевела 20 пп (пятизнак) у него несколько поменьше спреда на сделку, это евродоллар с лета 2004
Зависимость баланса от уровня (то есть оптимизация по параметру Delta с шагом 50 п (пятизнак)) вполне соответствует полученным ранее данным по пересечениям минутных баров
По логике вещей как раз теперь и пришло время потолковать о многих вещах;о башмаках, о кораблях,осургучных печатях, о капусте и о королях, и о других контекстах и фильтрах. :)
Количество возможных вариантов весьма велико, именно поэтому имеет смысл коллективное исследование. Понятно что нужно варьировать код, то есть без неких начальных навыков в mql обойтись будет трудно. Главное - польза будет только если результаты и способ их получения будут публиковаться. Ну ладно, грааль человек может зажать :), но уж отрицательные результаты народ точно должен знать.
Стопы ввести - это уж совсем стандартная вставка в код. Но, по моему мнению, если это не далёкие "страховые" стопы то ничего кроме ещё одного способа подгонки это не даст.
Сделать статегию пробойной как будто очень легко - достаточно запретить установку ордеров если есть любой ордер того же направления (а не только отложенный) и установить достаточно большой стоплевел (сравнимый с расстоянием между уровнями). А вот сделать корректную только отбойную из той простой и красивой схемы у меня так просто не получилось. По идее нам нужно засекать факт пересечения уровня и ставить ордер только после этого. Тонкость в том, что этот факт именно для ближайшего уровня стандарным способом не засекается - ведь ближайший уровень именно в момент пересечения и отскакивает. И длиться пересечение может целых три тика, если средний попадает точно на уровень. Поэтому результаты из предыдущего поста получены на заметно изменённом советнике, я не выложил его здесь потому что предложил для кодобазы ( а как ещё понять уровень реального интереса к теме :) ).
Фильтры по времени считаются одними из самых эффективных и обычно достаточно просты в реализации, было бы интересно взглянуть на результаты. Можно в личку :)
Фильтры по волатильности, естественно, тоже представляют большой интерес, но тут вариантов построения ещё больше, нужны конкретные варианты и результаты по ним.
Хм, проверил личку на Ониксе(а я редко туда заглядываю), там пусто. И уж совсем загадочны проблемы с почтой.
Евгений, давайте так: Проверьте свою личку на этом форуме, там с позавчера должно лежать сообщение от меня. Просто ответьте на него, опишите проблему или дайте ссылку на её описание, напишите что конкретно Вам нужно.
Насколько я понял, есть проблема с подвисанием вершин разных Зигзагов. А у моего этой проблемы нет. Я помню, что когда я писал тот зигзаг (а речь скорее всего идёт о CZZ) проблема подвисания вершин была едва ли не всеобщей. Я пытался понять её причину и, как мне кажется, понял. Но с тех пор утекло много воды и, думаю, сейчас масса зигзагов также больше не подвисают.
В любом случае, непонятно что именно Вам нужно? Чтобы я переделал все зигзаги, входящие в комплект ZUP?
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Привал оказывается забанен, и вообще как-то замолчал, поэтому начну с мессиджа для него: Сергей, если ты это читаешь, дай как-нибудь знать, получил ли ты мой ответ на твоё письмо.
Сделал тем временем скрипт, размечающий уровни по ещё одной идее - и эти уровни замечательно выглядят. К сожалению он тяжеловат для сбора хорошей статистики. Но начинает закрадываться подозрение, что на ценовом графике замечательно будет выглядеть практически любая система уровней :)
Кроме того выбрал время и написал тестерного советника по описанному выше алгоритму, он, повторюсь, в моём понимании почти точно соответствует описанному Привалом. Толком правда не испытывал поскольку только закончил, да и не люблю я советников. Но вроде работает. Вот для наглядности его start(), полный код в аттаче.
Дальше без Привала хода нет, он должен сказать, его это тест или не его.
P.S. Эксперт только для пятизнака.
Изменил эксперта, если мы ориентируемся на разворот у уровня, то при первом подходе к уровню стоп-ордер ставиться не должен. Грубо говоря предыдущий эксперт должен давать одинаковое количество баев и селлов у каждого уровня, а этот на один бай больше при подходе сверху и уходе наверх и на один селл больше если наоборот.
Наклон слива для уровня 00 и стоплевела 20 пп (пятизнак) у него несколько поменьше спреда на сделку, это евродоллар с лета 2004
Зависимость баланса от уровня (то есть оптимизация по параметру Delta с шагом 50 п (пятизнак)) вполне соответствует полученным ранее данным по пересечениям минутных баров
По логике вещей как раз теперь и пришло время потолковать о многих вещах; о башмаках, о кораблях, о сургучных печатях, о капусте и о королях, и о других контекстах и фильтрах. :)
попробовать ввести стопы и разнести стратегии на пробой и отскок по времени/волатильности.
Количество возможных вариантов весьма велико, именно поэтому имеет смысл коллективное исследование. Понятно что нужно варьировать код, то есть без неких начальных навыков в mql обойтись будет трудно. Главное - польза будет только если результаты и способ их получения будут публиковаться. Ну ладно, грааль человек может зажать :), но уж отрицательные результаты народ точно должен знать.
Стопы ввести - это уж совсем стандартная вставка в код. Но, по моему мнению, если это не далёкие "страховые" стопы то ничего кроме ещё одного способа подгонки это не даст.
Сделать статегию пробойной как будто очень легко - достаточно запретить установку ордеров если есть любой ордер того же направления (а не только отложенный) и установить достаточно большой стоплевел (сравнимый с расстоянием между уровнями). А вот сделать корректную только отбойную из той простой и красивой схемы у меня так просто не получилось. По идее нам нужно засекать факт пересечения уровня и ставить ордер только после этого. Тонкость в том, что этот факт именно для ближайшего уровня стандарным способом не засекается - ведь ближайший уровень именно в момент пересечения и отскакивает. И длиться пересечение может целых три тика, если средний попадает точно на уровень. Поэтому результаты из предыдущего поста получены на заметно изменённом советнике, я не выложил его здесь потому что предложил для кодобазы ( а как ещё понять уровень реального интереса к теме :) ).
Фильтры по времени считаются одними из самых эффективных и обычно достаточно просты в реализации, было бы интересно взглянуть на результаты. Можно в личку :)
Фильтры по волатильности, естественно, тоже представляют большой интерес, но тут вариантов построения ещё больше, нужны конкретные варианты и результаты по ним.
В эксперте LevelsTrade_1.mq4 обнаружилась неточность, приводящая к асимметрии бай-селл. Вот в этой функции нужно заменить одну строку:
Здесь неправильная строка закомментирована. Правильный вариант приложен к посту.
Candid!
Я Вас увидел и обращаюсь.
Вопрос не по теме.
Не хотели бы Вы вернуться к Зиг-Загу?
Я писал Вам в "личку" ответа не последовало.
А по советнику (хотите спорьте, хотите нет), у меня статистика (на своем) 7(+) - 1(-), но советник другого автора.
И очень много вопросов.
Давайте так, если Вы проверяете (в личке) и статистика подтверждается, Вы по своей схеме корректируети мне Зиг-Заг.
А алгоритм (по советнику) имеете право потом выложить.
Устраивает?
С Уважением.
...
Я писал Вам в "личку" ответа не последовало.
"... В крайнем случае можно по мейлу,,,"
Да пробовап - мимо темы.
Суть простая - демонстрировал на ONIX все "слетают" кроме Вашего.
Не вижу смысла в любом севетнике, если он "НЕ ДЕРЖИТ" котировки.
С Уважением.
P.S. А попробуйтие (есле не трудно) Вы написать - Здравствуйте.
Хм, проверил личку на Ониксе(а я редко туда заглядываю), там пусто. И уж совсем загадочны проблемы с почтой.
Евгений, давайте так: Проверьте свою личку на этом форуме, там с позавчера должно лежать сообщение от меня. Просто ответьте на него, опишите проблему или дайте ссылку на её описание, напишите что конкретно Вам нужно.
Насколько я понял, есть проблема с подвисанием вершин разных Зигзагов. А у моего этой проблемы нет. Я помню, что когда я писал тот зигзаг (а речь скорее всего идёт о CZZ) проблема подвисания вершин была едва ли не всеобщей. Я пытался понять её причину и, как мне кажется, понял. Но с тех пор утекло много воды и, думаю, сейчас масса зигзагов также больше не подвисают.
В любом случае, непонятно что именно Вам нужно? Чтобы я переделал все зигзаги, входящие в комплект ZUP?