Fonction ICustom - page 3

 

Principalement pour les tests/vérification

Je développe mes stratégies avec un indicateur, et je veux vérifier que l'EA fonctionne comme l'indicateur. Si j'ai un peu plus d'expérience avec MT4, je pourrai peut-être faire de la logique de l'indicateur une sous-routine ou une DLL et l'appeler à la fois depuis mon indicateur et mon EA.

Lorsque vous utilisez le testeur, vous pouvez ouvrir un graphique. Si je pouvais remplacer cette logique, je pourrais également placer des objets sur ce graphique.

Quelqu'un connaît-il des EA qui vous montrent graphiquement ce qu'ils font ?

 

J'ai fait mon premier ICustom en utilisant Fisher m11 comme custom. Il montre l'indicateur dans le testeur qui est un beau graphique mais qui est un perdant la plupart du temps. Fisher m11 est un indicateur et doit être dans ce dossier. Fisher Auto EA m11 doit être dans le dossier experts. Voici comment je l'ai placé dans l'EA :

iCustom(NULL,0, "Fisher_m11",Fisher_Period, IndexSmoothing,PriceSmoothing,0) ;

Voici le format pour l'utiliser : double iCustom( string symbol, int timeframe, string name, ..., int mode, int shift)

Cela peut aider ceux qui travaillent à la création de leurs propres EA.

Dossiers :
 

J'ai une question similaire.

Est-ce que quelqu'un sait comment utiliser

SHI_SilverTrendSigAlert

et

SilverTrend_Signal avec alerte v3

dans un EA ?

J'ai besoin de l'aide d'un professionnel.

 

SilverTrend est bien pour le trading mais le signal va aller et venir jusqu'à la fermeture de la barre, ce qui peut être difficile pour créer un EA. J'ai inclus un zip de 12 EAs Silver pour que vous puissiez les regarder.

Dossiers :
 

Je voulais juste clarifier les valeurs finales de la ligne iCustom dans ma tête.

Ligne et décalage

Donc, si j'ai un indicateur comme VQ qui n'a qu'une seule ligne graphique et que je veux savoir, sur la bougie fermée précédente, si elle a signalé une flèche vers le haut pour une condition d'achat ou si elle a signalé une condition de vente en descendant la flèche, j'ai besoin de mettre en place deux conditions ;

double VQ0 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 1,1);

double VQ1 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 2,1);

[/code]

So the above is going to check for an up condition (up) or sell (down) condition on the closed bar, correct?

Then my Buy and Sell code should be; correct?

//Buy

if (VQ0>VQ1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

//Sell

if (VQ0<VQ1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

[/code]

Now if I wanted to add a second indicator so that TWO conditions need to be met at the same time to trigger a trade, it has two graphical lines (Don't know if it matters by how many lines it has, the indicator knows what it's Buy and Sell conditions are, correct?) My code would change to;

[code]

double VQ0 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 1,1);

double VQ1 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 2,1);

double QQEA0 = iCustom(NULL, 0, "QQEA",5,14,4.236, 1, 1);

double QQEA1 = iCustom(NULL, 0, "QQEA",5,14,4.236, 2, 1);

and Buy and Sell code should be

[code]

//Buy

if (VQ0>VQ1 && QQEA0>QQEA1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

//Sell

if (VQ0<VQ1 && QQEA0<QQEA1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

Edit : Je viens de faire un back test et il semble que le trading se fasse comme pour chaque M30 (Chart TF). Je veux seulement qu'il initie le trade SEULEMENT au premier signal et qu'il attende le prochain signal opposé. Il semble que lorsque les deux indicateurs sont d'accord sur un achat, il effectue une transaction, puis lorsque cette transaction est fermée, il continue une autre transaction d'achat sur la bougie suivante si les conditions sont toujours remplies. Ce n'est pas ce que je veux Je ne veux qu'une seule transaction par signal d'achat ou de vente. Merci

Vous trouverez ci-joint deux EA, l'un appelé My First EA que quelqu'un a modifié pour moi parce qu'il pensait que les conditions n'étaient pas correctes, et l'autre que j'ai créé en utilisant un modèle appelé YourExpertAdvisor. Sont-ils tous deux corrects ?

Merci de votre compréhension.

Dossiers :
 

Si j'ai bien compris, vous voulez que votre EA traite une série ininterrompue d'accords d'indicateurs comme "un signal", plutôt que de considérer chaque occasion d'accord comme un signal.

Une façon d'y parvenir est d'en faire un EA avec état et d'utiliser une conception comme la suivante :

static int last_signal = 0;

int signal = 0;

if ( ) signal = 1;

if ( ) signal = -1;

if ( signal != 0 && signal != last_signal ) {

// New signal series...

}

last_signal = signal;

 
ralph.ronnquist:
Si je comprends bien, vous voulez que votre EA traite une série ininterrompue de concordance d'indicateurs comme "un signal", plutôt que de considérer chaque concordance comme un signal.

Une façon de le faire est d'en faire un EA à état et d'utiliser une conception comme la suivante :

static int last_signal = 0;

int signal = 0;

if ( ) signal = 1;

if ( ) signal = -1;

if ( signal != 0 && signal != last_signal ) {

// New signal series...

}

last_signal = signal;

Bonjour Ralph, peut-être que ce fil que j'ai lancé sera plus clair ;

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

Merci

 
codersguru:
homicida,

Je suis désolé pour le retard.

Veuillez trouver ci-joint la version modifiée de LSMA et iCustom_Demo.

J'ai ajouté un nouveau tampon au LSMA pour contenir la couleur actuelle (1=rouge, 2=vert et 3=jaune).

Où est (1=tendance à la baisse, 2=tendance à la hausse et 3=pas de tendance).

Pour utiliser iCustomfunction pour obtenir la valeur de ce tampon, vous pouvez écrire :

double clr = iCustom(NULL,0,"LSMA in Color",14,1500,5,0);

Merci Codersguru !

J'ai pu créer une version de ma boussole numérique à utiliser avec les indicateurs de disque.

 

Il serait bon que vous, TheRumpledOne, appreniez également à joindre des images plutôt que de les mettre en ligne ; avec les déchets que vous collez, cela gaspille beaucoup d'espace.

 
ralph.ronnquist:
Ce serait bien que vous, TheRumpledOne, appreniez aussi à joindre les images plutôt que de les mettre en ligne ; avec les déchets que vous collez, cela gaspille beaucoup d'espace.

Si c'est de la "camelote", alors pourquoi la poster ?