Regole della struttura. Imparare a strutturare i programmi, esplorare le possibilità, gli errori, le soluzioni, ecc. - pagina 12

 

И? L'articolo qui è spazzatura, l'articolo lì è più o meno adeguato. Shalyto è un paravento perché il suo cognome è l'ultimo.

Meno male che non l'ha detto in inglese, sarebbe stato beccato.

 
C-4:
Cioè, si ottiene un robot in un robot. Supponiamo che ci sia un algoritmo a medio termine che dà un ordine di acquisto a mercato. Un altro robot di basso livello esegue l'ordine al miglior prezzo utilizzando la tecnica della migliore mossa dell'HFT.

Sì, esattamente così.

Non un robot dentro un robot, più come un nastro trasportatore di robot.

 

Meglio controllare la mia idea:

Nella teoria delle macchine a stati finiti, il numero di stati è illimitato e può crescere come una palla di neve. E se supponiamo che ci siano sempre solo quattro stati, ma che siano tutti paralleli, cioè che siano chiamati simultaneamente da un modulo comune. Due di questi stati descrivono tutte le regole per l'acquisto e la vendita. Così, il robot è una sorta di modalità di acquisto e di vendita allo stesso tempo. Entrambi questi stati sono indipendenti l'uno dall'altro. Questi quattro stati possono essere descritti da quattro funzioni:

  • Modalità di ricerca del segnale di acquisto
  • Modalità di ricerca di un segnale per chiudere una posizione Buy esistente
  • Modalità di ricerca del segnale per vendere
  • Modalità di ricerca del segnale per chiudere unavendita esistente

Ecco come verrebbe descritto un robot di medie mobili usando questa logica

1. Posizione lunga (Feature): quando la media mobile veloce incrocia la media mobile lenta dal basso verso l'alto, apriamo una posizione lunga.

2. Close Long: se la media mobile veloce ha attraversato la media mobile lenta dall'alto verso il basso - close buy

3. Modo (funzione) per aprire un trade corto: se la media mobile veloce ha attraversato la media mobile lenta dall'alto verso il basso - aprire la vendita

4. Modalità di chiusura breve (funzione): se la media mobile veloce incrocia la media mobile lenta dal basso verso l'alto - chiudere la vendita

Si prega di notare le funzioni 1 e 4 e 2 e 3. Le loro condizioni sono le stesse! Sembrerebbe ridondante, ma non è vero, perché le condizioni di chiusura di una posizione lunga non sono in alcun modo legate alle condizioni di apertura di una posizione corta. Se improvvisamente decidiamo di aggiungere un ulteriore filtro per l'apertura di una posizione corta, questo non influenzerà le condizioni di apertura di una posizione lunga, e viceversa. Se durante il funzionamento del nostro EA, vogliamo proibire del tutto la vendita, semplicemente smettiamo di chiamare la funzione #3. Tutte le posizioni corte aperte in precedenza saranno chiuse, prima o poi, al segnale descritto nella funzione 4. I commerci lunghi non soffriranno, perché le loro condizioni sono indipendenti!

 
C-4:

Meglio controllare la mia idea:

Nella teoria delle macchine a stati finiti, il numero di stati è illimitato e può crescere come una palla di neve. E se supponiamo che ci siano sempre solo quattro stati, ma che siano tutti paralleli, cioè che siano chiamati simultaneamente da un modulo comune. Due di questi stati descrivono tutte le regole per l'acquisto e la vendita. Così, il robot è una sorta di modalità di acquisto e di vendita allo stesso tempo. Entrambi questi stati sono indipendenti l'uno dall'altro. Questi quattro stati possono essere descritti da quattro funzioni:

  • Modalità di ricerca del segnale di acquisto
  • Modalità di ricerca di un segnale per chiudere una posizione Buy esistente
  • Modalità di ricerca del segnale per vendere
  • Modalità di ricerca del segnale per chiudere unavendita esistente

Ecco come verrebbe descritto un robot di medie mobili usando questa logica

1. Posizione lunga (Feature): quando la media mobile veloce incrocia la media mobile lenta dal basso verso l'alto, apriamo una posizione lunga.

2. Close Long: se la media mobile veloce ha attraversato la media mobile lenta dall'alto verso il basso - close buy

3. Modo (funzione) per aprire un trade corto: se la media mobile veloce ha attraversato la media mobile lenta dall'alto verso il basso - aprire la vendita

4. Modalità di chiusura breve (funzione): se la media mobile veloce incrocia la media mobile lenta dal basso verso l'alto - chiudere la vendita

Si prega di notare le funzioni 1 e 4 e 2 e 3. Le loro condizioni sono le stesse! Sembrerebbe ridondante, ma non è vero, perché le condizioni di chiusura di una posizione lunga non sono in alcun modo legate alle condizioni di apertura di una posizione corta. Se improvvisamente decidiamo di aggiungere un ulteriore filtro per l'apertura di una posizione corta, questo non influenzerà le condizioni di apertura di una posizione lunga, e viceversa. Se durante il funzionamento del nostro EA, vogliamo proibire del tutto la vendita, semplicemente smettiamo di chiamare la funzione #3. Tutte le posizioni corte aperte in precedenza saranno chiuse, prima o poi, al segnale descritto nella funzione 4. I commerci lunghi non soffriranno, perché le loro condizioni sono indipendenti!

ns utybq? ,tp gbpls!
 
dfc bp lfcn&
 
C-4:
dfc bp lfcn&
dc` yjhvekm? yt ccs
 
C-4:

Meglio controllare la mia idea:

Nella teoria delle macchine a stati finiti, il numero di stati è illimitato e può crescere come una palla di neve. E se supponiamo che ci siano sempre solo quattro stati, ma che siano tutti paralleli, cioè che siano chiamati simultaneamente da un modulo comune. Due di questi stati descrivono tutte le regole per l'acquisto e la vendita. Così, il robot è una sorta di modalità di acquisto e di vendita allo stesso tempo. Entrambi questi stati sono indipendenti l'uno dall'altro. Questi quattro stati possono essere descritti da quattro funzioni:

  • Modalità di ricerca del segnale di acquisto
  • Modalità di ricerca di un segnale per chiudere una posizione Buy esistente
  • Modalità di ricerca del segnale per vendere
  • Modalità di ricerca del segnale per chiudere unavendita esistente

Ecco come verrebbe descritto un robot di medie mobili usando questa logica

1. Posizione lunga (Feature): quando la media mobile veloce incrocia la media mobile lenta dal basso verso l'alto, apriamo una posizione lunga.

2. Close Long: se la media mobile veloce ha attraversato la media mobile lenta dall'alto verso il basso - close buy

3. Modo (funzione) per aprire un trade corto: se la media mobile veloce ha attraversato la media mobile lenta dall'alto verso il basso - aprire la vendita

4. Modalità di chiusura breve (funzione): se la media mobile veloce incrocia la media mobile lenta dal basso verso l'alto - chiudere la vendita

Si prega di notare le funzioni 1 e 4 e 2 e 3. Le loro condizioni sono le stesse! Sembrerebbe ridondante, ma non è vero, perché le condizioni di chiusura di una posizione lunga non sono in alcun modo legate alle condizioni di apertura di una posizione corta. Se improvvisamente decidiamo di aggiungere un ulteriore filtro per l'apertura di una posizione corta, questo non influenzerà le condizioni di apertura di una posizione lunga, e viceversa. Se durante il funzionamento del nostro EA, vogliamo proibire del tutto la vendita, semplicemente smettiamo di chiamare la funzione #3. Tutte le posizioni corte aperte in precedenza saranno chiuse, prima o poi, al segnale descritto nella funzione 4. Gli accordi lunghi non soffriranno, perché le loro condizioni sono indipendenti!

Per me è molto più facile.

La strategia dà un segnale sotto forma di una posizione raccomandata su uno strumento. Se voglio proibire la vendita, taglio semplicemente i valori negativi della posizione raccomandata aggregata prima di inviarla al driver-sincronizzatore. Una linea:

if (ShortDisabled) Pos = (Pos<0) ? 0 : Pos;

Questo è tutto.

--

Il mio punto è che hai descritto una bella soluzione a un problema che non ho.

Non ho problemi a distinguere tra condizioni di acquisto e condizioni di vendita. Non dovrebbe esistere a livello di strategia. Il compito della strategia è quello di prevedere se il mercato salirà o scenderà nel prossimo momento, e con quale probabilità. Questo determina la posizione di mercato raccomandata. Quello che c'era in passato, se ci sono posizioni aperte (in entrambe le direzioni) ora o no - non ha assolutamente importanza. Se uno non ci entra - può risolvere problemi inesistenti per mezza vita. A volte anche risolverli molto bene.

 
E a proposito di tirare indietro a quattro (che sembra stia arrivando), non ho bisogno di tutti quei gruppi di ordini. Sono stato in rete per tutto il tempo, anche prima che arrivasse il cinque... :))))
 
MetaDriver:
Per quanto riguarda il pullback del 4 (che sembra arrivare presto), non ho bisogno di tutti quei gruppi di ordini. Sono stato in rete per tutto il tempo, anche prima dei cinque... :))))

Forum sul trading, sistemi di trading automatico e strategie di trading di prova

Ho bisogno di ordini OCO?

hrenfx, 2012.01.06 07:46

Posso usare MT4 per lavorare nel MERCATO? Sì, è possibile.
Posso usare MT5 per correre nel MERCATO? Sì, è possibile.

Ma cosa è più comodo e affidabile? Non con un ragionamento teorico, ma con un'analisi pratica.

Più conveniente di MT4. Sì, un ordine Limit può influenzare una dozzina di posizioni aperte a causa dell'esecuzione parziale, e ogni posizione può influenzare una dozzina di posizioni chiuse. Ma cosa succede se ci sono diversi ordini Limit? È possibile gestire in MT4 in condizioni così rigide? Sì, è possibile ed è implementato in modo semplice e affidabile.

Anche MT5 non ha alcun problema. A prima vista, è ancora più facile da navigare di MT4. Non sarete confusi dall'enorme quantità di posizioni.

Ma tutto cambia quando si comincia a complicare la logica dell'EA. Quando hai bisogno di diversificare eseguendo più EA. Su MT4 è elementare e molto affidabile - basta eseguire un EA con altri majiks. Su MT5 è un'enorme seccatura dal punto di vista dell'automazione. E in termini di intervento manuale in un tale commercio - è un compito impossibile. Perché la logica di apertura-chiusura delleposizioni per ogni strategia nel terminale MT5 è difficile da afferrare con uno sguardo. Dovete scrivere un analizzatore adeguato. E non può essere universale, purtroppo.

Tuttavia, in MT4 non ci sono questi problemi. Tutto è proprio nel palmo della tua mano. Il netting in MT4 è implementato nel modo più semplice per un trader.

Ecco perché la MT4 è sempre più conveniente della MT5 nella pratica del trading reale e non a livello teorico. Anche se entrambe le piattaforme possono essere assolutamente guidate dal mercato. Sto parlando di trading sul MERCATO.
 

hrenfx:

Posso usare MT4 per lavorare nel MERCATO? Sì, è possibile.
Posso usare MT5 per correre nel MERCATO? Sì, è possibile.

Ma cosa è più comodo e affidabile? Non con un ragionamento teorico, ma con un'analisi pratica.

Più conveniente di MT4. Sì, un ordine Limit può influenzare una dozzina di posizioni aperte a causa dell'esecuzione parziale, e ogni posizione può influenzare una dozzina di posizioni chiuse. Ma cosa succede se ci sono diversi ordini Limit? È possibile gestire in MT4 in condizioni così rigide? Sì, è possibile ed è implementato in modo semplice e affidabile.

Anche l'MT5 non ha molti problemi. A prima vista, è ancora più facile da navigare di MT4. Non sarete confusi dall'enorme quantità di posizioni.

Ma tutto cambia quando si comincia a complicare la logica dell'EA. Quando hai bisogno di diversificare eseguendo più EA. Su MT4 è elementare e molto affidabile - basta eseguire un EA con altri majiks. Su MT5 è un'enorme seccatura dal punto di vista dell'automazione. E in termini di intervento manuale in un tale commercio - è un compito impossibile. Perché la logica di apertura-chiusura delleposizioni per ogni strategia nel terminale MT5 è impossibile da capire semplicemente guardando nel terminale. Dovete scrivere un analizzatore adeguato. E non può essere universale, purtroppo.
Sono consapevole e capisco molto bene il ragionamento, Ivan. Penso solo che l'intervento manuale nella "diversificazione per somma/sovrapposizione di strategie" sia l'ultima cosa. Le strategie dovrebbero essere messe a punto durante i test-ottimizzazione. Per quanto riguarda tale diversificazione, la uso ampiamente - semplicemente sommando i segnali di tutte le sotto-strategie prima di inviare il segnale totale al sincronizzatore.Se tale postulato ("interferire solo durante il debug") è accettato come base, diventa immediatamente chiaro che l'osservazione individuale di ogni strategia non è affatto un problema - sono tutte disabilitate individualmente. Disabilitate tutte tranne una e analizzate come volete.

Tuttavia, in MT4 non ci sono questi problemi. Tutto è proprio nel palmo della tua mano. Il netting in MT4 è implementato nel modo più semplice per un trader.

Ecco perché la MT4 è sempre più conveniente della MT5 nella pratica del trading reale e non a livello teorico. Anche se entrambe le piattaforme possono essere assolutamente guidate dal mercato. Ed è di questo che parlo quando faccio trading nel MERCATO.

Te l'ho detto, ho un simile "netting synchronizer" già scritto per il 4. Semplicemente combinerò tutte le sue funzioni in una classe per comodità, e lo controllerò/debuggerò per ogni evenienza. Lasciamolo combattere con un sacco di ordini più tardi - la strategia stessa non si preoccupa di tutto questo, rimarrà come una strategia netting :)