Errori tipici e come affrontarli quando si ha a che fare con l'ambiente del trading - pagina 4
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
E se l'ordine viene cancellato dal server?
Poi al prossimo tick l'EA vedrà che non ci sono posizioni, e tutto andrà bene. Ma non ci sarà nessun raddoppio.
Penso che quando si contabilizzano gli ordini di mercato, dovremmo restituire WRONG_VALUE, per esempio - le posizioni non possono essere meno di zero. Questo sarà un segnale che c'è un ordine di mercato non registrato. Ma non aggiungere il numero di posizioni.
Questo dipende dalla logica del TS specifico.
Nel caso più elementare in cui è permesso un solo scambio nel mercato, dovrebbe essere restituito qualsiasi valore diverso da 0. Anche 1 va bene.
Poi al prossimo tick il consulente vedrà che non ci sono posizioni e tutto andrà bene. Ma non ci saranno doppioni.
Dipende dalla logica del particolare TS.
Nel caso più elementare, quando è permesso un solo scambio nel mercato, è sufficiente restituire qualsiasi valore diverso da 0, 1 andrà bene.
Esso (l'Expert Advisor) riceverà già, in questo tick, un valore superiore alla quantità di ordini a mercato. Cioè, in realtà ce ne sono due, ma la funzione darà come risultato 3.
Penso che questo non sia un comportamento normale. Dovremmo sempre riposare un numero valido, senza posizioni virtuali, che potrebbero non esserci.
Dopo tutto, ci sono strategie che richiedono calcoli precisi per un numero preciso e definito di posizioni, volumi, livelli aggregati di stop/stop, ecc...
Dipende dalla logica del particolare TS.
Nel caso più primitivo, quando è permesso un solo scambio nel mercato, è sufficiente restituire qualsiasi valore diverso da 0, anche 1 andrà bene.
Andrew, una funzione a cui si chiede una quantità o un volume o qualsiasi altro dato quantitativo è obbligata a dare il loro valore esatto.
Non è che stiamo giocando con i giocattoli :)
Andrew, una funzione a cui si chiede una quantità o un volume o qualsiasi altro dato quantitativo è obbligata a dare il suo valore esatto.
Stai guardando un esempio specifico di un EA con un solo trade sul mercato, ed è scritto in modo errato il 99% delle volte. Devi ancora arrivare a quelli complessi.
Se proprio volete, rinominate la funzione in IsPosition e rendetela booleana: return(Res>0);
Viene preso in considerazione un esempio specifico di un EA con un solo trade sul mercato, che è scritto male il 99% delle volte. Devi ancora arrivare a quelli complessi.
Se proprio volete, rinominate la funzione in IsPosition e rendetela un booleano: return(Res>0);
Beh, no... è un esempio di qualche funzione di libreria comune "per tutte le occasioni"...
A proposito, interessante proposta di renderla una funzione booleana - seguendo l'esempio di molte funzioni standard mql5 - con ritorno del risultato dell'esecuzione come valore bool, e numero di posizioni passando il valore a una variabile per riferimento.
Beh, no..., un esempio di funzione di libreria generica "per tutte le occasioni" è stato preso in considerazione...
Sì, universale.
Sì, universale.
La soluzione suggerita da voi contiene un'imprecisione di cancellazione dell'ordine da parte del server. Vorrei discutere su come affrontare questa imprecisione. Senza di loro l'offerta è grezza.
Allontaniamoci dalla MT5 verso la MT4. Un EA sta facendo trading. Improvvisamente, il broker fa un errore tecnico (non tu) e piazza una posizione sul tuo conto, che passa con successo il filtro dell'Expert Advisor amico o nemico - Magic, Symbol, ecc. Pochi secondi dopo, il broker corregge il suo errore - cancella (non chiude nemmeno) la sua posizione dal tuo conto.
Il tuo TS si romperà?
Ricordo una situazione in cui un grande broker che ama gli Expert Advisors ha fatto un ottimo lavoro. Per "errore" ha depositato una somma molto grande sul conto. Di conseguenza, l'Expert Advisor ha aperto una posizione con un lotto molto grande. Poi il broker ha corretto l'"errore" - ha ritirato il denaro erroneamente accreditato. Il conto è stato chiuso utilizzando uno stop loss.
Allontaniamoci dalla MT5 verso la MT4. Un EA sta facendo trading. Improvvisamente, il broker fa un errore tecnico (non tu) e piazza una posizione sul tuo conto, che passa con successo il filtro dell'Expert Advisor amico o nemico - Magic, Symbol, ecc. Pochi secondi dopo, il broker corregge il suo errore - cancella (non chiude nemmeno) la sua posizione dal tuo conto.
Il tuo TS si romperà?
Ricordo una situazione in cui un grande broker che ama gli Expert Advisors ha fatto un ottimo lavoro. Per "errore" ha depositato una somma molto grande sul conto. Di conseguenza, l'Expert Advisor ha aperto una posizione con un lotto molto grande. Poi il broker ha corretto l'"errore" - ha ritirato il denaro erroneamente accreditato. Il conto è stato chiuso utilizzando uno stopout.
Artyom Trishkin:
Мы говорим не о ТС.
Nell'esempio stiamo parlando della situazione specifica di TC descritta. E lì la domanda rimane senza risposta.
La funzione restituisce ciò che è fisicamente nel conto. E mente esattamente come mentirebbe in MT4. Cioè tutto è normale.