Comment coder ? - page 194

 

Modification de l'EA

Bonjour,

s'il y a un programmeur expérimenté qui peut modifier mon EA,

j'en serais très heureux.

LA CONDITION D'ORDRE OUVERT EST MAINTENANT :

ACHETER :

T_S -> Bleu

%WPR > -20

DeMarker > Fast MA

MA rapide > MA lente

VENDRE :

T_S -> Rouge

%WPR < -80

DeMarker < AM rapide

MA rapide < MA lente

Comme cela envoie trop de faux signaux,

JE VEUX LE CHANGER :

OUVRIR UN ORDRE D'ACHAT LORSQUE

1- Fast MA < 0.5 (réglable, par exemple : 0.45, 0.52 etc.)

et la DemarkLine croise vers le haut.

2- Confirmation conditionnelle (à choisir) :

ouvrir l'ordre quand %WPR > -20,

mais la condition d'ouverture de l'ordre et la confirmation

ne peuvent pas être plus éloignées qu'un certain nombre de barres.

(rendez ce nombre ajustable)

si la condition se produit plus d'une fois,

il doit y avoir autant d'ouvertures d'ordre que

que de conditions - jusqu'à ce que la condition de sortie

ou la condition de vente se produise.

ordre d'achat EXIT primaire1 :

lorsque la ligne de demarkline croise vers le bas la Fast MA

dans la zone d'achat >0.65 (nombre réglable)

et CONDITIONNEL :

Cette option n'est possible qu'avec

un maximum fixe de %WPR de -10 et un minimum de -90 ! !

Sortir en cas de croisement à la baisse de la demarkline

dans une zone > 0.7 (réglable)

par exemple : la demarkline est 0.75 et le %WPR est -15

Option de trailing stop

le stopLoss automatique doit être rendu optionnel (à partir de l'IndicateurT_S)

Dossiers :
 

Quelqu'un peut-il programmer cette simple indication OB/OS ?

Voici la formule : (high-open) + (close-low) / (2 x Range)

Niveaux : 64 et 37

Merci

 

S'il vous plaît, aidez-moi à modifier cet EA

Bonjour.

Veuillez m'aider à modifier cet EA simple.

Il s'agit d'un Hedge EA qui ouvre l'achat de GBP/USD et la vente d'EUR/USD en même temps.

Quand les positions ont un profit, alors l'EA ferme les deux.

Le problème est que lorsque les positions ont un grand DD, l'EA n'ouvre pas 2 autres positions, et attend trop longtemps que les positions fassent des profits.

J'ai besoin que lorsque les positions ont un DD de 20 pips, alors EA ouvre 2 nouvelles positions comme les 2 premières positions, et lorsque les 2 nouvelles positions ont un profit, alors EA ferme seulement les 2 dernières positions, et attend toujours les autres positions qui sont perdues.

Par exemple :

EA ouvre l'achat GBP/USD et la vente EUR/USD.

Si ces 2 positions ont perdu 20 pips, alors EA ouvre 2 nouvelles positions : Acheter GBP/USD et Vendre EUR/USD.

Si les 2 secondes positions ont à nouveau un DD de 20 pips, alors l'EA ouvre à nouveau 2 nouvelles positions ........etc.......

Si les 2 dernières positions ouvertes ont un profit de 20 pips, alors EA doit fermer ces 2 dernières positions.

En deux mots - EA doit ouvrir plusieurs positions Acheter GBP/USD et Vendre EUR/USD si les 2 dernières positions ont un DD de 20 pips, et fermer les 2 dernières positions qui ont un profit de 20 pips.

Merci pour votre aide.

Dossiers :
 

Courtier à cinq chiffres, erreur 130, helppppppp !!!!

Bonjour à tous :

Il y a quelques jours, ODL (où j'ai mon compte de démonstration) est passé à des prix à cinq chiffres, avec cela tous mes ordres ont commencé à m'envoyer une alerte avec un message d'erreur 130 (arrêts invalides ou non normalisés), avant ce changement je n'avais jamais eu de problème. En cherchant, j'ai trouvé un code 'patch' lorsque le courtier passe à un prix à cinq chiffres :

double dXPoint=1;

if(Digits==3 || Digits==5){

dXPoint=10;

}

[/CODE]

With this little change, my buy function now is (later dXPoint will be global, also i tried leaving it as global, without success)

[CODE]

int openBuy() {

double dXPoint=1;

if(Digits==3 || Digits==5){

dXPoint=10;

}

double price=NormalizeDouble(Ask,Digits);

double sl=price-(stopLoss*dXPoint*Point);

double tp=price+(takeProfit*dXPoint*Point);

//Alert("PRICE: ",DoubleToStr(price,Digits)," sl: ",DoubleToStr(sl,Digits)," tp: ",DoubleToStr(tp,Digits));

orderActual = OrderSend(Symbol(), OP_BUY, LotSize(), price, Slippage*dXPoint,sl, tp, "BUY", g_magic_128, 0, Green);

if (orderActual < 1){

Alert("Order " , OrderTicket() , " Error:" , GetLastError() );

return (0);

}

return (1);

}

Quand stopLoss et takeProfit sont '0', les ordres sont ouverts, mais quand ils sont plus grands que zéro, j'ai l'erreur 130, (j'ai revu les valeurs de stoploss et takeprofit pour qu'elles ne soient pas proches du prix, donc ce n'est pas là que se trouve l'erreur), j'ai aussi essayé de normaliser les variables 'sl' et 'tp' sans succès, quand je vois les prix dans la ligne d'alerte commentée, les valeurs sont correctes, donc je ne sais pas ce qui se passe avec mon code, S'IL VOUS PLAÎT, AIDEZ-MOI !

MERCI BEAUCOUP LES GARS !!!

 

NoLag V7.1 Quelles sont les valeurs des indicateurs pour un EA ?

Je n'arrive pas à comprendre comment les valeurs se traduisent dans l'EA.

J'ai réussi à le transformer en une ligne droite en utilisant ces paramètres du post d'Igor ?

iCustom(NULL,0,"nonlagma_3",0,15,0,0,10,0,0.0)

J'aimerais cependant déplacer et décaler la MA... Je veux garder les courbes

J'ai essayé de changer les valeurs initiales dans le code mais cela ne semble pas fonctionner.

Je vais pour :

//---- paramètres d'entrée

extern int Price = 3 ; //Application au prix (0-Close;1-Open;2-High;3-Low;4-Medianprice;5-Typical price;6-Weighted Close)

extern int Length = 45 ; //Période de NonLagMA

extern int Displace = 0 ; //DispLace ou Shift

extern double PctFilter = 0 ; //Filtre dynamique en décimal

extern int Color = 1 ; //Changement du mode de couleur (1-couleur)

extern int ColorBarBack = 1 ; //Barrière pour le mode couleur

extern double Deviation = -3 ; //Déviation vers le haut/bas

extern int AlertMode = 0 ; //Commutateur d'alerte sonore (0-off,1-on)

extern int WarningMode = 0 ; //Commutateur d'avertissement sonore (0-off,1-on)

Toute aide serait appréciée.

Merci pour votre aide.

 

Dans l'EA vous devez utiliser le code suivant :

- pour la tendance ou la direction (up = 1, down=-1)

trend=iCustom(Symbol(),TimeFrame,"NonLagMA_v7.1",Price,Length,Dispalce,PctFilter,Color,ColorBarBack,Deviation,0,0,3,bar);

[/CODE]

- for curve

[CODE]

line=iCustom(Symbol(),TimeFrame,"NonLagMA_v7.1",Price,Length,Dispalce,PctFilter,Color,ColorBarBack,Deviation,0,0,0,bar);

Si vous souhaitez tracer NonLagMA avec une certaine déviation, vous devez utiliser de petites valeurs pour cela (ex. 0.5 ou -0.5).

grstaka:
Je ne parviens pas à comprendre comment les valeurs se traduisent dans l'EA.

J'ai réussi à le transformer en une ligne droite en utilisant les paramètres du post d'Igors ?

iCustom(NULL,0,"nonlagma_3",0,15,0,0,10,0,0.0)

J'aimerais cependant déplacer et décaler la MA... Je veux garder les courbes

J'ai essayé de changer les valeurs initiales dans le code mais cela ne semble pas fonctionner.

J'opte pour :

//---- paramètres d'entrée

extern int Price = 3 ; //Application au prix (0-Close;1-Open;2-High;3-Low;4-Median price;5-Typical price;6-Weighted Close)

extern int Length = 45 ; //Période de NonLagMA

extern int Displace = 0 ; //DispLace ou Shift

extern double PctFilter = 0 ; //Filtre dynamique en décimal

extern int Color = 1 ; //Changement du mode de couleur (1-couleur)

extern int ColorBarBack = 1 ; //Barrière pour le mode couleur

extern double Deviation = -3 ; //Déviation vers le haut/bas

extern int AlertMode = 0 ; //Commutateur d'alerte sonore (0-off,1-on)

extern int WarningMode = 0 ; //Commutateur d'avertissement sonore (0-off,1-on)

Toute aide serait appréciée.

Merci.
 

Merci !

igorad:
Dans l'EA, vous devez utiliser le code suivant :

- pour la tendance ou la direction (haut = 1, bas=-1)

trend=iCustom(Symbol(),TimeFrame,"NonLagMA_v7.1",Price,Length,Dispalce,PctFilter,Color,ColorBarBack,Deviation,0,0,3,bar);

[/CODE]

- for curve

[CODE]

line=iCustom(Symbol(),TimeFrame,"NonLagMA_v7.1",Price,Length,Dispalce,PctFilter,Color,ColorBarBack,Deviation,0,0,0,bar);

Si vous souhaitez tracer NonLagMA avec une certaine déviation, vous devez utiliser de petites valeurs pour cela (ex. 0.5 ou -0.5).

Merci !!!!

Que signifie la barre ? Est-ce que c'est une barre +1 -1 ?

 

Puisque j'y suis...

... savez-vous pourquoi mes indicateurs se rechargent constamment toutes les 1-5 minutes en simulation ?

 

Aide pour le passage à cinq chiffres

Bonjour à tous :

J'aimerais vraiment que vous m'aidiez à résoudre ce problème. Le courtier chez qui j'ai mon compte de démonstration a modifié les prix à cinq chiffres, ce qui fait que tous mes ordres ont commencé à m'envoyer une alerte avec 130 messages d'erreur (arrêts invalides ou non normalisés). En cherchant, j'ai trouvé un code 'patch' lorsque le courtier passe à un prix à cinq chiffres. Avec ce changement, ma fonction d'achat est maintenant la suivante :

int openBuy() {

double dXPoint=1;

if(Digits==3 || Digits==5){

dXPoint=10;

}

double price=NormalizeDouble(Ask,Digits);

double sl=price-(stopLoss*dXPoint*Point);

double tp=price+(takeProfit*dXPoint*Point);

//Alert("PRICE: ",DoubleToStr(price,Digits)," sl: ",DoubleToStr(sl,Digits)," tp: ",DoubleToStr(tp,Digits));

orderActual = OrderSend(Symbol(), OP_BUY, LotSize(), price, Slippage*dXPoint,sl, tp, "BUY", g_magic_128, 0, Green);

if (orderActual < 1){

Alert("Order " , OrderTicket() , " Error:" , GetLastError() );

return (0);

}

return (1);

}

Quand stopLoss et takeProfit sont '0', les ordres sont ouverts, mais quand ils sont plus grands que zéro, j'ai l'erreur 130, j'ai revu les valeurs de stoploss et takeprofit pour qu'elles ne soient pas proches du prix, donc ce n'est pas là que se trouve l'erreur, j'ai aussi essayé de normaliser les variables 'sl' et 'tp' sans succès, quand je vois les prix dans la ligne d'alerte commentée, les valeurs des prix sont correctes, donc je ne sais pas ce qui se passe avec mon code, S'IL VOUS PLAÎT, AIDEZ-MOI !

MERCI BEAUCOUP LES GARS !!!

 

Aide requise

J'espère que quelqu'un pourra m'aider. J'ai programmé les valeurs RSI des 4 paires principales pour qu'elles apparaissent dans la fenêtre principale du graphique, lorsque la valeur RSI est de 85 ou plus, elle devient ROUGE, lorsqu'elle est inférieure à 15, elle devient VERTE, et lorsqu'elle est au milieu, elle est BLEUE.

Ce qui se passe, c'est que le programme fait tout ce qu'il peut, mais quand le chiffre est inférieur à 15, il reste BLEU. Je ne sais pas ce que j'ai fait de mal, j'espère que quelqu'un pourra m'éclairer.

Voici le code que j'ai 4 les couleurs

couleur couleur_1 = 0, couleur_2 = 0, couleur_3 = 0, couleur_4 = 0 ;

if(sym_1 < 15) color_1 = Green;else color_1= Blue ;

si(sym_1 >85) color_1 = Rouge ; sinon color_1 = Bleu ;

if(sym_2 < 15)color_2= Vert;else color_2 = Bleu ;

si(sym_2 >85) color_2 = Rouge ; sinon color_2 = Bleu ;

si(sym_3 < 15)color_3= Vert;sinon color_3 = Bleu ;

si(sym_3 >85) color_3 = Rouge ; sinon color_3 = Bleu ;

si(sym_4 < 15)color_4= Vert;sinon color_4 = Bleu ;

si(sym_4 >85) color_4 = Rouge ; sinon color_4 = Bleu ;

Raison: