Ema Cross ! - page 12

 

@codersguru :

merci pour ce grand effort...

Après avoir attaché votre EA(https://www.mql5.com/en/forum/173468/page7) dans 4 paires eur/usd, gbp/usd, usd/chf, gbp/jpy.... trois paires ont immédiatement commencé à ouvrir le commerce (gbp/usd, usd/chf, gbp/jpy) et tous ont un bon résultat....

Je ne connais rien à la programmation... mais sur la base de ce conseil :

gkozlyk:
Pour les flèches inversées, il suffit de permuter les 2 numéros de flèches dans le code, et le problème est résolu. Compilez ensuite pour que cela prenne effet sur tous les graphiques auxquels l'indicateur est appliqué Graham

Je fais un petit changement dans l'EA :

if(line1>line2)current_direction = 1 ; //haut

if(line1<line2)current_direction = 2 ; //down

Vers

if(line1>line2)current_direction = 2 ; //haut

si(ligne1<ligne2)direction_courante = 1 ; //bas

Hier, j'ai attaché cette EA au compte démo TF30 de neuimex dans quatre paires.... et toutes ont de bons résultats à.....

Je vais continuer à tester ces EA pendant encore 2/3 semaines....

 

Dans la prochaine modification, je pourrais ajouter un autre commutateur pour que les utilisateurs puissent faire des transactions inversées sur le croisement (par exemple, si l'EMA rapide passe au-dessus de l'EMA lente, vous effectuez une vente). Dans mon backtesting visuel, cela semble moins rentable que d'opter pour le croisement immédiatement, puis, au fur et à mesure que les transactions vieillissent, de chercher une transaction inverse.

Une autre idée que j'ai eue était peut-être d'attendre une barre pour prendre le trade après le croisement (cela pourrait éviter les fois où la devise passe à travers puis va dans l'autre sens).

J'ai trouvé un autre programme de croisement d'EMA sur ce site web qui avait quelques bonnes idées.

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

 

Codersguru,

En ce qui concerne la partie MM du trading.

En commençant avec un compte de 10.000$ :

(capitaux propres du compte * pourcentage de risque)/perte la plus importante = lots à négocier

(10,000* 10%)/ 50= 2 lots

Ceci en supposant que le SL est de 50pips.

Le compte doit donc être ajusté à chaque transaction avec cette formule.

J'espère que cela vous aidera.

Mais avant d'incorporer cette formule, veuillez me dire quel genre de

rapport gain/perte et le rapport risque/récompense que vous attendez pour ce système.

Nous pourrons alors construire une fois que nous le saurons.

En conséquence, nous pouvons ajuster le pourcentage de risque à 10 ou 15%.

De même, votre plus grosse perte typique sera égale à votre SL, puisque c'est le maximum que vous pouvez perdre sur une transaction. Le pourcentage de risque doit également prendre en compte le drawdown maximum ou les pertes consécutives les plus importantes afin de pouvoir compenser le drawdown.

J'espère que cela vous aidera. Si quelqu'un n'est pas d'accord avec ce MM, veuillez le signaler afin que nous puissions l'améliorer.

Les résultats que nous obtenons dans un backtest prennent généralement un lot standard pour chaque transaction. Donc, si nous incorporons le MM, la croissance de l'équité est multipliée par plusieurs fois. C'est la magie du MM.

La plupart des gens se concentrent sur la recherche des meilleurs systèmes, mais le véritable Saint Graal, c'est le MM. Vous pouvez transformer un système moyen en un super système grâce aux MM eux-mêmes.

Comme je l'avais souligné dans mon précédent message, l'exemple suivant vous le montrera clairement.

Gain - 74

Sans Money Management

Capital initial - 20,000

Capital final - 251,813

Avec MM

Capital initial - 30,000

Capital final - 582,930,624 $$$$$$$$$$$$$$$

C'est bien ça ! 5,82 millions de dollars !

Les valeurs sont théoriques, mais le message est assez clair.

 
dedywind:
@codersguru :

merci pour ce grand effort...

Après avoir attaché votre EA(https://www.mql5.com/en/forum/173468/page7) dans 4 paires eur/usd, gbp/usd, usd/chf, gbp/jpy.... trois paires ont immédiatement commencé à ouvrir le commerce (gbp/usd, usd/chf, gbp/jpy) et tous ont un bon résultat....

Je ne connais rien à la programmation... mais sur la base de ce conseil :

Je fais un petit changement dans l'EA :

if(line1>line2)current_direction = 1 ; //haut

if(line1<line2)current_direction = 2 ; //down

Vers

if(line1>line2)current_direction = 2 ; //haut

si(ligne1<ligne2)direction_courante = 1 ; //bas

Hier, j'ai attaché cette EA au compte démo TF30 de neuimex dans quatre paires.... et toutes ont de bons résultats à.....

Je vais continuer à tester ces EA pendant encore 2/3 semaines.....

Vous avez inversé le sens de la croix, EMA CROSS fonctionnera dans les deux sens mais il est basé à l'origine sur la prise de la direction inverse du marché.

 

Nouvelle version

Salut les amis,

Tout d'abord, je tiens à vous remercier tous pour vos partages et vos commentaires utiles.

Deuxièmement, j'ai mis à jour le conseiller expert EMA CROSS à la version 2.

J'espère que vous le trouverez utile !
Dossiers :
 

J'essaie de faire le back pour 1 et 2 codersguru ea ,test sur eur/usd ,D1 il ouvre .5 lot . Je ne sais pas ce que je clique, j'ai perdu le résultat de l'essai sur le compte de démonstration avant pendant 1 semaine, il est en hausse de 1025 $ . seulement sur eur/usa .

Dossiers :
2_1.gif  9 kb
 

Une question

Bonjour codersguru et tous les membres

J'ai une question et je suis novice en forex.

Peut-on utiliser un EA hors ligne ? ou doit-on être en ligne pour utiliser un EA ?

 

Gourou des codeurs

J'ai regardé rapidement le codage de votre nouvelle version et j'ai quelques questions à propos du code.

La première concerne le bloc de code ci-dessous ;

static int TimeFrame;

...

...

...

int init()

{

TimeFrame=Period();

return(0);

}

...

...

...

int Crossed (double line1 , double line2)

{

static int last_direction = 0;

static int current_direction = 0;

if(TimeFrame!=Period())

{

TimeFrame=Period();

return (0);

}

if(line1>line2)current_direction = 1; //up

if(line1<line2)current_direction = 2; //down

...

...

...

[/CODE]

What is the purpose of the TimeFrame Parameter in this content?

The second code block that is giving me some questions is the purpose of the function isNewSymbol?

[CODE]

bool isNewSumbol(string current_symbol)

{

//loop through all the opened order and compare the symbols

int total = OrdersTotal();

for(int cnt = 0 ; cnt < total ; cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

string selected_symbol = OrderSymbol();

if (current_symbol == selected_symbol)

return (False);

}

return (True);

}

...

...

...

total = OrdersTotal();

if(total < 1 || isNewSumbol(Symbol()))

{

if(isCrossed == 1)

...

...

...

Je sais que vous êtes très occupé mais pourriez-vous s'il vous plaît expliquer le but de ceux-ci et pourquoi ils sont nécessaires.

Merci pour votre temps,

Le CockeyedCowboy

 

Des blocs de code !

cockeyedcowboy:
Coders Guru

J'ai regardé rapidement le codage de votre nouvelle version et j'ai quelques questions à propos du code.

La première concerne le bloc de code ci-dessous ;

static int TimeFrame;

...

...

...

int init()

{

TimeFrame=Period();

return(0);

}

...

...

...

int Crossed (double line1 , double line2)

{

static int last_direction = 0;

static int current_direction = 0;

if(TimeFrame!=Period())

{

TimeFrame=Period();

return (0);

}

if(line1>line2)current_direction = 1; //up

if(line1<line2)current_direction = 2; //down

...

...

...

[/code]

What is the purpose of the TimeFrame Parameter in this content?

The second code block that is giving me some questions is the purpose of the function isNewSymbol?

[code]

bool isNewSumbol(string current_symbol)

{

//loop through all the opened order and compare the symbols

int total = OrdersTotal();

for(int cnt = 0 ; cnt < total ; cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

string selected_symbol = OrderSymbol();

if (current_symbol == selected_symbol)

return (False);

}

return (True);

}

...

...

...

total = OrdersTotal();

if(total < 1 || isNewSumbol(Symbol()))

{

if(isCrossed == 1)

...

...

...

Je sais que vous êtes très occupé mais pourriez-vous s'il vous plaît expliquer le but de ceux-ci et pourquoi ils sont nécessaires.

Merci pour votre temps,

Le CockeyedCowboy

CockeyedCowboy,

J'ai utilisé le premier bloc de code pour m'assurer que le changement de période du graphique n'affectera pas le programme.

Par exemple : si vous avez attaché le conseiller expert au graphique M30 et que la ligne Short EMA était au-dessus de la ligne Long EMA dans le graphique M30, puis vous avez cliqué sur le bouton D1 et changé le cadre temporel en cadre temporel quotidien et vous avez été malchanceux et la ligne Short EMA dans le graphique D1 était en dessous de la ligne Long EMA dans ce graphique. Le conseiller expert va considérer que c'est un croisement et ouvrir un trade. Mais avec le code ci-dessus, je lui donne une chance de se souvenir du dernier cadre temporel et d'attendre un autre tick.

J'ai utilisé le deuxième bloc de code pour vérifier les trades actuellement ouverts et empêcher le conseiller expert de trader deux fois sur la même paire.

 

Merci !

Audio:
J'essaie de faire le back pour 1 et 2 codersguru ea ,test sur eur/usd ,D1 il ouvre .5 lot . Je ne sais pas ce que je clique, j'ai perdu le résultat du test sur le compte de démonstration avant pendant 1 semaine, il est en hausse de 1025 $ . seulement sur eur/usa .

Audio,

Merci beaucoup , j'espère vous voir faire 1025 x Million dans un compte réel très bientôt.