Errori tipici e come affrontarli quando si ha a che fare con l'ambiente del trading - pagina 7
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
Temo che questa sia una logica sbagliata. Ma potrei sbagliarmi, naturalmente. Sarebbe interessante sentire la logica.
Arbitraggio di 3+ piedi
Arbitraggio di 3+ piedi
Si possono usare diverse logiche per questo TS. Tipicamente è l'invio asincrono di tre ordini. Ma, in effetti, ci sono varianti in cui un OrderSend sincrono viene inviato per primo al simbolo più probabile che sia forte. E se l'OrderSend termina con una posizione aperta - il meno probabile è l'invio di due ordini OrderSendAsync.
In questa situazione, può sembrare che la prima "posizione" - l'ordine di mercato - abbia bisogno di un meccanismo per determinare se la prima "posizione" è incompleta. Ma il primo OrderSend fa passare un ordine limite al prezzo corrente o leggermente peggiore. Pertanto non è considerato una "posizione". Gli altri due sono ordini di mercato, il più delle volte. E contarli come "posizioni" permette di evitare situazioni di riapertura delle posizioni. In questo caso questa contabilità non ha effetti negativi.
Tutto sommato, per come la vedo io - non ci sarà nessuna soluzione. Non è nemmeno una soluzione, ma un principio di funzionamento logicamente corretto con il numero di ordini e posizioni.
Sto parlando della funzione usata per qualsiasi strategia, altri dicono - per ogni strategia - una stampella diversa.
Questo esempio si è rivelato essere molto più fresco. Il TP, che è stato piazzato dal broker stesso, è stato reindirizzato! E quasi immediatamente (stavo aspettando per 115 ms - apparentemente era un bug in MT5) dopo la ri-registrazione, il broker ha piazzato il prossimo TP, che è stato eseguito. I commenti agli ordini non appaiono nello screenshot. Il colore verde èORDER_REASON_TP. Di conseguenza, l'ordine di rifiuto ha anche ORDER_POSITION_ID.
Questo non è un ordine di rifiuto, ma un ordine normalmente riempito che è stato eseguito. Quando viene eseguito, si ottiene l'ID di posizione.
Inoltre, abbiamo due ordini, uno dei quali non viene eseguito. Ora la domanda è: quante posizioni (se questi ordini non fossero ordini di stop ma di posizione), quindi - quante posizioni vi restituirebbe il vostro approccio? La risposta è: un altro, che è falso. Perché l'hai fatto allora?
Questo non è più un ordine di rifiuto, ma un ordine normalmente eseguito. Quando viene eseguito, è quando viene ricevuto l'ID di posizione.
Avete un'idea sbagliata.
Un'altra cosa: ci sono due ordini, uno dei quali non è stato eseguito. Ora la domanda è: quante posizioni (se questi ordini non fossero ordini di stop ma di posizione), quindi quante posizioni ti restituirebbe il tuo approccio? La risposta è: un altro, che è falso. Perché l'hai fatto allora?
Facciamolo di nuovo. Supponiamo che ci siano due posizioni aperte. E impostiamo il futuro ordine di mercato di questo tipo. La funzione restituisce 2+1=3. TS considera che ci sono tre posizioni e tutto va bene. In 16 ms arriva il ri-rivestimento. TS controlla quante posizioni - 2+0=2. E gliene servono tre! - invia un altro ordine di mercato. Poi di nuovo 2+1=3. E l'ordine viene eseguito, ottenendo 3+0=3.
In generale, per come la vedo io - non ci sarà una soluzione. Non è nemmeno una soluzione, ma un principio di funzionamento logicamente corretto con il numero di ordini e posizioni.
Sto parlando della funzione usata per qualsiasi strategia, altri dicono - per ogni strategia - una stampella diversa.
Non ho cambiato idea. La funzione rimane universale per il 99,9% degli EA e delle piattaforme di trading.
Avete un'idea sbagliata.
Ripetiamo ancora una volta. Supponiamo che ci siano due posizioni aperte. E mettiamo questo tipo di ordine di mercato futuro. La funzione restituisce 2+1=3. TS guarda tre posizioni e tutto è a posto. In 16 ms arriva il ri-rivestimento. TS controlla quante posizioni - 2+0=2. E gliene servono tre! - invia un altro ordine di mercato. Poi di nuovo 2+1=3. E l'ordine viene eseguito, ottenendo 3+0=3.
#896615 - rifiuta, e NON ha un ID-posizione.
Mettiamola in un altro modo. Supponiamo che ci siano due posizioni aperte. Riceviamo un segnale per aprire una terza posizione, ci invia una richiesta di trading e ottiene questo ordine di mercato inverso. Se ci sono tre posizioni, il nostro EA passerà a inviare altre richieste di trade usando un simbolo diverso. La funzione restituisce 2+1=3. TS guarda tre posizioni e inizia a calcolare i volumi, prende/stoppa altre tre posizioni - da un altro simbolo, invia ordini di trading per aprire da un altro simbolo. Dopo 16 ms arriva la dichiarazione di uno da un altro simbolo. TS guarda quante posizioni - 2(attuali)+3(2 posizioni e un mercato di un altro simbolo)=5. E dovrebbero essere sei! - invia un altro ordine di mercato per il simbolo corrente a un prezzo completamente diverso e calcola il volume e i takeoff/stop delle nuove posizioni per il terzo simbolo. Poi succede di nuovo lo stesso casino.
E poi ci grattiamo la testa - perché è diventato pazzo?
O pensate di dover creare funzioni per una sola - la vostra - strategia e logica di costruzione del TS? Vi sbagliate.
Non ho cambiato idea. La funzione rimane universale per il 99,9% degli EA e delle piattaforme di trading.
No. Solo per una logica comportamentale.
E ce ne sono migliaia.
Non ho cambiato idea. La funzione rimane universale per il 99,9% degli EA e delle piattaforme di trading.
La funzione dovrebbe restituire ciò che le viene chiesto. In modo chiaro e incondizionato, e non perché l'utente decida in seguito di cosa ha bisogno.
La logica che suggerisco dovrebbe essere così
... O dovrebbe essere così:
E lei suggerisce:
#896615 è respinto e NON ha una posizione ID.
Leggi il numero nella terza casella rossa a sinistra nello screenshot qui sopra.
Mettiamola in un altro modo. Supponiamo che ci siano due posizioni aperte. Otteniamo un segnale per aprire una terza posizione, inviamo una richiesta di trading e otteniamo questo ordine di mercato reindirizzato. Se abbiamo tre posizioni, il nostro EA passerà a inviare altre richieste di trade usando un simbolo diverso. La funzione restituisce 2+1=3. TS guarda tre posizioni e inizia a calcolare i volumi, prende/stoppa altre tre posizioni - da un altro simbolo, invia ordini di trading per aprire da un altro simbolo. Dopo 16 ms arriva la dichiarazione di uno da un altro simbolo. TS guarda quante posizioni - 2(attuali)+3(2 posizioni e un mercato di un altro simbolo)=5. E dovrebbero essere sei! - Invia un altro ordine di mercato per il simbolo corrente a un prezzo completamente diverso e calcola il volume e i takeoff/stop delle nuove posizioni per il terzo simbolo. Poi succede di nuovo lo stesso casino.
E poi ci grattiamo la testa chiedendoci perché è diventato pazzo.
Se non si scrive e non si compone la logica di trading piegata, non solo si graffia la propria reputazione. Capisco che tra i TK disonesti, che probabilmente hanno inondato i freelance, questo non è raro. E siccome i soldi non puzzano, qualcuno li prende per il principio: se ti chiedono un cazzo, fallo e dimenticalo. Niente che si avvicini a questo è mai stato scritto in un incubo. Ma sono sicuro che i freelance conoscono molto meglio di me i gradi delle feci tra i TK. Quindi sì, per i TC inadeguati può essere molto utile l'opzione proposta da @Combinator- per fare piedi dal TC, non appena trovato un ordine di mercato con zero ID.
O pensi che dobbiamo creare funzioni per una sola - la tua - strategia e logica di costruzione del TS? Ti sbagli.
Credo che dobbiamo pensare, come minimo. E non creare un ambiente adatto alla riproduzione di abominevoli TC. Purtroppo, non sono in grado di formulare un criterio per definire un fondo tra i TC. Per non ferire nessuno, invertirò la visione del mondo - io sul fondo, e il noto TK galleggerà sulle leggi della fisica.
La ricetta, come si dice, è universale: