Diablo

 

Ich schlage ein universelles Auftragsvergabesystem vor, das Kaninchenlevels verwendet. Skript für die automatische Vergabe von Aufträgen nach diesem 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);}
Variablen:

Up - Wert der Kaninchenebene, die dem Preis am nächsten ist (z. B. 1,3040);

Down - Wert des Rabbit-Levels, der dem Preis am nächsten liegt (z.B. 1,3000);

Levels - Anzahl der Rabbit-Levels, auf denen die Orders eines Typs ausgesetzt werden (z.B. 5 - 10 Levels aufwärts und abwärts vom Preis werden einbezogen);

Schritt - Schritt zwischen den Kaninchenstufen in Punkten (z. B. 40);

Vol - Volumen einer Bestellung (zum Beispiel 0,01);

Streuung - Streuung (zum Beispiel 2).

Diablo auf jeder Flugbahn der Preisbewegung für einen Tag schließt entweder im Gewinn (von einem bis mehrere Korridore zwischen den Ebenen Rabbit), oder in Null (minus Spreads). Die Minus-Schließung erfolgt nur bei starken (mehr als ein Korridor) Rollbacks von den Niveaus der direkten freien Orders (Buy Stop oder Sell Stop), beginnend mit dem fünften Niveau von Rabbit, gerechnet vom Preis. Ein starker Pullback von der fünften Stufe bringt Verluste in einem Korridor, von der siebten Stufe - zwei, und so weiter. Andere Bahnen bringen Gewinn (ein bis zehn Korridore) oder Null. In Diablo wird ein Teil der Orders durch Take Profit oder Stop Loss geschlossen, während ein anderer Teil keine Stops hat und gegenseitige Locks bildet, die am Ende des Tages oder am nächsten Morgen manuell geschlossen werden müssen. Der Preis sollte nicht über das Raster der Aufträge hinausgehen, so dass die Anzahl der Stufen mit einer Reserve genommen werden muss.

Die Regelung besteht aus vier Teilen:

1) Ausgehend vom nächstgelegenen Kursniveau von Rabbit werden direkte freie Aufträge auf den Niveaus des Indikators in dieser Reihenfolge erteilt: Buy Stop - Sell Limit - Buy Stop - Sell Limit... Und so weiter. Das Gleiche in der anderen Richtung: Sell Stop - Buy Limit - Sell Stop - Buy Limit... Diese Aufträge haben weder Stop Loss noch Take Profit, sie müssen am Ende des Tages manuell geschlossen werden.

2) Auf denselben Positionen der direkten freien Orders (Buy Stop und Sell Stop) werden die Orders desselben Typs platziert, jedoch mit Take Profit gleich 2xStep und Stop Loss = Step. Das heißt, an derselben Stelle, an der sich ein freier Buy Stop befindet, wird der zweite Buy Stop platziert, allerdings mit Stopps.

3) Auf alle gleichen Positionen von Direktaufträgen werden invertierte Aufträge (Sell Limit und Buy Limit) mit Take Profit und Stop Loss gleich Step platziert.

4) Nur auf den ersten Niveaus, die dem Preis Rabbit am nächsten sind, werden invertierte Aufträge Sell Limit und Buy Limit mit Take Profit = 2xStep und Stop Loss = Step platziert.

 
 
Hallo
 

Ist das... Sie müssen virtuelle Ebenen erstellen und eine Simulation mit allen möglichen Übergängen schreiben? Ich meine, es könnte etwas faszinierend sein - aber nur, weil man das Verhalten eines solchen Systems nicht berechnen kann.

JohKatana:
Hallo
Bonjour
 

Bravo!

Schön, ein neues 'aufgeladenes' Thema zu sehen und zu lesen!

 
JohKatana:
Hallo
Und auf Wiedersehen.
 
KU!!! :)
 
granit77:
Und auf Wiedersehen.

Warum ist das so?
 
sever30:
Warum ist das so?
 
Die rechte Seite ist attraktiver. :)
 
Swetten:
Die rechte Seite ist attraktiver. :)
Er ist auch jünger. Ich meine, er war...