[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 1069
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Facciamo un semplice esperimento dimostrando che il drawdown in un trade separato (ogni trade) NON appare sul grafico del saldo/equity.
Scriviamo un Expert Advisor di due righe di codice:
Eseguiamolo sul grafico EURUSD D1 dal 1° maggio 2010 al 1° agosto 2010. Dovrà comprare EUR a 1.2200 senza stop e chiudere la posizione a take profit a 1.3000 Vedremo il drawdown sul grafico di equilibrio/equity e sul grafico di visualizzazione:
Come potete vedere, sul grafico di visualizzazione (in alto nello screenshot) il drawdown è visibile, mentre sul grafico di equilibrio/equity NON lo è. C'è solo un commercio lì. Guardiamo il rapporto del tester:
Nel rapporto del tester, l'estrazione è FIGURANTE.
Spero che la questione sia stata chiarita?
.
Forse, c'è una domanda "PERCHE' si fa così?" Questa è una domanda non per noi utenti, ma per gli sviluppatori di MT4. Secondo me, questo è sbagliato perché il grafico di equilibrio/equità non mostra l'overbetting.
Colleghi, forse qualcuno si è imbattuto in questo.
C'è un limite al numero di file aperti contemporaneamente? 4 è OK, 5 è aperto, ma non ci scrive. Non riesco a capire cosa c'è che non va.
C'è un problema. Una transazione dovrebbe essere aperta quando passa attraverso il limite superiore (acquisto) o inferiore (vendita) del corridoio dell'indicatore.
double barier = 0.08; // confini del corridoio.
R() - funzione indicatore
Funzione per controllare la condizione di attraversamento del confine superiore o inferiore:
int RFilter()
{
se ( R(2)> -barier && R(1) < -barier ) ritorna (-1);
se ( R(2)< barier && R(1) > barier ) ritorna (1);
}
L'Expert Advisor apre una posizione immediatamente quando l'indicatore passa un confine (indipendentemente da quale). Se è su - compra, se è giù - vendi.
C'è un problema. L'operazione dovrebbe essere aperta quando passa attraverso il limite superiore (acquisto) o inferiore (vendita) del corridoio dell'indicatore.
...
In realtà succede che l'EA apre una posizione immediatamente quando l'indicatore passa il confine (non importa quale). Se sale - compra, se scende - vendi.
Domanda per gli intenditori
Posso creare il mio strumento di trading per il mio tester?
Sostituisci EURUSD30_2.fxt con il mio o con qualcos'altro.
metaquotes\tester\history\EURUSD30_2.fxt
Ho provato a creare simple_csv2fxt, ma tester ha sostituito il file con uno proprio.
Forse qualcuno ha qualche esperienza di creazione, grazie.
Aumentare leggermente il valore della variabile barier
Non è utile. Potrebbe essere dovuto a un errore di assegnazione dei segni?
Puoi leggere i fondi di caffè o qualcos'altro, dato che ovviamente non ci sono abbastanza informazioni.
1. un indicatore o oscillatore:
2. Se oscillatore, ha dei limiti o no? Se lo fa, quali sono i suoi alti e bassi?
3. Forse il problema non è nel codice della suddetta funzione, ma nel codice della sua interpretazione?
Poiché non ci sono telepati qui, e tutte le informazioni necessarie che avete sono classificate, la domanda è la risposta. Cioè, in base alle informazioni che hai fornito, aumentando la variabile avresti dovuto risolvere il problema.
Si possono leggere i fondi di caffè o qualcos'altro, dato che le informazioni sono chiaramente insufficienti.
1. un indicatore o oscillatore:
2. Se è un oscillatore, è limitato o no? Se lo fa, quali sono il suo massimo e il suo minimo?
3. Forse il problema non sta nel codice della funzione di cui sopra, ma nel codice della sua interpretazione?
Dato che non ci sono telepati qui e hai tutte le informazioni che ti servono segnate come segrete, la domanda è la risposta. Cioè a colpo d'occhio, a giudicare dalle informazioni che fornite, l'aumento della variabile dovrebbe aver risolto il problema.
Questo è un indicatore con la seguente formula:
doppio R(int shift)}
Vincoli: (-1;1)
Questo è un indicatore con questa formula:
doppio R(int shift)}
Vincoli: (-1;1)
La vostra funzione deve funzionare correttamente secondo le condizioni menzionate nei commenti:
int RFilter()
{
if ( R(2)> -barier && R(1) < -barier ) return (-1); // posa corta se il valore dell'indicatore sulla barra precedente è superiore alla barra inferiore e quella attuale è inferiore a questa barra
if ( R(2)< barier && R(1) > barier ) return (1); // posa lunga se il valore dell'indicatore è sotto la barra superiore sulla barra precedente ed è sopra questa barra su quella attuale
return(0); // Non fare nulla in tutti gli altri casi.
}
Allora la vostra funzione dovrebbe funzionare correttamente per le condizioni nei commenti:
int RFilter()
{
if ( R(2)> -barier && R(1) < -barier ) return (-1); // posa breve, se il valore dell'indicatore sulla barra precedente è superiore alla barra inferiore e quella attuale è inferiore a questa barra
if ( R(2)< barier && R(1) > barier ) return (1); // posa lunga se il valore dell'indicatore è sotto la barriera superiore sulla barra precedente e la supera sulla barra attuale
return(0); // Nessuna azione in tutti gli altri casi.
}