Diablo - pagina 21

 
JonKatana: Diablo v01.03.12

Il trader inesperto perde perché non blocca una perdita. Un trader esperto perde perché non prende profitti. Ecco perché nel precedente schema di Diablo per gli ordini diretti (Buy Stop e Sell Stop) abbiamo aggiunto livelli di Take Profit nella dimensione di due corridoi tra gli ordini:

Ecco, morte al forex. Inequivocabilmente.
 
JonKatana:

.. Diablo ...

Comunque si chiami la nave...)
 
Mathemat:
Ecco, morte al forex. Inequivocabilmente.
Questo è comprensibile... :-), ma devo riconoscerlo a John - la sua capacità di "tenere il pugno" non conosce davvero limiti... Non è vero?
 
Non sto discutendo. E ho smesso di cercare di convincere molto tempo fa.
 
Mathemat:
Non sto discutendo. E ho smesso di cercare di convincere molto tempo fa.

Ecco! :-) Se vogliono essere ingannati, che siano ingannati...

Finché non vedrò rapporti dalla (almeno micro) vita reale... non lo farò io, non lo metterò nemmeno in coda, considererò QUESTA roba per me stesso...

 
È un buon consigliere?
 
vsa:
È un buon consigliere?
È fantastico! Guarda come i corifei lo lodano!
 
Chi sono i corifei? Se lo lodano, è un buon consigliere?
 
Questo era sarcasmo. C'è stato per anni un dibattito incessante sui sistemi di trading proposti da John Katana.
La mia opinione personale su di loro è che sono inevitabili come l'alba.
 

Diablo v08.03.12

Cambiamenti:

+ ora non c'è bisogno di specificare il primo livello da impostare - viene preso automaticamente a metà della distanza del corridoio tra gli ordini;

+ Il commento agli ordini contiene il valore del primo livello come punto di riferimento quando si aggiungono o si ripristinano ordini.

// Diablo v08.03.12
#property copyright "Jon Katana"
#property show_inputs
extern int Step=0,Spread=0,Levels=0;
extern double Vol=0;
int start()
{double Up=Bid+0.5*Step*Point;
string C=DoubleToStr(Up,5);
for(int i=0;i<(Levels);i++)
{OrderSend(Symbol(),OP_BUYSTOP,Vol,Up+(i*Step+Spread)*Point,0,Up+(i-1)*Step*Point,Up+(i+2)*Step*Point,C);
OrderSend(Symbol(),OP_SELLSTOP,Vol,Up-(i+1)*Step*Point,0,Up-(i*Step-Spread)*Point,Up-((i+3)*Step-Spread)*Point,C);
OrderSend(Symbol(),OP_SELLLIMIT,Vol,Up+i*Step*Point,0,Up+((i+1)*Step+Spread)*Point,Up-((i+1)*Step-Spread)*Point,C);
OrderSend(Symbol(),OP_BUYLIMIT,Vol,Up-((i+1)*Step-Spread)*Point,0,Up-(i+2)*Step*Point,Up+i*Step*Point,C);}
return(0);}

Inoltre, ci sono un paio di script ausiliari per piazzare ordini in una direzione (quando si aggiungono o si ripristinano ordini):

// Diablo UP v08.03.12
#property copyright "Jon Katana"
#property show_inputs
extern int Step=0,Spread=0,Levels=0,Start_Level=0;
extern double Up=0,Vol=0;
int start()
{string C=DoubleToStr(Up,5);
for(int i=Start_Level;i<(Levels);i++)
{OrderSend(Symbol(),OP_BUYSTOP,Vol,Up+(i*Step+Spread)*Point,0,Up+(i-1)*Step*Point,Up+(i+2)*Step*Point,C);
OrderSend(Symbol(),OP_SELLLIMIT,Vol,Up+i*Step*Point,0,Up+((i+1)*Step+Spread)*Point,Up-((i+1)*Step-Spread)*Point,C);}
return(0);}
// Diablo DN v08.03.12
#property copyright "Jon Katana"
#property show_inputs
extern int Step=0,Spread=0,Levels=0,Start_Level=0;
extern double Up=0,Vol=0;
int start()
{string C=DoubleToStr(Up,5);
for(int i=Start_Level;i<(Levels);i++)
{OrderSend(Symbol(),OP_SELLSTOP,Vol,Up-(i+1)*Step*Point,0,Up-(i*Step-Spread)*Point,Up-((i+3)*Step-Spread)*Point,C);
OrderSend(Symbol(),OP_BUYLIMIT,Vol,Up-((i+1)*Step-Spread)*Point,0,Up-(i+2)*Step*Point,Up+i*Step*Point,C);}
return(0);}

Negli script ausiliari:

Up - livello di riferimento da cui gli ordini sono stati inizialmente effettuati;

Start_Level - livello al quale gli ordini sono inizialmente piazzati.

Motivazione: