советник rml 1

 
Вот более новая версия советника, вставте в него фильтр iStdDev() и выложите полученную версию, мне кажется с него может чтото получиться
Файлы:
drpz2p3d.mq4  2 kb
 
sammi61 >>:
Вот более новая версия советника, вставте в него фильтр iStdDev() и выложите полученную версию, мне кажется с него может чтото получиться

Я могу установить его вам в советник, только по каким условиям, и какие параметры вам нужно вынести во внешние переменные?

Вот скрин этого индикатора.


 
qwerewq писал(а) >>

Я могу установить его вам в советник, только по каким условиям, и какие параметры вам нужно вынести во внешние переменные?

Вот скрин этого индикатора.

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

 

Задача поставлена не правильно для программиста, вы скажите условия, я не могу же придумывать за вас алгоритм.....

1) Условие по индикатору, - в каком положении находится линия индикатора, в данном случае это уровень Level, линия индикатора должна находится выше уровня Level определенного, или же наоборот когда линия находится ниже уровня Level.... - при каком из этих условий прекращаем торговлю и закрываем ордера, или есть другие условия?

На сколько я понял это скорее всего когда линия индикатора начинает подниматься что означает начало волатильности рынка. Я правильно понял?

 
qwerewq писал(а) >>

Задача поставлена не правильно для программиста, вы скажите условия, я не могу же придумывать за вас алгоритм.....

1) Условие по индикатору, - в каком положении находится линия индикатора, в данном случае это уровень Level, линия индикатора должна находится выше уровня Level определенного, или же наоборот когда линия находится ниже уровня Level.... - при каком из этих условий прекращаем торговлю и закрываем ордера, или есть другие условия?

На сколько я понял это скорее всего когда линия индикатора начинает подниматься что означает начало волатильности рынка. Я правильно понял?

Не могу вам объяснить точно но лучшие условия для торговли советника кргда на часовом графике амплитуда каждого бара за час около10 пунктов немного вверх или вниз не имеет значения когда начинается постоянное движение в одну любую сторону и больше 10-12 пунктов надо чтобы советник прекращал работу и ждал спокойного рынко

 
//+------------------------------------------------------------------+
//|                                                        RML 2.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"


bool bStart = TRUE;
extern bool Autolot = FALSE;// использовать риск ММ
extern double Lot = 0.1;
extern string  a="параметры времени";
extern bool Night = TRUE;// использовать ограничение по времени
extern int nash = 23;// начало торговли
extern int kon = 7;// конец торговли
extern string  b="параметры индюка";
extern double Level = 0.0006; //уровень левел если выше уровня этого закрываем все к чертовой матери и делаем ноги ;)
extern int period = 14; //период усреднения для вычисления индикатора
extern int tf = 5;//таймфрейм 0-текущий тф, 1- м1, 2-м5, 3-м15, 4-м30, 5-Н1, 6-Н4, итд по нарастающей.  
extern string  с="параметры все закрыть";
extern bool СloseNaxren = true;//использовать -true, не использовать -false (закрываем все ордера и уносим ноги нахер ;)


int pertf[10]={0,1,5,15,30,60,240,1440,10080,43200};
double _ask;
double _bid;
int start() {
   CloseAll();
if ((СloseNaxren)&&(iStdDev(NULL,pertf[tf],period,0,MODE_EMA,PRICE_CLOSE,0)<Level)){
   for (int i=OrdersTotal()-1; i>=0; i--)
   {
    if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
    if (OrderType()==OP_BUY ) OrderClose (OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3);
    if (OrderType()==OP_SELL) OrderClose (OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3);
    }}


   return (0);
}

void CloseAll() {
   double price;
   for (int pos = OrdersTotal() - 1; pos >= 0; pos--) {
      OrderSelect(pos, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == 777) {
         if (NormalizeDouble(Bid, Digits) - OrderOpenPrice() >= 1.0 * Point)
            if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid, Digits), 1, CLR_NONE);
         if (OrderOpenPrice() - NormalizeDouble(Ask, Digits) >= 1.0 * Point)
            if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask, Digits), 1, CLR_NONE);
      }
   }
   if (bStart) {
      _ask = Ask;
      _bid = Bid;
      bStart = FALSE;
      return;
   }
   int spread = MarketInfo("Symbol", MODE_SPREAD);
   if ((Hour() >= nash || Hour() <= kon && Night == TRUE) || Night == FALSE) {
      if (iStdDev(NULL,pertf[tf],period,0,MODE_EMA,PRICE_CLOSE,0)>Level){
      if (Ask - _ask >= (spread + 1) * Point) {
         price = Bid + 20.0 * Point;
         OrderSend(Symbol(), OP_SELL, GetLots(), NormalizeDouble(Bid, Digits), 2, price, 0, 0, 777, 0, CLR_NONE);
      }
      if (_bid - Bid >= (spread + 1) * Point) {
         price = Ask - 20.0 * Point;
        OrderSend(Symbol(), OP_BUY, GetLots(), NormalizeDouble(Ask, Digits), 2, price, 0, 0, 777, 0, CLR_NONE);
      }
     }
   }
   _ask = Ask;
   _bid = Bid;
}

double GetLots() {
   double ret;
   if (Autolot == FALSE) return (Lot);
   if (AccountBalance() > 100.0) ret = MathRound(15.0 * (AccountBalance() / 100.0) / 100.0) / 10.0;
   else ret = 0.1;
   return (ret);
}
 
qwerewq писал(а) >>

что мне с этой программой делать дальше, я в программировании ноль? У меня нет компелятора и т. д. Можете сделать в таком виде что бы можно было протестировать

 
sammi61 >>:

что мне с этой программой делать дальше, я в программировании ноль? У меня нет компелятора и т. д. Можете сделать в таком виде что бы можно было протестировать

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

Файлы:
rmlw2.rar  2 kb
 
qwerewq писал(а) >>

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

Помогите вставить в код другой фильтр, этот на тестере дает очень плохие результаты, Что бы можно было регулировать ширину коридора в котором советнику разрешать торговать например на Н1 от 10 п. и выше и устанавливать длинну коридора допустим от одной часовой свечи и больше, при соответствии рынка установленным параметрам советнику разрешать торговлю если нет запрещать торговать, можно установить такой фибьтр не трогая код советника,т. е. оставить без измнения.

Причина обращения: