Статус
Закрыто для дальнейших ответов.

LUKA.

САМ ПО СЕБЕ
Тот же советник. только добавил безубыток.

Безубыток, может видеть все валютные пары, так и одну(текущую).

Отбор по Magic выводить не стал.

Не проверил, но должен работать.
 

Вложения

  • e-$_SL_TP_BU.mq4
    11 КБ · Просмотры: 61
Последнее редактирование:

LUKA.

САМ ПО СЕБЕ
Добавил для безубытка, отбор по Magic, иногда полезно.

По умолчанию(-1) - Любой Magic.
 

Вложения

  • e-$_SL_TP_BU.mq4
    11,1 КБ · Просмотры: 56

alexshell

Элитный участник
Доброго вечера, многоуважаемые! Прежде хочу выразить благодарность вам, тем, кто помогает несмышленышам(к коим отношусь и я) в программировании сов, индюков и других птиц;). У меня вот какая просьба. Есть советник Безубыток_ALL. Он выставляет безубыток(в 0 или на нужное количество пунктов) на всех задействованных парах, хоть и кидается только на одну. Так вот, есть ли у кого-нибудь возможность добавить в него изменяемый тейк-профит? Или может есть у кого-нибудь отдельный такой неторгующий советник, выставляющий заданный тейк?
Ну и до кучи моя доработка кимовского советника. Присутствует отключаемый тралл стоповых ордеров по теням свечей. Выставление стоплосса и такепрофита на стоповые отложки и рыночные ордера и перевод в безубыток.Трал стоповых отложек идет по тому таймфрейму на который установлен советник. Устанавливать можно на одно окно валютной пары.
 

Вложения

  • e-SOTrailing1.mq4
    11,2 КБ · Просмотры: 82

Анатолий55222

Интересующийся
*hi*Уважаемые спецы прошу прикрутить к советнику forex_solomon_eurusd_edu расчёт лота от дэпо так как это сделано в советнике RAY_Scalper_V1_edu (e-f)
С уважением и благодарностью Анатолий.
 

Вложения

  • forex_solomon_eurusd_edu.mq4
    16,4 КБ · Просмотры: 86
  • RAY_Scalper_V1_edu (e-f).mq4
    55,5 КБ · Просмотры: 65

grimax

Элитный участник
Всем привет.
Кому несложно, просьба сделать закрытие позиций не %, а в валюте депозита.
 

Вложения

  • CloseProfitPercent v2.mq4
    6,5 КБ · Просмотры: 42

Andresmit

Интересующийся
Здравствуйте!!!
Кому не сложно ,декомпельните пожалуйста этот индюк.
Буду очень благодарен.
 

Вложения

  • futuremacd..ex4
    15 КБ · Просмотры: 42
Последнее редактирование модератором:

Norokir

Интересующийся
Здравствуйте,

Я написал советник, код которого приведен ниже.

Суть советника в том, что он в самом начале открывает сделку buy, лотом 0.01. Если она выбьет стоп лосс, открывается еще одна сделка в ту же сторону, но удвоенным лотом. Мартингейл короче. Но, это Мартингейл с насыщением так сказать. Если LotFactor поставить 10, то он ограничит рост лота на отметке 5.12(если изначальный был 0.01) и дальше лот изменяться не будет до тех пор, пока не появится выигрышная сделка. Возможно в коде есть ошибка, однако в тестере стратегий этот советник работает четко как надо.

Он нормально тестируется в тестере, но когда я ставлю его на график, он почему-то не торгует. На скриншоте видны настройки и то, что советник включен(смайлик). В журнале единственная строчка: 2013.04.26 15:56:04 Expert PureMartingale EURUSD,H1: loaded successfully. Однако когда я ставлю ручное подтверждение в настройках, он сразу предлагает открыть сделку. Я пробовал данный советник на разных компьютерах с MT4, и на обоих одно и тоже. Подскажите, в чем может быть проблема? Заранее большое спасибо!
rrrocw.PNG

Код советника:
PHP:
extern int LotFactor=10; //Эта переменная только для удобства оптимизации советника.
extern int StopLoss=500;
extern int TakeProfit=750;
extern double Lot=0.01; //Изначальный лот.
double LotF=513; //Это множитель для насыщения.
bool buy=true; //Будет ли сделка BUY или SELL

int init()
  {
   return(0);
  }

int start()
  {
   switch(LotFactor) //Тут в зависимости от переменной LotFactor будет выбираться множитель для лота. По умолчанию LotFactor = 10, т.е. множитель (LotF) равен 513.
    {
      case 1 : LotF=1.5; break;
      case 2 : LotF=3; break;
      case 3 : LotF=5; break;
      case 4 : LotF=9; break;
      case 5 : LotF=17; break;
      case 6 : LotF=33; break;
      case 7 : LotF=65; break;
      case 8 : LotF=129; break;
      case 9 : LotF=257; break;
      case 10 : LotF=513; break;
      case 11 : LotF=1025; break;
      case 12 : LotF=2049; break;
      default : LotF=513; break;
    }
   int total, oldtotal, cnt, myTicket, myMagic=111;
   bool myTrades = false;
   total = OrdersTotal();
   for(cnt = 0; cnt < total; cnt++)
     {
       OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
       if(OrderMagicNumber() == myMagic) 
         {
           myTicket = OrderTicket();
           myTrades = true;
         } 
     }
   double Lots = Lot; // Lots - это лот, на который советник будет торговать. В начале он задается равным тому лоту, что мы ставим в настройках советника.
   oldtotal = OrdersHistoryTotal();
   if(oldtotal > 0) 
     {
       OrderSelect(oldtotal - 1, SELECT_BY_POS, MODE_HISTORY); //Выбираем предыдущий ордер из истории.
       if(OrderProfit() > 0) //Если этот предыдущий ордер из истории был выигрышным - меняем направление сделки.
       {
         if(OrderType() == OP_BUY) 
           {
           buy=false;
           }
         if(OrderType() == OP_SELL) 
           {
           buy=true;
           }
       } 
       if(OrderProfit() < 0) //Если этот предыдущий ордер из истории был проигрышным - сохраняем направление сделки.
         { 
           Lots = OrderLots() * 2; // И удваиваем лот. 
           if(OrderType() == OP_BUY) 
           {
           buy=true;
           }
           if(OrderType() == OP_SELL) 
           {
           buy=false;
           }
         }
       else 
         { 
           Lots = Lot; // Когда попалась выигрышная сделка, лот сбрасывается.
         } 
     }   
   if(Lots > Lot*LotF) // Если лот превышает установленный лот, домноженный на LotF, то больше лот не удваивается, а сохраняется таким, какой он есть, до первой выигрышной сделки. 
//ПРИМЕР: Lot = 0.01, LotF = 513; Если текущий лот из-за серии убытков стал больше чем 0.01*513 = 5.13, то при дальнейших убытках лот будет сохранять значение 5.13, и когда появится выигрышная сделка, он сбросится до 0.01.
     {
       Lots = OrderLots();
     }
 
   int myColour, cmd;
   double myPrice, myPriceClose, myStop, myProfit;
   if(myTrades == false)
     {
       if(buy == true) // BUY
         {
           cmd = 0; 
           myPrice = Ask; 
           myPriceClose = Bid; 
           myColour = Green; 
           myStop = Ask - Point*StopLoss; 
           myProfit = Ask + Point*TakeProfit;
         }
       if(buy == false) // SELL
         {
           cmd = 1; 
           myPrice = Bid; 
           myPriceClose = Ask; 
           myColour = Red; 
           myStop = Bid + Point*StopLoss; 
           myProfit = Bid - Point*TakeProfit;
         }      
       myTicket = OrderSend(Symbol(),cmd,Lots,myPrice,3,myStop,myProfit,NULL,myMagic,0,myColour); //Открытие сделки.
    }
   return(0);
  }
 
Последнее редактирование модератором:

meblivsim

Активный участник
super ADX

К примеру RSI стоит на М1 с периодом 21. Нам надо ещё к примеру RSI пятиминутный. В пятиминутке 5 одноминуток. Значит 21 x 5 = 105. Тыкаем ещё RSI с периодом 105 на М1 и получаем МТФ с пятиминутки, который не рисует.

Доброго времени суток а это нормально что ADX терминал иногда подгружает если нет то подскажите пожалуйста решение Зарание благодарен всем профитов!!!:usdupup:
 

alexshell

Элитный участник
Здравствуйте,

Я написал советник, код которого приведен ниже.

Суть советника в том, что он в самом начале открывает сделку buy, лотом 0.01. Если она выбьет стоп лосс, открывается еще одна сделка в ту же сторону, но удвоенным лотом. Мартингейл короче. Но, это Мартингейл с насыщением так сказать. Если LotFactor поставить 10, то он ограничит рост лота на отметке 5.12(если изначальный был 0.01) и дальше лот изменяться не будет до тех пор, пока не появится выигрышная сделка. Возможно в коде есть ошибка, однако в тестере стратегий этот советник работает четко как надо.

Он нормально тестируется в тестере, но когда я ставлю его на график, он почему-то не торгует. На скриншоте видны настройки и то, что советник включен(смайлик). В журнале единственная строчка: 2013.04.26 15:56:04 Expert PureMartingale EURUSD,H1: loaded successfully. Однако когда я ставлю ручное подтверждение в настройках, он сразу предлагает открыть сделку. Я пробовал данный советник на разных компьютерах с MT4, и на обоих одно и тоже. Подскажите, в чем может быть проблема? Заранее большое спасибо!
rrrocw.PNG

Код советника:
PHP:
extern int LotFactor=10; //Эта переменная только для удобства оптимизации советника.
extern int StopLoss=500;
extern int TakeProfit=750;
extern double Lot=0.01; //Изначальный лот.
double LotF=513; //Это множитель для насыщения.
bool buy=true; //Будет ли сделка BUY или SELL

int init()
  {
   return(0);
  }

int start()
  {
   switch(LotFactor) //Тут в зависимости от переменной LotFactor будет выбираться множитель для лота. По умолчанию LotFactor = 10, т.е. множитель (LotF) равен 513.
    {
      case 1 : LotF=1.5; break;
      case 2 : LotF=3; break;
      case 3 : LotF=5; break;
      case 4 : LotF=9; break;
      case 5 : LotF=17; break;
      case 6 : LotF=33; break;
      case 7 : LotF=65; break;
      case 8 : LotF=129; break;
      case 9 : LotF=257; break;
      case 10 : LotF=513; break;
      case 11 : LotF=1025; break;
      case 12 : LotF=2049; break;
      default : LotF=513; break;
    }
   int total, oldtotal, cnt, myTicket, myMagic=111;
   bool myTrades = false;
   total = OrdersTotal();
   for(cnt = 0; cnt < total; cnt++)
     {
       OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
       if(OrderMagicNumber() == myMagic) 
         {
           myTicket = OrderTicket();
           myTrades = true;
         } 
     }
   double Lots = Lot; // Lots - это лот, на который советник будет торговать. В начале он задается равным тому лоту, что мы ставим в настройках советника.
   oldtotal = OrdersHistoryTotal();
   if(oldtotal > 0) 
     {
       OrderSelect(oldtotal - 1, SELECT_BY_POS, MODE_HISTORY); //Выбираем предыдущий ордер из истории.
       if(OrderProfit() > 0) //Если этот предыдущий ордер из истории был выигрышным - меняем направление сделки.
       {
         if(OrderType() == OP_BUY) 
           {
           buy=false;
           }
         if(OrderType() == OP_SELL) 
           {
           buy=true;
           }
       } 
       if(OrderProfit() < 0) //Если этот предыдущий ордер из истории был проигрышным - сохраняем направление сделки.
         { 
           Lots = OrderLots() * 2; // И удваиваем лот. 
           if(OrderType() == OP_BUY) 
           {
           buy=true;
           }
           if(OrderType() == OP_SELL) 
           {
           buy=false;
           }
         }
       else 
         { 
           Lots = Lot; // Когда попалась выигрышная сделка, лот сбрасывается.
         } 
     }   
   if(Lots > Lot*LotF) // Если лот превышает установленный лот, домноженный на LotF, то больше лот не удваивается, а сохраняется таким, какой он есть, до первой выигрышной сделки. 
//ПРИМЕР: Lot = 0.01, LotF = 513; Если текущий лот из-за серии убытков стал больше чем 0.01*513 = 5.13, то при дальнейших убытках лот будет сохранять значение 5.13, и когда появится выигрышная сделка, он сбросится до 0.01.
     {
       Lots = OrderLots();
     }
 
   int myColour, cmd;
   double myPrice, myPriceClose, myStop, myProfit;
   if(myTrades == false)
     {
       if(buy == true) // BUY
         {
           cmd = 0; 
           myPrice = Ask; 
           myPriceClose = Bid; 
           myColour = Green; 
           myStop = Ask - Point*StopLoss; 
           myProfit = Ask + Point*TakeProfit;
         }
       if(buy == false) // SELL
         {
           cmd = 1; 
           myPrice = Bid; 
           myPriceClose = Ask; 
           myColour = Red; 
           myStop = Bid + Point*StopLoss; 
           myProfit = Bid - Point*TakeProfit;
         }      
       myTicket = OrderSend(Symbol(),cmd,Lots,myPrice,3,myStop,myProfit,NULL,myMagic,0,myColour); //Открытие сделки.
    }
   return(0);
  }
Проблема может быть в этом:
PHP:
 myTicket = OrderSend(Symbol(),cmd,Lots,myPrice,3,myStop,myProfit,NULL,myMagic,0,myColour);
Если у вас счет с исполнением ордеров по рынку, то он не будет работать так как на таких счетах не поддерживается установка ордеров сразу со сл и тп. Нужно сначала установить ордер с нулевыми сл и тп, а затем его модифицировать, установив сл и тп.
 

kazamaki

Интересующийся
Помогите с тралом

Здраствуйте ) помогите с тралом а то у меня мозгов нехватает штоб дописать етот сов (( тоисть трал я дописиваю но он неработает:facepalm:
 
Последнее редактирование:

amarlboro

Почетный гражданин
Уважаемые программисты, а можно ли написать сов по индикатору "TradeBuilder - Classic+Russ"? Нужно, чтобы устанавливал Stop ордер(отложенник) сразу после сигнала на текущем баре в направление стрелки с последующим тралом. Спасибо...
P.S. "TradeBuilder - Classic" нужен для правильной работы "TradeBuilder - Classic+Russ". Сначало на график закидывается "TradeBuilder - Classic", а потом уже "TradeBuilder - Classic+Russ".
 

Вложения

  • TradeBuilder - Classic+Russ.ex4
    52,1 КБ · Просмотры: 52
  • TradeBuilder - Classic+Russ.mq4
    40,3 КБ · Просмотры: 85
  • TradeBuilder - Classic.ex4
    52,2 КБ · Просмотры: 55
  • TradeBuilder - Classic.mq4
    40,8 КБ · Просмотры: 86
Последнее редактирование:

yupyalta

Гуру форума
911

Помогите прикрутить окно инфо к советнику в архиве сова и индюк :please:
 
Последнее редактирование:

Bullra

Новичок
Привет, кто-нибудь в курсе, возможно ли сделать такое: _http://www.mql5.com/ru/market/product/950#descriptionContainer

screen1.png


или такое: _http://www.mql5.com/ru/market/product/663

1k_1werf_dup_njisv5zc7m.jpg


в МТ4, если брокер дает стакан цен?
 
Последнее редактирование модератором:

AlexNe

Элитный участник
Доброго времени суток а это нормально что ADX терминал иногда подгружает если нет то подскажите пожалуйста решение Зарание благодарен всем профитов!!!:usdupup:

Скорее всего он требует другие индикаторы, когда бросите на график, посмотрите внизу во вкладке эксперты нет ли ошибок. Если нет, то либо он кривой, либо комп пора менять.
 
Статус
Закрыто для дальнейших ответов.
Верх