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

Pars

Активный участник
Уважаемые знатоки! помогите сделать в советнике так чтобы он открывал одновременно позиции бай и селл вместо одной позы бай или селл

советник
Посмотреть вложение 115856
индюк
Посмотреть вложение 115858

Одновременное открытие поз реализовано в скрипте, мож кому пригодиться
скрипт
Посмотреть вложение 115859
 
Последнее редактирование:

alexshell

Элитный участник
Уважаемые знатоки! помогите сделать в советнике так чтобы он открывал одновременно позиции бай и селл вместо одной позы бай или селл

советник
Посмотреть вложение 115856
индюк
Посмотреть вложение 115858

Одновременное открытие поз реализовано в скрипте, мож кому пригодиться
скрипт
Посмотреть вложение 115859
Держите. Только какой в этом смысл?
 

Вложения

  • L-L2.mq4
    5,5 КБ · Просмотры: 53
  • Like
Реакции: gush

Pars

Активный участник
Спасибо уважаемый alexshell. Теперь жду с нетерпением открытия рынка. )) Проверим. Хочу поэкспериментировать с этой совой. О результатах непременно отпишу.
 

balros

Прохожий
Доброго всем! Подскажите как научить этот советник рисовать линии флета текущего дня, а то он рисует их только через сутки.
 

Вложения

  • i-MorningRange+time.mq4
    6,7 КБ · Просмотры: 34

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);
  }
 

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);
  }
Вам уже ответили постов 10 вышеo_o
 

Norokir

Интересующийся
Вам уже ответили постов 10 вышеo_o

Ой, прошу прощения, мне почему-то уведомление не пришло.
Так должно быть нормально?
PHP:
myTicket = OrderSend(Symbol(),cmd,Lots,myPrice,3,0,0,NULL,myMagic,0,myColour);
       OrderModify(myTicket, 0, myStop, myProfit, 0, myColour);
 
Последнее редактирование:

alexshell

Элитный участник
Ой, прошу прощения, мне почему-то уведомление не пришло.
Так должно быть нормально?
PHP:
myTicket = OrderSend(Symbol(),cmd,Lots,myPrice,3,0,0,NULL,myMagic,0,myColour);
       OrderModify(myMagic, myPrice, myStop, myProfit, 0, myColour);

Да. В тестере прогоните. Если работает, то и на счету будет работать.
 

Norokir

Интересующийся
2013.04.28 18:54:18 2013.04.25 23:59 PureMartingale EURUSD,H1: OrderModify error 4051
2013.04.28 18:54:18 2013.04.25 23:59 PureMartingale EURUSD,H1: invalid ticket for OrderModify function
2013.04.28 18:54:18 2013.04.25 23:59 PureMartingale EURUSD,H1: OrderSend error 134

Не работает так. Видимо неправильно модифицирую.

UPD: Все, разобрался.
Большое спасибо за помощь!
 
Последнее редактирование:

gush

бродяга
Держите. Только какой в этом смысл?
а че, смысл есть.. когда на движение знаешь план А и Б, открываешь одновременно.. отработал план А, - фиксим прибыль и идем на план Б..
а так смысла точно больше нету никакого в наращивании спреда.. ;)
 

kazamaki

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

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

alexshell

Элитный участник
Простите тупанул вот сов и индюк (( Кто незнает )) Помогите добавить или отремонтируйте сущиствующий трал потомушто етот неработает((

---------------------------------------------------------
Будет срабатывать после б/у + TrailingStart.
 

Вложения

  • 123.mq4
    24,1 КБ · Просмотры: 88

Tr@de®

Интересующийся
Гляньте, плиз, может чего в коде не так? Не срабатывает MaxOrders, продолжает открывать новые ордера :(
 
Последнее редактирование:

Sobaka74

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

Вложения

  • XE Pauk.mq4
    15,6 КБ · Просмотры: 52

Анатолий55222

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

Прошу спецов обратить внимание на мою просьбу на странице 262 ( советник стабильный и прибыльный долгострочник).
 
Последнее редактирование:

yupyalta

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

Вложения

  • i-Profit.png
    i-Profit.png
    12,2 КБ · Просмотры: 132
  • PiPs.rar
    16 КБ · Просмотры: 84

greatiger

Активный участник
помогите приделать мартин (желательно включающийся по условию) и коэффициент к нему для сделок открывающихся после первой (там где настраиваются параметры maxbuy maxsell)


и приделать бы что-нибудь для определения тренда (

например через if

если за последние n баров(свечей) цена изменяется от той цены,что была в начале первого бара на d единиц (например 200 пипсов), то только покупать при откатах на CCI,а если на (-d) - значение отрицательное - то только продавать, желательно бы еще чтобы d и n (условные) задавались в настройках, чтобы можно было пускать по тренду если else то работать в обе стороны...
 

Вложения

  • CCI_100_v1.mq4
    26 КБ · Просмотры: 45
Последнее редактирование:

Monson

Новичок форума
Подредактируйте советник пожалуйста

Есть советник - тралит позицию по pSAR. Необходимо добавить 2 параметра - шаг и максимум параболика. Может кто-нибудь помочь?=)
 

Вложения

  • SAR trail v6.mq4
    2,7 КБ · Просмотры: 38
Статус
Закрыто для дальнейших ответов.
Верх