Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 1124

 
Alexey Viktorov:
Questo è il modo in cui chiunque imposta uno stop sul prezzo. Solo i punti vengono moltiplicati per _Point e aggiunti al prezzo corrente. Ma nessuno vieta di specificare un prezzo particolare.
Dobbiamo impostare uno stop per tutti gli ordini aperti a un prezzo specificato. Per esempio, apriamo tre ordini e il prezzo di stop, diciamo 1,32511, è già specificato nell'Expert Advisor. Questo è ciò di cui abbiamo bisogno)
 
Anton Govorukhin:
Ci serve per impostare uno stop per tutti gli ordini aperti a un dato prezzo. Per esempio, tre ordini sono aperti e un prezzo di stop di 1,32511, diciamo, è preimpostato nell'Expert Advisor... Questo è come dovrebbe essere)
Prendete qualsiasi Expert Advisor di Kodobase che utilizza gli stop e modificate la parte in cui è impostato lo stop. Questo è per 15 minuti di lavoro lento.
 

Saluti ragazzi, spiegatemi la logica del server->terminal->advisor. Ho questa domanda a causa della funzione di gestione degli errori nell'EA. Per quanto ho capito dal tutorial, TIC è: SERVER ---> trasmette le quotazioni dei prezzi ---> TERMINALE ---> dà il controllo all'EA ---> ADVISOR (tick-cycle elaborato) ---> indietro in breve.

DOMANDA: all'inizio, quando il server trasmette una quotazione, è solo una quotazione, o in questo TICK-cycle c'è subito un dato su vari errori sul server (se succede ovviamente) ?

È difficile programmare senza capire la logica

 
Evgeniy Oshurkevich:

Ciao ragazzi, potete spiegarmi la logica di server->terminal->advisor. Ho questa domanda a causa della funzione di gestione degli errori nell'EA. Per quanto ho capito dal tutorial, TIC è: SERVER ---> trasmette le quotazioni dei prezzi ---> TERMINALE ---> dà il controllo all'EA ---> ADVISOR (tick-cycle elaborato) ---> indietro in breve.

DOMANDA: all'inizio, quando il server trasmette una quotazione, è solo una quotazione, o in questo TICK-cycle c'è subito un dato su vari errori sul server (se succede ovviamente) ?

È difficile programmare senza capire la logica

Gli errori arrivano indipendentemente dai ticchettii.
 
Vitalie Postolache:
Gli errori arrivano indipendentemente dai ticchettii.

Allora non lo capisco. Le funzioni di gestione degli errori sono necessarie solo per i casi di trading, ho capito bene? È prima di aprire un ordine o prima di modificare un ordine. È corretto? Cioè, prima di aprire un ordine, dovrei prima assicurarmi che non ci siano errori sul server; se ci sono, apro l'ordine?

Il mio EA ha sempre inviato ordini senza alcun messaggio di errore, probabilmente a causa della testardaggine del mio EA. Può essere a causa di questo che il mio EA non è stato autorizzato a commerciare. Non so come farlo, devo farlo con un Expert Advisor, ma non so come farlo.

Se gli errori arrivano indipendentemente dagli errori, alloraGetLastError() stesso chiede al server se ci sono errori?

 
Evgeniy Oshurkevich:

Allora non capisco. Le funzioni di gestione degli errori sono necessarie solo per i casi di trading, ho capito bene? È prima di aprire un ordine o prima di modificare un ordine. È corretto? Cioè, prima di aprire un ordine, dovrei prima assicurarmi che non ci siano errori sul server; se ci sono, apro l'ordine?

Il mio EA ha sempre inviato ordini senza alcun messaggio di errore, probabilmente a causa della testardaggine del mio EA. Può essere a causa di questo che il mio EA non è stato autorizzato a commerciare. Non so cosa fare con loro, devo chiedere loro aiuto e loro devono chiederlo a me.

Se gli errori arrivano indipendentemente dagli errori, alloraGetLastError() stesso chiede al server se ci sono errori?

Beh, non ci sono errori lato client sul server, in nessun modo, mai, da nessuna parte, per niente, capite questo per cominciare.

Il server restituisce un codice numerico in risposta all'ordine di compravendita di un cliente, questo è tutto. Codice 0 - va bene, il comando è passato senza problemi. Codice maggiore di zero - ci sono problemi, il terminale registra il codice di errore e la decrittazione.

L'elaborazione del codice di ritorno del server non deve essere considerata solo nell'Expert Advisor, il programmatore deve considerare gli errori prima di inviare il comando al server e prevenire l'invio di valori sbagliati negli ordini di compravendita che porteranno ad errori. Quindi, il trading con Expert Advisors non sarà vietato. Altrimenti otterrete una firma.

Esempio: non c'è abbastanza denaro nel conto per comprare 1 lotto di Euro, l'Expert Advisor non lo considera e bombarda il server con ordini di comprare 1 lotto ogni tick. Naturalmente, il server imposterà al massimo l'account in modalità manuale.

Se l'Expert Advisor prima controlla il margine richiesto per l'acquisto di 1 lotto, poi confronta questo valore con i fondi disponibili nel conto e vede che non ci sono abbastanza fondi e non farà trading, e invece avverte il trader, allora tutto è OK, questo è un esempio di buon comportamento.

Dovreste considerare tutte le possibili condizioni di errore, correggere il valore dove possibile, e bloccare le compravendite dove non è possibile, ed emettere un avviso al trader sui problemi.

 
Evgeniy Oshurkevich:

Allora non lo capisco. Le funzioni di gestione degli errori sono necessarie solo per i casi di trading, ho capito bene? È prima di aprire un ordine o prima di modificare un ordine. È corretto? Cioè, prima di aprire un ordine, dovrei prima assicurarmi che non ci siano errori sul server; se ci sono, apro l'ordine?

Il mio EA ha sempre inviato ordini senza alcun messaggio di errore, probabilmente a causa della testardaggine del mio EA. Può essere a causa di questo che il mio EA non è stato autorizzato a commerciare. Non so cosa fare con loro, devo chiedere loro aiuto e devo chiedere dettagli.

Se gli errori arrivano indipendentemente dagli errori, alloraGetLastError() stesso chiede al server se ci sono errori?

Il principio: per fare un'operazione di trading, logicamente dobbiamo capire "ci saranno abbastanza soldi per la transazione? Il passo successivo: "È il livello giusto per l'ordine, o la distanza lo permetterà o no? - controllare. Questo è un controllo da parte vostra per non toccare il server.

Dopo: controlli passati e superati con successo - inviamo un ordine al server e aspettiamo la risposta, la funzioneGetLastError() riceve una risposta dal server, se non ci sono errori "0", se ci sono errori, restituisce il codice di errore, rispettivamente, e restituisce il vostro ordine per la revisione. Inoltre, il compito è quello di affrontare l'errore ricevuto e decidere se ri-bombardare il server o semplicemente calmarsi. I codici di errore sono nell'aiuto.

PS. mentre scrivevo, hai già risposto)

 
Vitalie Postolache eVitaly Muzichenko, un grande GRAZIE umano! )) Immagina, finalmente ho capito)))
 
Evgeniy Oshurkevich:
Vitalie Postolache eVitaly Muzichenko, un grande GRAZIE umano! )) Immagina, finalmente l'ho capito).
Eccellente) Completare i dettagli. Immaginate la situazione: la vostra società di intermediazione quota fino alle 23-59 di venerdì, ma le sue richieste di trading vengono elaborate solo fino alle 23-50. Avete un EA e i suoi stocastici sono incrociati da qualche parte e inizia a inviare richieste al server e ottiene l'errore "Market is closed", ma i tick stanno andando e invia nuovamente l'ordine su ogni tick. Pensi che al server piacerà? È anche auspicabile considerare queste cose.
 
Vitaly Muzichenko:
Bene) Allora lasciatemi aggiungere. Immaginate la situazione: la vostra società di intermediazione quota fino alle 23-59 di venerdì, ma le richieste di trade sono processate solo fino alle 23-50. Avete un EA e i suoi stocastici sono incrociati da qualche parte e inizia a inviare richieste al server e ottiene l'errore "Market is closed", ma i tick continuano e invia ordini a ogni tick, senza controllo. Pensi che al server piacerà? Anche questo tipo di cose dovrebbe essere considerato.
Ho prescritto la funzione di gestione degli errori prima di qualsiasi ordine, ma mi sto ancora chiedendo come rallentare l'EA, se ci saranno errori a causa del mio errore, e dove esattamente dovrei prescriverlo. Cioè ho provato ad aprire un ordine, ma si è verificato un errore, come ottenerlo? Per esempio OrderSend(....); ha fatto una transazione, come faccio a sapere se ha funzionato con successo?
Motivazione: