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

 
Evgeniy Oshurkevich:
Ho già ottenuto, e su questo grazie, prima di qualsiasi ordine commerciale già prescritto funzione di gestione degli errori ovunque, ma ora sono bloccato in un ciclo e come frenare l'EA, se ci saranno errori solo a causa del mio errore, e dove esattamente a prescrivere. 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?

Puoi aprire l'aiuto della funzione e vedere cosa restituisce? E _LastError?

Nello specifico OrderSend restituisce un biglietto d'ordine o -1. Indovina in quale caso sarà -1 per conto tuo ;)

 
Vitalie Postolache:

Puoi aprire la guida della funzione e vedere cosa restituisce? E _LastError?

Nello specifico OrderSend restituisce un biglietto d'ordine o -1. Indovina in quale caso sarà -1 tu stesso ;)

Sono 10 minuti che ci leggo sopra :)
 
Evgeniy Oshurkevich:
Sto leggendo questo da 10 minuti :)
Qui come esempio è abbastanza adatto
 
Vitaly Muzichenko:
Qui come esempio è abbastanza adatto

Ho già iniziato a lavorare sui miei codici di errore, grazie :) E ho quasi finito il mio Expert Advisor su come rallentarlo)

In questo esempio, non riesco a trovare il valore di"Slippage" è nell'OrderSend, potrebbe non essere così significativo o obbligatorio, mi chiedo!

 
Evgeniy Oshurkevich:

E ho già iniziato a lavorare sui miei codici di errore, grazie :) E ho quasi finito il mio EA su come rallentarlo)

In questo esempio, non riesco a trovare il valore di"Slippage" è in OrderSend, potrebbe non essere così significativo o obbligatorio, mi chiedo!

E questo è per catturare il codice 135 o 129 e aumentare il valore di slittamento per il prossimo tentativo. Oppure, se l'aumento dello slittamento non sembra allettante, basta contare un certo numero di secondi fino al prossimo tentativo. Inoltre, tieni d'occhio lo spread, se lo spread è aumentato in questo momento, aspetta che diminuisca e riprova. Inoltre, è auspicabile non usare Sleep(), certamente semplifica la codifica e non porta molto danno, quando si iberna per mezzo secondo o un secondo, ma se l'Expert Advisor è un Pipsier veloce, per il quale ogni millisecondo è importante, o una pausa in decine di secondi è necessaria, è meglio non usare sleep, durante lo sleep l'Expert Advisor è paralizzato e non può solo fare trading, ma anche monitorare l'ambiente di trading o eseguire altri calcoli, non risponde alle azioni dell'utente, ecc.

Potete fissare l'ora attuale, contare alla rovescia il numero di secondi (o millisecondi) richiesto e poi agire.

 
Evgeniy Oshurkevich:

E ho già iniziato a lavorare sui miei codici di errore, grazie :) E ho quasi finito il mio EA su come rallentarlo)

In questo esempio, non riesco a trovare il valore di"Slippage" è in OrderSend, potrebbe non essere così significativo o obbligatorio, mi chiedo!

Oggi loSlippage non è più così rilevante come una volta, di solito è usato su conti con uno spread fisso, ma ci sono alcuni di quei conti rimasti in libertà e ci sono 5-7 persone che fanno trading su di essi. Se lo spread è fluttuante, non c'èSlippage, è meglio monitorare lo spread, e se è troppo ampio, allora astenersi dall'entrare, ma di nuovo, tutto dipende dalla strategia, quanto sia critico uno spread ampio.
 
Vitaly Muzichenko:
Oggi loslippage non è più così rilevante come una volta ed è di solito usato su conti con spread fisso, ma ci sono solo pochi conti di questo tipo e solo 5-7 persone fanno trading su di essi. Se lo spread è fluttuante, non c'èSlippage, è meglio monitorare lo spread stesso, e se è troppo ampio, allora astenersi dall'entrare, ma di nuovo, tutto dipende dalla strategia, quanto sia critico uno spread ampio.

Stronzate...

Su ECN molto popolari lo slippage sulle notizie è mastodontico. A volte centinaia di pip (5ozn). Oppure continuano a tormentare gli ordini per un minuto intero, dicendo "nuovo prezzo", "nessun prezzo", ecc.

 
Vitalie Postolache:

Questo è per catturare il codice 135 o 129 e aumentare il valore di slittamento per il prossimo tentativo. Oppure, se l'aumento dello slittamento non è attraente, basta contare un certo numero di secondi fino al prossimo tentativo. Inoltre, tieni d'occhio lo spread, se lo spread è aumentato in questo momento, aspetta che diminuisca e riprova. Inoltre, è auspicabile non usare Sleep(), questo, naturalmente, semplifica la scrittura del codice e non causa danni particolari, quando si iberna per mezzo secondo o un secondo, ma se l'Expert Advisor è un Pipsier veloce, per il quale ogni millisecondo è importante, o è richiesta una pausa di decine di secondi, è meglio non usare sleep, durante lo sleep l'Expert Advisor è paralizzato e non può solo fare trading, ma anche monitorare l'ambiente di trading o eseguire altri calcoli, non risponde alle azioni dell'utente, ecc.

Potete fissare l'ora attuale, contare alla rovescia il numero di secondi (o millisecondi) e poi agire.

Evgeniy Oshurkevich:

Ho già iniziato a cercare i codici di errore, grazie :) E ho quasi finito come frenare il mio Expert Advisor)

In questo esempio, non riesco a trovare il valore di"Slippage" è nell'OrderSend, potrebbe non essere così significativo o obbligatorio, mi chiedo!

Durante l'ibernazione del comando Sleep, l'EA è effettivamente paralizzata. Anche nel caso di un solo terminale, è necessario fornire il lavoro di venti thread diversi, cioè lasciare che ognuno di essi occupi il tempo della CPU. Almeno per visualizzare qualcosa sullo schermo, per non parlare del compito cruciale per i pipser millisecondi di accettare i tick in arrivo. In realtà ci sono decine di altri servizi del sistema operativo che vogliono anche lavorare, cioè occupare il processore con le proprie necessità. Se il comando Sleep non lo fa, il thread scheduler del sistema operativo lo farà forzatamente, ma secondo le proprie considerazioni a chi deve essere dato il tempo. Si può anche fare affidamento su di esso e caricare il processore quasi al 100% tutto il tempo con solo questo consigliere. Ma difficilmente si adatterà a qualcuno. Se il programmatore non pianifica l'allocazione delle risorse del processore, nella maggior parte dei casi, l'approccio implementato in MQL dove l'Expert Advisor riceve la CPU al tick per un simbolo e dopo l'elaborazione di questo arrivo, l'Expert Advisor si "paralizza" e non prende la CPU fino al tick successivo.

Il parametro Slippage in OrderSend (da non confondere con lo slippage reale in caso di modalità di esecuzione dell'ordine "Market execution", dal mercato) ha senso impostare solo nella modalità "Instant execution", esecuzione immediata, quando l'ordine viene eseguito al prezzo dichiarato o rifiutato, cioè viene respinto. La deviazione massima consentita del prezzo di esecuzione dal prezzo indicato nell'ordine può essere impostata come non zero. Nella modalità "Esecuzione sul mercato", questo parametro non significa nulla, in questo caso il prezzo di esecuzione è stabilito dal centro di negoziazione, la deviazione dal prezzo indicato nell'ordine non è limitata in alcun modo.

 
Vitalie Postolache:

Stronzate...

Su ECN molto popolari lo slippage sulle notizie è mastodontico. A volte centinaia di pip (5ozn). Oppure continuano a tormentare gli ordini per un minuto intero, dicendo "nuovo prezzo", "nessun prezzo", ecc.

Conti ECN non ti aiutanoSlippage almeno 100 pips, ci esecuzione sul mercato e può solo scivolare e non dare un prezzo, e questo è un po 'diverse cose, e diversi errori.
 

Есть условие для открытия ордера BUY. Открывается ордер, как сделать переход к SELL условию после закрытия BUY ордера?




if(High[1]-Close[1]>=NormalizeDouble(xbs1*_Point,_Digits))
   {
    int b_tik=OrderSend(_Symbol,OP_BUY,Lots,Ask,Slip,Low[2]-sl,High[1]+ tp,"",Magic,0,clrBlue)==true; //открытие ордера
      
       GlobalVariableSet("B_order",0); // Больше не ищем вход Buy

       //-----?????
       GlobalVariableSet("S_order",1); // Переходим к поиску Sell
       return;
   }


Motivazione: