Domande su MQL5 Wizard e sulla libreria standard di classi di trading - pagina 9
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
Qual è dunque il suo scopo pratico, più che di tester? Sembra esserci, ma non si può usare. E perché qualsiasi domanda su questo argomento, ad esempio il suggerimento di introdurre tale elaborazione o scrivere un articolo da parte degli sviluppatori o qualche guida sulla gestione degli errori sono sempre accolti con silenzio dagli sviluppatori? Dopo tutto, sono i più competenti in materia - qual è il problema? Sembra strano, per non dire altro, che invece di qualcosa di veramente utile, stiamo lavorando su un mucchio di indicatori di cui nessuno ha bisogno (0 commenti, 0 richieste per loro), quando non c'è nessuna base per il trading - la capacità di aprire e chiudere le operazioni. La questione dell'emulatore di auto-trading rimane senza risposta. Mi piacerebbe sentire la risposta.
Così nessuno nasconde il fatto che la strategia guidata è solo per il tester. )) Solo e rapidamente controllare questa o quella idea e poi decidere in quale direzione andare. E la gestione degli errori non è un compito così difficile. Puoi almeno guardare come lo fanno gli altri. Per esempio, la libreria di funzioni di KimIV nel quarto forum. Penso che potrei anche scrivere un articolo su questo argomento, ma ora non ho tutto questo tempo.
E gli sviluppatori ora, mi sembra di capire, hanno tutti i loro sforzi concentrati sullo sviluppo del progetto nel suo insieme. I servizi Market, Signals e Warehouse sono sospesi nell'aria, forse qualche altro bug. Questi sono i compiti principali ora, secondo me.
Il punto non è se il compito è complesso o meno, ma se deve essere implementato in una libreria standard. Sarebbe una buona idea definire una lista dei compiti principali quando si scrive l'EA e implementarli per gli sviluppatori, in modo che non ci sia bisogno di guardare come lo fanno gli altri, o aspettare che qualcuno abbia il tempo di scrivere un articolo.
... Ma se lo facessi? ))
No.
Mi dispiace, ma è a questo che serve la Libreria Standard, a contenere soluzioni generiche. L'elaborazione degli errori di trading dipende molto dalle preferenze del trader.
Quindi, cari amici, facciamolo da soli.
In ogni caso, probabilmente dovrà aspettare fino a quando l'azienda avrà più priorità. Forse sarà implementato in un prossimo futuro. Qui ho deciso di non aspettare, dato che non mi piace aspettare e l'ho già implementato molto tempo fa. Non c'è voluto molto tempo. Inoltre, l'ho fatto proprio all'inizio dell'apprendimento della lingua. Potreste scrivere la vostra richiesta al Service Desk. E se lo facessi? ))
L'implementazione può essere fatta da chiunque e in qualsiasi modo. Siete sicuri di aver fatto tutto in modo ottimale, corretto e bello? Naturalmente, ci possono essere molte varianti, ma una tipica degli sviluppatori è sufficiente per personalizzarla alle vostre esigenze o usarla così com'è.
Ciao, ho 2 domande.
1) Nel metodo doppio CExpertSignal::Direction(), per normalizzare il risultato tra tutti i filtri, dividiamo il valore totale risultante per il valore del numero. Supponiamo di usare un solo filtro, allora secondo il codice della libreria standard, il valore del numero che =1 durante l'inizializzazione aumenterà di +1 e diventerà 2. Quindi il risultato ottenuto da un filtro viene diviso per 2. Domanda = c'è un errore?
doppio CExpertSignal::Direzione()
{
CExpertSignal *filter;
maschera lunga;
doppia direzione;
doppio risultato=m_weight*(LongCondition()-ShortCondition());
int number=1; // numero di "votati"
//---
int total=m_filters.Total();
//--- per il debug
//printf(__FUNCTION__+" : %s %d",EnumToString(m_periodo),totale);
//--- ciclo per filtri
for(int i=0;i<totale;i++)
{
//--- maschera per mappe di bit
mask=((long)1)<<i;
//--- controllo del flag di ignorare il segnale del filtro
if((m_ignore&mask)!=0) continua;
filter=m_filters.at(i);
direction=filtro.Direction();
//- il segnale di "divieto"
if(direction==EMPTY_VALUE) return(EMPTY_VALUE);
//--- controllo del flag di inversione del segnale del filtro
if((m_invert&mask)!=0) risultato=direzione;
altrimenti risultato+=direzione;
numero++;
}
//--- normalizzazione
risultato/=numero;
//--- restituire il risultato
return(risultato);
}
2) Potresti dirmi cosa significa la variabile m_adjusted_point?
Grazie.
Salve, ho due domande.
1) Non c'è nessun errore fondamentale.
2) Correzione per le citazioni a 3/5 cifre.
No.
Mi dispiace, ma è a questo che serve la Libreria Standard, a contenere soluzioni standard. L'elaborazione degli errori di trading dipende molto dalle preferenze del trader.
Quindi, cari amici, è una cosa "fai da te".
Salve.
Ho deciso di scrivere il mio modulo di segnale puramente a scopo conoscitivo. Ho affrontato un problema. Ho capito che si può fare attraverso CExpertSignal::OpenLongParams(...). Ma ho un problema - il mio tester avverte di Invalid Expiration. Avendo scavato il codice sorgente, ho capito che non possiamo ottenere nessun tipo di tempo a parteORDER_TIME_SPECIFIED e vorremmo ORDER_TIME_GTC.
Finora ho fatto una mossa intelligente, ma non è del tutto giusta. Ho corretto la funzione nella libreria:
Cosa può consigliare