Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 28

 
Vinin:

Essayez d'utiliserDoubleToStr


Merci beaucoup.

Je comprends que le terminal compte les valeurs exactes et ne me montre que les valeurs "tronquées", n'est-ce pas ? Et pour voir les valeurs exactes, il faut faireDoubleToStr?

 
lottamer:


Merci beaucoup.

Je comprends que le terminal compte les valeurs exactes et ne me montre que les valeurs "rognées", et que pour voir les valeurs exactes, je dois faireDoubleToStr?


Oui
 
aidez-moi avec cette partie du code (goto est manquant)
vérifier si un ordre ouvert ou en attente à nnn si non, placer un ordre stoploss
 
sdm:
Aidez-moi avec cette partie du code (goto est manquant)
Je dois vérifier s'il y a un ordre ouvert ou en attente au prix nnn et si non placer un ordre stoploss.

Alors comment goto pourrait vous aider ?

Utilisez OrdersTotal() pour obtenir le nombre d'ordres ouverts et en attente.

En conséquence, s'il y en a, vous effectuez un dépassement et comparez le prix d'ouverture de chaque ordre avec votre nnn.

S'il n'y a pas d'ordre, alors vous fixez le vôtre.

Où est-ce que le goto manque ici ?

 
PapaYozh:

Alors comment goto pourrait vous aider ?

Utilisez OrdersTotal() pour obtenir le nombre d'ordres ouverts et en attente.

En conséquence, s'il y en a, vous effectuez un dépassement et comparez le prix d'ouverture de chaque ordre avec votre nnn.

S'il n'y a pas d'ordre, alors vous fixez le vôtre.

Où est-ce que le goto manque ici ?


1 Je n'ai pas besoin de tous les ordres mais seulement de la vente et de l'arrêt de la vente // correction

Je ne sais pas comment sortir de la boucle et placer l'ordre (j'essaie tout le temps de placer l'ordre sans passer par la boucle) ou comment entrer à nouveau dans la boucle.

 
sdm:


1 Je n'ai pas besoin de tous les ordres, mais seulement de la vente et de l'arrêt de la vente.

2 Je ne sais pas comment sortir de la boucle pour acheter (je passe tout le temps des ordres sans passer par toute la boucle) ou revenir dans la boucle.

1. Qui ou quoi vous empêche d'analyser le type de commande?

Créer une variable drapeau, l'initialiser, vérifier la commande et, si nécessaire, modifier la valeur de la variable drapeau. Après la boucle, en fonction de la valeur du drapeau, passez la commande.

Est-ce que c'est clair ?

 
PapaYozh:

C'est clair ?


Je l'ai, merci.
 
sdm:

Je n'arrive pas à mettre la ponctuation correctement :-)

Print("Orders By ",Koob,", Orders Sell = ",Koos) ;

oo=0 ; // indique si la commande existe

if (Koos <= Koob) // si ouvert !L'ordre de vente est inférieur ou égal à la quantité d'ordres ouverts en

pour (i=0 ; i<k ; i++)

{si (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{si (OrderType()==OP_SELL || OrderType()==OP_SELLSTOP) // alors s'il y a un ordre de vente ouvert ou en suspens

{ if (PraiceSs = OrderOpenPrice()) { oo=1 ; } //avec PraiceSs réglé sur oo

}

}

}

if (oo=0) {OrderSend(Symbol(),OP_SELLSTOP,v,PraiceSs, ,Sl,Tp, ,mn,0,Green);} //put sellstop

dit la ligne " if ( PraiceSs= OrderOpenPrice()) { oo=1 ; } " - '=' - affectation illégale utilisée

ps PraiceSs -double, oo -int

Tout d'abord, il s'agit d'une opération de comparaison d'égalité "==".

Deuxièmement, les variables de type double ne peuvent pas être comparées par égalité, mais par proximité : MathAbs( PraiceSs - OrderOpenPrice() ) <= PriceDelta

 
PapaYozh:

Tout d'abord, l'opération de comparaison pour l'égalité est "==".

Deuxièmement, les variables de type double ne peuvent pas être comparées par égalité, elles doivent être comparées par proximité : MathAbs( PraiceSs - OrderOpenPrice() ) <=


Qu'est-ce que lePriceDelta alors? Aucun ordre ne peut être plus proche que 30 pips.

et pourquoi ne peuvent-ils pas être comparés ?

 
sdm:


quelpriceDelta devons-nous définir? aucun ordre à moins de 30 pips.

Et pourquoi ne peuvent-ils pas être assortis ?

PriceDelta = Point * 30 ;

Comparer des nombres réels