[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 242

 

Je rencontre un problème avec la clause, pouvez-vous me dire comment implémenter la condition CCI dans la fonction.

Une condition doit être fixée et l'ordre doit être fermé au niveau de profit de 10pp.

1) Si le CCI est orienté à la baisse, à un niveau de profit de 10pp nous fermons un ordre d'achat.

2) Vendre - similaire.

extern bool ClosePips   = true;//использовать закрытие ордера при профите 10пп по условиям ССИ
extern double profit    = 10.0;//профит по клозе

int start(){
double cci_0 = iCCI(NULL, 0, 14, PRICE_CLOSE, 0);;
double cci_1 = iCCI(NULL, 0, 14, PRICE_CLOSE, 1);;

if ( ClosePips){
int slip=3;
for (int trade2 = OrdersTotal() - 1; trade2 >= 0; trade2--) {
   OrderSelect( trade2, SELECT_BY_POS, MODE_TRADES);
   if (OrderSymbol() == Symbol()) {
   if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
   if ((OrderType() == OP_BUY)&&( cci_0< cci_1 что сюда вписать???)) OrderClose(OrderTicket(), OrderLots(), Bid, slip, Blue);
   if ((OrderType() == OP_SELL)&&( cci_0> cci_1 что сюда вписать???)) OrderClose(OrderTicket(), OrderLots(), Ask, slip, Red);
   }Sleep(1000);}}}
будет ли это корректным если прописать вот так?
if ((OrderType() == OP_BUY)&&( cci_0< cci_1 && Bid - OrderOpenPrice()<=Point* profit ))

 
Alive писал(а) >>
Pour certains symboles, par exemple EUR/USD, les cotations comportent 5 décimales. Mais mes variables d'environnement n'ont que des valeurs à 4 décimales. Comment puis-je obtenir la valeur complète des variables d'environnement ?

Comment les avez-vous regardés ? Print() produit toujours jusqu'à 4 caractères. Utilisez de préférence DoubleToStr() ;

 
Martingeil >> :

J'ai été confronté au problème du verrouillage des CCI, savez-vous comment implémenter une condition sur les CCI dans la fonction ?

Une condition doit être fixée et l'ordre doit être fermé au niveau de profit de 10pp.

1) si le CCI regarde vers le bas, à un niveau de profit de 10pp nous fermons un ordre d'achat.

2) Vendre - de la même manière.



Vous devez faire ceci

if (OrderType()==OP_BUY && cci_0< cci_1 && Bid-OrderOpenPrice()>=Point* profit)
 
MrSoros >> :

C'est comme ça que ça doit être.


Merci ! C'est tout si je le fais bien, je ne vais pas jouer avec les signes, n'est-ce pas ?

extern bool ClosePips   = true;//использовать закрытие ордера при профите 10пп по условиям ССИ

int start(){
double cci_0 = iCCI(NULL, 0, 14, PRICE_CLOSE, 0);;
double cci_1 = iCCI(NULL, 0, 14, PRICE_CLOSE, 1);;

if ( ClosePips){
int slip=3;
int profit=10;
for (int trade2 = OrdersTotal() - 1; trade2 >= 0; trade2--) {
   OrderSelect( trade2, SELECT_BY_POS, MODE_TRADES);
   if (OrderSymbol() == Symbol()) {
   if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
   if (OrderType() == OP_BUY && cci_0< cci_1 && Bid-OrderOpenPrice() >= Point* profit) OrderClose(OrderTicket(), OrderLots(), Bid, slip, Blue);
   if (OrderType() == OP_SELL && cci_0> cci_1 && OrderOpenPrice() - Ask >= Point* profit) OrderClose(OrderTicket(), OrderLots(), Ask, slip, Red);
   }Sleep(1000);}}}
 
Martingeil >> :

Merci ! Si je fais bien les choses, y a-t-il un problème avec les panneaux ?


Les signes sont corrects.

L'idée elle-même (fermeture du CCI), de mon point de vue - pas ahty....

Je suis déjà passé par là...

Mais c'est une question de stratégie.

Autant de traders qu'il y a de stratégies...

 

Pouvez-vous me dire comment écrire correctement l'opérateur, quelque chose avec "ou" ne fonctionne pas, il achète là où il ne devrait pas.

Merci !
if (
   {( ma1> ma2 && ma1> ma3  && Open[1]> ma1)} || 
   {( ma2> ma1 && ma2> ma3  && Open[1]> ma1)} ||
   {( ma3> ma1 && ma3> ma2  && Open[1]> ma1)}
   )
    OpenBuy();

ну и т. д.


 
Enlevez les accolades, elles sont inutiles. Je me demande comment il a été compilé en premier lieu.
 
granit77 >> :
Enlevez les parenthèses, elles sont inutiles. Je me demande comment il a pu être compilé ?

Je l'ai compilé des deux façons et ça ne fonctionne toujours pas.

(Bizarrement, il a compilé =))

 
costy_ >> :

J'ai compilé les deux façons et ça ne marche toujours pas.

if (( ma1> ma2 && ma1> ma3  && Open[1]> ma1) || 
    ( ma2> ma1 && ma2> ma3  && Open[1]> ma1) ||
    ( ma3> ma1 && ma3> ma2  && Open[1]> ma1)
   )
    OpenBuy();

- C'est une bonne logique.

question - les conditions elles-mêmes sont-elles correctes ?

 
Montrez ce qu'est ma1...ma3 et décrivez la logique en mots. Demain matin, quelqu'un s'empressera de la corriger :))
Raison: