[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 334

 
C'est un fil de discussion pour aider les gens, pas pour vendre un éléphant) aucune idée autre que iHighest?
 
maryan.dirtyn:
C'est un forum pour aider les gens, pas pour vendre un éléphant) aucune idée à part iHighest ?


https://docs.mql4.com/ru/series/iHigh

https://docs.mql4.com/ru/series/iBarShift

 
Merci ... mais j'en ai besoin sans le calendrier ... Quoi qu'il en soit, merci pour votre aide ... Je ne posterai plus ici.
 

Il y a un silence en réponse...

Des conseils pour savoir où creuser : https://www.mql5.com/ru/forum/131277/page328

 
Ctmcn:

Il y a un silence en réponse...

Des conseils pour savoir où creuser : https://www.mql5.com/ru/forum/131277/page328

Vous avez peut-être oublié d'utiliser OrderSend , alors citez : "Question : Pourquoi les commandes ne s'ouvrent-elles pas, où est l'erreur ? Veuillez me conseiller !" ?
 
gisip:
Vous avez peut-être oublié d'utiliser OrderSend , je cite : "Question : Pourquoi n'y a-t-il pas d'ouverture d'ordres, où est l'erreur ? S'il vous plaît, dites-moi !"?


Il n'y a pas de telle fonction dans le code source du "simple Expert Advisor". Je ne sais pas où l'écrire dans ma version :

//--------------------------------------------------------------- 4 --
   // Учёт ордеров
   Symb=Symbol();                               // Название фин.инстр.
   Total=0;                                     // Количество ордеров
   for(int i=1; i<=OrdersTotal(); i++)          // Цикл перебора ордер
     {
      if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий
        {                                       // Анализ ордеров:
         if (OrderSymbol()!=Symb)continue;      // Не наш фин. инструм
         if (OrderType()>1)                     // Попался отложенный
           {
            Alert("Обнаружен отложенный ордер. Эксперт не работает.");
            return;                             // Выход из start()
           }
         Total++;                               // Счётчик рыночн. орд
         if (Total>1)                           // Не более одного орд
           {
            Alert("Несколько рыночных ордеров. Эксперт не работает.");
            return;                             // Выход из start()
           }
         Ticket=OrderTicket();                  // Номер выбранн. орд.
         Tip   =OrderType();                    // Тип выбранного орд.
         Price =OrderOpenPrice();               // Цена выбранн. орд.
         SL    =OrderStopLoss();                // SL выбранного орд.
         TP    =OrderTakeProfit();              // TP выбранного орд.
         Lot   =OrderLots();                    // Количество лотов
        }
     }
//--------------------------------------------------------------- 5 --
   // Торговые критерии
   int A= ADXbars;
   int B= CountBars;
//-------------------------------------------------------------- 5a --
   double b4plusdi=iCustom(NULL,0,"ADX Crossing",A,B);
   double nowplusdi=iCustom(NULL,0,"ADX Crossing",A,B);
   double b4minusdi=iCustom(NULL,0,"ADX Crossing",A,B);
   double nowminusdi=iCustom(NULL,0,"ADX Crossing",A,B);
//-------------------------------------------------------------- 5b --
   if (b4plusdi>b4minusdi && nowplusdi<nowminusdi)
     {
      Opn_B=true;                               // Критерий откр. Buy
      Cls_S=true;                               // Критерий закр. Sell
     }
   if (b4plusdi<b4minusdi && nowplusdi>nowminusdi)
     {
      Opn_S=true;                               // Критерий откр. Sell
      Cls_B=true;                               // Критерий закр. Buy
     }
//--------------------------------------------------------------- 6 --
   // Закрытие ордеров
   while(true)                                  // Цикл закрытия орд.
     {
      if (Tip==0 && Cls_B==true)                // Открыт ордер Buy..
        {                                       //и есть критерий закр
         Alert("Попытка закрыть Buy ",Ticket,". Ожидание ответа..");
         RefreshRates();                        // Обновление данных
         Ans=OrderClose(Ticket,Lot,Bid,2);      // Закрытие Buy
         if (Ans==true)                         // Получилось :)
           {
            Alert ("Закрыт ордер Buy ",Ticket);
            break;                              // Выход из цикла закр
           }
         if (Fun_Error(GetLastError())==1)      // Обработка ошибок
            continue;                           // Повторная попытка
         return;                                // Выход из start()
        }

      if (Tip==1 && Cls_S==true)                // Открыт ордер Sell..
        {                                       // и есть критерий закр
         Alert("Попытка закрыть Sell ",Ticket,". Ожидание ответа..");
         RefreshRates();                        // Обновление данных
         Ans=OrderClose(Ticket,Lot,Ask,2);      // Закрытие Sell
         if (Ans==true)                         // Получилось :)
           {
            Alert ("Закрыт ордер Sell ",Ticket);
            break;                              // Выход из цикла закр
           }
         if (Fun_Error(GetLastError())==1)      // Обработка ошибок
            continue;                           // Повторная попытка
         return;                                // Выход из start()
        }
      break;                                    // Выход из while
     }
//--------------------------------------------------------------- 7 --
   // Стоимость ордеров
   RefreshRates();                              // Обновление данных
   Min_Lot=MarketInfo(Symb,MODE_MINLOT);        // Миним. колич. лотов 
   Free   =AccountFreeMargin();                 // Свободн средства
   One_Lot=MarketInfo(Symb,MODE_MARGINREQUIRED);// Стоимость 1 лота
   Step   =MarketInfo(Symb,MODE_LOTSTEP);       // Шаг изменен размера

   if (Lots > 0)                                // Если заданы лоты,то 
      Lts =Lots;                                // с ними и работаем 
   else                                         // % свободных средств
      Lts=MathFloor(Free*Prots/One_Lot/Step)*Step;// Для открытия

   if(Lts < Min_Lot) Lts=Min_Lot;               // Не меньше минимальн
   if (Lts*One_Lot > Free)                      // Лот дороже свободн.
     {
      Alert(" Не хватает денег на ", Lts," лотов");
      return;                                   // Выход из start()
     }
//--------------------------------------------------------------- 8 --
   // Открытие ордеров
   while(true)                                  // Цикл закрытия орд.
     {
      if (Total==0 && Opn_B==true)              // Открытых орд. нет +
        {                                       // критерий откр. Buy
         RefreshRates();                        // Обновление данных
         SL=Bid - New_Stop(StopLoss)*Point;     // Вычисление SL откр.
         TP=Bid + New_Stop(TakeProfit)*Point;   // Вычисление TP откр.
         Alert("Попытка открыть Buy. Ожидание ответа..");
         Ticket=OrderSend(Symb,OP_BUY,Lts,Ask,2,SL,TP);//Открытие Buy
         if (Ticket > 0)                        // Получилось :)
           {
            Alert ("Открыт ордер Buy ",Ticket);
            return;                             // Выход из start()
           }
         if (Fun_Error(GetLastError())==1)      // Обработка ошибок
            continue;                           // Повторная попытка
         return;                                // Выход из start()
        }
      if (Total==0 && Opn_S==true)              // Открытых орд. нет +
        {                                       // критерий откр. Sell
         RefreshRates();                        // Обновление данных
         SL=Ask + New_Stop(StopLoss)*Point;     // Вычисление SL откр.
         TP=Ask - New_Stop(TakeProfit)*Point;   // Вычисление TP откр.
         Alert("Попытка открыть Sell. Ожидание ответа..");
         Ticket=OrderSend(Symb,OP_SELL,Lts,Bid,2,SL,TP);//Открытие Sel
         if (Ticket > 0)                        // Получилось :)
           {
            Alert ("Открыт ордер Sell ",Ticket);
            return;                             // Выход из start()
           }
         if (Fun_Error(GetLastError())==1)      // Обработка ошибок
            continue;                           // Повторная попытка
         return;                                // Выход из start()
        }
      break;                                    // Выход из while
     }
//--------------------------------------------------------------- 9 --
   return;                                      // Выход из start()
  }
//-------------------------------------------------------------- 10 --

P.S. Il n'y a que dans le bloc d'ouverture de l'ordre (8).

 

C'est une sorte d'absurdité. Je ne peux pas attacher le Zig-Zag au graphique. Quelqu'un peut-il me dire quel est le problème ?

 
346206:

C'est une sorte d'absurdité. Je ne peux pas attacher le Zig-Zag au graphique. Quelqu'un peut-il me dire quel est le problème ?

Peut-être n'essayez-vous pas dans MT4 ?
 

Bonjour chers utilisateurs du forum, cela fait longtemps que je ne suis pas venu ici.

J'ai vu que cette année il y aura un autre championnat EA, j'ai décidé d'y participer. Quelqu'un peut-il suggérer un tutoriel sur MT5 à titre d'exemple ?

J'ai moi-même essayé de m'y mettre mais je ne vois pas d'autres MT4 (.

 
sergindo:

Bonjour chers utilisateurs du forum, cela fait longtemps que je ne suis pas venu ici.

J'ai vu que cette année il y aura un autre championnat EA, j'ai décidé d'y participer. Quelqu'un peut-il suggérer un tutoriel sur MT5 à titre d'exemple ?

J'ai moi-même essayé de m'y mettre mais je ne vois pas d'autres MT4 (.

MT5 peut être téléchargé ici, il y a de nombreux exemples
Raison: