Fonction ICustom - page 6

 

Les gars,

J'ai besoin d'aide sur le code OzFX de DGC...

/*---------------------*/

/* OZFX REGULAR CODE */

/*---------------------*/

OzFX_Regular[k] = 0 ;

si (iAC(Symbol(), 0, k) > 0 &&

iAC(Symbol(), 0, k) > iAC(Symbol(), 0, k + 1) &&

iStochastic(Symbol(), 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, k) > 50 )

{

if (iLastRegular != 1) OzFX_Regular[k] = 1 ;

iLastRegular = 1 ;

}

si iLastRegular est égal à 1, cela libérera BUY à EA ...

Ici je veux ajouter une condition supplémentaire pour l'indicateur appelé Lagurerre-ACS1 avec le settin 0.6,1000,2, déclencher un achat après que l'indicateur >0.15..

Est-ce que c'est quelque chose comme ça en dessous... ??

/*---------------------*/

/* OZFX REGULAR CODE */

/*---------------------*/

OzFX_Regular[k] = 0 ;

si (iAC(Symbol(), 0, k) > 0 &&

iAC(Symbol(), 0, k) > iAC(Symbol(), 0, k + 1) &&

iStochastic(Symbol(), 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, k) > 50 &&

iCustom(Symbol(), 0, "Laguerre-ACS1", 0.6, 1000, 2, 0, k)> 0.15)

{

if (iLastRegular != 1) OzFX_Regular[k] = 1 ;

iLastRegular = 1 ;

}

merci d'avance

sonic

 
sonicdeejay:
Les gars,

J'ai besoin d'aide sur le code OzFX de DGC...

Si iLastRegular est égal à 1, cela déclenchera un BUY pour l'EA ...

Ici, je veux ajouter une condition supplémentaire pour l'indicateur appelé Lagurerre-ACS1 avec le settin 0.6,1000,2, déclencher un achat après l'indicateur >0.15..

Est-ce quelque chose comme cela ci-dessous ... ?

merci d'avance

sonic

Il semble être OK selon que le tampon appelé est le 1er (nommé 0). Je suppose que vous savez de quel tampon vous avez besoin.

Juste une suggestion. Lorsque vous écrivez plusieurs conditions, mieux vaut les faire séparément car dans votre cas, même si seule la première est valide, toutes les autres sont calculées à chaque tick et alourdissent les calculs de l'EA. Voici comment vous pourriez écrire :

if(iAC(Symbol(), 0, k) > 0) {

if(iAC(Symbol(), 0, k) > iAC(Symbol(), 0, k + 1)) {

if(iStochastic(Symbol(), 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, k) > 50) {

si(iCustom(Symbol(), 0, "Laguerre-ACS1", 0.6, 1000, 2, 0, k)> 0.15) {

puis votre code ici

}}}}

Le mieux serait de trier les conditions avec celle qui donne le signal le plus récent au début des conditions. De cette façon, la "boucle" de conditions sera calculée dans son intégralité, pas à chaque ticks, mais lorsque presque toutes les conditions sont valides.

J'espère que cela vous aidera.

FerruFx

 
FerruFx:
Il semble être OK selon que le tampon appelé est le 1er (nommé 0). Je suppose que tu sais de quel tampon tu as besoin.

Juste une suggestion. Lorsque vous écrivez plusieurs conditions, il vaut mieux les faire séparément car dans votre cas, même si seule la première est valide, toutes les autres sont calculées à chaque tick et rendent le calcul de l'EA lourd. Voici comment vous pourriez écrire :

if(iAC(Symbol(), 0, k) > 0) {

if(iAC(Symbol(), 0, k) > iAC(Symbol(), 0, k + 1)) {

if(iStochastic(Symbol(), 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, k) > 50) {

si(iCustom(Symbol(), 0, "Laguerre-ACS1", 0.6, 1000, 2, 0, k)> 0.15) {

puis votre code ici

}}}}

Le mieux serait de trier les conditions avec celle qui donne le signal le plus récent au début des conditions. De cette façon, la "boucle" de conditions sera calculée dans son intégralité, pas à chaque ticks, mais lorsque presque toutes les conditions sont valides.

J'espère que cela vous aidera.

FerruFx

Vous voulez m'aider ?

Sonic System ! - Page 16

sonic

 

Un peu d'aide...

Bonjour, j'ai essayé de programmer une ea, et j'ai suivi votre cours (très intéressant !).

Je sais très bien comment programmer en java et un peu en c++.

J'ai essayé de programmer une ea avec des indicateurs de tendance cérébrale, l'idée est la suivante

quand les DOTs brainTrend2stop et braintrend1stop sont présents acheter (et vice versa)

mais si j'appelle la fonction iCustom comme ceci

BuyValueCurrent = iCustom(NULL,TimeFrame,IndicatorName1,NumBars,0,1) ;

Je n'obtiens que la valeur de l'indicateur dans la barre actuelle.

existe-t-il un moyen de rendre cette valeur booléenne ? j'aimerais écrire une fonction du type

buy=true

BuyCondition = (IndicatorName1=true && IndicatorName2=true) ;

quelqu'un peut-il m'aider s'il vous plaît ???

 
payback:
Bonjour, j'ai essayé de programmer une ea, et j'ai suivi votre cours (très intéressant !).

Je sais très bien comment programmer en Java et un peu en C++.

J'ai essayé de programmer une ea avec des indicateurs de tendance cérébrale, l'idée est la suivante

quand les DOTs brainTrend2stop et braintrend1stop sont présents acheter (et vice versa)

mais si j'appelle la fonction iCustom comme ceci

BuyValueCurrent = iCustom(NULL,TimeFrame,IndicatorName1,NumBars,0,1) ;

Je n'obtiens que la valeur de l'indicateur dans la barre actuelle.

existe-t-il un moyen de rendre cette valeur booléenne ? j'aimerais écrire une fonction du type

buy=true

BuyCondition = (IndicatorName1=true && IndicatorName2=true) ;

Quelqu'un peut-il m'aider s'il vous plaît ?

Pas besoin de poster la même question partout !

 

Désolé ! mais merci quand même !

 

Aide s'il vous plaît ... iStochastics et iCustom retournent des valeurs erronées

Bonjour à tous,

Je rencontre quelques problèmes en utilisant la fonction iStochastic ainsi que la fonction iCustom et j'espère que vous pourrez m'aider. Avec l'une ou l'autre des fonctions, les valeurs que j'obtiens ne correspondent pas à celles que je vois sur le graphique, que ce soit pour l'indicateur stochastique ou pour mon propre indicateur que j'appelle avec la fonction iCustom.

Quelle pourrait être la raison et comment puis-je résoudre ce problème ? J'apprécie votre aide et je vous remercie par avance.

 
linalm:

Bonjour à tous,

Je rencontre quelques problèmes en utilisant la fonction iStochastic ainsi que la fonction iCustom et j'espère que vous pourrez m'aider. Avec l'une ou l'autre des fonctions, les valeurs que j'obtiens ne correspondent pas à celles que je vois sur le graphique, que ce soit pour l'indicateur stochastique ou pour mon propre indicateur que j'appelle avec la fonction iCustom.

Quelle pourrait être la raison et comment puis-je résoudre ce problème ? J'apprécie votre aide et vous remercie par avance.

J'ai eu quelques problèmes avec la fonction iCustom qui renvoie des valeurs différentes lorsqu'elle est utilisée avec la fonction NormalizeDouble().

 
double Buy1_1 = iCustom(NULL, 0, "i_Trend", 0, 0, 0, 20, 2, 13, 300, 0, 0) ;

double Buy1_2 = iCustom(NULL, 0, "i_Trend", 0, 0, 0, 20, 2, 13, 300, 1, 0) ;

Puis-je savoir quelle est la différence entre ces 0 et 1 ?

J'ai vérifié ici mais je ne semble pas comprendre...

iCustom - Documentation MQL4

Merci d'avance

sonic

 
sonicdeejay:
Puis-je savoir quelle est la différence entre ces 0 et 1...

J'ai vérifié ici mais je ne semble pas comprendre...

iCustom - Documentation MQL4

Merci d'avance

sonic

Ce sont les buffers # de l'indicateur iTrend que vous appelez.

FerruFx