Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1136

 
Artyom Trishkin:

Non. J'ai expliqué plus haut ce qu'est le niveau de gel.

Merci Artem, je me pencherai sur la question demain.

 
Artyom Trishkin:

SL et TP sont des ordres. "Niveaux" - parce que ce sont les niveaux auxquels ces ordres sont fixés. Vous pouvez également les appeler indentation ou distance en pips. Cela n'en fait pas des ordres.

Je suis prêt à accepter que cela fonctionne ainsi, mais ce que je ne comprends pas, c'est que si SL et TP sont des ordres, alors pourquoi ils ne figurent pas dans la liste des ordres, par exemple OrdersTotal() ouHistoryOrdersTotal();

 
Fast235:

Merci Artem, je me pencherai sur la question demain.

Je comprends que ))))


 

1) Quelle est la différence entre un script et un service ?

2) Est-il possible d'exécuter l'indicateur sur n'importe quelle fenêtre souhaitée à partir de l'EA sans utiliser de modèles ?

 
Alexandr Sokolov:

1) Quelle est la différence entre un script et un service ?

2) Est-il possible d'exécuter l'indicateur à partir d'une EA sur n'importe quelle fenêtre souhaitée sans utiliser de modèles ?

Voici la fonction - de l'EA https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd

//+------------------------------------------------------------------+
//| Функция проверки и добавления индикатора на график               |
//+------------------------------------------------------------------+
bool AddIndicator()
  {
//--- выводимое сообщение
   string message;
//--- проверим на совпадение символ индикатора и символ графика
   if(_Symbol!=_Symbol)
     {
      message="Демонстрация использования функции Demo_ChartIndicatorAdd():";
      message=message+"\r\n";
      message=message+"Нельзя на график добавить индикатор, рассчитанный на другом символе.";
      message=message+"\r\n";
      message=message+"Укажите в свойствах эксперта символ графика - "+_Symbol+".";
      Alert(message);
      //--- досрочный выход, не будем добавлять индикатор на график
      return false;
     }
//--- проверим на совпадение таймфрейм индикатора и таймфрейм графика
   if(_Period!=_Period)
     {
      message="Нельзя на график добавить индикатор, рассчитанный на другом таймфрейме.";
      message=message+"\r\n";
      message=message+"Укажите в свойствах эксперта таймфрейм графика - "+EnumToString(_Period)+".";
      Alert(message);
      //--- досрочный выход, не будем добавлять индикатор на график
      return false;
     }
//--- все проверки прошли, символ и период индикатора соответствуют графику
   if(indicator_handle==INVALID_HANDLE)
     {
      Print(__FUNCTION__,"  Создаем индикатор");
      indicator_handle=iCustom(_Symbol,_Period,InpIndi_name);
      if(indicator_handle==INVALID_HANDLE)
        {
         Print("Не удалось создать индикатор. Код ошибки ",GetLastError());
        }
     }
//--- сбросим код ошибки
   ResetLastError();
//--- накладываем индикатор на график
   Print(__FUNCTION__,"  Добавляем индикатор на график");
   Print("Индикатор построен на ",_Symbol,"/",EnumToString(_Period));
//--- получим номер нового подокна, в которое добавим индикатор
   int subwindow=(int)ChartGetInteger(0,-1);
   PrintFormat("Добавляем индикатор на окно %d графика",subwindow);
   if(!ChartIndicatorAdd(0,subwindow,indicator_handle))
     {
      PrintFormat("Не удалось добавить индикатор на окно %d графика. Код ошибки  %d",
                  subwindow,GetLastError());
     }
//--- добавление индикатора на график прошло успешно
   return(true);
  }
//+------------------------------------------------------------------+
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
//| Expert initialization function                                   |                                                                                       ); "Внимание! %s: Попробуем добавить индикатор MACD(%s/%s) на график %s/%s. Получим ошибку 4114"                         subwindow...
 
Alexsandr San:

voici la fonction - du conseiller https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd

Merci !

 
Alexandr Sokolov:

1) Quelle est la différence entre un script et un service ?

le script est lié à un graphique, le service n'est pas

le script est démarré "manuellement", le service est démarré par le terminal

Je ne connais pas d'autres différences, il n'y a aucune information sur les services.

 
Igor Makanu:

le script est lié à un graphique, le service n'est pas

le script est lancé "manuellement", le service est lancé par le terminal

Je ne connais plus de distinctions, il n'y a aucune information sur les services

Est-ce que j'ai bien compris ? Les indicateurs et les conseillers en cours d'exécution après la fermeture du terminal ont les propriétés du service, mais pas le script, c'est-à-dire que si un script, un indicateur et un conseiller sont en cours d'exécution et que le terminal est fermé, à l'ouverture du terminal, seuls l'indicateur et le conseiller seront chargés dans la fenêtre, mais pas le script ?

 
Valeriy Yastremskiy:

Est-ce que j'ai bien compris ? Les indicateurs et les conseillers en cours d'exécution après la fermeture du terminal ont les propriétés du service, mais pas le script, c'est-à-dire que s'il y avait un script, un indicateur et un conseiller en cours d'exécution et que le terminal était fermé, lorsque vous ouvrez le terminal, seuls l'indicateur et le conseiller seront chargés dans la fenêtre, mais pas le script ?

pas de

la chose la plus importante dans MQL est "le graphique".

Tous ces éléments - indicateurs, conseillers experts et scripts - sont liés au graphique.

Mais le service n'est lié à rien - il démarre avec le terminal et n'a pas de carte, c'est-à-dire qu'il ne peut rien vérifier comme d'habitude... Eh bien, _Symbole, _Chiffres - rien du tout de ce que nous avons l'habitude d'utiliser, ces données sont toutes données par le graphique.


Pour les indicateurs et les EA, cela ne fait aucune différence de fermer le graphique ou l'ensemble du terminal. En ce qui concerne le service, si vous fermez tous les graphiques, il fonctionnera jusqu'à ce que vous fermiez le terminal.

Si vous fermez l'EA en fermant le graphique, après le redémarrage du terminal, il n'y aura pas de miracle - pas de graphique, pas d'EA, et le service démarre toujours lorsque vous démarrez le graphique.


c'est comme ça, sur mes doigts ))))

hier j'ai fait un exemple du service,https://www.mql5.com/ru/forum/170952/page173#comment_16044829

Je ne sais pas encore ce que je vais en faire.


ZS : si nous parlons d'un script, d'un EA et d'un indicateur - quelle est la différence, l'indicateur ne peut pas trader, mais il peut dessiner des tampons d'indicateur, le script peut faire la même chose que l'EA, mais il fonctionne "une fois" et se décharge, pas pour se décharger - boucle infinie, mais toujours le terminal va décharger le script lorsque vous changez le TF


Je ne peux pas l'expliquer plus facilement, il suffit de regarder les premiers chapitres, tout y est.

 

Igor Makanu:

mais le service n'est lié à rien, il part du terminal et n'a pas de carte, c'est à dire qu'il ne peut rien découvrir comme d'habitude... Eh bien _Symbole, _Chiffres - rien du tout de ce que nous avons l'habitude d'utiliser, ce sont toutes les données données données par le tableau.

Qui t'a dit ça ? En utilisant spécifiquement _Symbol ou _Digits, on ne peut pas, mais il est facile d'obtenir ces valeurs. Tout ce qui est sur la carte, tout ce que vous pouvez obtenir du service. Ils ne m'intéressaient pas particulièrement, mais à la lumière des changements récents, j'utilise ce service pour supprimer les flèches et les lignes des positions fermées que je déteste. Je lance le terminal, exécute le service et supprime toutes ces marques sur tous les graphiques sans toucher à celles créées manuellement ou par d'autres programmes.