Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1265
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
Buongiorno a tutti!
Domanda: qual è il modo più semplice per determinare i tempi alti e bassi di una barra?
L'orario di apertura/chiusura del bar non è interessante.
Su MT4.
Grazie!
ha fatto questo
pubblicato in KBhttps://www.mql5.com/ru/code/25897
Per favore, ditemi, in MT4 c'era una variabile predefinita doppio Ask, e come ho capito, dentro void OnTick() senza forzare
RereshRates il suo valore NON cambierebbe.
In MT5, Ask è sostituito da MqlTick last_tick; SymbolInfoTick(_Symbol,last_tick); double Ask=last_tick.ask ; il suo valore è sempre aggiornato da un nuovo tick.
Il mio problema è che ho bisogno di impostare la coordinata della linea dal valore di Ask + X ma non posso farlo in MT5 perché la linea cambia le sue coordinate dopo il cambiamento del valore
Ask=last_tick.ask. Qual è il tuo consiglio?
Per favore, ditemi, in MT4 c'era una variabile predefinita doppio Ask, e come ho capito, dentro void OnTick() senza forzare
RereshRates il suo valore NON cambierebbe.
In MT5, Ask è sostituito da MqlTick last_tick; SymbolInfoTick(_Symbol,last_tick); double Ask=last_tick.ask ; il suo valore è sempre aggiornato da un nuovo tick.
Il mio problema è che ho bisogno di impostare la coordinata della linea dal valore di Ask + X ma non posso farlo in MT5 perché la linea cambia le sue coordinate dopo il cambiamento del valore
Ask=last_tick.ask. Qual è il tuo consiglio?
Come non è cambiato? Cambiava ad ogni ticchettio. Ma nel loop non è cambiato. Forse vi siete un po' confusi con esso?
Ma in mql5 si può determinare il prezzo corrente prima del ciclo e non cambierà fino a quando non si esce dal ciclo.
C'è un modo per misurare la larghezza in pixel del testo scritto in OBJ_TEXT?
Come non è cambiato? Cambiava ad ogni ticchettio. Ma nel ciclo, sì, non è successo. Forse, ti sei un po' confuso con questo?
Ma in mql5 si può determinare il prezzo corrente prima del ciclo e non cambierà fino a quando non si esce dal ciclo.
Sì, grazie, la mia supposizione si è rivelata sbagliata, ma la domanda è un po' diversa. Ho un codice, lo stessoper MT4 e MT5:
La questione è che in MT4 la linea creata sarà fissata al prezzo al quale è stata creata, ma in MT5 ogni volta su un nuovo tick la linea sarà disegnata ad un nuovo valore di LastAsk e la sua posizione cambierà insieme al prezzo. Come posso evitarlo in MT5?
Sì, grazie, la mia supposizione si è rivelata sbagliata, ma la domanda è un po' diversa. C'è un codice,lo stesso per MT4 e MT5:
La questione è che in MT4 la linea creata sarà ferma al prezzo al quale è stata creata, ma in MT5 ogni volta su un nuovo tick la linea sarà disegnata ad un nuovo valore di LastAsk e la sua posizione cambierà insieme al prezzo. Come posso evitarlo in MT5?
Controlla una linea per nome. Se non c'è una linea, creane una. Queste sono le basi in generale.
Grazie, cos'altro posso leggere su queste basi di logica di programmazione? Sembra elementare, ma è difficile da capire da zero.
Ho aggiunto una condizione e tutto ha funzionato.
Grazie, cos'altro posso leggere su queste basi di logica di programmazione? Sembra elementare, ma è difficile da capire da zero.
Ho aggiunto una condizione e tutto ha funzionato.
Improvvisamente (come al solito) ObjectGetInteger(0,objectName,OBJPROP_TYPE) funziona più velocemente.
ObjectFind è un comando sincrono, cioè aspetta un aggiornamento completo (e la disponibilità) degli oggetti del grafico.
Se lavorate con i vostri oggetti (cioè creati nel vostro magazzino), non dovreste usare ObjectFind - sapete già in quale finestra l'oggetto è stato creato e che molto probabilmente esiste ed è del tipo giusto.
Il peggio che può succedere è che l'utente cancelli l'oggetto o cambi la proprietà
Sì, grazie, la mia supposizione era sbagliata, ma la domanda è un po' diversa. C'è un codice,lo stesso per MT4 e MT5:
La questione è che in MT4 la linea creata sarà ferma al prezzo al quale è stata creata, ma in MT5 ogni volta su un nuovo tick la linea sarà disegnata ad un nuovo valore LastAsk e la sua posizione cambierà insieme al prezzo. Come posso evitarlo in MT5?
Non me lo ricordo, devo controllare ma non voglio. Forse, in mql4 quando si cerca di creare un oggetto con il nome di uno già esistente, viene semplicemente restituito un errore, mentre in mql5 non è un errore ma la modifica del parametro, se le coordinate sono diverse.
Come ha detto Artem - controlla l'esistenza dell'oggetto