Fonction ICustom - page 5

 

Ok, merci, je vais devoir lire et relire ceci plusieurs fois pour comprendre et oui, je veux que le signal ne soit émis que lorsque les DEUX lignes deviennent bleues ou rouges en même temps. Quel serait alors le code "placer une transaction d'achat" ?

 
matrixebiz:
Ok, merci, je vais devoir lire et relire ceci plusieurs fois pour comprendre et oui, je veux que le signal ne soit émis que lorsque les DEUX lignes deviennent bleues ou rouges en même temps. Dans ce cas, quel serait le code "placer une transaction d'achat" ?

Le terme faisant référence à cet indicateur serait simplement de mentionner la variable booléenne, par exemple "both_go_blue" comme terme dans la condition d'achat, et "both_go_red" comme terme dans la condition de vente. Pour illustrer, cela ressemblerait à ceci :

if ( .... && both_go_blue && ... ) ....

Notez que j'ai fait des hypothèses concernant l'indicateur, à savoir que le tampon de chaque indication a soit une "valeur vide", soit une valeur constante, ce qui est le cas pour les indications bleues et rouges sur la même ligne. Si cette hypothèse est fausse, le code réel doit être un peu plus alambiqué, mais nous prendrons ce bus quand il viendra.

 

Ok, merci pour vos explications claires. Je devrais y arriver maintenant Une dernière chose, comment devrais-je coder si je ne voulais pas seulement comparer les barres actuelles et précédentes mais si je voulais dire "si les signaux sont en accord dans les 2-4 dernières barres, alors créez quand même la condition BUY" pas plus de 4 barres de différence entre les indicateurs en accord l'un avec l'autre ? Cela changerait toute la logique de codage de l'EA, n'est-ce pas ?

EDIT : aussi, qu'est-ce que j'ai fait pour créer une condition où l'EA déclenche un BUY quand un indicateur a signalé et que l'autre indicateur n'a pas signalé mais était au moins en accord et allait dans la même direction, le trade BUY était quand même déclenché ?

 
matrixebiz:
Ok, merci pour vos explications claires. Je devrais être capable de comprendre maintenant

Une dernière chose, comment devrais-je le coder si je ne voulais pas seulement comparer les barres actuelles et précédentes, mais si je voulais dire "si les signaux sont en accord dans les 2-4 dernières barres, alors je crée toujours la condition BUY", pas plus de 4 barres de différence entre les indicateurs en accord l'un avec l'autre ? Cela changerait toute la logique de codage de l'EA, n'est-ce pas ?

Exact ; vous pouvez procéder de deux manières : 1) avec un EA avec état, qui conserve les lectures passées pour les comparer avec les lectures actuelles, ou 2) en lisant l'indicateur plus loin dans son passé. Je pense que la deuxième approche est la meilleure, car elle permet d'obtenir un EA plus robuste qui peut être redémarré sans problème. En termes de performances, les deux approches sont à peu près identiques.

Pour (2), vous utiliseriez, ou j'utiliserais, un extrait de code pour rechercher les transitions à rebours, par exemple comme (en principe) :

bool top_went_blue_in_5 = false;

for ( int i = 1; i < 6; i++ ) {

if ( iCustom( ...., 0, i ) != EMPTY_VALUE ) continue; // is blue

if ( iCustom( ...., 1, i ) != EMPTY_VALUE ) {

top_went_blue_in_5 = ( i > 1 ); // Red at i, and blue after

break;

}

}[/PHP]

EDIT: also, what did I do to create a condition where the EA triggered a BUY when One indicator signaled and the other indicator didn't signal but was at least in agreement and going in the same direction, BUY trade was still triggered ??

You are getting fancy ...

It involves a) to represent the "right direction" concept, and then have a disjunctive condition of the form:

if ( ( buy_signal_A && buy_direction_B ) || ( buy_signal_B && buy_direction_A ) ) ...

or, you might prefer a nested condition structure:

[PHP]if ( buy_signal_A || buy_signal_B ) {

if ( buy_direction_A && buy_direction_B ) {

...

}

}
 

Vous envoyer un courriel

 

Matrix, pouvez-vous m'aider à trouver l'indien MTF CI ? Savez-vous où je peux trouver les indiens Stealth ? Merci.

matrixebiz:
Ok, je comprends Shift, je vais devoir lire davantage sur Mode.

Est-ce que vous codez ? J'ai cet indicateur que j'appelle depuis mon EA mais je ne sais pas comment le configurer correctement. Voir image.

Il a juste deux lignes et quand le bleu change et s'aligne avec l'autre ligne, un signal long est généré (même idée avec le rouge).

J'ai essayé plusieurs codes différents comme celui que j'ai utilisé avec l'indicateur VQ ;

double Entry1 = iCustom(NULL, 0, "VQ", 24, 30....., 0, 1) ;

double Entry2 = iCustom(NULL, 0, "VQ", 24, 30....., 0, 2) ;

double Up2 = iCustom(NULL, 0, "VQ", 24, 30....., 1, 2) ;

double Down2 = iCustom(NULL, 0, "VQ", 24, 30....., 2, 2) ;

C'est juste que ça ne marche pas.

Merci
 

Matricebiz, et Ralph,

Si vous voulez utiliser VQ pour un EA, il a un retard de 2 barres. Je vous suggère fortement de voir mon travail posté ici :

https://www.mql5.com/en/forum/general

voir le post 319.

Ralph, pouvez-vous m'aider à résoudre certains de mes problèmes ? Je t'en serais reconnaissant !

Un ici : https://www.mql5.com/en/forum/173219

Poste 702.

Un autre ici :

https://www.mql5.com/en/forum/173060 Post 986

Merci,

Big Be

 

Indicateurs personnalisés

un lecon sur comment faire un indicateur sexy et beau

Le langage MQL4 pour les débutants. Indicateurs personnalisés (2ème partie) - MQL4 Articles

 

Comment obtenir des valeurs multiples à partir d'indicateurs personnalisés?

Bonjour à tous,

J'ai besoin d'obtenir des valeurs d'un indicateur personnalisé en utilisant la fonction iCustom, mais il semble que iCustom ne puisse obtenir qu'une seule valeur de retour.

Si un indicateur personnalisé renvoie plus d'une valeur, comment puis-je obtenir une certaine valeur dont j'ai besoin ?

Par exemple, un indicateur de pivot retournera 2 ou plusieurs valeurs de Support, Résistance ... alors, comment puis-je obtenir chaque valeur dans un indicateur ?

Merci d'avance

 

Normalement, on lit la quantité de tampons dans l'indicateur. S'il y a deux tampons, alors utiliser iCustom pour adresser chaque tampon.

Exemple :

double Buff0=iCustom(NULL, 0, "Pivot",13,0,0) ;

double Buff1=iCustom(NULL, 0, "Pivot",13,1,0) ;

double Buff2=iCustom(NULL, 0, "Pivot",13,2,0) ;

S'il n'y a que deux tampons dans l'indicateur, le tampon 0 normal est lié à la couleur de l'indicateur qui représente la hausse. Le tampon 1 normal se rapporte au tampon de l'indicateur qui va vers le bas.

De plus, si l'indicateur affiche différentes couleurs, vous pouvez ouvrir la fenêtre de configuration de l'indicateur sur la plateforme et sélectionner la configuration des couleurs. Parfois, le tampon et la couleur seront listés dans l'ordre pour que vous puissiez voir quel tampon (et quelle couleur) fait quoi. L'ordre peut énumérer #1, qui est le tampon 0, la couleur verte (ou lime). et ensuite #2, qui est le tampon 1, la couleur rouge, et ainsi de suite.

J'espère que cela vous aidera !

Raison: