Fonction ICustom - page 18

 
OneandOnly666:
Ok ! Merci pour l'aide, je vais étudier la question et voir si je peux trouver le problème.

ces deux lignes sont de simples vérifications de conditions et il faut un temps très, très court pour tester ces deux conditions

ce qui est fait après ces lignes (ou dans le reste du code qui dépend de ces lignes) est la cause du ralentissement.

 
mladen:
ces deux lignes sont de simples vérifications de conditions et il faut un temps très, très court pour tester ces deux conditions ce qui est fait après ces lignes (ou dans le reste du code qui dépend de ces lignes) est ce qui cause le ralentissement

C'était l'indicateur.

J'ai utilisé un indicateur ergodique plus simple à la place et ça a marché.

Merci pour votre aide, je ne l'aurais jamais trouvé sans votre aide.

/Thomas

 
codersguru:
Salut homi,

Je ne vous ai pas mal compris. Je vous ai donné un exemple de travail avec iCustom.

Quoi qu'il en soit, voici une ligne de code qui va obtenir la valeur de LSMA en utilisant iCustom.

Note : J'ai utilisé LSMA en couleur (Lsma)

Alert(iCustom(NULL,0,"LSMA in Color",14,1500,0,0));

parmeter 1: le symbole - NULLpour le symbole actuel.

parmeter 2: time frame - 0 pour le time frame actuel.

parmeter 3: nom de l'indicateur - ici c'est"LSMA in Color".

parmeter 4: c'est un paramètre pour le LSMA - Rperiod= 14.

parmeter 5: c'est un paramètre pour le LSMA - Draw4HowLongg= 1500.

parmeter 6: le numéro de ligne (plage de 0 à 7) - habituellement utilisé 0.

parmeter 7: la barre de travail - 0 pour la barre actuelle.

Essayez cette ligne de code et dites-moi

Merci pour cela

 

Bonjour mladen/mrtools,

Existe-t-il un fil de discussion spécifique pour ce type d'information ? Je pense qu'il sera utile aux membres non codeurs de ce site.

(Ref. post #91 par Forex2006)

Merci,

Paul

 
tamaraofx:
Re : Section iCustom des Expert Advisors

Bonjour mladen/mrtools,

Existe-t-il un fil de discussion spécifique pour ce type d'information ? Je pense qu'il sera utile aux membres non codeurs de ce site.

(Ref. post #91 par Forex2006)

Merci,

Paul

Paul

Il ne s'agit que de quelques façons possibles d'utiliser ces indicateurs. Vous ne pouvez pas "couvrir" toutes les possibilités (et combinaisons) de la façon dont les valeurs de certains indicateurs peuvent être utilisées dans un EA. C'est pourquoi il y a une fonction iCustom() et nous pouvons utiliser les indicateurs comme nous le souhaitons (ou en avons besoin) dans un EA.

Et il existe encore moins une sorte de norme sur le fonctionnement des EA. Ce qui peut fonctionner dans un EA ne fonctionnera pas dans un autre. Il n'y a pas moyen de saisir une paix de code et de faire fonctionner tous les EAs avec cette paix de code.

 

Oui, j'ai remarqué. Certains sont basiques, c'est-à-dire a>b ou a>0, d'autres sont complexes. Pour les plus basiques, je peux comprendre et expérimenter sur quelques ea. Parfois, cela fonctionne. Il y a certains modèles d'ea où l'on peut changer les codes de signaux d'achat/vente des indicateurs et cela fonctionne. Même si je ne dis pas que c'est parfaitement rentable.

Vous avez tellement de bons indicateurs bien conçus sur ce site. Mais comment tester/automatiser cela dans une ea n'est pas très facile pour certains membres - y compris moi-même. En tant que membre ici, je suis particulièrement intéressé de savoir comment ces beaux indicateurs pourraient s'intégrer dans un modèle d'ea ; quel tampon utiliser dans le code ; quels sont les opérandes et les opérateurs à utiliser ; quelque chose comme ça.

Il serait utile de voir quelque chose comme dans ce post pour la combinaison de code plus basique pour ces beaux indicateurs.

C'est juste une idée.

Merci et meilleures salutations,

Paul

 

si l'indicateur original 'Dynamic zone MACD dll' a dans ce cas les tampons 0-3, alors la valeur '4' signifie qu'il s'agit d'une autre instance de cet indicateur et que les données proviennent du tampon 0.

la valeur '4' signifie une autre instance de cet indicateur et des données du tampon 0 ou bien il s'agit d'une erreur de codage/mismatch ?

Krzysztof

SetIndexBuffer(0,macd); SetIndexLabel(0,"MACD");

SetIndexBuffer(1,macs); SetIndexLabel(1,"MACD signal");

SetIndexBuffer(2,bli);

SetIndexBuffer(3,sli);

double FastMacd2 = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,0,2);

double FastMacd1 = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,0,1);

double SlowMacd = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Slow,MacdSlow_Slow,1,Slow_MacdSignalMode,Slow_MacdPrice,Slow_DzLookBackBars,Slow_DzStartBuyProbability,Slow_DzStartSellProbability,0,0);

double fast2trigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,4,2);

double fast1trigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,4,1);

double slowtrigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Slow,MacdSlow_Slow,1,Slow_MacdSignalMode,Slow_MacdPrice,Slow_DzLookBackBars,Slow_DzStartBuyProbability,Slow_DzStartSellProbability,4,0);

 
fajst_k:
si l'indicateur original 'Dynamic zone MACD dll' dans ce cas a les tampons 0-3, alors le code de l'indicateur ne peut pas accéder au tampon "4".

la valeur '4' signifie qu'il y a une autre instance de cet indicateur et des données provenant du tampon 0 ou qu'il s'agit d'une erreur de codage/mismatch ?

Krzysztof

SetIndexBuffer(0,macd); SetIndexLabel(0,"MACD");

SetIndexBuffer(1,macs); SetIndexLabel(1,"MACD signal");

SetIndexBuffer(2,bli);

SetIndexBuffer(3,sli);

double FastMacd2 = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,0,2);

double FastMacd1 = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,0,1);

double SlowMacd = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Slow,MacdSlow_Slow,1,Slow_MacdSignalMode,Slow_MacdPrice,Slow_DzLookBackBars,Slow_DzStartBuyProbability,Slow_DzStartSellProbability,0,0);

double fast2trigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,4,2);

double fast1trigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,4,1);

double slowtrigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Slow,MacdSlow_Slow,1,Slow_MacdSignalMode,Slow_MacdPrice,Slow_DzLookBackBars,Slow_DzStartBuyProbability,Slow_DzStartSellProbability,4,0);

D'où vient ce code ?

Il ne peut pas accéder au tampon "4" puisque l'indicateur ne le possède pas.

 

d'ici

.........................

J'ai vérifié ce code et j'ai aussi eu des doutes, mais le compilateur ne se plaint pas.

 
fajst_k:
A partir de là, j'ai vérifié ce code et j'ai eu des doutes, mais le compilateur ne s'est pas plaint.

En fait, ce que je veux dire, c'est quelle est la source où ces appels iCustom() sont utilisés ?

PS : j'ai supprimé le lien vers ce site (pour des raisons évidentes)