Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1528

 
MakarFX:

le premier indicateur a une valeur de EMPTY_VALUE lorsqu'il n'y a pas de signal

faire ce qui suit

Ne serait-il pas plus simple d'écrire != EMPTY_VALUE ?
 
Alexey Viktorov:
Ne serait-il pas plus simple d'écrire != EMPTY_VALUE ?
Et si la fonction renvoie zéro ?
 
Artyom Trishkin:
Et si la fonction renvoie zéro ?

Quelle fonction ? Les valeurs de la mémoire tampon de l'indicateur y sont visualisées. Si une valeur non affichable de 0,0 a été définie, vérifiez que la valeur est > 0,0.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Toutes les questions des débutants en MQL4 et MQL5, l'aide et la discussion des algorithmes et des codes

jarikn, 2021.07.04 14:04

mais c'est ce qu'il y a dans les tampons quand il n'y a pas de signal. je ne pense pas que >0 fera l'affaire, mais je vais essayer maintenant.



 
Alexey Viktorov:

Les arrêts ne doivent pas être utilisés. Au lieu d'utiliser des stops, placez des ordres en attente dans la direction opposée.

Exactement :) Merci pour l'idée
 
Alexey Viktorov:

Quelle fonction ? Les valeurs de la mémoire tampon de l'indicateur y sont visualisées. Si une valeur non affichée de 0,0 a été fournie, vérifiez si elle est > 0,0.


iCustom() que renvoie-t-il en cas d'erreur ?
 
panneau
void OnTick()
  {
  

    int ns=0,nb=0;
    int nss[100],nbb[100];
    double BuyLIVEL[1000], SellLIVEL[1000];
    
   double prise;
if(NewBar_M1()==true){   
for(int i=10000; i>0; i--){
  
  
double zig_s=iCustom(NULL,0,"ZigZag",Depth,Deviation,Backstep,1,i);  
double zig_b=iCustom(NULL,0,"ZigZag",Depth,Deviation,Backstep,2,i);   
         
if(zig_s>0.0){ns++; nss[ns]=ns; SellLIVEL[ns]=zig_s; comments(Time[i],zig_s+170*Point,ns);}
if(zig_b>0.0){nb++; nbb[nb]=nb; BuyLIVEL[nb]=zig_b; commentb(Time[i],zig_b-70*Point,nb);}


string rez;
 for(int b=0; b<nss[ns]; b++){
    rez+="ns "+nss[b]+" sel urovni  "+SellLIVEL[b]+"\n";
Comment(rez);
}

  }}
   
  }
//+------------------------------------------------------------------+
void comments(datetime y2,double y3,string y4){
   string name="1";
   ObjectDelete(name);
   bool obcrt= ObjectCreate(0,name+(string)y4, OBJ_TEXT, 0, y2,y3);
    ObjectSetInteger(0,name+(string)y4,OBJPROP_COLOR,clrBlack);
    ObjectSetString(0,name+(string)y4,OBJPROP_TEXT,y4); 
    ObjectSetString(0,name+(string)y4,OBJPROP_FONT,"Arial"); 
    ObjectSetInteger(0,name+(string)y4,OBJPROP_FONTSIZE,12); 
      }
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж|
void commentb(datetime y2,double y3,string y4){
   string nama="2";
   ObjectDelete(nama);
   bool obcrt= ObjectCreate(0,nama+(string)y4, OBJ_TEXT, 0, y2,y3);
    ObjectSetInteger(0,nama+(string)y4,OBJPROP_COLOR,clrBlack);
    ObjectSetString(0,nama+(string)y4,OBJPROP_TEXT,y4); 
    ObjectSetString(0,nama+(string)y4,OBJPROP_FONT,"Arial"); 
    ObjectSetInteger(0,nama+(string)y4,OBJPROP_FONTSIZE,12); 
      }
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж|
bool NewBar_M1() {
   static int Ba;
   if(Ba != iBars(NULL,PERIOD_CURRENT)){ 
   Ba = iBars(NULL,PERIOD_CURRENT); return (true); } else {return (false);} } 
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж

Aidez-moi à comprendre la nécessité des niveaux en zigzag : résistance supérieure, support inférieur. J'obtiens abar codabr

 
le conseiller a besoin de niveaux de soutien et de résistance dans des tableaux ; les niveaux inférieurs doivent être des niveaux de soutien et les niveaux supérieurs des niveaux de résistance afin que le conseiller puisse examiner les niveaux supérieurs et inférieurs et les réécrire à un nouveau niveau
 
Artyom Trishkin:
Que renvoie iCustom() lorsqu'une erreur se produit ?

Valeur retournée

Valeurnumérique de l'indicateur personnalisé spécifié. L'indicateur personnalisé doit être compilé (fichier avec l'extension EX4) et situé dans le terminal_directory\MQL4/\Indicators.

Il n'y a pas d'information sur les erreurs. Apparemment, ils ne sont pas fournis.

 
Alexey Viktorov:

Il n'est pas question d'erreurs. Apparemment, ils ne sont pas prévus.

Oh, bien. Je n'ai pas regardé la référence sur le quatre depuis des années parce que je n'en avais pas besoin.

 
Artyom Trishkin:

Très bien, alors. Je n'ai pas regardé la référence sur le quatre depuis des années parce que je n'en avais pas besoin.

Oui, et j'ai vérifié pour te répondre aussi.

Raison: