Здравствуйте, гость ( Вход | Регистрация )

41 страниц V « < 34 35 36 37 38 > »   
Ответить в эту темуОткрыть новую тему
> Нестандартная тактика, Совместить несовместимое ...
sashken
сообщение 9.11.2007, 12:20
Сообщение #351





Группа: Пользователи
Сообщений: 5
Регистрация: 15.2.2007
Пользователь №: 1 286
Спасибо сказали: 0 раз(а)



Цитата(Invest1979 @ 9.11.2007, 11:26) *

Единственная проблема с индюком Стлхастик с Энвилопсом, это то что если на нулевом баре появилось пересечение и появилось стрелка, то затем если вдруг на этом же баре пересечение исчезает, то стрелка остается. а так не должно быть. она должна то появляться с пересечением и если оно исчезает то и стрелка должна исчезать. Если автору не трудно, посмотрите пожайлуста. Спасибо.




Вот проверяйте, поделил индюк на два индюка, стрелки рисует - v4, но v3, должен находиться в папке с индюками.


Прикрепленные файлы
Прикрепленный файл  _MTF_Stoch_Env_v3.mq4 ( 7.24 килобайт ) Кол-во скачиваний: 362
Прикрепленный файл  _MTF_Stoch_Env_v4.mq4 ( 7.48 килобайт ) Кол-во скачиваний: 361
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
investlite
сообщение 9.11.2007, 12:31
Сообщение #352





Группа: Активный участник
Сообщений: 8
Регистрация: 8.11.2007
Пользователь №: 1 542
Спасибо сказали: 0 раз(а)



leonid553 вы не могли бы модифицировать советник :
когда пароболик сверху -продажа и как только создается новый параболик снизу закрываем предыдущию позицию и открываем новую и так далее.Также если вы смогли бы -когда позиция идет в профит
стоп-лосс перенести в безубыток.
С Уважением.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 9.11.2007, 12:41
Сообщение #353





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



Цитата(investlite @ 9.11.2007, 11:08) *

leonid553 огромное спасибо за советник!
Есть еще одна идея:
Создать советник выставляющий отложенные ордера от фиббо уровней-S3/S2/S1 и R3/R2/R1 на откате.

Увы,... sad.gif Я не вникал в программирование отложек. И с фибо уровнями программно не занимался. Но посмотрю - может найду аналог какой-ниб.
А вот система с Параболиком гораздо интереснее, чем кажется на первый взгляд! В том простейшем виде эксперт способен приносить прибыль даже на шальных парах - 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
сообщение 9.11.2007, 13:01
Сообщение #354





Группа: Активный участник
Сообщений: 12
Регистрация: 23.7.2007
Из: г. Оренбург
Пользователь №: 1 426
Спасибо сказали: 0 раз(а)



То sashken,

Когда вешаешь индюк на график, то терминал сначала подвисает на какое то время, а потом когда отходит нет никаких стрелочек на графике. сделал все так как Вы и написали, в-3 в папку с индюками и даже на график нацепил. Все равно не работает.

То leonid553,

Конечно не секрет. просто первоночально автором была предложена идея работать на нулевом баре, то есть как только появилось пересечение, так сразу и открываем сделку. Не дожидаемся закрытия свечи. А я работаю только по закрытию свечи. То есть если есть пересечение уже зафиксированное на закрытой свечке, то захожу в сделку на открытии новой свечи. Мне так проще, потому что я торгую на 4 часовиках.

Сообщение отредактировал Invest1979 - 9.11.2007, 13:02
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 9.11.2007, 18:48
Сообщение #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


Прикрепленные файлы
Прикрепленный файл  expParabolic_02.mq4 ( 6.82 килобайт ) Кол-во скачиваний: 356
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
investlite
сообщение 10.11.2007, 9:57
Сообщение #356





Группа: Активный участник
Сообщений: 8
Регистрация: 8.11.2007
Пользователь №: 1 542
Спасибо сказали: 0 раз(а)



leonid553[b] спасибо за советник .Тестирую на GBR/JPY 1-минутках
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 10.11.2007, 12:41
Сообщение #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
сообщение 16.11.2007, 19:12
Сообщение #358





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



Всем привет. Вот ещё одно интересное наблюдение . Советник, выполненный по тактике ST+ENV , способен работать прибыльно. Я, однако, чуть изменил его работу. Сделал независимыми друг от др. длинные и короткие позиции. Т.е. получились две версии, обьединенныё в один эксперт. В соотв. с идеей , описанной в http://articles.mql4.com/ru/403

Одна версия - только в BUY, другая - только в SELL.

GBPJPY, M30, C 1янв. 2007 г. по сег.

Обратите внимание на просадку в обьединенном режиме.
rolleyes.gif


Эскизы прикрепленных изображений
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 20.11.2007, 10:11
Сообщение #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) тф.



Эскизы прикрепленных изображений


Прикрепленные файлы
Прикрепленный файл  expert_St_ENV_mod.mq4 ( 6.98 килобайт ) Кол-во скачиваний: 359
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 20.11.2007, 12:45
Сообщение #360





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



К сож., такие советники по Стохастику не гарантируют достаточно приличной прибыли вне выборки, т.е. вне периода оптимизации. После оптимизации на истории=1год(примерно) прибыльные параметры "держатся" в большинстве случаев не более 1 недели. А зачастую и того меньше... Это 3-10 сделок. Потом идет однозначный слив. За редким исключением. Правда, один из моих знакомых получал неплохие результаты с большим стоплоссом (в разы больше тейкпрофита). Но я не пошёл по этому пути.

После различных экспериментов и наблюдения в онлайне стала определяться тенденция. В силу своей структуры советники по Стохастику "любят" не в кон молотить против тренда. Даже если при оптимизации удается получать хорошую прибыль, - то в онлайне она (прибыль) - значительно скромнее. Тем не менее удалось с большой достоверность установить основной КРИТЕРИЙ для получения прибыли вне периода оптимизации. Этим критерием оказалась ПРИБЫЛЬНОСТЬ !

Если прибыльность при оптимизации превышает 2.0 , то можно с большой вероятностью предположить, что вне выборки мы получим профит ! А если ещё и просадку удасться свести к минимуму, то будет совсем неплохо! Но как увеличить прибыльность?

В данном случае мне показалось целесообразным запретить советнику работать против тренда. И посмотреть, что получится. Мысль оказалась правильной! Мне пару дней назад удалось найти простое, удивительное программное решение по определению наличия/отсутствия тренда. После чего, я вставил это решение в эксперт и прибыльность при этом всяко не опускается при тестировании ниже двух! И как общий итог, - появились неплохие перспективы в получении профита вне периода оптимизации. Любопытно, что общая прибыль на истории при этом практически не увеличилась. И просадка не уменьшилась. А вот надежность возрасла! Пока ещё только в тестере, но ....., не буду торопиться....

Вот графики, где видно как длинные сделки открываются только при UP- тренде(синии стрелки), а короткие - только при Down-тренде (красн)


Эскизы прикрепленных изображений
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

41 страниц V « < 34 35 36 37 38 > » 
Ответить в эту темуОткрыть новую тему

 



- Текстовая версия Сейчас: 24.4.2025, 23:11