Советники: Volatile action

 

Volatile action:

Идея, заложенная в эксперт, основана на взрыве волатильности в импульсных волнах.

Автор: Alexey Zykov

 

До модернизации идеи далеко. В начале надо было бы убрать логические ошибки.

Например в функции OnTick() есть следующее

  int OrderBuy=0,OrderSell=0;
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)!=true) continue;
      if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic)
        {
         if(OrderType()==OP_BUY ) OrderBuy++;
         if(OrderType()==OP_SELL) OrderSell++;
        }
     }
   if(OrderBuy!=0 || OrderSell!=0)
     {
      if(OrderTakeProfit()==0 || OrderStopLoss()==0)
        {
         if(OrderMod(OrderBuy,OrderSell)!=true)
            Error=Error();
        }
      Comment("EA is supporting opened order(s)");
      return;
     }
   else
      Comment("EA is waiting for a signal for opening an order");

 Возникает вопрос - к какому ордеру относятся OrderTakeProfit() и OrderStopLoss()? Если открыт один ордер то все нормально. Но если ордеров несколько то к последнему выбранному.

 

Следующее

//+------------------------------------------------------------------------+
//|                     Function OrderMod                                  |
//+------------------------------------------------------------------------+           
bool OrderMod(int ordbuy,int ordsell)
  {
   double TP=0,SL=0;
   double Vol_1=iATR(_Symbol,PERIOD_CURRENT,1,1);
   bool OrderMod=true;
   if(ordbuy>0)
     {
      TP=OrderOpenPrice()+np*NormalizeDouble(Vol_1,_Digits);
      SL=OrderOpenPrice()-ns*NormalizeDouble(Vol_1,_Digits);
      int Ticket=OrderTicket();
      OrderMod=OrderModify(Ticket,OrderOpenPrice(),SL,TP,0,clrGreen);
     }
   if(ordsell>0)
     {
      TP=OrderOpenPrice()-np*NormalizeDouble(Vol_1,_Digits);
      SL=OrderOpenPrice()+ns*NormalizeDouble(Vol_1,_Digits);
      int Ticket=OrderTicket();
      OrderMod=OrderModify(Ticket,OrderOpenPrice(),SL,TP,0,clrRed);
     }
   return(OrderMod);
  }

 С каким ордером работает эта функция. Хотя ответ уже прозвучал ранее.

 
Automated-Trading:

Volatile action:

Автор: Alexey Zykov

Данные, полученные при оптимизации по ценам открытия , не совпадают с результатами тестов по этим параметрам на всех тиках. То есть советник нельзя оптимизировать по ценам открытия...
 
Victor Nikolaev:

До модернизации идеи далеко. В начале надо было бы убрать логические ошибки.

Например в функции OnTick() есть следующее

 Возникает вопрос - к какому ордеру относятся OrderTakeProfit() и OrderStopLoss()? Если открыт один ордер то все нормально. Но если ордеров несколько то к последнему выбранному.

 

Следующее

 С каким ордером работает эта функция. Хотя ответ уже прозвучал ранее.

Если Вы внимательно смотрели (в чем я сильно сомневаюсь), то могли заметить, что советник, в представленном варианте, предполагает наличие только одного ордера, поэтому замечание про "логическую ошибку" считаю необоснованной. Прорабатываются варианты советника с несколькими открытыми позициями, там естественно эти моменты учтены.
 
Ilya Melamed:
Данные, полученные при оптимизации по ценам открытия , не совпадают с результатами тестов по этим параметрам на всех тиках. То есть советник нельзя оптимизировать по ценам открытия...

Данные (профит, просадка и т.д.) то может и не совпадут, но логика сов будет работать правильно - это дает возможность "пристреляться", т.е. выбрать рабочий диапазон ns & np, а потом по всем тикам провести оптимизацию.

Для золота попробуйте следующие параметры VolN=3.2, ns=0.6, np=2.0 , ATR=23- я нашел их оптимальными.

 
1200 баксов за семь лет? Т.е. грубо 200 долларов за год при просадке более 400 баксов? как то мало будет.
 
pechenuga:
1200 баксов за семь лет? Т.е. грубо 200 долларов за год при просадке более 400 баксов? как то мало будет.

Если торговать не фиксированным лотом, а процентом от депо, например (Risk=2), профит за 7 лет получится, если не изменяет память около 6 тыс. при просадке 35 %.

Господа, если бы эксперт зарабатывал 100 % в год при минимальных просадках, вы бы здесь его не увидели. Он лежал бы на маркете и стоил бы стандартный 1,5 тыс. $. Здесь лежит идея, которая требует доработки как в ММ, сопровождении ордеров, так и в качестве входов.

 
Alexey Zykov:
Если Вы внимательно смотрели (в чем я сильно сомневаюсь), то могли заметить, что советник, в представленном варианте, предполагает наличие только одного ордера, поэтому замечание про "логическую ошибку" считаю необоснованной. Прорабатываются варианты советника с несколькими открытыми позициями, там естественно эти моменты учтены.
Я считаю что не стоит выкладывать код с ошибками.
 
Victor Nikolaev:
Я считаю что не стоит выкладывать код с ошибками.

Конкретно, где Вы видите в коде ошибку

То что сов предполагает использование только его одного  и никаких вмешательств других советников и рук трейдера не потерпит - это не относится к" ошибкам в коде". Это скорее говорит о его применимости. 

 

Господа, полностью переработанная версия советника, параметры оптимизированы. Лишние настройки убраны (остался только фикс лот и Risk)

Система ордеров переработана. Теперь никаких ограничений по применимости нет, можно использовать совместно с другими совами (застолбленные магики 7101-7104). ММ предполагает открытие 2-х ордеров, с двумя целями по тейк профиту. Есть перенос позиции в безубыток и прочие приятности. Новая версия лежит на форуме!

Сов стал прибыльнее, но меня, да и многих не устраивает. Профит фактор стал больше, но необходимо, как вариант,  повысить частоту входа без потери качества или улучшать качество входа без потери его количества. Жду ваших предложений!

 

Файлы:
 

Экстремальный тест системы