Gogetter EA - page 3

 

Avez-vous testé cet EA ?

 

Hey,

Dans ma hâte de vous donner quelque chose à travailler, j'ai manqué quelque chose d'évident. Veuillez modifier votre ligne de code qui ressemble à ceci

if(OrderSymbol()==Symbol()||OrderMagicNumber()==MagicNumber)

en

if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)

Désolé, c'était un oubli. Il y aurait eu un problème lorsque vous avez commencé à négocier plusieurs devises avec le même EA et le même Magicnumber.

Quoi qu'il en soit, je suis heureux que vous vous en sortiez bien. Bon travail et vous méritez tout le crédit.

 
Maji:
Hey,

Dans ma hâte de vous donner quelque chose à travailler, j'ai manqué quelque chose d'évident. Veuillez modifier votre ligne de code qui ressemble à ceci

if(OrderSymbol()==Symbol()||OrderMagicNumber()==MagicNumber)

en

if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)

Désolé, c'était un oubli. Il y aurait eu un problème lorsque vous avez commencé à négocier plusieurs devises avec le même EA et le même Magicnumber.

En tout cas, je suis content que tu ailles bien. Bon travail et tout le mérite te revient.

j'étais curieux mais j'ai fait avec... tout est bien qui finit bien... corrections terminées. maintenant je dois voir si je peux mettre à jour les GGs.

 

GGlongs Build 1.05

Voilà qui est mieux.

Merci à Maji une fois de plus pour m'avoir guidé dans l'amélioration des méthodes de comptage des ordres multiples et des problèmes de manipulation/modification des ordres multiples, etc.

Ceci utilise une nouvelle fonction de trailing stop ainsi qu'une nouvelle fonction de comptage.

J'ai également travaillé sur le Signal_2 qui est à l'origine de la vignette du graphique ci-dessous. C'est le signal principal de la tendance. Je n'ai pas encore travaillé sur le signal_1 de contre-tendance. Mais le signal_2 est acceptable avec ces paramètres pour un redéploiement sur le graphique GBP/USD 5m.

Lors de tests avancés, la version précédente de GGlongs n'a pas réussi à entrer un signal d'achat clair ce matin. J'ai découvert en regardant la logique du signal dans la v1.01 que j'avais vraiment tout mélangé plus que je ne le pensais. Quoi qu'il en soit, le problème est résolu... la v1.05 devrait faire des tests en avant beaucoup mieux que la v1.01. Je vais mettre la v1.05 sur le testeur en avant maintenant à côté de la v2.11 GGs qui n'a reçu aucune de ces nouvelles fonctionnalités encore.

Dossiers :
 

Je remarque que sur le graphique non modifié, il ne modifie pas du tout... il n'entre pas dans une nouvelle série dans la foulée de la dernière série comme il l'a toujours fait auparavant... Je me demande pourquoi... ? Comment les changements que j'ai faits peuvent-ils faire cela ?

J'ai découvert que c'était parce que j'ai raté la logique du signal...mystère résolu.

Dossiers :
 

Je suis confus....

Voici ce qui fonctionne parfaitement dans le GGl.....

int ModifyTrades()

{

int trade;

for(trade=OrdersTotal()-1;trade>=0;trade--)

{

OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()!=Symbol()&&OrderMagicNumber()!=MagicNumber)

continue;

if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)

if(TrailingStopMode && TrailingStop > 0) {

if(Bid - OrderOpenPrice() > Point * TrailingStop || OrderOpenPrice() - Bid >= 0) {

if(OrderStopLoss() < Bid - Point * TrailingStop || OrderStopLoss() == 0) {

OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen); //etc.

}//for

}

}

}

} [/PHP]

so....

why doesn't this work in the GGs???

[PHP]int ModifyTrades()

{

int trade;

for(trade=OrdersTotal()-1;trade>=0;trade--)

{

OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()!=Symbol()&&OrderMagicNumber()!=MagicNumber)

continue;

if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)

if(TrailingStopMode && TrailingStop > 0) {

if((OrderOpenPrice() - Ask) > (Point * TrailingStop || Ask - OrderOpenPrice() >= 0)) {

if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {

OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen); //etc.

}//for

}

}

}

}

comme vous pouvez le voir dans le rapport ci-joint, il n'y a pas de "modification" en cours... ...en y réfléchissant bien...je n'ai jamais vu AUCUNE activité de modification de trailing stop sur AUCUN des rapports de la version GGs ! !! Qu'est-ce qui se passe avec ça ?

Dossiers :
ggs2.21.htm  149 kb
ggs2.21.gif  7 kb
 

Mon prochain défi de codage...

Je veux ajouter un support et une résistance à la logique de mon EA.....

Cela fonctionne bien pour retourner une valeur pour le plus haut sommet d'un nombre de barres spécifié...

//support and resistance

double HIGH = High;

double LOW = Low[Lowest (NULL, 0, MODE_LOW, SupportBarsBack, LStartBack)];

En me concentrant sur les GGs. Je remarque que toutes les 145 barres sur le graphique 30m. il y a un plus haut suivi de trois signaux de vente à contre-tendance. Je définis un signal de vente à contre-courant comme étant chaque fois que le 5ema passe au-dessus ou au-dessous du 18ema, ce qui se produit au-dessus du 150ema. Le modèle que je vois est donc qu'il y a un nouveau sommet suivi de signaux de vente.

J'observe également que le premier signal de vente après un nouveau sommet n'est pas très productif. Le deuxième est généralement plus gratifiant et le troisième, etc. est celui où les plus grands mouvements se produisent.

Donc...

Puisque je peux maintenant générer des signaux adaptés à chaque situation, je veux personnaliser les signaux pour qu'ils soient exécutés lors de ces différents événements, tous en relation avec le nouveau sommet ou le plus haut sommet de la période actuelle de 145 bars.

Les signaux que je peux personnaliser...

Le défi va être de localiser le signal de vente à contre-courant par rapport au plus haut de la période actuelle de 145 bars, et de compter combien de fois ce signal s'est déjà produit depuis le plus haut de cette période.

Je ne suis pas sûr de savoir comment compter les occurrences du signal. Je veux dire que je peux compter sur le graphique mais comment faire pour que le code fasse le compte ?

 

Comment puis-je déterminer combien de barres en arrière dans le tableau à partir du moment où j'obtiens le signal de croisement de la moyenne mobile que le plus haut sommet a eu lieu ?

 

ok je vois comment obtenir le arrayaximum et le array minimum... cela me donne le numéro de la barre où la valeur se produit mais cela me le donne en termes de numéro de barre dans le graphique...

si je pouvais obtenir le numéro de la barre où le croisement de la moyenne mobile se produit, je pourrais soustraire les deux pour voir combien de barres en arrière le support ou la résistance est de l'occurrence du signal...

Comment puis-je obtenir le numéro de la barre du graphique lorsque le signal de croisement de la moyenne mobile se produit ?

 
/support and resistance

double HIGH = High;

double LOW = Low[Lowest (NULL, 0, MODE_LOW, SupportBarsBack, LStartBack)];

//support and resistance location

int Hloc = ArrayMaximum(High);

int Lloc = ArrayMinimum(Low);

.

.

.

Print("Order Number: ",OrderTicket() ," ",ResistanceBarsBack," bars back resistance : ",HIGH," @bar",Hloc," & ",SupportBarsBack," bars back support : ",LOW," @bar",Lloc);

[/PHP]

this is what this code is giving me...

[PHP]2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 6 20 bars back resistance : 1.9284 @bar109 & 20 bars back support : 1.9204 @bar205

2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened : 1.9223

2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: open #6 sell 0.05 GBPUSD at 1.9223 sl: 1.9270 tp: 1.9118 ok

2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: open #5 sell 0.05 GBPUSD at 1.9223 sl: 1.9270 tp: 1.9118 ok

2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 4 20 bars back resistance : 1.9224 @bar44 & 20 bars back support : 1.9114 @bar49

2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened : 1.9146

2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: open #4 sell 0.05 GBPUSD at 1.9146 sl: 1.9193 tp: 1.9041 ok

2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: open #3 sell 0.05 GBPUSD at 1.9146 sl: 1.9193 tp: 1.9041 ok

2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 2 20 bars back resistance : 1.9186 @bar100 & 20 bars back support : 1.908 @bar15

2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened : 1.9121

2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: open #2 sell 0.05 GBPUSD at 1.9121 sl: 1.9168 tp: 1.9016 ok

2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: open #1 sell 0.05 GBPUSD at 1.9121 sl: 1.9168 tp: 1.9016 ok

Comment puis-je comprendre ces numéros de barres ?

au moins les barres de soutien semblent quelque peu séquentielles 15,49,205

qu'est ce qui se passe avec les barres de résistance ? 100,44,109 ??? pour ce que ça vaut, en regardant le graphique, la première barre de résistance est en fait la première dans le tableau de 20 valeurs et non 100. Comme 1=100 ?

Donc, en fait, les deux premiers ordres correspondent au numéro de la barre de soutien de 15 barres avant l'ordre et si 100 signifie 1, alors la résistance se produit sur la première barre du tableau de 20 barres.