Diablo - Seite 21

 
JonKatana: Diablo v01.03.12

Der unerfahrene Händler verliert, weil er einen Verlust nicht einkalkuliert. Ein erfahrener Trader verliert, weil er keine Gewinne mitnimmt. Aus diesem Grund haben wir im vorherigen Diablo-Schema für direkte Aufträge (Buy Stop und Sell Stop) Take Profit-Levels in der Größe von zwei Korridoren zwischen den Aufträgen hinzugefügt:

Das war's, Tod dem Forex. Unzweifelhaft.
 
JonKatana:

.. Diablo ...

Wie auch immer Sie das Schiff nennen...)
 
Mathemat:
Das war's, Tod dem Forex. Unzweifelhaft.
Das ist verständlich... :-), aber ich muss John zugestehen, dass seine Fähigkeit, "den Ball flach zu halten", wirklich keine Grenzen kennt... Oder etwa nicht?
 
Ich diskutiere nicht. Und ich habe schon vor langer Zeit aufgehört zu versuchen, zu überzeugen.
 
Mathemat:
Ich diskutiere nicht. Und ich habe schon vor langer Zeit aufgehört zu versuchen, zu überzeugen.

So! :-) Wenn sie sich also täuschen lassen wollen, sollen sie sich täuschen lassen...

Bis ich Berichte aus dem (zumindest mikro-)realen Leben sehe... wird nicht selbst, wird nicht einmal in eine Warteschlange gestellt, betrachtet DIESES Zeug für mich...

 
Ist er ein guter Berater?
 
vsa:
Ist er ein guter Berater?
Sieh nur, wie die Coryphäen ihn loben!
 
Wer sind die Coryphaei? Wenn sie ihn loben, ist er dann ein guter Berater?
 
Das war Sarkasmus. Die von John Katana vorgeschlagenen Handelssysteme werden seit Jahren kontrovers diskutiert.
Ich persönlich halte sie für so unvermeidlich wie den Sonnenaufgang.
 

Diablo v08.03.12

Änderungen:

+ Die erste Ebene muss jetzt nicht mehr angegeben werden - sie wird automatisch bei der Hälfte des Korridors zwischen den Aufträgen festgelegt;

+ Der Kommentar zu den Aufträgen enthält den Wert der ersten Ebene als Referenzpunkt beim Hinzufügen oder Wiederherstellen von Aufträgen.

// 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);}

Außerdem gibt es eine Reihe von Hilfsskripten für die Platzierung von Aufträgen in eine Richtung (beim Hinzufügen oder Wiederherstellen von Aufträgen):

// 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);}

In Hilfsskripten:

Oben - Bezugsebene, von der aus die Aufträge ursprünglich erteilt wurden;

Start_Level - Ebene, auf der die Aufträge ursprünglich platziert werden.