In StrategyQuant X 131 abbiamo aggiunto due nuovi blocchi di confronto. In questo articolo li discuteremo in modo più dettagliato. I blocchi di confronto sono snippet che possono essere utilizzati nella procedura guidata o nel costruttore di Algo e servono a confrontare due valori. ( Sinistra e destra)

Fondamentalmente, Conteggio maggiore/Conteggio minore confronta il numero di barre in cui la condizione è soddisfatta.
- Greater Count verifica la condizione che X sia maggiore o uguale a Y, per il numero di barre specificato.
- Conteggio inferiore verifica la condizione che X sia inferiore o uguale a Y, per il numero di barre specificato.
I blocchi di confronto sono utilizzati anche in Builder, dove il motore genetico cerca nuove combinazioni di blocchi per creare una strategia algoritmica redditizia.
Mostriamo ora due esempi di come creare e testare questi blocchi:
Regole consecutive RSI
Nel primo esempio, mostriamo come creare un blocco personalizzato - RSI ( 14 ) è maggiore di un valore di 50 X barre consecutive. Nel primo passo, si seleziona il blocco di confronto è maggiore per le barre X.

Si possono scegliere diverse impostazioni parametrizzabili per un determinato blocco
Possiamo impostare il Bar - un numero di barre che devono soddisfare la condizione e la Consentire gli stessi valori opzione. Consentire gli stessi valori è utile in una situazione in cui i due valori sono uguali. Ad esempio, quando l'RSI presenta due barre consecutive con lo stesso valore.
Dopo aver selezionato un particolare blocco di confronto, SQX ci propone l'impostazione effettiva del blocco. Impostiamo l'indicatore sinistro e l'indicatore destro.

Nel nostro caso, confronteremo l'RSI ( 14 ) e il valore 50.

È consigliabile parametrizzare anche il blocco personalizzato dato. Scegliamo il numero di barre durante le quali la condizione data è valida, il periodo RSI e il valore al di sopra del quale l'RSI deve rimanere per X barre.

È buona norma creare una regola opposta, nel nostro caso creiamo una condizione speculare che sia più bassa per le barre X, modificando leggermente nei parametri del blocco solo il valore della variabile RSI, che cambiamo nell'intervallo 20-50.

Barre consecutive su/giù
Mostriamo ora un esempio di creazione di barre Up/down consecutive. Definiamo la barra SU quando il prezzo di chiusura è maggiore del prezzo di apertura e viceversa.
Analogamente agli esempi precedenti, si utilizza il Conteggio maggiore con la condizione Chiusura > Apertura.

Per il blocco opposto, utilizziamo il conteggio inferiore per creare un blocco il cui corpo contiene la seguente condizione Close < Open

Individuazione di falsi breakout
Un altro modo, leggermente più complicato, è quello di utilizzare il conteggio maggiore/minore per individuare i falsi breakout. Cominciamo con la definizione di breakout di un massimo settimanale.

Il breakout di un massimo settimanale può essere definito semplicemente come una condizione in cui l'ultimo massimo è uguale al massimo settimanale attuale.
A questo punto, consideriamo quando si verifica un falso breakout. Si verifica quando il prezzo genera un nuovo massimo, ma poi ristagna e non si muove. Questa condizione può durare per diverse barre. Per risolvere questa situazione, possiamo impostare a questo punto che tali situazioni siano coperte solo dalla parametrizzazione del parametro Turno parametro.

Aggiungendo l'opzione Bar Ago I parametri sono in grado di catturare le situazioni in cui le barre alte settimanali Ago sono state rotte in passato.
Per poter rilevare che il prezzo è al di sotto dell'attuale massimo settimanale e anche del numero di barre X Ago per rompere il breakout settimanale, aggiungiamo il blocco di confronto Lower Count.

Un blocco preparato in questo modo ci permette di filtrare queste situazioni in modo efficiente. C'è un piccolo problema con i due parametri identici Bars Ago e Bars Ago Int. Normalmente sono le stesse variabili, ma devono essere dichiarate separatamente. Questo per il corretto funzionamento delle altre funzioni di SQX. In ogni caso, abbiamo due modi per risolvere questo problema.
- Lasciamo che il motore SQX trovi da solo una soluzione, ma questo richiede più tempo durante la generazione della strategia.
- Aiutiamo SQX impostando i set di parametri nella configurazione del costruttore
Nell'immagine sottostante, vediamo un blocco personalizzato HighWeekBreakout con set di parametri definiti e una ponderazione aumentata di tali impostazioni per garantire che il costruttore dia priorità ai set di parametri impostati.

Per il blocco opposto, utilizziamo una logica simile con Low, Weekly Low e Greater Count.
Conclusione
Le procedure sopra descritte possono essere utilizzate per la progettazione di strategie direttamente in Algo Wizard o in StrategyQuantX builder. L'utilizzo di blocchi personalizzati consente di indirizzare meglio la strategia di trading desiderata e di ridurre i gradi di libertà. È necessario essere creativi quando si creano blocchi come questo; idealmente, si ottengono idee simili osservando i grafici e cercando possibili scenari.