[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 330
L'indicatore non può aprire ordini. Queste cose sono gestite dall'EA. Se questo codice appartiene all'indicatore, allora dovete far uscire i dati nel suo buffer, creato appositamente per questi dati. Quando non c'è nessun segnale, viene scritto nel buffer uno zero o un valore vuoto. Quando arriva un segnale (come nel tuo esempio), invece di Alert(); scrivi il valore nel buffer. Per esempio: +1 per comprare e -1 per vendere. Poi leggete i dati dal buffer nell'Expert Advisor usando iCustom();.
Oppure scrivere tutte queste condizioni direttamente nell'Expert Advisor.
Mi dispiace per l'ottusità, ma come far uscire i dati nel buffer e come leggerli dal buffer - c'è qualche esempio?
"Quando non c'è nessun segnale, si scrive zero o un valore vuoto nel buffer e quando si riceve un segnale (come nel tuo esempio), invece di Alert(); si scrive il valore nel buffer".
Non ho mai avuto a che fare con gli indicatori ed è un deserto per me.
Timofei: Potete dirmi come determinare la dimensione massima di una barra (cioè alta-bassa maggiore delle altre) tra le ultime tre (senza zero)?
La risposta è una soluzione semplice. Diciamo che X3 = iHigh[3]-iLow[3]...- questo è per il 3° ultimo, analogamente calcolate per il 2° e il 1° scrivendo 2 e 1. Avrete tre valori variabili X3, X2, X1. Inoltre, si confrontano tra loro - si ottiene la dimensione massima della barra in valori assoluti del prezzo dello strumento, per esempio, X2 è maggiore di X1 e X3 - si mette il suo valore nella variabile Max e si divide Max per Point e il risultato sarà "la dimensione massima della barra in pip degli ultimi tre (senza zero)".
P.S. Max = max X2 o X1 o X3 - dopo che sono stati confrontati; REZULT = Max/Point; Qualcosa del genere.
Roger: Forse perché la portata è troppo piccola, solo 4 secondi? Ci sono pochi tick nella barra in quel momento e il tester potrebbe non raggiungere l'intervallo impostato.
Sì, hai ragione, ho corretto alcune delle mie operazioni aumentando l'intervallo di tempo. E ho trovato la ragione per altre, risulta che non ci sono abbastanza dati nella storia (per esempio, l'ultima barra di un minuto il 24.08.2011 era alle 23.57 e poi il fallimento dopo il quale inizio un nuovo giorno immediatamente.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
L'indicatore non può aprire ordini. Queste cose sono gestite dall'EA. Se questo codice appartiene all'indicatore, allora dovete far uscire i dati nel suo buffer, creato appositamente per questi dati. Quando non c'è nessun segnale, viene scritto nel buffer uno zero o un valore vuoto. Quando arriva un segnale (come nel tuo esempio), invece di Alert(); scrivi il valore nel buffer.
Per esempio:
+1 per comprare e
-1 per vendere.
Poi leggete i dati dal buffer nell'Expert Advisor usando iCustom();.
Oppure scrivere tutte queste condizioni direttamente nell'Expert Advisor.
Mi dispiace per l'ottusità, ma come far uscire i dati nel buffer e come leggerli dal buffer - c'è qualche esempio?
"Quando non c'è nessun segnale, si scrive zero o un valore vuoto nel buffer e quando si riceve un segnale (come nel tuo esempio), invece di Alert(); si scrive il valore nel buffer".
Non ho mai avuto a che fare con gli indicatori ed è un deserto per me.
Potete dirmi come determinare la dimensione massima della barra (cioè High-low maggiore delle altre) tra le ultime tre (senza zero)?
Potete dirmi come determinare la dimensione massima di una barra (cioè alta-bassa maggiore delle altre) tra le ultime tre (senza zero)?
La risposta è una soluzione semplice. Diciamo che X3 = iHigh[3]-iLow[3]...- questo è per il 3° ultimo, analogamente calcolate per il 2° e il 1° scrivendo 2 e 1. Avrete tre valori variabili X3, X2, X1. Inoltre, si confrontano tra loro - si ottiene la dimensione massima della barra in valori assoluti del prezzo dello strumento, per esempio, X2 è maggiore di X1 e X3 - si mette il suo valore nella variabile Max e si divide Max per Point e il risultato sarà "la dimensione massima della barra in pip degli ultimi tre (senza zero)".
P.S. Max = max X2 o X1 o X3 - dopo che sono stati confrontati; REZULT = Max/Point; Qualcosa del genere.
Buon pomeriggio!
Domanda:
Diciamo che ho scritto il mio indicatore ("test123"), lo chiamo in Expert Advisor attraverso iCustom:
iCustom(Symbol(), Period(), "test123", 1, 1, 0, 1);
Posso controllare se la chiamata ha avuto successo? GetLastError() è zero in ogni caso, ho controllato
Forse perché la portata è troppo piccola, solo 4 secondi? Ci sono pochi tick nella barra in quel momento e il tester potrebbe non raggiungere l'intervallo impostato.
Sì, hai ragione, ho corretto alcune delle mie operazioni aumentando l'intervallo di tempo. E ho trovato la ragione per altre, risulta che non ci sono abbastanza dati nella storia (per esempio, l'ultima barra di un minuto il 24.08.2011 era alle 23.57 e poi il fallimento dopo il quale inizio un nuovo giorno immediatamente.
Grazie!
1. Come si determina il profitto/perdita dell'ultimo trade?
2. Nel tester, i risultati sono mostrati includendo lo spread, o devo sottrarre lo spread da ogni trade?
Puoi dirmi perché il campo "simbolo, periodo" appare quando premi la barra spaziatrice sul grafico?
Possono passare tra valute, timeframes o barre di sinistra.