[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 104

 
Bonjour,

J'ai déplacé l'indicateur qui dessine les canaux vers l'EA.

Les parenthèses déséquilibrées sont une erreur constante, bien que j'aie vérifié deux fois toutes les parenthèses.

Mais ma question est différente - je dois utiliser ces mêmes canaux pour ouvrir des transactions dans la condition, mais je ne sais pas comment les marquer. J'ai essayé d'écrire simplement le nom d'un objet mais je n'ai pas encore réussi à vérifier l'exactitude de cette solution.

Veuillez me conseiller sur la façon de résoudre ce problème.
 
kilnart:

et ouvrir une position d'achat.

tout semble correct, mais il y a quelque chose qui ne va pas.

Et où va le code ? Que vous dit Commentaire ou Impression ?
 

seulement jusqu'ici.

if(Low1<Low2 && Open[2]>Close[2])  

Rien d'autre.

 
kilnart:

seulement jusqu'ici.

Rien d'autre.


Alors, quelle condition n'est pas remplie ensuite ? Que vous dit Commentaire ou Impression ?
 
Qu'avez-vous besoin d'écrire ?
 
kilnart: que devez-vous écrire ?

vérifiez si vos conditions sont remplies sur les données historiques en utilisant Print(), comme ceci :

double Low1=Low[iLowest(NULL,0,MODE_LOW,3,0)],
              Low2=Low[iLowest(NULL,0,MODE_LOW,20,0)];
//Print("Low1 = ",Low1 ,"Low2 = ",Low2);
         
         if(Low1<Low2 && Open[2]>Close[2])    
          {
            Print("сработал первый if...");
            if(Open[1]<=Close[2] && Open[2]<Close[1])
             {
                 Print("сработал второй if...");
                 double sl=Low[iLowest(NULL,0,MODE_LOW,3,0)],
                        tp=Ask+(Open[2]-Low[2]);
                 OrderSend(Symbol(),OP_BUY,0.1,Ask,3,sl,tp);
                 return;
             }
          }
 

J'ai fait ce que vous avez demandé. Rien ne se passe.

Le problème se trouve dans cette expression

if( Low1<Low2 && Open[2]>Close[2])  

si je supprimeLow1<Low2 alors Open[2]>Close[2] est exécuté, si je supprime Open[2]>Close[2], Low1<Low2 n'est pas exécuté

 
kilnart:

Low1<Low2 n'est pas atteint

et les indices Low1 et Low2 que vous avez trouvés sont égaux, les indices Lowest trouvés sont-ils corrects ?
 
J'ai vérifié avec les scripts, les chiffres s'additionnent. Je suppose qu'ils ont raison. Je ne sais pas. Ça ne marche pas.
 
kilnart:

J'ai vérifié avec les scripts, les chiffres s'additionnent.

:)

Je crois qu'ils sont corrects.

Ne supposez pas, vous verrez.

Raison: