Souhaits pour MT5 - page 42

 
Lizar:
Vous devez mettre le bloc en surbrillance et appuyer sur shift+tab.
Merci)
 

Ajouter au tutoriel dans la section

Guide de référence MQL5 / Indicateurs techniques / iMA exemple spécifique après la description :

prix appliqué

[Prix à appliquer. Peut être l'une des constantes de prix ENUM_APPLIED_PRICE ou le handle d'un autre indicateur.

comment utiliser un handle d'un autre indicateur ? qu'est-ce que ça va faire ? ou seulement les valeurs des indicateurs techniques standards peuvent être moyennées ? et s'il y a un besoin de dessiner un indicateur personnalisé dans indicator_separate_window et dessiner une moyenne mobile de cet indicateur dans la même fenêtre,iMA() peut le faire ? J'ai un vague soupçon que iMA() peut obtenir le résultat de iMAOnArray(), mais je n'ai aucune idée de comment, peut-être que je me trompe...

ZS : Peut-être que j'attends beaucoup de MT5, mais sur MT4 la fonction intégrée iMAOnArray() n'était pas présente maintenant, il n'est pas difficile d'écrire une fonction utilisateur pour le calcul d'une moyenne, mais j'aimerais avoir des fonctions standard pour travailler avec des tableaux, j'ai passé plus de temps à chercher des informations sur iMAOnArray() qu'il n'en a fallu pour écrire ma propre fonction.

 
IgorM:

Ajouter au tutoriel dans la section

Guide de référence MQL5 / Indicateurs techniques / Exemple spécifique iMA après la description :

comment utiliser le handle d'un autre indicateur ? que fera-t-il ? ou est-il possible de faire une moyenne uniquement des valeurs des indicateurs techniques standards ? et s'il y a un besoin de dessiner un indicateur personnalisé dans indicator_separate_window et de dessiner une moyenne mobile pour cet indicateur dans la même fenêtre,iMA() peut le faire ? J'ai un vague soupçon que iMA () peut réaliser iMAOnArray() mais je n'ai aucune idée de comment, je me trompe peut-être.


Cliquez sur le lien et vous arrivez à la section Constantes de prix où se trouve un exemple :

Si un indicateur technique utilise des données de prix dont le type est défini par l'énumération ENUM_APPLIED_PRICE, un handle de tout indicateur (terminal intégré ou écrit par un utilisateur) peut être spécifié comme série de prix d'entrée. Dans ce cas, les valeurs du tampon zéro de l'indicateur seront utilisées pour les calculs. Cela vous permet de construire facilement les valeurs d'un indicateur sur les valeurs d'un autre indicateur. Le manche d'un indicateur personnalisé est créé en appelant la fonction iCustom().

Exemple :

#propriétéindicator_separate_window
#propertyindicator_buffers 2
#propertyindicator_plots 2
//--- paramètres d'entrée
inputint RSIperiod=14 ;//période pour le calcul du RSI
inputint Smooth=8 ;// période de lissage RSI
inputENUM_MA_METHOD meth=MODE_SMMA;//méthode de lissage
//---- tracer RSI
#propertyindicator_label1"RSI"(indicateur de tendance)
#propertyindicator_type1DRAW_LINE
#propertyindicator_color1Red
#propriété indicator_style1STYLE_SOLID
#propertyindicator_width1 1
//---- parcelle RSI_Smoothed
#property indicator_label2"RSI_Smoothed"(propriété de l'indicateur)
#property indicator_type2DRAW_LINE
#property indicator_color2Navy
#propriété indicator_style2STYLE_SOLID
#property indicator_width2 1
//--- tampons indicateurs
double RSIBuffer[] ;//nous allons stocker les valeurs RSI ici
double RSI_SmoothedBuffer[] ;// les valeurs RSI lissées seront stockées ici
int RSIhandle ;// Manche de l'indicateur RSI
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
voidOnInit()
{
//--- cartographie des tampons indicateurs
SetIndexBuffer(0,RSIBuffer,INDICATOR_DATA) ;
SetIndexBuffer(1,RSI_SmoothedBuffer,INDICATOR_DATA) ;
IndicateurSetString(INDICATOR_SHORTNAME,"iRSI") ;
IndicatorSetInteger(INDICATOR_DIGITS,2) ;
//---
RSIhandle=iRSI(NULL,0,RSIperiod,PRICE_CLOSE) ;
//---
}
//+------------------------------------------------------------------+
//| Fonction d'itération de l'indicateur personnalisé|
//+------------------------------------------------------------------+
intOnCalculate(constint rates_total,
constint prev_calculated,
constint begin,
constdouble&price[]
)

{
//--- remettre à zéro la valeur de la dernière erreur
ResetLastError() ;
//--- récupérer les données de l'indicateur RSI dans le tableau RSIBuffer[].
int copied=CopyBuffer(RSIhandle,0,0,rates_total,RSIBuffer) ;
si(copié<=0)
{
Print("Impossible de copier les valeurs de l'indicateur RSI. Erreur = ",
GetLastError(),", copié = ",copié) ;
retour(0) ;
}
//--- créer un indicateur de la moyenne par les valeurs de l'indicateur RSI
int RSI_MA_handle=iMA(NULL,0,Smooth,0,meth,RSIhandle) ;
copié=CopyBuffer(RSI_MA_handle,0,0,rates_total,RSI_SmoothedBuffer) ;
si(copié<=0)
{
Print("Failed to copy RSI smoothed indicator. Error = ",
GetLastError(),",copied =",copied) ;
retour(0) ;
}
//--- retour de la valeur de prev_calculée pour l'appel suivant
retour(taux_total) ;
}


Tu n'as pas fini un seul paragraphe.

 

J'utilise largement le trailing stop standard. Quelques demandes à cet égard.

1) Ajouter la possibilité de sélectionner "Trailing Stop Level" dans le menu Colonnes. Pour autant que je sache, ce n'est pas difficile.

