[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 10

 

UUHH enfin libre.....

Bonjour granit77. Dans les messages précédents, vous et moi avons travaillé sur la condition de la fonction de négociation pour CCI. Voici ce que j'ai obtenu.....

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
//объявляем переменную cci_0 и присваиваем ей значение индикатора CCI на нулевом (текущем) баре
double cci_0=iCCI(NULL,0, CCIperiod, CCIprice,0);
//объявляем переменную cci_1 и присваиваем ей значение индикатора CCI на первом (предыдущем) баре
double cci_1=iCCI(NULL,0, CCIperiod, CCIprice,1);
//если значение индикатора CCI на нулевом (текущем) баре уже меньше уровня 100
//а предыдущее его значение (на первом баре) было больше уровня 100
//значит произошло пересечение, и мы даем сигнал на продажу
if( cci_0<100 && cci_1>100) SignalSell=true;
     if( CheckOrders(OP_SELL))
      {
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
       
    if( cci_0>100 && cci_1<100) SignalBUY=true;
     if( CheckOrders(OP_BUY))
      {
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }
 
//----
   return(0);
  }

Est-ce que j'ai tout fait correctement ? Ou encore, par inexpérience, il s'est trompé........

A cet endroit, le double cci_1............. cci doit être écrit avec une petite lettre ????????

 
igrok2008 >> :

Est-ce que je l'ai bien fait ?

Je pense que oui...

A cet endroit, le double cci_1............. cci doit être écrit avec une petite lettre ????????

Non, tu peux l'appeler comme tu veux.

C'est juste qu'il existe des conventions généralement acceptées en matière de dénomination et de styles de code en général.

L'une d'entre elles est que les noms des variables locales sont orthographiés avec une petite lettre.

 
TheXpert >> :

Je pense que oui...

Non, tu peux les appeler comme tu veux.

C'est juste qu'il existe des conventions généralement acceptées en matière de dénomination et de styles de code en général.

L'une d'entre elles consiste à épeler les noms des variables locales avec une petite lettre.

OK, j'ai compris. ......

 
Je suis nouveau sur le marché des changes. Je travaille sur différentes idées. J'aimerais mécaniser les processus.

J'ai mis SELLSTOP (avec stop loss et Take Profit), après qu'il se soit déclenché, j'ai mis BUYSTOP au même niveau avec la perte déclenchée (i.e. stop reversal).

Le problème est que je dois m'asseoir et attendre que le SELLSTOP se ferme, si j'atteins le profit, j'annule le deuxième ordre. Comment puis-je mécaniser cela ?

Si le premier ordre BUYSTOP est le même mais inversement .

Merci.

 
Il serait intéressant de savoir quelles méthodes, si ce n'est un secret, un pro utilise pour filtrer la tendance du mouvement d'impulsion du canal (c'est-à-dire que la tendance n'est pas nécessaire car nous la filtrons si elle est présente (dans l'EA), mais si elle n'est pas présente, elle serait très importante, c'est-à-dire que l'EA ne fonctionne pas lorsqu'il y a une tendance).
 
Dimoncheg писал(а) >>
Il est très intéressant de savoir quelles méthodes, si ce n'est un secret, un pro utilise pour filtrer la tendance du mouvement d'impulsion du canal (c'est-à-dire que la tendance n'est pas nécessaire en enfer, nous la filtrons si elle est présente (dans l'EA), et si elle n'est pas présente, alors elle est très importante, c'est-à-dire que l'EA ne fonctionne pas quand il y a une tendance).

L'indicateur Damiani_Volt peut être utilisé.

 

Bonjour.

Au début de cette page, j'ai posté mon morceau de code (édité avec l'aide de granit77, merci à lui). Il a été vérifié par TheXpert, merci à lui aussi.

BUT.... LA QUESTION est la suivante : la condition de transaction ne devrait-elle pas spécifier (pour le CCI) -100 ????????????. Il indique +100, mais l'indicateur lui-même a une valeur de -100 et -150.

et atteint même -180 ??????

Maintenant, le site suivant.... Si nous considérons la logique de l'écriture d'une condition de trading pour le CCI, alors j'ai ce qui suit pour le RSI et le WPR.....

int start()
  {
//----
double rsi_0=iRSI(NULL,0, RSIperiod, RSIprice,0);
double rsi_1=iRSI(NULL,0, RSIperiod, RSIprice,1);

if( rsi_0<100 && rsi_1>100) SignalSell=true;
     if( CheckOrders(OP_SELL))
      {
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
       
    if( rsi_0>100 && rsi_1<100) SignalBUY=true;
     if( CheckOrders(OP_BUY))
      {
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }
 
//----
   return(0);
  }
 
Excusez-moi pour les valeurs RSI de 70 et 30. Et pour WRP le suivant...
int start()
  {
//----
double wpr_0=iWPR(NULL,0, WPRperiod,0);
double wpr_1=iWPR(NULL,0, WPRperiod,1);

if( wpr_0<-80 && wpr_1>-80) SignalSell=true;
     if( CheckOrders(OP_SELL))
      {
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
       
    if( wpr_0>-20 && wpr_1<-20) SignalBUY=true;
     if( CheckOrders(OP_BUY))
      {
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }
 
//----
   return(0);
  }
Ai-je entré les valeurs correctes pour CCI RSI et WRP ???????
 
igrok2008 >> :

Pourquoi avez-vous pris 100 pour le niveau rsi ?

 
satop >> :

Pourquoi avez-vous pris 100 pour le niveau rsi ?

Dans le message ci-dessus, je me suis corrigé. Niveaux 30 70, pour WPR 20 et 80