Aide au codage - page 178

 

Besoin d'aide pour coder un EA - >10% de profit/mois

Bonjour à tous, J'ai une stratégie très simple qui semble être assez sûre et donner un bon rendement, mais qui est horriblement fastidieuse à la main. C'est pourquoi j'aimerais que quelqu'un m'aide à la coder, afin d'économiser l'effort et d'être capable de trader 24 heures sur 24. La stratégie est très simple : placer des BUY STOPS et des SELL STOPS à 400 pips au-dessus et en dessous du prix actuel. La distance entre les lignes doit pouvoir être choisie en externe, ainsi que le TP en pips et les Lots (à partir de 0.01). Le SL est optionnel et également externe. Le système est laissé au travail jusqu'à ce qu'un objectif de profit global soit atteint (également externe). À ce moment-là, le programme vend tout, annule tous les ordres en attente et recommence à travailler à partir de zéro. Comme je l'ai dit, c'est très simple. Des mathématiques pures, pas de retardataires (indicateurs). Avec cette stratégie, j'ai fait environ 10% de profit par mois, en fonction des conditions du marché et de la gestion de l'argent. Sur le long terme, c'est un pari très sûr, mais vraiment fatigant à exécuter manuellement. J'utilise l'EURUSD, mais si possible, ce serait un plus de pouvoir trader plusieurs paires en même temps, juste pour diversifier (bien qu'il n'y ait pas vraiment besoin de cela, vu les résultats que j'ai obtenus jusqu'à présent).

 

Est-ce que quelqu'un peut m'aider, j'ai fait un code comme ceci :

double ccia = iCCI(Symbol(),PERIOD_H1,14,PRICE_CLOSE,0) ;

double ccib = iCCI(Symbol(),PERIOD_H1,14,PRICE_CLOSE,1) ;

int Trend ;

si (ccia>ccib&&ccia<=-150) Trend=0 ;

si (ccia=150) Trend=1 ;

Je voulais que la valeur de la tendance ne change que lorsque la condition est remplie. Ainsi, lorsque la condition est remplie, la valeur de la tendance = 0 ne sera modifiée que par le deuxième IF. Bien que la valeur du cci soit comprise entre -150 et 150.

mais pourquoi est-ce que j'obtiens toujours une valeur de 0 (zéro) à la valeur de Trend.

 
Q_Mouze:
Est-ce que quelqu'un peut m'aider, j'ai fait un code comme celui-ci :

double ccia = iCCI(Symbol(),PERIOD_H1,14,PRICE_CLOSE,0) ;

double ccib = iCCI(Symbol(),PERIOD_H1,14,PRICE_CLOSE,1) ;

int Trend ;

si (ccia>ccib&&ccia<=-150) Trend=0 ;

si (ccia=150) Trend=1 ;

pourquoi j'obtiens toujours la valeur 0 (zéro) à la valeur de Trend.

Changez-le en ceci (pour éviter d'avoir la même valeur quand il n'y a pas de conditions remplies) :

double ccia = iCCI(Symbol(),PERIOD_H1,14,PRICE_CLOSE,0);

double ccib = iCCI(Symbol(),PERIOD_H1,14,PRICE_CLOSE,1);

int Trend=-1;

if (ccia>ccib&&ccia<=-150) Trend=0;

if (ccia=150) Trend=1;

En ce moment, le CADCHF affiche une valeur différente de celle par défaut -1.

 
mladen:
Changez-la en ceci (pour éviter d'avoir la même valeur quand il n'y a pas de conditions remplies) :
double ccia = iCCI(Symbol(),PERIOD_H1,14,PRICE_CLOSE,0);

double ccib = iCCI(Symbol(),PERIOD_H1,14,PRICE_CLOSE,1);

int Trend=-1;

if (ccia>ccib&&ccia<=-150) Trend=0;

if (ccia=150) Trend=1;
A un moment donné, le CADCHF montre une valeur différente de la valeur par défaut -1.

Merci mladen, mais

double CCIA = ICCI (Symbole (), PERIOD_H1, 14, PRICE_CLOSE, 0) ;

double CCIB = ICCI (Symbole (), PERIOD_H1, 14, PRICE_CLOSE, 1) ;

Tendance int ;

si (CCIA> CCIB CCIA && condition 1

si (CCIA = 150) Trend = 1 ; =====> condition 2

du code je veux que si la condition 1 la valeur de tendance sera changée à 0, cette condition restera jusqu'à ce que les 2 conditions se produisent qui changeront la valeur de tendance étant 1.

mais cela se produit La valeur de tendance est toujours 0 seulement changé quand dans la condition 2, quand la valeur de cci a passé ou sont sous 100 valeur de tendance changée encore à 0.

 
Q_Mouze:
Merci mladen, mais

double CCIA = ICCI (Symbole (), PERIOD_H1, 14, PRICE_CLOSE, 0) ;

double CCIB = ICCI (Symbole (), PERIOD_H1, 14, PRICE_CLOSE, 1) ;

Tendance int ;

si (CCIA> CCIB CCIA && condition 1

si (CCIA = 150) Trend = 1 ; =====> condition 2

du code que je veux si la condition 1 la valeur de tendance sera changée à 0, cette condition restera jusqu'à ce que les 2 conditions se produisent qui changeront la valeur de tendance étant 1.

mais cela arrive La valeur de la tendance est toujours 0, elle ne change que dans la condition 2, lorsque la valeur du cci passe ou est inférieure à 100, la tendance change à nouveau à 0.

Q_Mouze

Pour ce faire, une solution serait d'utiliser une variable statique pour la tendance à la place.

Le code serait alors le suivant :

double ccia = iCCI(Symbol(),PERIOD_H1,14,PRICE_CLOSE,0);

double ccib = iCCI(Symbol(),PERIOD_H1,14,PRICE_CLOSE,1);

static int Trend=-1;

if (ccia>ccib&&ccia<=-150) Trend=0;

if (ccia=150) Trend=1;

Dans ce cas, l'affectation à -1 ne se produirait que lors de la première exécution du code. Après cela, lorsque de nouveaux ticks arrivent, la valeur de la tendance serait "héritée" d'un tick précédent et c'est ce que vous recherchez.

_____________________

Si vous souhaitez faire cela sur des valeurs historiques (comme un indicateur), vous devrez déclarer Trend comme un tampon et vous pourrez alors le faire pour les valeurs passées également.

 

Tous les bons jours.

Aide s'il vous plaît.

De même, les signaux de l'indicateur DSS Bressert + ahtf_ (FILTER) ? ??

faisant ainsi :

//---------------------------

double aTrend[2] ;

aTrend[0] =iCustom(NULL, 0, "DSS Bressert + ahtf_(FILTER)", 6, 0) ;

aTrend[1] =iCustom(NULL, 0, "DSS Bressert + ahtf_(FILTER)", 6, 1) ;

if (aTrend[1] < aTrend[0]) // acheter

{

Maintenant la ligne verticale bleue

}

if (aTrend[1] > aTrend[0]) // vendre

{

Maintenant la ligne verticale rouge

}

//---------------------------------

grande difficulté à prendre le signal. S'il vous plaît aider.

Je suis désolé pour mon anglais.

Merci.

Photo et joindre l'indicateur.

Dossiers :
 
shtopr:
Tous les bons jours.

Aidez-nous s'il vous plaît.

De même, les signaux de l'indicateur DSS Bressert + ahtf_ (FILTER) ? ??

faisant ainsi :

//---------------------------

double aTrend[2] ;

aTrend[0] =iCustom(NULL, 0, "DSS Bressert + ahtf_(FILTER)", 6, 0) ;

aTrend[1] =iCustom(NULL, 0, "DSS Bressert + ahtf_(FILTER)", 6, 1) ;

if (aTrend[1] < aTrend[0]) // acheter

{

Maintenant la ligne verticale bleue

}

if (aTrend[1] > aTrend[0]) // vendre

{

Maintenant la ligne verticale rouge

}

//---------------------------------

grande difficulté à prendre le signal. S'il vous plaît aider.

Je suis désolé pour mon anglais.

Merci.

Photographiez et joignez l'indicateur.

Pour voir quand les signaux sont actifs, désactivez l'interpolation.

Utilisez également le tampon 6 pour cela. Quand il vaut 1, c'est une tendance à la hausse, quand il vaut -1, c'est une tendance à la baisse et quand la tendance actuelle != la tendance précédente, il y a un changement de tendance et il y a un signal.

 
mladen:
Pour voir quand les signaux sont activés, désactivez l'interpolation. Utilisez également le tampon 6 pour cela. Quand il vaut 1, c'est une tendance à la hausse, quand il vaut -1, c'est une tendance à la baisse et quand la tendance actuelle != la tendance précédente, il y a un changement de tendance et un signal.

Je n'ai pas eu de ((.

Je vous en prie.

Si cela est possible ...

Montrer le code.

Merci.

P.S.

Désolé pour la traduction

 
shtopr:
Je n'ai pas obtenu ((.

Je vous en prie.

Si c'est possible...

Afficher le code.

Merci.

P.S.

désolé pour la traduction

Sur votre image, vous montrez un graphique en 1 heure et une valeur d'indicateur quotidien.

Dans l'appel iCustom() vous utilisez le cadre temporel actuel. Si vous voulez utiliser le cadre temporel quotidien, vous devez le spécifier dans l'appel iCustom() (sinon les valeurs ne seront jamais les mêmes).

De plus, vous utilisez un appel de barre ouverte. Si vous envisagez d'utiliser un appel multi-trame de temps à partir de l'EA, vous devez savoir que l'utilisation d'une barre ouverte multi-trame de temps dans le back-test donnera des résultats invalides (il connaîtra toujours le futur), donc vous ne devez pas utiliser un appel de barre ouverte si vous envisagez d'utiliser multi-trame de temps.

 

Salut mladen,

Pourriez-vous m'aider à convertir ces deux valeurs en version rsi séparément ? J'essaie mais je ne sais pas comment faire, c'est à dire rsi de kairi, rsi de cci ? merci beaucoup pour votre aide.

Dossiers :
cci.mq4  4 kb
kairi.mq4  8 kb
Raison: