Comment coder ? - page 226

 

Merci pour votre réponse.

Je comprends ce que vous voulez. Je pense que je fais déjà la même chose avec ma variable prevtime, où je vérifie si

prevtime == Time[0]

Ou y a-t-il une différence pour utiliser Time[0] et Bars ?

Mais mon problème est le prix de clôture.

Car puis-je le vérifier à l'instant "Close[0]" ou dois-je le vérifier au prix d'ouverture de la barre suivante et écrire "Close[1]" ?

Qu'est-ce que je pense de travers ?

 
sunshineh:
Merci pour votre réponse.

Je comprends ce que vous voulez. Je pense que je fais déjà la même chose avec ma variable prevtime, où je vérifie si

prevtime == Time[0]

Ou y a-t-il une différence pour utiliser Time[0] et Bars ?

Mais mon problème est le prix de clôture.

Car puis-je le vérifier à l'instant "Close[0]" ou dois-je le vérifier au prix d'ouverture de la barre suivante et écrire "Close[1]" ?

Qu'est-ce que je pense de mal ?

Oui, avec Time[0], cela fonctionnera de la même manière.

Je ne comprends pas vraiment votre problème avec la fermeture, si vous souhaitez utiliser le prix de fermeture de la nouvelle barre actuelle, par exemple si le prevtime!=Time[0] signifie que la nouvelle barre est arrivée, alors la fermeture[0] == open[0] == high[0] == low[0]. Si, pour certains calculs, vous souhaitez utiliser la clôture d'une autre barre, vous pouvez y revenir en déplaçant l'index, comme dans votre exemple, Close[1] sera la clôture de la barre précédente - CLOSED.

J'espère que cela vous aidera.

 

Quelqu'un peut-il m'aider avec une question de codage ?

J'essaie de comprendre comment coder deux fonctions particulières pour un EA.

#1 : Je veux avoir les entrées pour l'EA pour lui dire de trader entre x et y (heure de début - heure de fin).

#2 : Je veux que l'EA ne prenne qu'une seule transaction par temps de transaction (cycle de transaction). En d'autres termes, si l'EA ne doit effectuer des transactions qu'entre 2 et 4 heures du matin, heure de l'Est, et qu'il effectue une transaction, je ne veux pas qu'il ouvre une autre transaction pour ce jour/cycle.

Votre aide est très appréciée.

 

Besoin d'aide pour le pyramidage

Bonjour

J'ai un problème avec l'erreur 130.

Je pyramide avec ce morceau de code (qui commence lorsque le premier ordre a été ouvert sur un signal technique).

for (count= OrdersTotal()-1; count>=0; count--){

OrderSelect(count, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol() == Currencies){

if(OrderType()==OP_SELL){

if(OrderMagicNumber()==16381 && CheckMagic(16383,OP_SELL)==false && CheckMagic(16385,OP_SELL)==false ){

if(Ask <=OrderOpenPrice()-breakeven*Point)SellOrders(OP_SELL, LotsCount(1),NormalizeDouble(OrderOpenPrice(),4), NormalizeDouble(Ask,4), NormalizeDouble(OrderTakeProfit(),4), TimeToStr(Time[0]),16383);

}

if(OrderMagicNumber()==16383 && CheckMagic(16381,OP_SELL)==true && CheckMagic(16385,OP_SELL)==false)

{

if(Ask <=OrderOpenPrice()-breakeven*Point)SellOrders(OP_SELL, LotsCount(0.5),NormalizeDouble(OrderOpenPrice(),4), NormalizeDouble(Ask,4), NormalizeDouble(OrderTakeProfit(),4), TimeToStr(Time[0]),16385);

}

}

}

}

Les trois premiers ordres sont ok quand je teste.

Plus tard, je reçois l'erreur 130

Vous pouvez voir sur l'image ci-dessous. s'il vous plaît aider.

Dossiers :
error130.jpg  193 kb
 

Gestion du CrossOver

J'essaie de coder un EA pour backtester le Gann_HiLo_Activator_v2. Cet indicateur recalcule sa valeur au cours d'une barre. A la fin de la barre, la valeur est fixée, un peu comme pour le RSI/MACD. Mon problème est de clouer la croix.

Parfois la barre croise le Gann et parfois les barres ne le font pas, ce qui signifie que l'Open[0] ou le Close[0] n'englobent pas la valeur de la ligne de Gann. Comment puis-je fixer cette croix de façon à ce que l'EA réagisse lorsque le prix passe au-dessus ou au-dessous de cette ligne. Cela ne doit être fait qu'une fois par barre, j'ai donc utilisé Volume[0]>1 comme filtre.

 

Bonjour,

Je veux que mon code soit exécuté toutes les secondes, et non pas tous les tick. Comment cela est-il possible ?

Merci d'avance.

 
jan100:
Bonjour,

Je veux que mon code soit exécuté toutes les secondes, et non pas tous les tics. Comment cela est-il possible ?

Je vous remercie d'avance.

Bonjour !

Oui, vous devez utiliser un SCRIPT pour cela au lieu d'EA,

et dans la fonction de démarrage utiliser quelque chose comme ceci :

while(true) // toujours vrai

{

//FAIRE DES COMMANDES ICI OU QUELQUE CHOSE COMME ÇA

Sleep(1000);//1000 milisecondes = 1 seconde

}

Salutations

Kale

 

Aide pour les maths

Supprimé, je l'ai calculé.

 

Trouver la fin de la barre de la période de temps par rapport aux ticks dans Metatrader

Le problème que j'ai avec le codage des EA est que Metatrader simule l'indicateur pour chaque barre dans la période de temps avec des ticks - par exemple, avec les données Minute 5, il simule chaque barre au lieu de traiter la fin de la barre pour la période de temps comme le font les indicateurs.

Quelqu'un sait-il comment traiter ce problème - comment faire pour que cela fonctionne comme des indicateurs pour la période de temps plutôt que d'aller dans chaque barre pour la période de temps ?

Merci !

Andrew Haas

 

vendre EA

Je voulais vous demander si j'ai le droit de vendre l'EA que j'ai fait ? Est-ce légal, sinon que faire ? merci et désolé pour le E-sh.

Raison: