Créer un robot - page 6

 
SanAlex:

à supprimer - la fonction est plus compliquée dans ce cas

il y a des indicateurs qui ont aussi des chiffres.

Voici une photo des noms des indicateurs

Dossiers :
vn0wia.PNG  16 kb
 
SanAlex:

pour la suppression - il y a une fonction plus compliquée

Alors comment puis-je utiliser le manuel du MQL5 si tout y est clairement expliqué ?

ObjectsDeleteAll

Удаляет все объекты в указанном графике, указанном подокне указанного графика, указанного типа. Существует два варианта функции:

int  ObjectsDeleteAll( 
   long  chart_id,            // идентификатор графика 
   int   sub_window=-1,       // индекс окна 
   int   type=-1              // тип объекта для удаления 
   ); 

Удаляет по префиксу имени в подокне графика все объекты указанного типа.

int  ObjectsDeleteAll( 
   long           chart_id,   // идентификатор графика 
   const string     prefix,   // префикс имени объекта 
   int       sub_window=-1,   // индекс окна 
   int      object_type=-1    // тип объекта для удаления 
   );

Параметры

chart_id

[in]  Идентификатор графика. 0 означает текущий график.

prefix

[in]  Префикс, по которому будут удалены все объекты, чьи имена начинаются с данного набора символов. 
Префикс можно указывать как 'name' или 'name*' – оба варианта работают одинаково. 
Если в качестве префикса указана пустая строка, то будут удалены объекты с любым именем.

sub_window=-1

[in]  Номер подокна графика. 0 означает главное окно графика, -1 означает все подокна графика, включая главное окно.

type=-1

[in]  Тип объекта. Значение может быть одним из значений перечисления ENUM_OBJECT. -1 означает все типы.

Возвращаемое значение

Возвращает количество удаленных объектов. Для получения дополнительной информации об ошибке необходимо вызвать функцию функцию GetLastError().

Примечание

Функция использует синхронный вызов – это означает, что функция дожидается выполнения всех команд, 
которые были помещены в очередь графика перед её вызовом, и поэтому данная функция может быть затратной по времени. 
Нужно иметь это обстоятельство в виду, если ведется работа с большим количеством объектов на графике.

Je supprime par le préfixe. Ou peut-être que je ne comprends pas quelque chose ?

Sincèrement, Vladimir.

Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
  • www.mql5.com
MetaQuotes Language 5 (MQL5) - язык программирования технических индикаторов, торговых роботов и вспомогательных приложений для автоматизации торговли на финансовых рынках. MQL5 является современным языком высокого уровня и разработан MetaQuotes Software Corp. для собственной торгово-информационной платформы. Синтаксис языка максимально близок...
 
MrBrooklin:

Alors comment puis-je utiliser le manuel du MQL5 si tout y est clairement expliqué ?

Je supprime par le préfixe. Ou peut-être que je ne comprends pas quelque chose ?

Sincèrement, Vladimir.

Je n'ai jamais utilisé le manuel - je le fais simplement en piquant jusqu'à ce que ça marche.

Voici un script que j'ai fait.

Dossiers :
 

Chers professionnels du forum !

Quelqu'un peut-il me dire si j'ai mal compris la signification du mot préfixe en programmation ?

Respectueusement, Vladimir.

 
MrBrooklin:

Chers professionnels du forum !

Quelqu'un peut-il me dire si je comprends mal la signification du mot préfixe en programmation ?

Sincèrement, Vladimir.

Comme en russehttps://www.linguee.com/english-russian/translation/code+prefix. html

Par exemple : ENUM_ORDER_TYPE_FILLING -> Le préfixe dans ce cas est énumération, puis _order_type_function
code prefix - Russian translation – Linguee
code prefix - Russian translation – Linguee
  • www.linguee.com
surname or family name, t h e prefix o f w hich was separated в именном указ а тел е в связи с фа ми ли ей, префикс которой Настрой к и префикса: В Ы можете создать список номер о в префиксных но ме ров и установи т ь определенные пр еф иксные имена пользователя , дл я международных к одо в доступа и ко до в города. scientific education, an eth...
 
MrBrooklin:

Alors comment puis-je utiliser le manuel du MQL5 si tout y est clairement expliqué ?

Je supprime par le préfixe. Ou peut-être que je ne comprends pas quelque chose ?

Sincèrement, Vladimir.

Je pense que vous n'avez pas d'index de fenêtre.

 
Valeriy Yastremskiy:

Vous ne semblez pas avoir d'index de fenêtre.

Bonjour Valery !

Dans la ligne de code j'ai écrit le chart_id de la fenêtre "0", c'est à dire le graphique actuel

   ObjectsDeleteAll(0,"Examples\\ZigzagColor");

ou voulez-vous dire "-1" après le préfixe ? C'est comme ça ?

   ObjectsDeleteAll(0,"Examples\\ZigzagColor",-1);

J'ai essayé de cette façon aussi. Ça ne l'a pas supprimé de toute façon.

Sincèrement, Vladimir.

 
MrBrooklin:

Bonjour Valery !

Dans la ligne de code, j'ai mis le chart_id de la fenêtre "0", c'est-à-dire la fenêtre principale du graphique.

ou voulez-vous dire qu'il y a toujours un "-1" après le préfixe ? C'est comme ça ?

Si c'est le cas, je l'ai également essayé - il ne supprime toujours pas.

Salutations, Vladimir.

J'utilise habituellement print ou alerts, après avoir obtenu un handle, affichez-le dans l'alerte, et si vous pouvez, le nom de l'indicateur et l'index de la fenêtre et l'identifiant du graphique, après la suppression, affichez le retour de la fonction de suppression dans l'alerte. Le premier zéro est l'identifiant du graphique et après le préfixe, l'index de la fenêtre.

int DelObjV=ObjectsDeleteAll(0,"Examples\\ZigzagColor",-1,-1);
Alert ("DelObjV= " DelObjV);
 
En général, j'efface la poignée et la partie calcul dans OnDeinit et tout est supprimé. L'objet n'est pas un indicateur.
   IndicatorRelease(h_zz);
   ArrayFree(zz_buf);

https://www.mql5.com/ru/docs/chart_operations/chartindicatordelete

"La suppression d'un indicateur sur un graphique ne signifie pas que la partie calcul de l'indicateur sera également supprimée de la mémoire du terminal. Pour libérer la poignée de l'indicateur, utilisez la fonction IndicatorRelease() ".

Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
  • www.mql5.com
//|                                        Test_IndicatorRelease.mq5 | //|                        Copyright 2010, MetaQuotes Software Corp. | //|                                             https://www.mql5.com | //| Expert initialization function                                   |...
 
Valeriy Yastremskiy:

Habituellement, je passe par l'impression ou les alertes, après avoir obtenu une poignée de main de sortie à l'alerte, et si vous pouvez nommer l'indicateur et l'indice de la fenêtre et l'identifiant du graphique, après la suppression de sortie à l'alerte le retour de la fonction de suppression. Le premier zéro est l'identifiant du graphique et après le préfixe, l'index de la fenêtre.

Nous supprimons l'indicateur du graphique à l'aide de la fonction


ChartIndicatorDelete(

long chart_id, // identifiant du graphique

int sub_window // numéro de la sous-fenêtre

const string indicator_shortname // nom court de l'indicateur

) ;