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 è molto chiaro perché? Dopo tutto, se il vostro programma ha cancellato un oggetto, lo sa. Ma se l'oggetto viene rimosso e il programma non ne è nemmeno a conoscenza, il Terminale è colpevole di conseguenza.
non è così semplice (è un peccato che sia scomparso dal service desk, cercherò di reintrodurre il problema).
Abbiamo bisogno di gestire la situazione quando un utente cancella accidentalmente un oggetto dal grafico. Ma questo oggetto non dovrebbe essere cancellato. Per esempio è il substrato di un elenco o di un menu a discesa.
Quindi nel codice OnChartEvent ho bisogno di gestire questo evento e ridisegnare il controllo.
Quindi devo cancellare tutti gli altri oggetti di questo controllo. Penso che non ci sia bisogno di spiegare perché dovrei cancellare tutti gli oggetti superiori di questo controllo.
Così si scopre che elaborando questo evento l'algoritmo entra in un ciclo profondo. Lo script cancellerà gli oggetti e otterrà l'evento che gli oggetti sono stati cancellati e significa che questo evento deve essere elaborato di nuovo - rimuovere e rendere... In breve, un pasticcio algoritmico.
Non so come risolvere questa situazione con l'attuale set CHARTEVENT. Ecco perché suggerisco, che lo script capisca - di chi è stata la rimozione - dal terminale (dall'utente furbo) o dallo script stesso (dallo stesso programmatore).
Prima o poi dovrete occuparvene voi stessi, quando inizierete a lavorare attivamente con i controlli.
non è così semplice (è un peccato che il servizio di assistenza sia scomparso, cercherò di scoprire di nuovo il problema).
Non so come risolvere questa situazione nell'attuale set di CHARTEVENT. Ecco perché suggerisco, che lo script dovrebbe capire - chi l'ha cancellato - dal terminale (dall'utente furbo) o dallo script stesso (dallo stesso programmatore).
Avreste dovuto affrontarlo prima o poi, quando iniziate a lavorare attivamente con i controlli.
L'ho incontrato io stesso. In una delle prime versioni di Art Library (in termini di controlli) questo meccanismo era implementato, ma per certi motivi è stato rimosso (ho intenzione di ripristinarlo in seguito).
Non c'è niente di intelligente. Ogni controller dovrebbe essere in grado di ripristinare se stesso. Il substrato, quando viene cancellato, rimuove tutto ciò che si trova su di esso. Il ripristino è fatto dagli eventi.
Non c'è niente di intelligente. Ogni controllore deve essere in grado di ripararsi da solo. Il substrato, quando viene cancellato, cancella tutto quello che c'è sopra. Poi il restauro è fatto dagli eventi.
Beh, è quello che sto dicendo, che quando si riceve un evento di cancellazione, il controllo si ripristina.
Ma appena il controllo si ripristina (cancella gli oggetti superiori) ricomincerà a cancellare gli eventi.
Comunque, perché mi preoccupo di nuovo di dimostrare l'ovvio :)) Quando la vostra azienda aveva bisogno dell'evento del movimento del mouse per lo sviluppo della libreria standard, l'hanno aggiunto al volo e senza domande inutili. La pratica dei doppi standard diventa ....
Ma penso che se questa stessa proposta fosse stata inviata dall'utente al Service Desk, lo avrebbero trascinato per un altro mese per scoprire perché ne avevano bisogno.
Credetemi, ne avete bisogno! Ho già scritto nel Service Desk che non cerchiamo di promuovere MT5 e MQL5, ma lo facciamo per il nostro beneficio.
Passiamo onestamente tutti i modi per trovare soluzioni rapide e compatte per i nostri compiti in MQL. Se incontriamo un ostacolo, scriviamo sempre al Service Desk. Ma non sempre vi incontriamo un'intesa.
Come ho scritto sopra, sono molto contento che tu stia facendo la libreria di controllo da solo. Potete almeno avere un piccolo assaggio di tutti i nostri problemi che devono essere risolti senza alcuna comprensione da parte vostra.
PS.
Victor, scusa, che così gravemente, solo una spina nel fianco.
Vorrei solo chiedere alla vostra azienda di ascoltare le richieste dei programmatori MQL. Dopo tutto, in MQL risolviamo molti più compiti diversi di quanto si possa immaginare. A volte vorrei solo sentire la risposta nel Service Desk: sì, lo faremo nella prossima build.
Grazie per la vostra comprensione.
sergeev:
... quando la tua azienda aveva bisogno di un evento di spostamento del mouse ...
Se sapeste quanto ho dovuto rompere i pugni per i programmatori "adulti" per farlo...
Sto cercando di aprire una posizione lunga basata sullo script per un simbolo in cui è implementata l'esecuzione in borsa ( SYMBOL_TRADE_EXECUTION_EXCHANGE, Exchange execution).
Ricevo un errore:
Cioè il terminale non vede il prezzo a cui voglio comprare. Ho provato diversi prezzi ma ho ricevuto ancora 0,00000.
Ho provato uno script simile che gira in MT4 con le stesse condizioni di scambio, lì ha funzionato... Non in MT5...
Si prega di puntare il naso sull'errore.
Questo è un messaggio del server, non un messaggio del terminale. Non ho altro da dire su questo argomento.
Invia una richiesta al Service Desk.
Perché si verifica un errore di overflow dell'array?
Perché si verifica un errore di overflow dell'array?