Diablo

 

Propongo uno schema universale di collocamento degli ordini che utilizza i livelli Rabbit. Script per il piazzamento automatico degli ordini secondo questo schema:

// Diablo v16.09.10
#property copyright "Jon Katana"
#property show_inputs
extern double Up=0;
extern double Down=0;
extern int Levels=0;
extern int Step=0;
extern double Vol=0;
extern int Spread=0;
int start()
{for(int i=0;i<Levels;i++)
{OrderSend(Symbol(),OP_BUYSTOP,Vol,Up+(2*i*Step+Spread)*Point,0,0,0,0,0);
OrderSend(Symbol(),OP_SELLSTOP,Vol,Down-2*i*Step*Point,0,0,0,0,0);
OrderSend(Symbol(),OP_SELLLIMIT,Vol,Up+(2*i+1)*Step*Point,0,0,0,0,0);
OrderSend(Symbol(),OP_BUYLIMIT,Vol,Down-((2*i+1)*Step-Spread)*Point,0,0,0,0,0);
OrderSend(Symbol(),OP_BUYSTOP,Vol,Up+(2*i*Step+Spread)*Point,0,Up+(2*i-1)*Step*Point,Up+(2*i+2)*Step*Point,0,0);
OrderSend(Symbol(),OP_SELLLIMIT,Vol,Up+(2*i+2)*Step*Point,0,Up+((2*i+3)*Step+Spread)*Point,Up+((2*i+1)*Step+Spread)*Point,0,0);
OrderSend(Symbol(),OP_SELLSTOP,Vol,Down-2*i*Step*Point,0,Down-((2*i-1)*Step-Spread)*Point,Down-((2*i+2)*Step+Spread)*Point,0,0);
OrderSend(Symbol(),OP_BUYLIMIT,Vol,Down-((2*i+2)*Step-Spread)*Point,0,Down-(2*i+3)*Step*Point,Down-(2*i+1)*Step*Point,0,0);}
OrderSend(Symbol(),OP_SELLLIMIT,Vol,Up,0,Up+(Step+Spread)*Point,Down-(Step-Spread)*Point,0,0);
OrderSend(Symbol(),OP_BUYLIMIT,Vol,Down+Spread*Point,0,Down-Step*Point,Up+Step*Point,0,0);
return(0);}
Variabili:

Up - valore del livello Rabbit più vicino al prezzo (per esempio, 1,3040);

Giù - valore del livello Rabbit più vicino al prezzo (per esempio, 1,3000);

Livelli - numero di livelli Rabbit, su cui gli ordini di un tipo saranno esposti (per esempio 5 - 10 livelli su e giù dal prezzo saranno coinvolti);

Step - passo tra i livelli Rabbit in punti (per esempio 40);

Vol - volume di un ordine (per esempio 0,01);

Spread - diffusione (per esempio 2).

Diablo a qualsiasi traiettoria del movimento dei prezzi per un giorno chiude o in profitto (da uno a più corridoi tra i livelli Rabbit), o in zero (meno spreads). La chiusura meno avviene solo in caso di forti (più di un corridoio) rollback dai livelli di ordini diretti liberi (Buy Stop o Sell Stop), a partire dal quinto livello di Rabbit, contando dal prezzo. Un forte pullback dal quinto livello porta perdite in un corridoio, dal settimo livello - due, e così via. Altre traiettorie portano profitto (da uno a decine di corridoi) o zero. In Diablo una parte degli ordini sono chiusi da Take Profit o Stop Loss, mentre un'altra parte non ha stop, formando blocchi reciproci, che devono essere chiusi manualmente alla fine della giornata o la mattina successiva. Il prezzo non dovrebbe andare oltre la griglia degli ordini, quindi il numero di livelli deve essere preso con una riserva.

Lo schema consiste in quattro parti:

1) Partendo dal più vicino al livello di prezzo di Rabbit, gli ordini diretti liberi sui livelli dell'indicatore sono messi in tale ordine: Buy Stop - Sell Limit - Buy Stop - Sell Limit... E così via. Lo stesso nell'altra direzione: Sell Stop - Buy Limit - Sell Stop - Buy Limit... Questi ordini non hanno né Stop Loss, né Take Profit, devono essere chiusi manualmente alla fine della giornata.

2) Sulle stesse posizioni degli ordini diretti liberi (Buy Stop e Sell Stop) si piazzano ordini dello stesso tipo, ma con Take Profit uguale a 2xStep e Stop Loss = Step. Cioè, nello stesso posto dove c'è un Buy Stop libero, viene piazzato il secondo Buy Stop, ma con degli stop.

3) Su tutte le stesse posizioni di ordini diretti vengono piazzati ordini invertiti (Sell Limit e Buy Limit) con Take Profit e Stop Loss uguali a Step.

4) Solo sui primi livelli più vicini al prezzo Rabbit vengono piazzati ordini invertiti Sell Limit e Buy Limit con Take Profit = 2xStep e Stop Loss = Step.

 
 
Ciao
 

È che... devi fare dei livelli virtuali e scrivere una simulazione con tutte le transizioni possibili? Voglio dire, potrebbe essere in qualche modo affascinante - ma solo perché non si può calcolare il comportamento di un tale sistema.

JohKatana:
Ciao
Bonjour
 

Bravo!

È bello vedere e leggere un nuovo argomento "carico"!

 
JohKatana:
Ciao
E addio.
 
KU!!! :)
 
granit77:
E addio.

Perché?
 
sever30:
Perché?
 
Quello a destra è più attraente. :)
 
Swetten:
Quello a destra è più attraente. :)
Anche lui è più giovane. Voglio dire, lui era...