Мы тут советничка тестируем. Смысл в том, что он с утра меряет
диапазон, а потом в течении дня открывается на его пробое с рынка.
Возникли сложности- на тесте сделки есть, а на демо- не всегда.
Предполагаю, что советник(комп, мт) выключался в перерыве между
временем измерения диапазона и временем открытия. То есть, если
такое имело место- советник не откроется, так как он не помнит,
что он там с утра насчитал. Я прав? Надо в файл писАть, а потом
считывать? Расскажите поподробнее пожалуйста- чего нельзя делать,
чтобы советник не забыл значения- таймфрейм хоть можно переключать?
Вот, на всякий случай, код(последняя версия), хотя все его и так
давно знают вроде. Извините, что не причёсанный-и так еле еле
написал.
- Набор скриптов для ленивого (: как я :)
- Новая версия платформы MetaTrader 5 build 4150: экспорт торгового отчета и новые методы машинного обучения в MQL5
- Помогите разобраться с советниками.
В коде не разбирался, но думаю, что можно в любое время искать
этот "утренний" диапазон.
Просто каждый раз при запуске (в init) высчитывать его, а потом смотреть - нет ли пробоя ;)
Просто каждый раз при запуске (в init) высчитывать его, а потом смотреть - нет ли пробоя ;)
Спасибо, попробуем...
Мда... mandor, так 3172552 и является автором этой системы, он и есть
:)...
Источник кода советника - альпаревский форум
, а ты только, что сознался в воровстве... :) Вот поэтому, 3172552, тебе
никто и не поможет... :) Видишь ли, любой проффессионал может сделать
из твоей идеии вот что... :)
Файлы:
testergraph.jpg
9 kb
mandor:
to Registr
Код этого советника выложен в свободном доступе как на альпаревском, так и на этом форуме. На Альпари лежит здесь: http://forum.alpari-idc.ru/viewtopic.php?t=47177&start=14. Никто (и тем более я) авторство не оспаривает. Почему я назван вором?
PS: Пришлёпнутая картика красивая, но ни о чём. Поди сам (как профессионал) от руки рисовал, раз идея не озучена ;-)
... это шутка, какое же может быть воровсто, если автор развешивает
свои идеи чуть-ли не каждом столбе :) ... вобще-то тема эта начата
где-то в финлисте, по моему. Автор сам подчерпнул там начало
своей идеи, но дальнейшие наблюдения и выводы он сделал сам.
Надо сказать, весьма правильные выводы. Что касается рисунка,
то эквити как раз этого советника, только усовершенствованного.
И без всяких там ММ и TradesPerDayAllowed. А вот оригинал... Кстати, как
говорил Ренат, качество кода ужасное :) ... Я объяснял автору,
как ему надо было сделать, чтобы его советник был хотя бы более
читаем, но воз и ныне там :) ... Нет, конечно, разобраться можно,
но зачем? :) Кстати, mandor, по моему из твоего поста, что-то изчезло,
или мне показалось?
to Registr
Код этого советника выложен в свободном доступе как на альпаревском, так и на этом форуме. На Альпари лежит здесь: http://forum.alpari-idc.ru/viewtopic.php?t=47177&start=14. Никто (и тем более я) авторство не оспаривает. Почему я назван вором?
PS: Пришлёпнутая картика красивая, но ни о чём. Поди сам (как профессионал) от руки рисовал, раз идея не озучена ;-)
Файлы:
testergraph5.jpg
11 kb
Вот поэтому, 3172552, тебе никто и не поможет... :) Видишь ли, любой
проффессионал может сделать из твоей идеии вот что... :)
Как никто? Мне человек 5 свои варианты присылают, кое-что почерпнул,
и из Ваших постов много почерпнул, советник уже 100 раз переписан,
кое-кто им на реале уже пару сотен срубил.PS: Пришлёпнутая картика красивая, но ни о чём. Поди сам (как профессионал)
от руки рисовал, раз идея не озучена ;-)
Да, кстати, могли бы и поделиться, хотя бы с некоторыми- чего в
алгоритме поменяли?Какая идея? Я всё пытался оптимизировать
его, чтоб и до 2003 года работал- безрезультатно, а у Вас получилось.
Т.е. нахожу смещение до начального бара, от которого строится
диапазон. Проверяю последние 24 бара, поскольку период H1. Источник
кода советника - альпаревский форум. Подробности:
Спасибо.2Registr- С выздоровлением
Вместо
pp_8=Hours2Check;
hh_8=High[Highest(NULL,0,MODE_HIGH,pp_8,1)];
ll_8=Low[Lowest(NULL,0,MODE_LOW,pp_8,1)];
Я сделал так:
StartBar=0;
for (i=0;i<=24;i++)
{
if (TimeHour(Time[i])==CheckHour_08) {StartBar=i+1; break;}
}
pp_08=Hours2Check;
hh_08=High[Highest(NULL,0,MODE_HIGH,pp_08,StartBar)];
ll_08=Low [Lowest (NULL,0,MODE_LOW ,pp_08,StartBar)];
Думаю, можно попроще, типа pp_8=Hours2Check;
hh_8=High[Highest(NULL,0,MODE_HIGH,pp_8,1)];
ll_8=Low[Lowest(NULL,0,MODE_LOW,pp_8,1)];
Я сделал так:
StartBar=0;
for (i=0;i<=24;i++)
{
if (TimeHour(Time[i])==CheckHour_08) {StartBar=i+1; break;}
}
pp_08=Hours2Check;
hh_08=High[Highest(NULL,0,MODE_HIGH,pp_08,StartBar)];
ll_08=Low [Lowest (NULL,0,MODE_LOW ,pp_08,StartBar)];
for(i=0;i<2;i++) {//в 8 утра считаем диапазон за Bars2Check свечей, а в 12- за 4 часа if(numb==1){Bars2Check_x[numb]=((CheckHour_x[1]-CheckHour_x[0])*60)/Period();} else {Bars2Check_x[numb]=(Hours2Check*60)/Period();} //рассчёт диапазона if ( Hour()>=CheckHour_x[numb]) { hh_x[numb]=High[Highest(NULL,0,MODE_HIGH,Bars2Check_x[numb],((Hour()-CheckHour_x[numb])*60)/Period()+1)]; ll_x[numb]=Low[Lowest(NULL,0,MODE_LOW,Bars2Check_x[numb],((Hour()-CheckHour_x[numb])*60)/Period()+1)]; BarsPerDay=(24*60)/Period(); totalrange_x[numb]=0; channel_x[numb]=hh_x[numb]-ll_x[numb]; //рассчёт среднего диапазона за Days2Check 24-х часовых диапазонов for(i=1;i<=Days2Check;i++) { daj_x[numb]=High[Highest(NULL,0,MODE_HIGH,BarsPerDay,BarsPerDay*(i-1)+((Hour()-CheckHour_x[numb])*60)/Period()+1)] -Low[Lowest(NULL,0,MODE_LOW,BarsPerDay,BarsPerDay*(i-1)+((Hour()-CheckHour_x[numb])*60)/Period()+1)]; totalrange_x[numb]=totalrange_x[numb]+daj_x[numb]; avrange_x[numb]=MathRound((totalrange_x[numb]/i)/Point); } } //используем средний диапазон прошлых Days2Check 24-х периодов, для рассчёта оффсет, лосс и профит //ещё рассчитываем цены покупок и продаж offset_x[numb]=MathRound(avrange_x[numb]/OffsetK_x[numb]); sellprice_x[numb]=NormalizeDouble(ll_x[numb]-offset_x[numb]*Point,4); buyprice_x[numb]=NormalizeDouble(hh_x[numb]+offset_x[numb]*Point,4); profit_x[numb]=MathRound(avrange_x[numb]/ProfitK_x[numb]); loss_x[numb]=MathRound(avrange_x[numb]/LossK_x[numb]);
Привет, Digits ;).
Раньше начальниками были инженеры, которые требовали блок-схемы для того, чтобы в твоей программе разбирался не только ты. А сейчас начальники долбо...бы, которые смутно понимают зачем вообще нужны программисты, и держут их только потому, что им кто-то сказал, что без них трудно... А почему трудно - они не понимают. Соотвественное отношение к проффессии программиста.
2Registr- С выздоровлением
Спасибо, за заботу. Чесно говоря, я ещё не выздоровел до конца, млин, от остехандроза так легко не отделаешься :). Извини, но своей идеей я с тобой поделиться не могу. Слишком уж демократично ты с идеями обращаешься :). Нет, если б мы были с тобой одни на всём форексе, то с удовольствием :), а так, извини... Перепиши всё-таки советник как я тебе советовал, тебе же будет легше с ним разбираться. Читабельность кода - дело вкуса. Раньше с программистов требовали подробные рисунки алгоритма программы. Я уже тогда начальников, требующих красивых картинок и читабельного текса посылал (давно это было ...). Красота не в читабельности, а наличии стиля. Это так везде по жизни.
Раньше начальниками были инженеры, которые требовали блок-схемы для того, чтобы в твоей программе разбирался не только ты. А сейчас начальники долбо...бы, которые смутно понимают зачем вообще нужны программисты, и держут их только потому, что им кто-то сказал, что без них трудно... А почему трудно - они не понимают. Соотвественное отношение к проффессии программиста.
Слишком уж демократично ты с идеями обращаешься :).
Это со своими... Чужие не имею права. В любом случае, спасибо хотя
бы за то, что показали, что можно ещё и до 2003 года зарабатывать.
... вобще-то тема эта начата где-то в финлисте, по моему. Автор
сам подчерпнул там начало своей идеи,
Эта тема обсуждается на КАЖДОМ форуме, связанном с форексом.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь