- Antworten 61
- Aufrufe 13,4Tsd
- Erstellt
- Letzte Antwort
Top-Benutzer in diesem Thema
-
Kleinerbroker 23 Beiträge
-
Henrik 11 Beiträge
-
Licens 8 Beiträge
-
Vola 7 Beiträge
Aktive Tage
Most Popular Posts
-
Du setzt einen StopLoss auf BreakEven. Der Trailing-Stop wird gesetzt, wenn BreakLock1 + StepUp erreicht ist. Wenn ich deinen Code richtig lese, dann stehst du ohne StopLoss da, wenn die Bedingung für
-
Wenn dir MC oder IB abschmiert bleiben die Limits, die bei IB sind, auch dort. Nur wenn MC an ist, und IB, dann wird für jedes Bar das Limit neu kalkuliert und ggf gesetzt. Deswegen ist es SEHR wic
-
Die drei angesprochenen Punkte laufen ja auf das Nichterkennen der Posi beim Broker hinaus, also ja. Ja, leider ist das so, sobald man komplexere Strategien hat oder auch etwas außerhalb der Norm
Einarbeitung in MC , meine Suche nach Codebeispielen für TSL ( für die Suchmaschine : MC , Multichart , TrailingStop , Trailing ) war nicht erfolgreich, ein Australier will mir (bald) helfen , ich starte mal :
Das Ergebnis dieses Code soll es mir später ermöglichen , Pyramiden zu basteln , ganz so, wie das bei MT4 auch geht .
Mein aktueller Code macht "etwas" , lange nicht alles , was er soll .Noch sehe ich nicht einmal, wenn er was macht, obwohl ich ihn mit PrintBefehlen gespickt habe :
Im Moment nur Long (Short nicht belegt, in MA nur ein Fake):
Input: Cts(25) ,// Kontrakte Stop1 (10) ,// StopLoss Abstand Step(5) ,// TSL Schritte Price( Close ) ,// fuer MA FastLength( 3 ) ,// Schnelle MA SlowLength( 16 ) ,// Langsame MA Debugg (True) ;// Debugg gewuenscht ? Variables: TickSize (0),StopLoss1(0),Var0( 0 ), Var1( 0 ),Count(0),StepUp(0), StopLock1(0),TP1(0),BreakLock1(0),BELock1 (false),HighRisc(False) ; //Variable conditions TickSize = MinMove/PriceScale ;// Abgeguckt StopLoss1 = stop1*ticksize ;// StopLoss im Preis StepUp = step*ticksize ;// Trailing Schrittgroesse // Berechnung MA var0 = AverageFC( Price, FastLength ) ;// var1 = AverageFC( Price, SlowLength ) ;// // die beruehmten "crossing moving Average" erzeugen das Signal fuer Oeffnen einer Position if LastBarOnChart then begin condition1 = var0 crosses over var1 ;// Long Signal condition2 = var1 crosses over var0 ;// Short Signal count = count + 1 ;// nur fuer Debugging // Entry if (condition1 = true) and (marketposition = 0) // wenn xing MAVG und kein Trade im Markt then begin Buy ( "ENT LNG" ) 25 contracts next bar at market ;// Entry in den Markt BELock1 = false ;// BESignal reset HighRisc = true ;// Flag fuer ungeschuetzen Trade , SL fehlt Print (count," Bar , Buy ") ;// DEBUGG end; // Initial StopLoss & Take Profit If ( MarketPosition = 1 ) and (HighRisc = true ) and (BELock1 = false) // frischer Trade Then begin // Long im Markt // nun erst kann erfolgen >> Berechnung des StopLock1 = OpenEntryPrice -stoploss1 ;// .... initialer SL BreakLock1 = OpenEntryPrice + (stoploss1/2); ;// .... BreakEvenPreis TP1 = OpenEntryPrice + (2*stoploss1) ;// .... TakeProfit Sell ("Init_SL_1") cts contracts next bar at StopLock1 stop ;// Stoploss setzen HighRisc = false ;// SL ist nun gesetzt sell ("Init_TP1") cts contracts next bar at TP1 limit ;// TakeProfit setzen Print (count," Bar , Buy & SL & TSL => Open @ ",OpenEntryPrice:6:5," , StopLoss1= ",StopLock1:6:5, " , BreakEven = ",BreakLock1:6:5," , TP =",TP1:6:5) ;// DEBUGG end; // Breakeven Stop If ( MarketPosition = 1 ) and (CurrentAsk > BreakLock1) and (BELock1 = false) // BE Kurs erreicht aber kein Then begin // BreakEven-SL gesetzt Sell ("BE_SL_1") cts contracts next bar at OpenEntryPrice stop ;// Stoploss @ BE nachziehen BELock1 = true ;// BE gesetzt Print (count," Bar , BREAK EVEN => @ StopLoss1== BE = ",BreakLock1:6:5," , TP =",TP1:6:5) ;// DEBUGG end; // Trailing If ( MarketPosition = 1 ) and (CurrentAsk > (BreakLock1+StepUp)) and (BELock1 = True) and (CurrentAsk >BreakLock1)// then begin BreakLock1 = BreakLock1+(StepUp/2) ;// Neuen SL berechnen sell ("Trail") Cts contracts next bar at BreakLock1 stop ;// Trailing SL Print (count," Bar TRAILING => @ = ",BreakLock1:6:5," , TP =",TP1:6:5) ;// DEBUGG end; // Debugging if Debugg = true then begin Print("Check ON ", count:2:0,". Bar , ASK = ",CurrentAsk:6:5," , MP = ",marketposition:2:0, " , Pyramide-Level = ",currententries:3:0," , FloatingProfit = ",OpenEntryProfit:6:4) ;// DEBUGG end; // Ende LastBarOnChart end;Mein nächster Schritt wird es sein, dass ich irgendwie die Orderausführung sowohl schriftlich bestätigen lasse (Print) als auch im Chart sehen will , Linien ziehen "TL_New....."
Input/Korrekturen welcome .
KB