Chiedete! - pagina 95

 

La risposta breve è No.

Come sempre, la barra 0 è temporalmente incompleta sia per gli EA che per gli indicatori, e il suo massimo, minimo, chiusura e volume sono quasi certamente diversi da come finiscono quando quella barra si completa e diventa la barra 1. Più esattamente, il valore di StochRSICurr alla fine della barra giornaliera è noto solo al primo tick della barra giornaliera successiva (e oltre). Penso che ti rendi un cattivo servizio cercando di usare i valori della barra 0, poiché questi, con poche eccezioni, riflettono solo lo stato parziale della barra incompleta.

Per quanto ne so, l'indicatore viene invocato al momento della prima chiamata iCustom con la particolare combinazione di valori dei parametri, durante ogni invocazione della funzione EA start(). Successive chiamate iCustom durante la chiamata alla funzione EA start(), allo stesso indicatore, con la stessa configurazione di valori dei parametri, riutilizza ciò che la prima chiamata ha prodotto. La prossima funzione EA start(), sempre chiamando iCustom, invocherà nuovamente l'indicatore, nel contesto del tick che ha causato l'invocazione della funzione start.

Così, agli occhi dell'indicatore, esso viene invocato una volta per ogni tick che l'EA lascia invocare. Dicendo ad un MA di usare il prezzo aperto o il prezzo alto ecc. cambia solo i valori delle barre che guarda, mentre il modo di invocazione rimane lo stesso: viene invocato ad ogni tick (che l'EA gli permette).

 
 

Per favore aiutatemi

Ciao a tutti,

Nessuno vuole aiutarmi. Ho postato un'altra volta il mio problema e per favore aiutatemi.

Voglio solo capire perché il risultato non è lo stesso con i due modi di codificare lo stesso indicatore (vedi il codice e l'immagine).

Manuel

File:
 

backtesting lento

Volevo solo ringraziare Ralph Ronnquist. Ora ho quella parte che funziona correttamente.

Ho un'altra domanda per chiunque possa aiutare. Quando cerco di usare Strategy Tester con il mio EA, è estremamente lento. So che funziona perché ottengo alcuni risultati, ma ho bisogno di lasciarlo acceso durante la notte per ottenere risultati per 3 mesi.

Il mio EA si basa sul trend giornaliero usando l'incrocio stocastico RSI (test) e poi solo l'azione dei prezzi. Quali potrebbero essere le ragioni principali per cui è così lento. È nella programmazione o è perché sto chiamando un indicatore esterno o è che Stocastico RSI ingoia un sacco di potenza.

Ho eseguito molti altri EA e sono tutti molto più veloci del mio. Il mio sistema è molto potente con 3GB di Ram e processore Intel Centrino Duo.

Qualsiasi suggerimento di idee sarebbe apprezzato.

Putz

 

Come scrivere

Ciao Coders

Sono totalmente newbie nella codifica Mql.4. Sto ancora imparando modificando gli EA esistenti.

Il seguente esempio per un Pivot fluttuante:

per la barra corrente;

doppio Flow_Pivot0 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)

+ iClose(NULL,0,0))/3.0;

per una barra indietro

dove devo impostare "numero" o variabile "shift_bars"

doppio Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)

+ iClose(NULL,TimeFrame_Flow,0))/3.0;

Grazie mille

 
 

Nessuna soluzione trovata

Ciao Bongo

scusa ma su questo link non ho trovato una risposta.

Caso normale

double High1 = iHigh(NULL,0,0); // Prezzo alto ora

quando ho bisogno di un input esterno

double iHigh1 = iHigh(NULL,iHigh12_TimeFrame,Barsback_iHigh1); // Prezzo alto ora

Greenmeans quante barre indietro

ma nel mio caso, dove devo inserire Barback_xxx, la linea completa sotto deve essere una barra indietro

doppio Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)

+ iClose(NULL,TimeFrame_Flow,0))/3.0;

Bongo:
BadGay,

vai a:

https://www.mql5.com/en/forum/173124

B.
 

Tempi di ritorno

Badguy:
Ciao Bongo

Mi dispiace ma su questo link non ho trovato una risposta.

Caso normale

double High1 = iHigh(NULL,0,0); // Prezzo alto ora

quando ho bisogno di un input esterno

double iHigh1 = iHigh(NULL,iHigh12_TimeFrame,Barsback_iHigh1); // Prezzo alto ora

Greenmeans quante barre indietro

ma nel mio caso, dove devo inserire Barback_xxx, la linea completa sotto deve essere una barra indietro

doppio Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)

+ iClose(NULL,TimeFrame_Flow,0))/3.0;

Ciao

Se volete spostare la linea indietro di 1 barra alla volta

doppio Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)

+ iClose(NULL,TimeFrame_Flow,0))/3.0; = Giorno corrente

double Flow_Pivot1 = (iHigh(NULL,1440,1)+iLow(NULL,1440,1)

+ iClose(NULL,TimeFrame_Flow,1))/3.0; = Indietro di 1 giorno

double Flow_Pivot1 = (iHigh(NULL,1440,2)+iLow(NULL,1440,2)

+ iClose(NULL,TimeFrame_Flow,2))/3.0; = Indietro di 2 giorni

double Flow_Pivot1 = (iHigh(NULL,1440,Barback_xxx)+iLow(NULL,1440,Barback_xxx)

+ iClose(NULL,TimeFrame_Flow,Barback_xxx))/3.0;

Barback_xxx = 1,2, 3, 4 ecc. si sposta indietro di 1 barra alla volta.

 

Ciao Cja

non è quello che voglio dire

cja:
Ciao

Se vuoi spostare la linea indietro di 1 bar alla volta.

Questo è il PIVOT fluttuante. Giusto?

#1

doppio Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)

+ iClose(NULL,TimeFrame_Flow,0))/3.0; = Giorno corrente

Questo è il normale PIVOT per oggi. Giusto?

#2

doppio Flow_Pivot1 = (iHigh(NULL,1440,1)+iLow(NULL,1440,1)

+ iClose(NULL,TimeFrame_Flow,1))/3.0; = Indietro di 1 giorno

Questo è un normale PIVOT ma da ieri. Giusto?

#3

doppio Flow_Pivot1 = (iHigh(NULL,1440,2)+iLow(NULL,1440,2)

+ iClose(NULL,TimeFrame_Flow,2))/3.0; = Indietro di 2 giorni

Ho bisogno di #1, ma xx barre indietro in qualsiasi Timeframe.

Stessa funzione come questo Indi: PrevDayAndFloatingPivot_O.mq4. ( ma solo il FloatingPivot )

Indi è collegato

doppio Flow_Pivot1 = (iHigh(NULL,1440,Barback_xxx)+iLow(NULL,1440,Barback_xxx)

+ iClose(NULL,TimeFrame_Flow,Barback_xxx))/3.0;

Barback_xxx = 1 ,2, 3, 4 ecc. si sposta indietro di 1 barra alla volta.
 

forse questa è una domanda stupida... ma spero che tu mi aiuti.

.... come chiudere o aprire un ordine(ordine pendente) quando un altro ordine raggiunge il tp?

grazie b4!

Motivazione: