Domande da un "manichino" - pagina 84

 
Expert:
...
Andrei, è pazzesco, stai per fare un tester di trading manuale e non puoi correggere l'indicatore, andare a cercare i dati mancanti nei contatori.
 
Urain:
Sono pazzo di te, stai per costruire un tester di trading manuale e non puoi correggere l'indicatore, devi cercare i dati mancanti nei contatori.

Mi hai confuso di nuovo con Andrei=)

I dati non scompaiono, ma piuttosto i dati non scompaiono.

Non è facile scavare e fare il debug perché l'indicatore ridisegna i punti qualche barra indietro.

 
Expert:

Mi hai confuso di nuovo con Andrei=)

I dati non scompaiono, ma piuttosto i dati non scompaiono.

E non è facile da scavare e debuggare perché l'indicatore ridisegna i punti qualche barra indietro.

Sì, scusa, mi sono confuso.

Notate la direzione dell'indicizzazione degli array, per non confondervi con le stampe.
Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
Urain:

Sì, mi dispiace, mi sono confuso.

Fate attenzione alla direzione dell'indicizzazione dell'array, per non confondervi, controllate voi stessi con le stampe.

Ok, lo farò.

Ma la domanda principale è perché questi modelli scompaiono quando cambio il TF.

A volte questi modelli coincidono con le matrici su cui è costruito l'indicatore, e a volte sono caoticamente sparsi nel grafico.

L'azzeramento degli elementi dell'array nei posti giusti sembra avvenire...

 
Expert:

Ok, lo farò.

Ma la domanda principale è perché questi modelli scompaiono quando cambio ilf.

Questi modelli a volte coincidono con le matrici su cui è costruito l'indicatore, a volte sono caoticamente sparsi nel grafico.

L'azzeramento degli elementi dell'array nei posti giusti sembra avvenire...

Quando TF viene commutata, avviene la reinizializzazione, ecco perché i modelli scompaiono.

Non stai costruendo un modello con oggetti grafici? Se è così, devono essere gestiti quando devono essere cancellati.

ZS In generale, senza codice (un'immagine) è difficile anche capire cosa c'è di sbagliato, figuriamoci trovare la causa.

 
Urain:

Quando il TF viene commutato, viene reinizializzato, quindi i modelli scompaiono.

Non stai costruendo un modello con oggetti grafici? Se è così, devono essere controllati quando devono essere cancellati.

HH in generale senza codice (un'immagine) è difficile anche solo capire cosa non va, figuriamoci trovare la causa.

#proprietà indicator_type1 DRAW_ARROW

#proprietà indicator_type2 DRAW_ARROW

#proprietà indicator_type3 DRAW_ARROW

Non oggetti grafici, buffer.

Ma il codice, sì per favore)

File:
WATL.mq4  24 kb
WATL.mq5  41 kb
 
Expert:

#proprietà indicator_type1 DRAW_ARROW

#proprietà indicator_type2 DRAW_ARROW

#proprietà indicator_type3 DRAW_ARROW

Non oggetti grafici, buffer.

Ma il codice, sì per favore)

Prima di tutto è un codice decompilato, e secondo, ci sono molti bug nel processo di migrazione.

Prendete questa perla per esempio

iBarShift(NULL,0,ai_4,false);

E questo nonostante il fatto che la funzione CopyTime non ha un concetto come un carattere nullo

(NULL) passato al parametro del tipo di stringa passerà ""

int iBarShift(string symbol,
              int tf,
              datetime time,
              bool exact=false)
  {
   if(time<0) return(-1);
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   datetime Arr[],time1;
   CopyTime(symbol,timeframe,0,1,Arr);
   time1=Arr[0];
   if(CopyTime(symbol,timeframe,time,time1,Arr)>0)
     {
      if(ArraySize(Arr)>2) return(ArraySize(Arr)-1);
      if(time<time1) return(1);
      else return(0);
     }
   else return(-1);
  }


contatta il tuo sviluppatore

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTime
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTime
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyTime - Документация по MQL5
 
Urain:

Prima di tutto, è una decompilazione, e in secondo luogo, ci sono molti bug nella migrazione.

Basta guardare questo perl

E questo nonostante il fatto che la funzione CopyTime non ha un carattere nullo

(NULL) passato al parametro del tipo di stringa passerà ""


contattare lo sviluppatore

Non voglio $$ parlare con uno sviluppatore =)

In ogni caso, grazie per il saggio consiglio.

 
Expert:

Nessun $voglia$ di contattare lo sviluppatore =)

In ogni caso, grazie per il buon consiglio.

Ma non è tutto lì, nell'idea di passare l'oggetto grafico al posto dell'id 0 del grafico, è possibile, ma in pratica è meglio dare il numero del grafico.

In generale, c'è molto da capire

non è chiaro cosa il programmatore volesse dire con questo codice:

int Double2Int(double ad_0) 
  {
   return(int(StringToInteger(DoubleToString(ad_0,0))));
  }

È più facile e più veloce per me:

(int)NormalizeDouble(ad_0,0)

piuttosto che arrotondare attraverso i perizomi

 
Urain:

Ma c'è di più, in teoria è possibile passare 0 al posto dell'id del grafico quando si crea un oggetto grafico, ma in pratica è meglio dare il numero del grafico.

In generale, c'è molto da sistemare

non è chiaro cosa il programmatore volesse dire con questo codice:

Penso che sia più facile e più veloce:

Che fare l'arrotondamento tramite le stringhe

gli oggetti qui sono linee, li ho troncati, quindi ovviamente non è lì che si trova l'errore.

L'arrotondamento attraverso la stringa è dovuto al fatto che MQL4 non ha un metodo come (int), mentre nella riscrittura l'ho lasciato come è deliberatamente per massimizzare la coincidenza dei codici.

Ma a quanto pare, puoi ancora sostituire la vecchia versione con la tua.