#1654

Помогите довести до ума сову. Сейчас она может работать только на отдельном счёте и по одной паре, т.к. может выбрать только последний ордер из истории и определить отсутствие открытых позиций. Нужно чтобы определяла свои ордера по мэджику и символу в истории и в списке открытых ордеров. СОВА_у-у_у-у.mq414 скач.

#1655
В 22.06.2019 в 12:01, t11001 сказал:

Помогите довести до ума сову. Сейчас она может работать только на отдельном счёте и по одной паре, т.к. может выбрать только последний ордер из истории и определить отсутствие открытых позиций. Нужно чтобы определяла свои ордера по мэджику и символу в истории и в списке открытых ордеров. СОВА_у-у_у-у.mq414 скач.

уже не надо сделал сам. подглядел в другом советнике как написать функцию

#1656

Всем привет!

 

 

Изменено 3 июля, 2019 пользователем Gold Advisor

#1657

Вроде, как я вижу,  в конце лишняя "}" , строчка 290)

#1658
В 30.06.2019 в 14:50, loveЦ сказал:

Вроде, как я вижу,  в конце лишняя "}" , строчка 290)

Исправил

Изменено 3 июля, 2019 пользователем Gold Advisor

#1659
26 минут назад, loveЦ сказал:

Вроде, как я вижу,  в конце лишняя "}" , строчка 290)

Как я понимаю я функцию не в то место ставлю. А вот куда ставить правильно не знаю( Возможно вы подскажите?

#1660
1 минуту назад, Gold Advisor сказал:

Абсолютно верно. НО если так вторую скобку не поставить, то вот такая ошибка

 

Внимательно смотрите скобки. Качество имдж не позволяет разглядеть всё, но кажется в строке 650 должны стоять "()", а у Вас вроде {)

А так в "Ошибки" видно где ошибки))) и строка и столбец, смотрите справа.

#1661
7 минут назад, Gold Advisor сказал:

Как я понимаю я функцию не в то место ставлю. А вот куда ставить правильно не знаю( Возможно вы подскажите?

Без проблем, свяжитесь со мной как нибудь))

 

#1662
6 минут назад, loveЦ сказал:

Без проблем, свяжитесь со мной как нибудь))

 

Написал в ЛС

#1663

Добрый день суток есть советник он привязон к счёту ,каму можно обратитса чтоб отвезать от счёта название Traideringer V2иV3

#1664
2 часа назад, alek13 сказал:

Добрый день суток есть советник он привязон к счёту ,каму можно обратитса чтоб отвезать от счёта название Traideringer V2иV3

Создайте тему в "Совы в розыске"

#1665

Приветствую повелителей Кода!

Прошу помощи, так как сам пока разобраться не могу. 

Советник собран в конструкторе и работает на основе Force Index.  Сейчас сигнал он дает только при развороте, то есть разном направлении индикатора и цены(линия индикатора направлена вниз - свеча вверх), но по моей логике он должен поступать в том числе и в случае отклонения индикатора на 30%. Было бы конечно круто иметь возможность варьировать это отклонение, чтобы вычислить оптимальное, но как я понимаю, это уже сложно.

 

Changes.png.f0e098a2c0398d1d497fde6e118cd76a.png

 

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

Спойлер

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Indicator::IndicatorChangesItsDirectionUpward(int firstBar,int previous,double &adIndValue[],
                                                   IndicatorComp &indCompLong,IndicatorComp &indCompShort)
  {
   double sigma= Sigma();
   for(int bar = firstBar; bar<Data.Bars; bar++)
     {
      int bar0 = bar - previous;
      int bar1 = bar0 - 1;
      while(MathAbs(adIndValue[bar0]-adIndValue[bar1])<sigma && bar1>firstBar)
         bar1--;

      int bar2=bar1-1>firstBar ? bar1-1 : firstBar;
      while(MathAbs(adIndValue[bar1]-adIndValue[bar2])<sigma && bar2>firstBar)
         bar2--;

      indCompLong.Value[bar]=(adIndValue[bar2]>adIndValue[bar1] && adIndValue[bar1]<adIndValue[bar0] && 
                              bar1==bar0-1) ? 1 : 0;
      indCompShort.Value[bar]=(adIndValue[bar2]<adIndValue[bar1] && adIndValue[bar1]>adIndValue[bar0] && 
                               bar1==bar0-1) ? 1 : 0;
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Indicator::IndicatorChangesItsDirectionDownward(int firstBar,int previous,double &adIndValue[],
                                                     IndicatorComp &indCompLong,IndicatorComp &indCompShort)
  {
   double sigma= Sigma();
   for(int bar = firstBar; bar<Data.Bars; bar++)
     {
      int bar0 = bar - previous;
      int bar1 = bar0 - 1;
      while(MathAbs(adIndValue[bar0]-adIndValue[bar1])<sigma && bar1>firstBar)
         bar1--;

      int bar2=bar1-1>firstBar ? bar1-1 : firstBar;
      while(MathAbs(adIndValue[bar1]-adIndValue[bar2])<sigma && bar2>firstBar)
         bar2--;

      indCompLong.Value[bar]=(adIndValue[bar2]<adIndValue[bar1] && adIndValue[bar1]>adIndValue[bar0] && 
                              bar1==bar0-1) ? 1 : 0;
      indCompShort.Value[bar]=(adIndValue[bar2]>adIndValue[bar1] && adIndValue[bar1]<adIndValue[bar0] && 
                               bar1==bar0-1) ? 1 : 0;
     }
  }

 

 

И если не сложно, подскажите, что прописать(и гдеfcplm), чтобы выше МА лонг был в 2 раза больше шорта и наоборот, ниже МА шорт в 2 раза больше лонга.

Прошу прощения, если написал запутанно или не точно. 

Заранее большое спасибо!!!!!!!

 

 

FIH1.mq49 скач.

Изменено 15 июля, 2019 пользователем Gaiver

#1666

Всем привет! Хотел бы узнать, есть платный советник DaVinci. Над ним работает целая команда. Мне для своих целей нужно убрать в самой сове все надписи со словом Da Vinci. То есть чтобы когда ставишь сову в терминале, вместо слов DaVinci были слова PSB. Можно ли так сделать? Со своей стороны отблагодарю материально! Файл во вложении.

DaVinci.ex428 скач.

#1667

Хотите продавать под другим именем ?  Обычно для этих целей берут советник с открытым кодом, чаще всего вот этот:

http://tlap.io/sovetnik-trio-dancer/

Изменено 18 июля, 2019 пользователем pavlus777

#1668

Где-то я подобное уже видел, хотя может только название похожее на сайт продажи

 

/sovetniki-foreks/11/sovetnik-italyanskiy-hudozhnik/19695/

#1669

Добрый день. 

Написал советника на открытия, и закрытия в определенное время. 

Открывает в нужном месте. но закрыть не может. 

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

Думал свежий взгляд быстро найдет проблему. 

Спасибо.

 

//+------------------------------------------------------------------+
//|                                                          bit.mq4 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

extern double Lott= 0.2;
extern int Magic = 12456;

extern int Slippage=10;

int ticket;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+

      void OnTick()
  
           {
            //-------------------------Open order--------------------------------------------------------------------
              {
               if(OrdersTotal()==0 && ОткрытьОрдерВовремя(НужноОткрытВ,ЕщеНепоздно)==0)
                 {
                  if(ticket=OrderSend(Symbol(),OP_BUY,Lott,Ask,0,0,0,Magic,0,Gold));
                  Print("Ошибка выставления ордера");
                 }
              }
           

            //----------------Closed order------------------------------------------------------------------------ 

            if(TimeToClosed(NeedToClosed,WeHaveChoice)==0 )
             {
             OrderClose(1,1,Ask,3,Red); 
     return; 
             }
           }
         //+------------------------------------------------------------------+
         //|                                                                  |
         //+------------------------------------------------------------------+


         //----------------------------------------------------------------------------------------- 
         //--------------------------------Обработка времени---------------------------------------------------------

         datetime НужноОткрытВ=StrToTime("00:15");// Время открытия
         datetime ЕщеНепоздно=60*10;// Ждем тика максимуи 2 минуты
         //+------------------------------------------------------------------+
         //|                                                                  |
         //+------------------------------------------------------------------+
         int ОткрытьОрдерВовремя(datetime ВремяОткрытия,datetime ВремяУшло)
         // ВремяОткрытия -когда нужно открыть ордер
         // ВремяУшло     - допустимое ожидание после ВремяОткрытия, когда ещё можно открывать ордер
         // Возвращает -1 Время ещё недостигнуто
         //             0 Пора открывать ордер
         //            +1 Поздно открывать
           {
            int Result=0;
            if(TimeCurrent()<ВремяОткрытия) Result=-1;
            if(TimeCurrent()>=ВремяОткрытия+ВремяУшло) Result=1;
            return(Result);
            Print("sd",Result);
           }

         //-----------------Time to closed------------------------------------------------------------------------
         datetime NeedToClosed=StrToTime("23:00");
         datetime WeHaveChoice=60*10;
         //+------------------------------------------------------------------+
         //|                                                                  |
         //+------------------------------------------------------------------+
         int TimeToClosed(datetime NeedToClosed,datetime WeHaveChoice)

           {
            int Result2=0;

            if(TimeCurrent()<NeedToClosed) Result2=-1;
            if(TimeCurrent()>=NeedToClosed+WeHaveChoice)Result2=1;
            return(Result2);
           }
        
 //+-----------Количество ордеров-----------------------------------------+
  int count()
  {
     int count=0;
     {
      for(int trade=OrdersTotal()-1; trade>=0; trade--)
        {
         if(OrderMagicNumber()==Magic)
            count++;
            
        }
   
}
   return(count)  ;
}

#1670

А Вы смотрели справку по функции OrderClose ?  Насчёт скобок не знаю, но тикет и лот нужно чётко указывать.

bool  OrderClose(
   int        ticket,      // номер ордера
   double     lots,        // количество лотов
   double     price,       // цена закрытия
   int        slippage,    // максимальное проскальзывание
   color      arrow_color  // цвет
   );

#1671
11 минут назад, 0ll сказал:

А Вы смотрели справку по функции OrderClose ?  Насчёт скобок не знаю, но тикет и лот нужно чётко указывать.

bool  OrderClose(
   int        ticket,      // номер ордера
   double     lots,        // количество лотов
   double     price,       // цена закрытия
   int        slippage,    // максимальное проскальзывание
   color      arrow_color  // цвет
   );

 

 

Спасибо за ответ. 

 

Делал по курсу с TLP 

image.png.23a278fcb1104c38b7fbbe8da3b1ce4e.pngИзображения прикрепил. (С https://www.youtube.com/watch?time_continue=2699&v=63REtIKc4gQ)

 

Попытался четко указать лот и тикет, но это ситуацию не изменило. 

 

 

#1672

Попробуйте заменить 

if(TimeToClosed(NeedToClosed,WeHaveChoice)==0 )
  {
     OrderClose(1,1,Ask,3,Red); 
     return; 
  }

на:

   

   if ( Hour() >= 23 )   for ( int no = OrdersTotal() - 1; no >= 0; no-- )
   {
      if (  !OrderSelect(no, SELECT_BY_POS, MODE_TRADES)  ||  OrderSymbol() != _Symbol
         || !( OrderMagicNumber() == Magic  )   )                                   continue;
      OrderClose( OrderTicket(), OrderLots(), OrderClosePrice(), 3, clrGray ); 
   }

#1673
В 24.07.2019 в 19:57, 0ll сказал:

Попробуйте заменить 

if(TimeToClosed(NeedToClosed,WeHaveChoice)==0 )
  {
     OrderClose(1,1,Ask,3,Red); 
     return; 
  }

на:

   

   if ( Hour() >= 23 )   for ( int no = OrdersTotal() - 1; no >= 0; no-- )
   {
      if (  !OrderSelect(no, SELECT_BY_POS, MODE_TRADES)  ||  OrderSymbol() != _Symbol
         || !( OrderMagicNumber() == Magic  )   )                                   continue;
      OrderClose( OrderTicket(), OrderLots(), OrderClosePrice(), 3, clrGray ); 
   }

 

Спасибо за предложений вариант. Но к сожалению это не помогло. 

#1674
17 минут назад, andrijmix@gmail.com сказал:

 

Спасибо за предложений вариант. Но к сожалению это не помогло. 

Попробуйте после открытия ордера запомнить тикет , и использовать его при закрытие ордера

 

типа 

 

ticket = Открываем ордер;
if (ticketb > 0) {if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)) TICKET = OrderTicket();}

 

И при закрытие 

 

OrderClose( TICKET, OrderLots(), Ask или Bid, 3, clrGray );  ask или bid в зависимости от типа ордера

 

Изменено 26 июля, 2019 пользователем loveЦ

#1675

Добрый День. Ребят помогите плиз доработать советник. Советник очень прост и в его работу надо добавить один индикатор. Кто может доведите его до ума)). ТЗ и все файлы приложены к архиву.

Советник.rar18 скач.

#1676

Добрый день. Как можно реализовать советник в котором две независимые сетки (на продажу и покупку) ?

Возможно кто-то умеет код такого, сбросите пожалуйста. 

#1677
9 часов назад, andrijmix@gmail.com сказал:

Добрый день. Как можно реализовать советник в котором две независимые сетки (на продажу и покупку) ?

Возможно кто-то умеет код такого, сбросите пожалуйста. 

На форуме море таких советников.Смотрите [Советник] Forex Setka Trader Mod и [EA]-Setka к примеру

Изменено 4 августа, 2019 пользователем 0ll

#1678
9 часов назад, valerii.badaev@gmail.com сказал:

На форуме море таких советников.Смотрите [Советник] Forex Setka Trader Mod и [EA]-Setka к примеру

Мне не нужен советник, мне нужна идея как сделать. Forex Setka на форуме без кода, если у Вас есть код Forex Setka сбросьте пожалуйста. 

Изменено 4 августа, 2019 пользователем 0ll

Для публикации сообщений создайте учётную запись или авторизуйтесь

Перейти к списку тем
Форум · 2.0.20260627.0025