[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 475

 
sammi61:

Je suis désolé, ce n'est peut-être pas le sujet, mais pourquoi l'EA fonctionne-t-il dans le testeur de stratégie mais n'ouvre pas les transactions en direct et en démo ?

Il existe peut-être une restriction quant à son utilisation dans le cadre d'un trading réel ou même de démonstration. J'aimerais l'utiliser dans le testeur de stratégie, juste pour me familiariser).
 
tol64:

Il y a peut-être une restriction sur l'utilisation réelle et même sur la démo. Et dans le testeur pour la connaissance)).

Je l'ai téléchargé librement, mais comment savoir s'il y a des restrictions ou non ?
 
sammi61:

Je l'ai téléchargé librement, mais comment savoir s'il y a des restrictions ou non ?

D'un coup d'œil rapide, il n'y a pas de restrictions démo/réelles.
 
Je n'ai même pas trouvé les conditions pour savoir quand il doit ouvrir la première commande.
 
Roger:
Je n'ai même pas trouvé de conditions pour l'ouverture de la première commande.

il y a OrderSend(...)
 
abolk:

il y a OrderSend(...)

Mais c'est à la condition que les commandes soient déjà là.
 
Roger:

Mais c'est à la condition que l'ordre existe déjà.


Premièrement, OrderSend() se produit deux fois et les deux fois en dehors de la condition que vous avez spécifiée.

Deuxièmement, l'OrderSend() transmet un prix non normalisé.

Troisièmement, analyser le résultat renvoyé par OrderSend(), écrire un message dans le journal en cas d'erreurs lors de l'ouverture/modification/fermeture d'une commande et analyser le journal.

 

! !! wow ! !! merci ! !!

Je vais creuser))))

 

Aide avec le code de l'indicateur gi_RSI.

Je dois mettre un point sur le niveau 90,

Si DN[i] = 70 et dn[i] = 60 et jma>Close[i]. C'est-à-dire que le vert a traversé le niveau de 80 de haut en bas et le vert a traversé le bleu de haut en bas, le prix de clôture est inférieur au jma.


Je dois mettre un point sur le niveau 10,

si DN[i] = 30 et dn[i] = 40 et jma<Close[i]. i.e. le vert a traversé le niveau 20 de bas en haut, et a traversé le vert bleu de bas en haut, le prix de clôture est supérieur au jma.

Je ne peux pas joindre le code à l'indicateur.

int start()
  {
   int limit;
   double dMA;
   int fd, fu,Fd, Fu;
      
   int counted_bars = IndicatorCounted();
   if(counted_bars < 0)       return(-1);

   if(counted_bars > 0)    counted_bars--;
   limit = Bars - counted_bars;
   for(int i = 0; i < limit; i++)
       wBuffer[i] = iMA(NULL, TimeFrame, aLine, 0, aMethod, bPrice, i);
       
   for(i = 0; i < limit; i++)
     {
       dBuffer[i] = iMA(NULL, TimeFrame, aLine, 0, aMethod, bPrice, i) + 
                    iMA(NULL, TimeFrame, aLine, 0, aMethod, bPrice, i) - 
                    (-iRSIOnArray(wBuffer, 0, bLine,  i));
       rsi[i]=iRSI(NULL, TimeFrame, 14, 0, i);       
     }
    for(i = 0; i < limit; i++)
     {
       if(dBuffer[i+1]>80 && dBuffer[i]<80) DN[i] = 70; Fd=-1; Fu=0;               //пересекла 80   --> 1
       if(dBuffer[i+1]<20 && dBuffer[i]>20) UP[i] = 30; Fu=1;  Fd=0;               //пересекла 20   --> 1
       
       if(dBuffer[i+1]>rsi[i+1] && dBuffer[i]<rsi[i]) dn[i] = 60; fd=-1; fu=0;     //пересечение двух  -->  2
       if(dBuffer[i+1]<rsi[i+1] && dBuffer[i]>rsi[i]) up[i] = 40; fu=1;  fd=0;     //пересечение двух     -->  2
       
       if(Fd==-1 && fd==-1) dot[i]=90; Fd=0; Fu=0; fd=0; fu=0;
       if(Fu==1 && fu==1)   dot[i]=10; Fd=0; Fu=0; fd=0; fu=0;
 /*
  Надо поставить точку на уровне 90, если DN[i] = 70 и dn[i] = 60. То есть зеленая пересекла уровень 80 с верху в низ и пересекла зеленая синююю с верху в низ.
  Надо поставить точку на уровне 10, если DN[i] = 30 и dn[i] = 40. То есть зеленая пересекла уровень 20 с низу в верх и пересекла зеленая синююю с низу в верх.
*/      
       double jma=iCustom(NULL,0,"JMA[i]",Length,Phase,0,i);
         if(Fd==-1 && fd==-1 && jma>Close[i]) {dot[i]=90; Fd=0; Fu=0; fd=0; fu=0;}
         if(Fu==1 && fu==1  && jma<Close[i])   {dot[i]=10; Fd=0; Fu=0; fd=0; fu=0;}
     }          
           
//----
   return(0);
  }
 
Je ne comprends pas du tout la logique. Il dessine un point mais sur la flèche rouge, pas sur la flèche blanche.
Dossiers :
gi_rsi.mq4  7 kb