Errori, bug, domande - pagina 2737
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
In MT4, durante il debug degli indicatori, il debugger si blocca permanentemente se si passa a un grafico.
Riprodotto, per esempio, durante l'inizio del debug dell'indicatore CCI standard.
1. Impostare un punto di interruzione;
2. Premere F5;
3. Passa al grafico.
Risultato: il grafico del debugger si blocca.
Potete anche semplicemente premere F5 più volte durante il debug - il grafico si blocca.
Costruire 1260.
Impostazioni del debugger:
Il risultato della ricerca cancella parte del testo.
Ecco l'originale.
Forum sul trading, sistemi di trading automatico e tester di strategie
MetaTrader 5 Strategy Tester: bug, errori, suggerimenti per il miglioramento
fxsaber, 2020.05.11 20:31
Probabilmente non ha senso che Tester crei degli opt-file che hanno Header.passes_passed== 0.Come si è scoperto, l'impostazione del colore di sfondo non è possibile per un oggetto di tipo OBJ_LABLE, è necessario usare OBJ_EDIT.
Quando si usa OBJ_EDIT, è sorto un nuovo problema - la necessità di impostare le dimensioni di OBJPROP_XSIZE e OBJPROP_YSIZE in modo che tutto il testo rientri nelle dimensioni dell'oggetto corrispondente.
Domanda: come determinare le dimensioni OBJPROP_XSIZE e OBJPROP_YSIZE per adattare l'intero testo?
Ho considerato due opzioni:
1. Creazione dell'oggetto OBJ_LABLE, lettura delle sue dimensioni, cancellazione dell'oggetto OBJ_LABLE.
Non adatto perché la quotatura è possibile solo dopo che l'oggetto è stato effettivamente creato e non è possibile quando l'oggetto è nella coda di ChartRedraw.
2. usando TextSetFont seguito da TextGetSize.
Non adatto, perché il risultato è radicalmente diverso dai risultati del metodo #1, la differenza di 2,5 - 2,9 volte, a seconda della dimensione del carattere.
Probabilmente la ragione è il monitor 4K e il 175% di DPI.
Grazie aGeess per lasoluzione.
È necessario moltiplicare per -10 la dimensione della mescolanza quando la si passa a TextSetFont.
Lavoro raramente con oggetti grafici, ho bisogno di dipingere il colore di sfondo per OBJ_LABLE (impostare OBJPROP_BGCOLOR).
Come si è scoperto, l'impostazione del colore di sfondo non è possibile per un oggetto di tipo OBJ_LABLE, è necessario usare OBJ_EDIT.
Quando si usa OBJ_EDIT, è sorto un nuovo problema - la necessità di impostare le dimensioni di OBJPROP_XSIZE e OBJPROP_YSIZE in modo che tutto il testo rientri nelle dimensioni dell'oggetto corrispondente.
Domanda: come determinare le dimensioni OBJPROP_XSIZE e OBJPROP_YSIZE per adattare l'intero testo?
Ho considerato due opzioni:
1. Creare l'oggetto OBJ_LABLE, leggere le dimensioni, cancellare l'oggetto OBJ_LABLE.
Non adatto perché la quotatura è possibile solo dopo che l'oggetto è stato effettivamente creato e non è possibile quando l'oggetto è nella coda di ChartRedraw.
2. usando TextSetFont seguito da TextGetSize.
Non adatto, perché il risultato è radicalmente diverso dai risultati del metodo #1, la differenza di 2,5 - 2,9 volte, a seconda della dimensione del carattere.
Probabilmente la ragione è il monitor 4K e il 175% di DPI.
In primo luogo, la dimensione del testo e la dimensione dell'oggetto non sono la stessa cosa. Come minimo ci deve essere un confine. E quindi questi valori non possono coincidere.
In secondo luogo, è meglio usare OBJ_BITMAP_LABEL che non ha limitazioni.
E se lo usate, è meglio usare la classe CCanvas.
Il risultato è lo stesso oggetto, solo con più possibilità. Per esempio, aggiungendo la trasparenza all'etichetta del testo.
In primo luogo, la dimensione del testo e la dimensione dell'oggetto non sono la stessa cosa. Come minimo, ci deve essere un confine. E quindi questi valori non possono coincidere.
Grazie mille per il vostro aiuto.
State adattando una soluzione già pronta alle vostre esigenze, quindi non vedo la necessità di implementare delle librerie.
La soluzione che hai proposto originariamente può essere rappresentata come:
Purtroppo, a causa di un difetto di MT5 - la soluzione proposta non può essere utilizzata normalmente.
La dimensione del testo risulta essere 3 volte più piccola del necessario su un monitor 4K con 175% DPI di Windows.
Devo moltiplicare la dimensione del carattere per DPI / 100% * [1.6 ... 1.8]
GrazieGeessper lasoluzione.
Dovetemoltiplicare la dimensione del carattere per -10 quando lo passate aTextSetFont.
Grazie mille per il vostro aiuto.
State adattando una soluzione già pronta alle vostre esigenze, quindi non vedo la necessità di implementare delle librerie.
La soluzione che hai proposto originariamente può essere rappresentata come:
Purtroppo, a causa di un difetto di MT5 - la soluzione proposta non può essere utilizzata normalmente.
La dimensione del testo risulta essere 3 volte più piccola del necessario su un monitor 4K con 175% DPI di Windows.
Devo moltiplicare la dimensione del carattere per DPI / 100% * [1.6 ... 1.8].
https://www.mql5.com/ru/docs/objects/textsetfont
devi fare così:
Non capisco perché avete bisogno di OBJ_LABEL così tanto? Hai implementato una variante senza librerie con OBJ_BITMAP_LABEL. Qual è il suo vantaggio? Vedo solo una limitazione.
https://www.mql5.com/ru/docs/objects/textsetfont
Non capisco perché avete bisogno di OBJ_LABEL così tanto? Hai implementato una variante senza librerie con OBJ_BITMAP_LABEL. Qual è il suo vantaggio? Vedo solo una limitazione.
Grazie mille ancora.
Non sapeva, non ha visto, non ha letto, della moltiplicazione per -10. Problema risolto.
OBJ_LABEL è stato usato per illustrare il problema e poterlo riprodurre.
Per favore, ditemi qual è il problema.
Diversi indicatori, che funzionano correttamente e si aggiornano, iniziano a mostrare qualcosa di diverso in sincronia, non in base al grafico dei prezzi visualizzato nella finestra principale. Succede occasionalmente, non tutti i giorni.
All'inizio ho dato la colpa agli indicatori, ma dopo averne provati diversi, compresi quelli nativi di MT5, sono sospettoso del terminale. Osservo il problema da molto tempo, dall'anno scorso, su diverse versioni del terminale. Prima era sulla versione personalizzata Alpari, ora è lo stesso sulla versione originale. Sia sul conto demo che su quello reale .
Broker Alpari. MT5 build 2363 dal 13.03.2020. Non mi ricordo su altri periodi, ma succede sicuramente su M1.
Screenshot:
Variante "scivolata". Tranne lo zigzag, tutti gli indicatori sono incorporati. Lo zigzag con il lavoro corretto con la storia. Le letture degli indicatori sono convergenti tra loro. Non corrispondono ai prezzi.
Dopo l'aggiornamento.
Versione MT5
Pomeriggio.
Mi sono imbattuto in una cosa incomprensibile e non capisco cosa sia.
Ci sono due funzioni che vengono utilizzate in diverse strategie. Logicamente, il codice nei controlli come
Non dovrebbe essere eseguito se una delle condizioni è sbagliata. Ma per qualche motivo viene eseguita se il numero magico e il numero magico passato nella funzione NON sono EQUALI.
Sembra essere un confronto di tipo intero. Non riesco a capire perché. Potete vederlo nello screenshot qui sotto.