2) Ajouter la valeur TS comme propriété de la position avec la possibilité (au choix de l'utilisateur) de diffuser/non diffuser le niveau TS pour une position particulière au terminal. Je comprends qu'il s'agit d'un problème beaucoup plus grave que le point 1), et que la mise en œuvre de TS entièrement du côté du serveur augmente sérieusement la charge sur le serveur.

Pour ce qui me concerne, j'aimerais utiliser le point 2) :

- plusieurs terminaux sont connectés au même compte (idéalement via des serveurs et des fournisseurs différents, par exemple à la maison et au travail) ;

- un des terminaux ouvre manuellement une position et fixe le niveau TS ;

- Lorsque le niveau de TS est défini sur un autre terminal, le TS sur le premier terminal reste inchangé, car maintenant le trailing stop est implémenté du côté client. C'est ce que je voudrais changer, si le client le souhaite.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
 
Rosh:

Cliquez sur le lien et vous serez amené à la section Constantes de prix avec un exemple ci-dessous :


Tu n'as pas fini un seul paragraphe.

Il y a en effet des exemples, mais souvent on ne peut pas les trouver intuitivement, peut-être pourriez-vous simplement créer un lien "exemple" dans ces cas-là - ce serait très pratique, IMHO bien sûr.
 
Rosh:

Cliquez sur le lien et vous arriverez à la section Constantes de prix, où se trouve un exemple ci-dessous :


Vous n'avez pas lu tout le paragraphe

J'ai terminé le paragraphe, mais l'exemple n'utilise que des indicateurs techniques standard, la question concerne les indicateurs personnalisés et la fonction iMAOnArray().

-Je veux voir si vous pouvez utiliser des moyennes mobiles pour lisser les données de l'indicateur personnalisé.

- Je pense qu'il serait utile d'avoir des liens vers les f-fonctions obsolètes, vous n'avez pas à chercher dans le forum.

Référence MQL4 - Fonctions obsolètes

 
xeon:
Il y a en effet des exemples, mais souvent on ne peut pas les trouver intuitivement, peut-être pourriez-vous simplement créer un lien "exemple" dans ces cas-là - ce serait très pratique, IMHO bien sûr.
Vous avez tout à fait raison, je pense que ce serait bien d'avoir un lien "EXEMPLE" dans le coin supérieur droit de chaque page, afin de ne pas avoir à chercher dans tout le document.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Способы привязки объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Способы привязки объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Способы привязки объектов - Документация по MQL5
 
IgorM:

J'ai lu le paragraphe, mais l'exemple n'utilise que des indicateurs techniques standard, la question concerne les indicateurs personnalisés et la fonction iMAOnArray().

-Je veux voir si les moyennes mobiles peuvent être utilisées pour lisser les données des indicateurs personnalisés.


J'ai donné ci-dessus :

Si un indicateur technique utilise pour ses calculs des données de prix dont le type est défini par l'énumération ENUM_APPLIED_PRICE, alors n'importe quelle poignée d'indicateur (intégrée au terminal ouécrite par un utilisateur) peut être spécifiée comme série de prix d'entrée.

Lire aussi les articles :

 

Si la communauté est intéressée, une modification de l'option existante de test et d'optimisation pourrait être envisagée. Par exemple, j'ai besoin d'obtenir des données de test/optimisation non pas sur une période de l'historique, mais sur plusieurs périodes à la fois (disons, pour évaluer l'uniformité des performances d'un conseiller expert). Bien sûr, nous pouvons nous relayer pour tester/optimiser toutes les périodes. Mais si une période dure de 0,5 à 1 heure et que vous en avez besoin de 10, il est beaucoup plus pratique d'exécuter les 10 périodes en une seule fois (par exemple, pendant la nuit) et d'obtenir tous les résultats plus tard. Je spécifie actuellement "Date From", "Date To" comme paramètre d'entrée dans le Conseiller Expert et je spécifie la période d'optimisation totale dans l'onglet externe du testeur (Dates From/To est un des paramètres d'optimisation). Mais dans ce cas, le temps d'optimisation de chaque exécution est en fait égal au temps de la période d'optimisation générale (dans l'onglet du testeur - les ticks sont toujours en mouvement - je l'ai vérifié virtuellement). S'il était possible de spécifier 2 périodes à la fois dans le testeur : une grande période générale et une petite période à l'intérieur, le problème serait résolu.

 

Il existe une fonction ChartIndicatorAdd() pour ajouter un indicateur au graphique. Veuillez réaliser la fonction de suppression de l'indicateur du graphique. C'est comme avec la bombe nucléaire : la bombe est inventée, mais il n'y a pas d'anti-bombe.

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - Документация по MQL5
Raison: