Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 852
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
Non apre uno scambio, dov'è la colpa?
Non apre lo scambio, dov'è il bug?
Bug numero 1: su ogni tick si crea un NUOVO indicatore HANDL
Secca numero 2: (probabilmente) la variabile Lot ha un volume errato.
Difetto numero 3: (probabilmente) il tipo di riempimento dell'ordine per la classe CTrade non viene riempito.
In generale, cosa c'è nel log del terminale (o del tester)?
l'importo moltiplicato per la perdita in valuta dal 1 SL
E se la perdita è 1, in BO per esempio.
Ho messo i valori nella formula, nemmeno vicino allo stesso risultato.
Cosa c'è che non va?
Gap numero 1: su ogni tick si crea un NUOVO indicatore HANDL
Shoal numero 2: (probabilmente) la variabile Lot ha un volume errato.
Difetto numero 3: (probabilmente) il tipo di riempimento dell'ordine per la classe CTrade non viene riempito.
Comunque, cosa c'è nel log del terminale (o del tester)?
Questo codice sì era in onitics
Spostato su onytics. Ho appena letto gli articoli qui - e ho capito che non c'è differenza per il lavoro, ma è meglio in onitiket. Ma in termini di chiarezza per me stesso, ero più conveniente fare tutto in 1 blocco, sono puramente per me stesso mentre risolvo i problemi che mi pongo (apprendimento).
Il problema era con il lotto - ho dovuto mettere non un lotto variabile - e la funzione returnlot (perché era una funzione per calcolare il lotto).
Ora ho trovato un errore nella funzione lotto - il lotto è calcolato con molti decimali e di conseguenza l'ordine non può essere aperto. Dobbiamo ridurre i caratteri inutili e lasciarne solo 2.
NormalizeDouble e DoubleToStr finora non può funzionare - scrive che la funzione non può essere inserito nella funzione, e sotto quando ho messo il loro lavoro con la funzione scrive errore - che non posso risolvere.
Questo codice era in onitics.
Spostato in ontica. Ho appena letto gli articoli qui - e da loro ho capito che non c'è differenza per il lavoro, ma è meglio in ontiket. Ma in termini di chiarezza per me stesso, ero più conveniente fare tutto in 1 blocco, sono puramente per me stesso mentre risolvo i problemi che mi pongo (apprendimento).
Il problema era con il lotto - ho dovuto mettere non un lotto variabile - e la funzione returnlot (perché era una funzione per calcolare il lotto).
Ora ho trovato un errore nella funzione lotto - il lotto è calcolato con molti decimali e di conseguenza l'ordine non può essere aperto. Dobbiamo ridurre i caratteri inutili e lasciarne solo 2.
Quando incollo la funzione NormalizeDouble e DoubleToStr non posso ancora farlo, dice che la funzione non può essere inserita e sotto vedo degli errori che non posso correggere.
In MQL5 è necessario creare una maniglia dell'indicatore SOLO una volta e SOLO in OnInit. È un assioma. Non è possibile creare un indicatore di maniglia su ogni tick in OnTick - non è corretto.
La corretta normalizzazione del lotto è nella classe commerciale CSymbolInfo::NormalizePrice
In MQL5 è necessario creare un manico indicatore SOLO una volta e SOLO in OnInit. È un assioma. Non è possibile creare un manico di indicatore su ogni tick in OnTick - questo è GIUSTO.
La corretta normalizzazione del lotto è nella classe commerciale CSymbolInfo::NormalizePrice
Sbagliato, non lo discuto. MA!!! Cosa cambierà se lo creiamo ad ogni spunta? Nemmeno il valore cambierà.
Sbagliato, su questo non si discute. MA!!! Cosa cambia se si crea su ogni tick? Nemmeno il valore cambierà.
Qual è il punto? Solo un sacco di lavoro extra per la sceneggiatura, tutto qui.
Sbagliato, su questo non ci piove. MA!!! Cosa cambia se si crea su ogni tick? Nemmeno il valore cambierà.
In un recente articolo ho mostrato che MQL5 combatte efficacemente le vestigia della codifica in stile MQL4 - creazione di maniglie ad ogni tick: la memoria non è sprecata, ma la velocità di funzionamento è diminuita almeno. Ma ripeto: la creazione di indicatori in MQL5 in stile MQL4 non è il metodo giusto. Se si passa a MQL5, significa che lo stile di programmazione deve essere ricostruito.
Qual è il punto? È solo un lavoro extra per la sceneggiatura, tutto qui.
Naturalmente non ha senso. Era una domanda così nascosta drubashke: perché assomigliare ai nevrastenici, che sono abbastanza qui come è, e accendere Caps Lock?
Cioè, il risultato è lo stesso, ma naturalmente l'esecuzione è senza senso e molto più impegnativa come ho capito da quello che è stato scritto.
Vorrei che avessero pensato di scriverlo nell'articolo, ma in generale è chiaro che non c'è motivo di fare la stessa cosa più volte.
Ma avevo l'obiettivo di scrivere per capire e lavorare in sé, non per ottimizzare - è dopo che ho contato.