Aiuto per la codifica - pagina 761

 
oguz:

mladen,

"simple (Regularized ema) EA 1.3" era attivo in 5 diverse parità allo stesso tempo dalle 10 alle 21 ma non ha aperto nessun ordine!

C'è un problema in questo ea per l'apertura degli ordini?

P.S: Erano (ecn-pro) tickmill demo chart.

Ciao oguz

Sta funzionando come si suppone, ma cerca sempre di spiegare esattamente il tuo problema, se possibile con immagini illustrative, almeno fai il tuo lavoro che ti appartiene perché il tempo è più importante per ogni persona.

saluti


 
mntiwana:
Ciao oguz

Sta funzionando come dovrebbe fare, ma cerca sempre di spiegare esattamente il tuo problema, se possibile con immagini illustrative, almeno fai il tuo lavoro che ti appartiene perché il tempo è più importante per ogni persona.

saluti


Caro @mntiwana

Il problema è semplice a livello della mia stupidità!

Pensavo che questo pulsante fosse solo un messaggio informativo! Mentre stava facendo quell'esperto On-Enable / Off-Disable!

Quando ho visto il colore del pulsante nella tua grafica, era rosso!

Grazie per la tua grafica :)

 
Caro Mladen,

Cerco di calcolare la differenza MA3 - MA1 data dal seguente codice:
      for(int i=limit - 1; i>=0; i--)
      {  
        double MA1, MA2, MA3, MA4;
 
        buffer[i] = EMPTY_VALUE;

        MA1 = iCustomMa(MAType1,getPrice(pr_open,Open,Close,High,Low,i),MAPeriod,i,0);
        MA2 = iCustomMa(MAType1,getPrice(pr_close,Open,Close,High,Low,i),MAPeriod,i,0);
 
        MA3 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_OPEN,i);
        MA4 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_CLOSE,i);

        buffer[i] = MA3 - MA1;
      }
dove MAType1 = iEMA(...), MAType2 = MODE_EMA. Per il ciclo di cui sopra, la differenza MA3 - MA1
è sostanzialmente diversa da 0,0. Tuttavia, quando commento MA2:
      for(int i=limit - 1; i>=0; i--)
      {  
        double MA1, MA2, MA3, MA4;
 
        buffer[i] = EMPTY_VALUE;

        MA1 = iCustomMa(MAType1,getPrice(pr_open,Open,Close,High,Low,i),MAPeriod,i,0);
      //  MA2 = iCustomMa(MAType1,getPrice(pr_close,Open,Close,High,Low,i),MAPeriod,i,0);
 
        MA3 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_OPEN,i);
        MA4 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_CLOSE,i);

        buffer[i] = MA3 - MA1;
      }
la differenza MA3 - MA1 è esattamente uguale a 0,0 (come previsto).
Non riesco a capire un tale comportamento, per favore aiutatemi; sembra un bug, o giù di lì...
 
wojtekpaul:
Caro Mladen,

Cerco di calcolare la differenza MA3 - MA1 data dal seguente codice:
      for(int i=limit - 1; i>=0; i--)
      {  
        double MA1, MA2, MA3, MA4;
 
        buffer[i] = EMPTY_VALUE;

        MA1 = iCustomMa(MAType1,getPrice(pr_open,Open,Close,High,Low,i),MAPeriod,i,0);
        MA2 = iCustomMa(MAType1,getPrice(pr_close,Open,Close,High,Low,i),MAPeriod,i,0);
 
        MA3 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_OPEN,i);
        MA4 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_CLOSE,i);

        buffer[i] = MA3 - MA1;
      }
dove MAType1 = iEMA(...), MAType2 = MODE_EMA. Per il ciclo di cui sopra, la differenza MA3 - MA1
è sostanzialmente diversa da 0,0. Tuttavia, quando commento MA2:
      for(int i=limit - 1; i>=0; i--)
      {  
        double MA1, MA2, MA3, MA4;
 
        buffer[i] = EMPTY_VALUE;

        MA1 = iCustomMa(MAType1,getPrice(pr_open,Open,Close,High,Low,i),MAPeriod,i,0);
      //  MA2 = iCustomMa(MAType1,getPrice(pr_close,Open,Close,High,Low,i),MAPeriod,i,0);
 
        MA3 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_OPEN,i);
        MA4 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_CLOSE,i);

        buffer[i] = MA3 - MA1;
      }
la differenza MA3 - MA1 è esattamente uguale a 0,0 (come previsto).
Non riesco a capire un tale comportamento, per favore aiutatemi; sembra un bug, o giù di lì...
Stai applicando il prezzo aperto nella prima chiamata alla custom ma e poi il prezzo chiuso nella seconda chiamata alla custom ma - e lo stai facendo alla stessa istanza della ema. Non potete farlo. State mischiando mele con pere. Per ogni diverso prezzo (o valore) usate un'istanza diversa della custom ma.

Dichiarate due istanze di custom ma e poi fate quanto segue:

for(int i=limit - 1; i>=0; i--)
{  
        double MA1, MA2, MA3, MA4;

        buffer[i] = EMPTY_VALUE;

        MA1 = iCustomMa(MAType1,getPrice(pr_open,Open,Close,High,Low,i),MAPeriod,i,0);
        MA2 = iCustomMa(MAType1,getPrice(pr_close,Open,Close,High,Low,i),MAPeriod,i,1);

        MA3 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_OPEN,i);
        MA4 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_CLOSE,i);

        buffer[i] = MA3 - MA1;
}
E poi saranno esattamente uguali (da MA1 a MA3 e da MA2 a MA4)
 
sì, sei un genio :)
 
wojtekpaul:

Scusate la domanda stupida, ma come dichiarare le due istanze?

La funzione originale 'custom ma' è dichiarata con int instanceNo=0,

e se imposto il parametro a 1 quando chiamo la funzione nel codice,

non ricevo nulla...

controlla le maInstances nel codice :)
 
mladen:

Dichiarare due istanze di custom ma

Scusate la domanda stupida, ma come dichiarare due istanze?

La funzione originale 'custom ma' è dichiarata con int instanceNo=0,

e se imposto il parametro a 1 quando chiamo la funzione nel codice,

Non ricevo nulla (anche se ora non interferisce con la funzione con

l'istanza 0)...

 

OK, grazie, devo ancora imparare molto :-)))


EDIT: OK, ora vedo - maInstances sono nella nuova versione di MAs

(ad esempio in BB si ferma nuovo formato), ma sembrano essere assenti

nella vecchia versione (dove sono disponibili circa 20 MA).

 
wojtekpaul:

OK, grazie, devo ancora imparare molto :-)))


EDIT: OK, ora vedo - maInstances sono nella nuova versione di MAs

(ad esempio in BB si ferma nuovo formato), ma sembrano essere assenti

nella vecchia versione (dove sono disponibili circa 20 MA).

Le vecchie versioni non avevano la capacità di multi istanza
 
Ciao tutti e grazie per tutto l'aiuto che voi ha portato era questo forum I vorrei voi chiesto se era possibile di mettere la freccia che ha su questo indicatore direttamente su ilxml-ph
Motivazione: