Comment coder ? - page 71

 

Codage de la "Trend Condition" avec StepMA

oublié : pour mon post précédent l'indicateur et une capture d'écran

Dossiers :
example.jpg  55 kb
 

Merci beaucoup Devil2000 !

Devil2000:
Extrait du métaéditeur :
bool IsDemo()
Renvoie VRAI si l'expert fonctionne sur un compte de démonstration, sinon renvoie FAUX.

Maintenant, peux-tu me dire où placer ce code ?

Je suis un vrai débutant dans ce domaine.

Voici ce qui apparaît dans Meta Editor :

extern double lot=0.01 ;

extern int MinGS=10 ;

extern double TP=10 ;

extern double MarginLevelAlert=1000 ;

extern double RepeatMinutes=60 ;

double MaxDrawDown = 0.0 ;

int magique ;

int Compte = 1857842 ;

double lot2 ;

double MarginPer ;

datetime tob,tos,toe ; //Time Out Buy, Sell, Expire

Merci pour votre aide.

Salutations

 

MaOnArray

Bonjour,

Je voudrais être long si le CCI dépasse son 14 sma, et être short quand il passe en dessous de son 14 sma. Le sma du CCI est généré par le MaOnArray du CCI bien sûr.

Voici mon morceau de code :

double a,b ;

bla, bla, bla...

int start()

{

a= iCCI(NULL, 0, 14,PRICE_WEIGHTED,0) ;

b=iMAOnArray(a,0,14,0,MODE_SMA,0) ;

// vérification de la possibilité d'une position longue (BUY)

if(NewBar1()==true && a>b)

{

bla, bla, bla...

// vérification de la possibilité d'une position courte (SELL)

if(NewBar2()==true && a<b)

{

bla, bla, bla...

Il y a cependant un problème (illustré ci-dessous) - alors y a-t-il quelque chose qui manque dans le code ? et comment peut-on résoudre ce problème ?

Le problème est ci-dessous :

Dossiers :
1.jpg  129 kb
 

MaOnArray

Jane,

Tout d'abord, vous devez contrôler le nombre de transactions ouvertes.

Je suggère d'ajouter

si (OrdersTotal()==0) {

avant les filtres d'entrée, ou peut-être <= 1, pour 2 ordres autorisés.

Ou si vous voulez plus de deux transactions à la fois :

for (int i = OrdersTotal() - 1 ; i >= 0;i--)

(Etudiez la plupart des EAs pour celle-ci).

Je ne pense pas que vous ayez donné suffisamment de données pour que l'on puisse le résoudre, mais j'ai quelques suggestions supplémentaires.

Il n'est pas clair ce que fait NewBar1() et comment.

Assurez-vous que vos variables globales sont réinitialisées au besoin après l'ouverture (ou la fermeture, le cas échéant) d'un ordre.

J'écris une ligne pour chaque variable nécessaire après la ligne d'ouverture de l'ordre.

Bonne chasse !

Big Be

 

Question sur les deux arrêts

Voir l'article suivant.

 

Question sur les deux stops

J'ai besoin de savoir comment modifier le Stop pour la MOITIÉ de mon ordre ouvert. Si je comprends bien, cela signifie qu'il faut ouvrir deux ordres, par exemple .2 lots et .2 lots.

Mon EA base le nombre de lots sur un calcul de Money Management.

Une fois que le stop d'un ordre est modifié (sur la base d'un niveau de prix atteint), je laisse mon code de sortie fermer les deux ordres, à moins que leurs stops (désormais différents) ne soient atteints.

L'autre ordre conserve son arrêt initial ou le déplace éventuellement jusqu'au seuil de rentabilité.

Si la quantité initiale de lots (de la fonction MM) est impaire, au lieu d'arrondir vers le bas pour un nombre impair de lots ou un dixième de lots, je voudrais les répartir de manière inégale entre les deux ordres.

Je crois que cela implique des nombres magiques et quelques lignes de code ici et là. Peut-être y a-t-il un EA avec tout cela que je pourrais copier.

Merci pour toute aide.

Big Be

 

OK, merci Big Me,

Je posterai l'EA complète demain. Pour que vous puissiez y jeter un coup d'oeil.

Salutations,

J

 
Big Be:
J'ai besoin de savoir comment modifier le Stop pour la MOITIÉ de mon ordre ouvert. Si je comprends bien, cela signifie qu'il faut ouvrir deux ordres, par exemple 0,2 lot et 0,2 lot.

Mon EA base le nombre de lots sur un calcul de Money Management.

Une fois que le stop d'un ordre est modifié (en fonction de l'atteinte d'un niveau de prix), je laisse mon code de sortie fermer les deux ordres, à moins que leurs stops (maintenant différents) ne soient atteints.

L'autre ordre conserve son arrêt initial ou le déplace éventuellement jusqu'au seuil de rentabilité.

Si la quantité initiale de lots (de la fonction MM) est impaire, au lieu d'arrondir à la baisse pour un nombre impair de lots ou un dixième de lots, je voudrais les répartir de manière inégale entre les deux ordres.

Je crois que cela implique des nombres magiques, et quelques lignes de code ici et là. Peut-être y a-t-il un EA avec tout cela que je pourrais copier.

Merci pour toute aide.

Big Be

Ne serait-il pas beaucoup plus simple d'ouvrir un seul ordre et de le réduire, en ajustant un SL "doux" sur le reste. Vous pourriez placer un hard-stop juste au cas où. Non seulement c'est beaucoup plus simple, mais vous ne donnez pas non plus aux bucketshops quelque chose à " viser ".

 

Symbole dans le courtier

Bonjour à tous

J'ai besoin d'obtenir tous les symboles dans MetaTrade... Comment coder ?

Salutations

charles

 
omelette:
Ne serait-il pas beaucoup plus simple d'ouvrir un seul ordre et de le réduire, en ajustant un SL "doux" sur le reste. Vous pourriez placer un hard-stop juste au cas où. Non seulement c'est beaucoup plus facile, mais vous ne donnez pas non plus aux "bucketshops" quelque chose à "viser".

Plus simple, mais moins rentable pour moi. Mon EA suit une tendance et je veux que les deux moitiés aient la possibilité d'aller jusqu'au bout. Savez-vous comment faire ?

Big Be