Discussion de l'article "Appliquer un indicateur à un autre" - page 2

 

Peut-être ai-je mal compris la question, mais je vais essayer d'apporter une autre idée

indicateur_prix_appliqué

int

définit la valeur par défaut du champ "Appliquer à". Vous pouvez définir l'une des valeurs de l'énumération ENUM_APPLIED_PRICE. Si la propriété n'est pas définie, la valeur par défaut PRICE_CLOSE est appliquée.

 
Rosh:

Peut-être ai-je mal compris la question, mais je vais essayer d'apporter une autre idée

indicateur_prix_appliqué

int

définit la valeur par défaut du champ "Appliquer à". Vous pouvez définir l'une des valeurs de l'énumération ENUM_APPLIED_PRICE. Si la propriété n'est pas définie, la valeur par défaut est PRICE_CLOSE.

L'idée est bonne, mais elle est un peu à côté de la plaque (comme si on sautait en largeur :).

Il est nécessaire de transférer la valeur du paramètre applied_price que l'utilisateur a sélectionné dans l'indicateur externe vers l'indicateur interne.

Par exemple, il y a un MA qui est construit sur les données sélectionnées (c'est un indicateur interne), et la valeur de ce MA doit être soustraite du prix.

Par conséquent, si PRICE_CLOSE est sélectionné, le MA doit être construit sur la base de ce prix et le même prix doit être utilisé dans la formule de calcul de l'indicateur.

1 инд
МА(app_price)
2 инд
МА(app_price)-price(app_price)
 

Il ressort clairement de ce qui précède que le paramètre app_price peut être déclaré en tant qu'entrée, mais l'utilisateur devra alors spécifier le paramètre requis deux fois.

Une fois dans Inputs et une fois dans Parametrs. Ce n'est pas une bonne chose.

Il peut y avoir des cas où c'est nécessaire, mais il y a des cas où c'est mauvais.

 
Je pense que ce n'est pas une fatalité. Quelle est la fréquence de ce problème dans la vie de tous les jours ? Une fois peut être spécifié au démarrage.
 

Je soutiens l'utilisateur Urain. Comment savoir ce que contient le tableau price[] ? Quel est exactement le prix ?

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
{

S'il est impossible de le savoir, l'intérêt d'utiliser le tableau price[] est également perdu.

Ce problème se pose à chaque fois que l'on programme un indicateur multidevise. Par exemple, nous voulons créer un indicateur de corrélation entre les devises. Nous disposons déjà d'un tableau de prix. Il s'agit de price[]. Nous chargeons les prix du deuxième instrument. Mais de quel type ?

Nous devrons introduire le paramètre app_price dans l'entrée et charger deux tableaux de prix indépendamment l'un de l'autre, sans passer par price[].

Ce n'est pas très pratique !

Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
  • 2010.05.17
  • Alexey Klenov
  • www.mql5.com
В последнее время возрос интерес к кластерному анализу рынка FOREX. MQL5 открывает новые возможности исследования закономерностей движения валютных пар. Важным преимуществом MQL5, по сравнению с MQL4, является возможность использования неограниченного количества индикаторных буферов. В данной статье описан пример построения мультивалютного индикатора.
 
EvgeTrofi:

Je soutiens l'utilisateur Urain. Comment savoir ce que contient le tableau price[] ? Qu'est-ce que le prix exactement ?

Nous ne faisons pas d'ajustement, nous calculons simplement sur le tableau de prix.

Mais si vous avez besoin de calculer sur un prix spécifique, utilisez l'appel OnCalculate dans le premier formulaire avec app_price explicitement à l'extérieur.

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
sergeev:

Nous ne faisons pas d'ajustement, nous calculons simplement sur un tableau de prix.

Mais si vous avez besoin de calculer sur un prix spécifique, alors utilisez l'appel OnCalculate dans le premier formulaire avec app_price explicitement à l'extérieur.


Alex, regarde le titre du sujet...

Vous appelez un indicateur à partir d'un indicateur, qui à son tour appelle un autre indicateur, tous les indicateurs sont construits sur OnCalculate selon le schéma avec "price",

comment passer aux indicateurs inférieurs lors de l'appel qui app_price est nécessaire.

Il n'est pas économique de transporter l'ensemble des prix pour chaque indicateur si l'utilisateur en a clairement défini un. Mais si vous choisissez la surcharge OnCalculate avec l'ensemble des prix, il en sera ainsi.

Si vous appliquez une version réduite de OnCalculate et que vous mettez en même temps app_price dans les entrées, vous obtiendrez une confusion, puis l'utilisateur pourra faire une erreur en spécifiant un app_price dans les entrées et un autre dans les paramètres.

 

Ce qui manque, c'est la possibilité d'appeler un indicateur externe en utilisant le tampon de l'indicateur actuel.

Par exemple, supposons qu'il n'y ait pas de stochastique dans la livraison.

J'ai calculé la ligne %K et je l'ai mise dans la mémoire tampon.

Ensuite, je dois calculer la ligne %D.

C'est là que j'appelle un assistant externe.

On me dirait de la calculer moi-même en utilisant le tampon %K.

Mais que dois-je faire ?

1. si je ne connais pas le code de cet assistant et que je l'ai acheté en tant qu'indicateur compilé.

2. les indicateurs intégrés sont comptés beaucoup plus rapidement que leurs homologues MQL.

Il serait également très utile de pouvoir appeler des indicateurs sur le tampon d'entrée.

Peut-être que tout cela est déjà disponible ? Dans ce cas, veuillez me donner un lien vers la documentation.
.

Способы вызова индикаторов в MQL5
Способы вызова индикаторов в MQL5
  • 2010.03.09
  • KlimMalgin
  • www.mql5.com
C появлением новой версии языка MQL, не только изменился подход к работе с индикаторами, но и появились новые способы создания индикаторов. Кроме того, появилась дополнительная гибкость при работе с индикаторными буферами - теперь вы можете самостоятельно указать нужное направление индексации и получать ровно столько значений индикатора, сколько вам требуется. В этой статье рассмотрены базовые методы вызова индикаторов и получения данных из индикаторных буферов.
 
VladMsk:

Ce qui manque, c'est la possibilité d'appeler un indicateur externe en utilisant le tampon de l'indicateur actuel.

Par exemple, supposons qu'il n'y ait pas de stochastique dans la livraison.

J'ai calculé la ligne %K et je l'ai mise dans la mémoire tampon.

Ensuite, je dois calculer la ligne %D.

C'est là que j'appelle l'assistant externe.


Avez-vous besoin de cet assistant externe pour réaliser cette possibilité à partir de la documentation ?


 
sergeev:


Avez-vous besoin que le masque externe corresponde à cette possibilité de la documentation ?


Alexey,
Merci pour votre temps.
D'après la documentation, il est nécessaire de transmettre l'indicateur OTHER,
et j'ai demandé la possibilité de traiter le tampon de l'indicateur actuel.
Plus loin.
L'indicateur OTHER peut être transmis, mais je n'ai pas trouvé où spécifier lequel des tampons doit être utilisé.