![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
sashken |
![]()
Сообщение
#351
|
Группа: Пользователи Сообщений: 5 Регистрация: 15.2.2007 Пользователь №: 1 286 Спасибо сказали: 0 раз(а) ![]() |
Единственная проблема с индюком Стлхастик с Энвилопсом, это то что если на нулевом баре появилось пересечение и появилось стрелка, то затем если вдруг на этом же баре пересечение исчезает, то стрелка остается. а так не должно быть. она должна то появляться с пересечением и если оно исчезает то и стрелка должна исчезать. Если автору не трудно, посмотрите пожайлуста. Спасибо. Вот проверяйте, поделил индюк на два индюка, стрелки рисует - v4, но v3, должен находиться в папке с индюками. Прикрепленные файлы ![]() ![]() |
investlite |
![]()
Сообщение
#352
|
Группа: Активный участник Сообщений: 8 Регистрация: 8.11.2007 Пользователь №: 1 542 Спасибо сказали: 0 раз(а) ![]() |
leonid553 вы не могли бы модифицировать советник :
когда пароболик сверху -продажа и как только создается новый параболик снизу закрываем предыдущию позицию и открываем новую и так далее.Также если вы смогли бы -когда позиция идет в профит стоп-лосс перенести в безубыток. С Уважением. |
leonid553 |
![]()
Сообщение
#353
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) ![]() |
leonid553 огромное спасибо за советник! Есть еще одна идея: Создать советник выставляющий отложенные ордера от фиббо уровней-S3/S2/S1 и R3/R2/R1 на откате. Увы,... ![]() А вот система с Параболиком гораздо интереснее, чем кажется на первый взгляд! В том простейшем виде эксперт способен приносить прибыль даже на шальных парах - GBPJPY, GBPCHF. Даже при взятых "на глазок" параметрах (см. рис.1) эксперт дал прибыль за два года! А когда я задал режим ONLY LONG, то получил результат, кот. ну никак не ожидал получить! Неплохая прибыль при минимальной, "смешной" просадке....! См. рис.2 Качество моделирования 90.00% Чистая прибыль 4437.04 Прибыльность 1.67 Матожидание выигрыша 26.10 Абсолютная просадка 253.45 Относительная просадка 4.63% (523.82) Всего сделок 170 Самая большая прибыльная сделка 248.31 убыточная сделка -87.29 Средняя прибыльная сделка 121.67 убыточная сделка -83.99 Теперь нужно продумать систему выхода из рынка. Какие у тебя есть мысли? По выходам? Думаю, что нужно предусмотреть независимые, отдельные входы и отдельное сопровождение для длинных и коротких позиций. Прибыль существенно поднимется! Эскизы прикрепленных изображений |
Invest1979 |
![]()
Сообщение
#354
|
Группа: Активный участник Сообщений: 12 Регистрация: 23.7.2007 Из: г. Оренбург Пользователь №: 1 426 Спасибо сказали: 0 раз(а) ![]() |
То sashken,
Когда вешаешь индюк на график, то терминал сначала подвисает на какое то время, а потом когда отходит нет никаких стрелочек на графике. сделал все так как Вы и написали, в-3 в папку с индюками и даже на график нацепил. Все равно не работает. То leonid553, Конечно не секрет. просто первоночально автором была предложена идея работать на нулевом баре, то есть как только появилось пересечение, так сразу и открываем сделку. Не дожидаемся закрытия свечи. А я работаю только по закрытию свечи. То есть если есть пересечение уже зафиксированное на закрытой свечке, то захожу в сделку на открытии новой свечи. Мне так проще, потому что я торгую на 4 часовиках. Сообщение отредактировал Invest1979 - 9.11.2007, 13:02 |
leonid553 |
![]()
Сообщение
#355
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) ![]() |
investlite , - вот следующая версия. Длинные и короткие позиции можно отключать опциями
LONG =true/false; SHORT =true/false; Выход - или по стопам , или по смене сигнала индикатора - как ты хотел! Во втором случае просто сделай стопы побольше.... Нужен фильтр, чтобы уменьшить число убыточных входов.... //--------------------------------------------------------------------------------- А по поводу переноса стопа в безубыток - так это уже сделано! Для этого нужно включить трейлингстоп опцией UseTrailing = true; При этом параметрами lMinProfit = 50; (для динных поз.) sMinProfit = 50; (для коротких...) мы задаем уровни полученного профита (в пунктах), после достижения которого стоплосс переносится в безубыток и начинает работать трейлинг , размер которого мы задаем параметрами lTrailingStop = 50; sTrailingStop = 50; Понаблюдай в тестере в визуальном режиме - там оч. наглядно видно.... прошу прощения - удалил файл - нашёл ошибку там завтра исправлю и выложу --------------------------------------------------------------------------- Исправил: Сообщение отредактировал leonid553 - 10.11.2007, 8:22 Прикрепленные файлы ![]() |
investlite |
![]()
Сообщение
#356
|
Группа: Активный участник Сообщений: 8 Регистрация: 8.11.2007 Пользователь №: 1 542 Спасибо сказали: 0 раз(а) ![]() |
leonid553[b] спасибо за советник .Тестирую на GBR/JPY 1-минутках
|
leonid553 |
![]()
Сообщение
#357
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) ![]() |
Не думаю, что для этой пары можно на тф=1мин получить приличный результат. Слишком большой спред для этого тф!
Для трендового рынка этот эксперт работает оч. неплохо. Если отключить входы против тренда! Вот я взял для примера GBPUSD, H1 на истории с 1 янв. 2006г по 31 сент. 2007г. и оптимизировал на мт4 MQL на котировках Хистори Центр. При отключенных коротких сделках (SHORT =false;) Потом добавил историю с 1 окт. по сей день. В результате вне периода оптимизации (вне выборки) получена чистая прибыль - более +200 пипсов.! А общий результаt вот такой: Параметры Длинных позиций LONG=true; MagicLong=96784; stepLong=0.003; TP=130; SL=80; Параметры Коротких позиций SHORT=false; MagicShort=96555; stepShort=0.003; TP_Short=130; SL_Short=75; Lot=0.1; Slippage=3; UseTrailing=true;- параметры трала lMinProfit=31; sMinProfit=50; lTrailingStop=55; sTrailingStop=70; lTrailingStep=5; sTrailingStep=5; ------------------------------------------------------------------------------------------------------------------ Символ GBPUSD (Great Britain Pound vs US Dollar) Период 1 Час (H1) 2006.01.02 00:00 - 2007.11.09 22:00 (2006.01.01 - 2007.11.10) Модель Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого тика) Качество моделирования 89.99% Начальный депозит 10000.00 Чистая прибыль 3496.96 Прибыльность 2.86 Матожидание выигрыша 27.98 Абсолютная просадка 14.00 Максимальная просадка 369.72 (3.20%) Относительная просадка 3.20% (369.72) Всего сделок 125 Короткие позиции (% выигравших) 0 (0.00%) Длинные позиции (% выигравших) 125 (64.00%) Прибыльные сделки (% от всех) 80 (64.00%) Убыточные сделки (% от всех) 45 (36.00%) Самая большая прибыльная сделка 130.42 убыточная сделка -83.00 Средняя прибыльная сделка 67.21 убыточная сделка -41.78 Максимальное количество непрерывных выигрышей (прибыль) 13 (902.26) непрерывных проигрышей (убыток) 5 (-227.16) Если отследить только короткие сделки (SHORT =true;LONG =false) то , увы..., результат значительно хуже. Прибыль то есть, - но она мизерная, а просадка больше чем прибыль! Вот график баланса приведенного выше теста: Эскизы прикрепленных изображений |
leonid553 |
![]()
Сообщение
#358
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) ![]() |
Всем привет. Вот ещё одно интересное наблюдение . Советник, выполненный по тактике ST+ENV , способен работать прибыльно. Я, однако, чуть изменил его работу. Сделал независимыми друг от др. длинные и короткие позиции. Т.е. получились две версии, обьединенныё в один эксперт. В соотв. с идеей , описанной в http://articles.mql4.com/ru/403
Одна версия - только в BUY, другая - только в SELL. GBPJPY, M30, C 1янв. 2007 г. по сег. Обратите внимание на просадку в обьединенном режиме. ![]() Эскизы прикрепленных изображений |
leonid553 |
![]()
Сообщение
#359
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) ![]() |
Версия в закачке. Вот код этой версии :
Код //+------------------------------------------------------------------+ //|Stochastic_MA.mq4.mq4 //| leonid553 //| http://www.tradersforum.net.ru/ //+------------------------------------------------------------------+ #property copyright "leonid553" #property link "http://www.tradersforum.net.ru/" //---- input parameters--------- extern bool Long =true; extern bool Short =true; extern string _____= "Параметры Длинных позиций"; extern int Stochastic_period =24; extern int MA_period =11; extern double Deviation_ =7; extern int lMinProfit = 53;//параметры трала extern int lTrailingStop = 63; extern int lTrailingStep = 5; extern string ____= "Параметры Коротких позиций"; extern int Stochastic_period_SELL =25; extern int MA_period_SELL =7; extern double Deviation_SELL =22; extern int sMinProfit = 53;//параметры трала extern int sTrailingStop = 53; extern int sTrailingStep = 5; //------------------------------ extern string _= " Общие Параметры "; extern bool UseTrailing = true;//трейлинг стоп extern int TP=130; extern int SL=61; extern double Lot=0.1; extern int Slippage=3; extern int MagicLong=5675; extern int MagicShort=8976; //------------------- int ExpertBars; int ticket; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() {ExpertBars = Bars; return(0); } //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //| expert start function | //+------------------------------------------------------------------+ int start() { //----- Вывод информации на экран ------------------------------------- string info=""; string on_off="---------------------------------------------------"+ "\r\n"; if ( Long)on_off=StringConcatenate (on_off," Long - включена. ", "\r\n"); else on_off=StringConcatenate (on_off,"Long - отключена. ","\r\n"); if (Short) on_off=StringConcatenate (on_off,"Short - включена. ","\r\n"); else on_off=StringConcatenate (on_off,"Short - отключена. ","\r\n"); info=StringConcatenate(info,on_off,"\r\n"); info=StringConcatenate(info,"\r\n"); Comment(info); //----------------------------------------------------------------------------- bool isNewBar=false; if (ExpertBars !=Bars) {ExpertBars=Bars; isNewBar=true; } if (isNewBar) { // работаем по Ценам Открытия //===== Ищем возможность войти в рынок ======================================== //---------------ПОКУПАЕМ ------------------------------------------ if (Long) { //если "выключатель" включен if (!ExpertOrder( MagicLong )) {//если нет открытых длинных позиций double Stochastic_array_buy[30];int j=0; while (j<31) { Stochastic_array_buy[j]= iStochastic(NULL, 0, Stochastic_period, 3,3, MODE_SMA,0,MODE_MAIN, j); j++; } ArraySetAsSeries(Stochastic_array_buy,true); double MA_low =iMAOnArray(Stochastic_array_buy,0,MA_period,1,MODE_SMA,0)-Deviation_; double Stochastic_0=iStochastic(NULL, 0, Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 0); double Stochastic_1=iStochastic(NULL, 0, Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 1); //---------проверяем условие на покупку---------------------------- if ( (Stochastic_1<MA_low) && (Stochastic_0>MA_low) ) { ticket=OrderSend(Symbol(),0,Lot,Ask,Slippage,Bid-SL*Point,Ask+TP*Point,"ST_MA Long", MagicLong,0,CLR_NONE); if (ticket<0) { Print("Ошибка открытия ордера BUY #", GetLastError()); return (0); } }}} //если "выключатель" включен //---------- ----- ПРОДАЕМ----------------------------------------------- if (Short) { //если "выключатель" включен if (!ExpertOrder( MagicShort )) { //если нет открытых коротких позиций double Stochastic_array_sell[30]; int k=0; while (k<31) { Stochastic_array_sell[k]= iStochastic(NULL, 0,Stochastic_period_SELL, 3,3, MODE_SMA,0,MODE_MAIN, k); k++; } ArraySetAsSeries(Stochastic_array_sell,true); double MA_up =iMAOnArray(Stochastic_array_sell,0, MA_period_SELL ,1,MODE_SMA,0) + Deviation_SELL; double Stochastic_0s=iStochastic(NULL, 0, Stochastic_period_SELL, 3,3,MODE_SMA, 0,MODE_MAIN, 0); double Stochastic_1s=iStochastic(NULL, 0, Stochastic_period_SELL, 3,3,MODE_SMA, 0,MODE_MAIN, 1); //--------проверяем условие на продажу------------------------------ if ( (Stochastic_1s > MA_up ) && (Stochastic_0s < MA_up )) { ticket=OrderSend(Symbol(),1,Lot,Bid,Slippage,Bid+SL*Point,Bid-TP*Point,"ST_MA Short", MagicShort,0,CLR_NONE); if (ticket<0) {Print("Ошибка открытия ордера SELL #",GetLastError()); return (0); } }}} //если "выключатель" включен //=================================================================================== if (UseTrailing) TrailPositions(); } //isNewBar return(0); } //+------------------------------------------------------------------+ void TrailPositions() //трейлинг стоп { int Orders = OrdersTotal(); for (int i=0; i<Orders; i++) { if (!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continue; if (OrderSymbol() != Symbol()) continue; if (OrderType() == OP_BUY) { if (Bid-OrderOpenPrice() > lMinProfit*Point) { if (OrderStopLoss() < Bid-(lTrailingStop+lTrailingStep-1)*Point) { OrderModify(OrderTicket(), OrderOpenPrice(), Bid-lTrailingStop*Point, OrderTakeProfit(), 0, Blue); }}} if (OrderType() == OP_SELL) { if (OrderOpenPrice()-Ask > sMinProfit*Point) { if (OrderStopLoss() > Ask+(sTrailingStop+sTrailingStep-1)*Point || OrderStopLoss() == 0) { OrderModify(OrderTicket(), OrderOpenPrice(), Ask+sTrailingStop*Point, OrderTakeProfit(), 0, Blue); }}}}} //---- Функция проверки наличия ордеров эксперта ------------------------------+ bool ExpertOrder (int VersionID){ bool result=false; int _OrdersTotal=OrdersTotal(); if (_OrdersTotal>0) { for (int v=0; v<_OrdersTotal; v++) { if (OrderSelect(v, SELECT_BY_POS, MODE_TRADES)) { if (OrderMagicNumber()==VersionID) { result=true; break; } else { result=false; } } } } else { result=false; } return(result);} Длинные и короткие сделки работают независимо. Их можно отключать соотв. опциями Long =true/false; Short =true/false; Советник работает по ценам Открытия. Оптимизировать отдельно длинную и короткую версии. Параметры Stochastic_period ; MA_period ; Deviation; оптимизировать в интервале от 4 до 28 единиц. Остальные параметры (стопы и трал) - в зависимости от тф и здравого смысла. Я обычно оптимизирую на истории от 1.5 года и более. Особенно на малых (м30) тф. Эскизы прикрепленных изображений Прикрепленные файлы ![]() |
leonid553 |
![]()
Сообщение
#360
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) ![]() |
К сож., такие советники по Стохастику не гарантируют достаточно приличной прибыли вне выборки, т.е. вне периода оптимизации. После оптимизации на истории=1год(примерно) прибыльные параметры "держатся" в большинстве случаев не более 1 недели. А зачастую и того меньше... Это 3-10 сделок. Потом идет однозначный слив. За редким исключением. Правда, один из моих знакомых получал неплохие результаты с большим стоплоссом (в разы больше тейкпрофита). Но я не пошёл по этому пути.
После различных экспериментов и наблюдения в онлайне стала определяться тенденция. В силу своей структуры советники по Стохастику "любят" не в кон молотить против тренда. Даже если при оптимизации удается получать хорошую прибыль, - то в онлайне она (прибыль) - значительно скромнее. Тем не менее удалось с большой достоверность установить основной КРИТЕРИЙ для получения прибыли вне периода оптимизации. Этим критерием оказалась ПРИБЫЛЬНОСТЬ ! Если прибыльность при оптимизации превышает 2.0 , то можно с большой вероятностью предположить, что вне выборки мы получим профит ! А если ещё и просадку удасться свести к минимуму, то будет совсем неплохо! Но как увеличить прибыльность? В данном случае мне показалось целесообразным запретить советнику работать против тренда. И посмотреть, что получится. Мысль оказалась правильной! Мне пару дней назад удалось найти простое, удивительное программное решение по определению наличия/отсутствия тренда. После чего, я вставил это решение в эксперт и прибыльность при этом всяко не опускается при тестировании ниже двух! И как общий итог, - появились неплохие перспективы в получении профита вне периода оптимизации. Любопытно, что общая прибыль на истории при этом практически не увеличилась. И просадка не уменьшилась. А вот надежность возрасла! Пока ещё только в тестере, но ....., не буду торопиться.... Вот графики, где видно как длинные сделки открываются только при UP- тренде(синии стрелки), а короткие - только при Down-тренде (красн) Эскизы прикрепленных изображений |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 24.4.2025, 23:11 |