Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 651

 
Taras Slobodyanik:

il mio codice scrive un long-ChartID in una variabile globale temporanea.

Visivamente, se si preme F3, mostra zero (o un altro valore diverso).
Questo succede perché il terminale pensa che sia un valore doppio e cerca di mostrarlo, ma noi gli abbiamo dato long, che è un formato di numero completamente diverso.

Se questo valore viene riletto come un normale doppio, sarà un casino.
Se viene letto dal mio codice, sarà di nuovo lungo (lo stesso che abbiamo salvato).
Se cliccate manualmente su questa variabile nella finestra del terminale, sarà resettata perché il terminale rileverà lo swap.

Come posso usare il risultato in CHART_BRING_TO_TOP?
 
Artyom Trishkin:

Rimuovere l'inizializzazione del tempo in OnInit()

Grazie.

Potresti per favore dirmi dov'è l'errore. Quando chiamo regular fractal, la freccia è messa dalla condizione, dove dovrebbe essere, quando chiamo iFreeNumFractals, la condizione è soddisfatta, ci dovrebbe essere una freccia, ma non c'è. Le linee di iFreeNumFractals sono commentate, le impostazioni sono impostate come per il regular fractal. Idealmente, l'immagine dovrebbe essere la stessa se commentiamo le linee con frattali regolari e decommentiamo iFreeNumFractals, ma...

#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:
Come si usa il risultato in CHART_BRING_TO_TOP?

proprio come abbiamo usato CHART_BRING_TO_TOP prima

 
Ciao ragazzi, ho nel mercato tre ordini di acquisto a un prezzo il prezzo sale di 10 pip e abbiamo +10 pip per ogni ordine voglio bloccare tre ordini di vendita, ora come fare questi ordini non sono più controllati in mkl4
 
Ghabo:

Grazie.

Puoi dirmi dov'è l'errore. La situazione è la seguente, quando chiamo il solito frattale, la freccia è messa dalla condizione, dove dovrebbe essere, quando chiamo iFreeNumFractals, la condizione è soddisfatta, ci dovrebbe essere una freccia, ma non lo è. Le linee di iFreeNumFractals sono commentate, le impostazioni sono impostate come per il solito frattale. In teoria, l'immagine dovrebbe essere la stessa se commento le linee con il solito frattale e commento iFreeNumFractals, ma...




Gli indicatori iFreeNumFractals sono con impostazioni come i Frattali standard e standard sul grafico?

Se sì, i loro segnali sono gli stessi?

 
Aleksandr Egorov:
Ciao ragazzi, ho nel mercato tre ordini di acquisto a un prezzo, il prezzo sale di 10 pips, ogni ordine ha +10 pips voglio bloccare tre ordini di vendita, ora come faccio a fare che questi ordini non siano più controllati in mkl4?

Se vuoi essere capito - cosa vuoi esattamente - usa i segni di punteggiatura nel tuo testo. Altrimenti, tutto in una pila - vai a capire cosa intendi...

 
Taras Slobodyanik:

proprio come CHART_BRING_TO_TOP era usato prima

Da quando l'ho usato, non funziona nulla. Probabilmente non sarà troppo difficile per voi fare la stessa cosa, solo come indicatore e portarlo su CHART_BRING_TO_TOP.
 
Artyom Trishkin:

Se vuoi essere capito - quello che vuoi, usa i segni di punteggiatura nel tuo testo. Altrimenti hai messo tutto in un unico mucchio - vai a capire cosa intendi...

Abbiamo tre ordini di acquisto nel mercato a un prezzo, il prezzo sale di 10 pip, abbiamo +10 pip per ogni ordine, voglio bloccare tre ordini di vendita, ora come fare in modo che questi ordini non siano più controllati in mcl4

 

Forum sul trading, sistemi di trading automatico e test di strategia

Tutte le domande dei neofiti su MQL4, aiuto e discussione su algoritmi e codici

Taras Slobodyanik, 2018.10.07 22:12

GlobalVariableCheck()- controlla se questa variabile esiste già, se no, allora
GlobalVariableTemp()- crea una variabile temporanea, che sarà cancellata da sola al prossimo avvio.

Questo punto è chiaro, domanda perché se non c'è GP creato solo temporaneo e non permanente attraversoGlobalVariableSet?

 
Artyom Trishkin:

Gli indicatori iFreeNumFractals sono con impostazioni come i Frattali standard e standard sul grafico?

Se ci sono, i loro segnali corrispondono?

I frattali corrispondono completamente.

Le frecce sui frattali standard nello screenshot

iFreeNumFractals mette il primo e l'ultimo, i tre centrali sono assenti.

aqz

Motivazione: