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

 
Taras Slobodyanik:

mon code écrit un long-ChartID dans une variable globale temporaire.

Visuellement, si vous appuyez sur F3, il affiche zéro (ou une autre valeur différente).
Cela se produit parce que le terminal pense qu'il s'agit d'une valeur double et essaie de l'afficher, mais nous lui avons donné une valeur longue, qui est un format de nombre complètement différent.

Si cette valeur est relue comme un double normal, ce sera un désordre.
S'il est lu par mon code, il sera à nouveau long (le même que celui que nous avons sauvegardé).
Si vous cliquez manuellement sur cette variable dans la fenêtre du terminal, elle sera réinitialisée car le terminal détectera le swap.

Comment puis-je utiliser le résultat dans CHART_BRING_TO_TOP ?
 
Artyom Trishkin:

Suppression de l'initialisation du temps dans OnInit()

Merci.

Pouvez-vous me dire où se trouve l'erreur ? Lorsque j'appelle regular fractal, la flèche est placée par condition, là où elle devrait être, lorsque j'appelle iFreeNumFractals, la condition est remplie, il devrait y avoir une flèche, mais il n'y en a pas. Les lignes iFreeNumFractals sont commentées, les paramètres sont définis comme pour regular fractal. Idéalement, l'image devrait être la même si nous commentons les lignes avec fractale régulière et décommentons iFreeNumFractals, mais...

#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots   2
//--- plot UP
#property indicator_label1  "UP"
#property indicator_type1   DRAW_ARROW
#property indicator_color1  clrLawnGreen
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- plot DN
#property indicator_label2  "DN"
#property indicator_type2   DRAW_ARROW
#property indicator_color2  clrDeepPink
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1


//--- indicator buffers
double         BufferUP[];
double         BufferDN[];

int dist=3;
string nameInd;
datetime timf=0;
int numf;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,BufferUP);
   SetIndexBuffer(1,BufferDN);
//--- setting a code from the Wingdings charset as the property of PLOT_ARROW
   SetIndexArrow(0,233);
   SetIndexArrow(1,234);
  
   
//---
//---
   
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
  
//---
   if(rates_total<2) return(0);
     {
      int limit=rates_total-prev_calculated;
      if(limit>1) 
        {
         limit=rates_total-2;
         ArrayInitialize(BufferUP,EMPTY_VALUE);
         ArrayInitialize(BufferDN,EMPTY_VALUE);
        }
      for(int i=limit; i>=0; i--) 
        {
         
         if(fub(i))
           {
            BufferUP[i]=low[i]-dist*Point;
           }

         Comment("");
        }
      //--- return value of prev_calculated for next call

     }
   return(rates_total);
  }
//+
bool fub(int ib)//
  {
   bool bingob=false,flag_verh_f=0;
   int start_bar=0,numbarfrup=0,kfr_all=0;
   double high_old=0,prfra=0,f_up=0,f_dn=0,f=0;

     {
      for(int i_i=ib+3; i_i<Bars-2; i_i++)
        {
         if(high_old<High[i_i]) high_old=High[i_i];

        f_up=iFractals(Symbol(),0,MODE_UPPER,i_i);
        //f_up=NormalizeDouble(iCustom(Symbol(),0,"iFreeNumFractals",1,2,2,2,2,0,i_i),Digits);
         f_dn=iFractals(Symbol(),0,MODE_LOWER,i_i);
         //f_dn=NormalizeDouble(iCustom(Symbol(),0,"iFreeNumFractals",1,2,2,2,2,1,i_i),Digits);
         if(f_up>0 && f_up>iMA(NULL,0,33,0,MODE_SMMA,PRICE_CLOSE,i_i)+10*Point)//Если фрактал найден выше МА+10 pips
           {
            numbarfrup=i_i;
           }
         if(f_dn>0 && f_dn<iMA(NULL,0,33,0,MODE_SMMA,PRICE_CLOSE,i_i))
           {
            start_bar=numbarfrup;break;
           }
        }
      for(int i_i=start_bar; i_i<Bars-2; i_i++)
        {
         f=iFractals(Symbol(),0,MODE_UPPER,i_i);
         //f=NormalizeDouble(iCustom(Symbol(),0,"iFreeNumFractals",1,2,2,2,2,0,i_i),Digits);
         if(f>0)kfr_all++;
         if(f>0 && Low[ib]<f+1*_Point && Open[ib]>f //Сравнение фрактала с текущ баром
            &&
            high_old-f>=100*Point//от максимума до фрактала 100 пп
            )
           {
            bingob=true;
            prfra=f;
            timf=Time[i_i];
            break;
           }
         if(kfr_all==3)break;
        }
     }
// numfb=iBarShift(NULL,PERIOD_CURRENT,timf,true);
   if(bingob)
     {flag_verh_f=true;}
   if(bingob==false)
      flag_verh_f=false;

   return(flag_verh_f);

  }
//



 
inter78:
Comment utiliser le résultat dans CHART_BRING_TO_TOP ?

tout comme nous avons utilisé CHART_BRING_TO_TOP avant

 
Salut les gars, j'ai sur le marché trois ordres d'achat à un prix le prix monte de 10 pips et nous avons +10 pips pour chaque ordre je veux verrouiller trois ordres de vente, maintenant comment faire pour que ces ordres ne soient plus vérifiés dans mkl4.
 
Ghabo:

Merci.

Pouvez-vous me dire où se trouve l'erreur. La situation est la suivante : lorsque j'appelle la fractale habituelle, la flèche est placée par la condition, là où elle devrait être, lorsque j'appelle iFreeNumFractals, la condition est remplie, il devrait y avoir une flèche, mais elle ne l'est pas. Les lignes de iFreeNumFractals sont commentées, les paramètres sont définis comme pour la fractale habituelle. En théorie, l'image devrait être la même si je commente les lignes avec la fractale habituelle et commente iFreeNumFractals, mais...




Les indicateurs iFreeNumFractals ont-ils des paramètres comme les Fractales standard et standard sur le graphique ?

Si oui, leurs signaux sont-ils les mêmes ?

 
Aleksandr Egorov:
Bonjour les gars, j'ai sur le marché trois ordres d'achat à un prix, le prix monte de 10 pips, chaque ordre a +10 pips je veux verrouiller trois ordres de vente, maintenant comment dois-je faire pour que ces ordres ne soient plus vérifiés dans mkl4 ?

Si vous voulez être compris - ce que vous voulez exactement, utilisez des signes de ponctuation dans votre texte. Sinon, tout en une seule pile - allez comprendre ce que vous voulez dire...

 
Taras Slobodyanik:

tout comme CHART_BRING_TO_TOP était utilisé auparavant

Depuis que je l'ai utilisé, rien ne fonctionne. Il ne sera probablement pas trop difficile pour vous de faire la même chose, mais seulement en tant qu'indicateur et de l'amener au niveau de CHART_BRING_TO_TOP.
 
Artyom Trishkin:

Si vous voulez être compris - ce que vous voulez, utilisez des signes de ponctuation dans votre texte. Sinon, vous avez tout mis dans le même sac - allez voir ce que vous voulez dire...

Nous avons trois ordres d'achat sur le marché à un prix, le prix augmente de 10 pips, nous avons +10 pips pour chaque ordre, je veux verrouiller trois ordres de vente, maintenant comment s'assurer que ces ordres ne sont plus vérifiés dans mcl4.

 

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

Toutes les questions des débutants sur MQL4, aide et discussion sur les algorithmes et les codes

Taras Slobodyanik, 2018.10.07 22:12

GlobalVariableCheck()- vérifie si cette variable existe déjà, si non, alors
GlobalVariableTemp()- crée une variable temporaire, qui sera supprimée d'elle-même au prochain démarrage.

Ce point est clair, question pourquoi s'il n'y a pas de GP créé seulement temporaire et non permanent parGlobalVariableSet ?

 
Artyom Trishkin:

Les indicateurs iFreeNumFractals ont-ils des paramètres comme les Fractales standard et standard sur le graphique ?

S'il y en a, leurs signaux correspondent-ils ?

Les fractales correspondent parfaitement.

Les flèches sur les fractales standard sur la capture d'écran

iFreeNumFractals met le premier et le dernier, les trois du milieu sont absents.

aqz

Raison: