Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Allgemeine Fragen (http://www.expert-advisor.com/forum/forumdisplay.php?f=103)
-   -   Trailing Stop Problem (http://www.expert-advisor.com/forum/showthread.php?t=4918)

Top-SecreT 02.05.16 18:40

Trailing Stop Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Huhu,

ich hab hier was komisches was ich nicht nachvollziehen kann. Siehe Anhang. Die Position wird mit nem Preis von 1.07649 eröffnet. Dann wird der Stop Loss nachgezogen. Am Ende ist der Stoploss niedriger als der Eröffnungspreis und trotzdem macht die Position 10 Cent Verlust. Wie kann das sein? Kommission oder ähnliches wird doch nicht berechnet im Backtest.



LG

Top-SecreT 03.05.16 08:34

Warum wird das verschoben? Es geht um die Programmierung. Ich habe den selbst geschrieben.

Master 03.05.16 08:37

Ich kann hier nichts von Programmierung sehen!

Master

Hosch 03.05.16 10:25

Zitat:

Zitat von Top-SecreT (Beitrag 34410)
Warum wird das verschoben? Es geht um die Programmierung. Ich habe den selbst geschrieben.

Sali,

ich kann da leider auch nichts programmiertes sehen:confused:

Vielleicht liegt es an deinen Backtest-Daten quali?

Carpe Diem,
Hosch

Top-SecreT 04.05.16 19:14

Liste der Anhänge anzeigen (Anzahl: 1)
Ja ist auch egal wo es nun ist das Thema.
Wäre aber trotzdem schön wenn es mir jemand erklären könnte. Also an den Backtest Daten liegt es offenbar nicht.
Anderer Broker + Demokonto, selbes Phänomen.
Siehe oberster und unterster Eintrag. Kann das Slippage sein? Wobei es ja dann im Backtest keinen Sinn macht...

UForex 30.05.16 07:10

Dieses Phänomen nennt sich "Slippage": Wer zuerst kommt Mahl zuerst oder auch wenn viele Zeitgleich (zum gleichen Tick) kaufen / verkaufen, bekommt nicht jeder den gewünschten preis, wenn die Volalität gerade nicht vorhanden ist.


Ein VPS mit niedriger Latenz und/oder ein Broker mit höherem Handeslvolumen in dem Währungspaar könnten die Slippage minimieren.

Grüße

Crashbulle 31.05.16 02:21

Das dürfte mit der Programmierung zusammen hängen.

Das wäre aber für uns nur im Code ersichtbar.

Ohne diesem kann man nur Raten und Spekulieren,
und trotzdem vollkommen Falsch liegen.

Denn es sind keine weiteren Daten / Einzelheiten genannt worden.

Es ist das gleiche, wie wenn einer am Autohaus vorbei kommt und Stolz, aber Ratlos sagt:

Habe eine wunderbare Karre mit 8-Zylinder, 500 PS aufgebaut.
Die ersten Meter aus der Garage ist er ruhig und Störungsfrei gefahren.
Doch plötzlich blieb er stehen, obwohl der Motor weiter sonorig und ruhig weiterläuft.

Helft mir, woran kann das liegen ??

Bei beiden Fragen ist guter RAT teuer.


Crashbulle

HansLuftibus 07.06.16 19:54

Trailing Stopp Luss
 
Ist einfach falsch programmiert. Code findet man überall.

Hier ein Beispiel:

/+------------------------------------------------------------------+
//-------------------
// Zieht Stopp Loss über Break even nach, gibt besseres Resultat als trailToBreakEven
// benötigt globale pippoints
// Globale Variablen
// promilleAbstand
//-------------------
void trailingSL(double slLong,double slShort)
{
//Stopp Loss
static double vorherigerLong=0;
static double vorherigerShort=20000;
static double newstopLong;
static double newstopShort;

//SL kann bei Short sehr gross werden, hatte damit am 6.4.16 grossen Verlust
// slLong=2*ATR;
// slShort=2*ATR;

// if(Bid>OrderOpenPrice()+StopLoss_long)

for(int counter1=0; counter1<=OrdersTotal()-1; counter1++)
{
RefreshRates();

bool order=OrderSelect(counter1,SELECT_BY_POS,MODE_TRAD ES);
if(OrderSymbol()==Symbol())
{

if(OrderType()==OP_BUY)
{
if(OrderStopLoss()==0) //fehlender SL
bool modify=OrderModify(OrderTicket(),OrderOpenPrice(), OrderOpenPrice() -(slLong*pippoints),0,0,CLR_NONE);
if(OrderStopLoss()>0)
{
if(DEBUGGING)
Print("Open Price "+DoubleToStr(OrderOpenPrice()));
if(Bid>OrderOpenPrice()+minimalGewinn*pippoints)

{ //erst Nachziehen, falls Stopp loss drin
newstopLong=Bid -(slLong*pippoints);
if(DEBUGGING)
Print("newstoplong "+DoubleToStr(OrderOpenPrice()));
//SL 2 %0 Abstand vom mittlerem MA
// newstopLong=currma2-promilleAbstand*currma2;

if(newstopLong>OrderStopLoss() && newstopLong>vorherigerLong)
{
bool modify=OrderModify(OrderTicket(),OrderOpenPrice(), newstopLong,0,0,CLR_NONE);
if(DEBUGGING)
Print("newstopLong: "+DoubleToStr(newstopLong));
}
}
}//Ende OrderStopLoss
}

if(OrderType()==OP_SELL)
{
if(OrderStopLoss()==0)
bool modify=OrderModify(OrderTicket(),OrderOpenPrice(), OrderOpenPrice()+(slShort*pippoints),0,0,CLR_NONE) ;
if(OrderStopLoss()>0)
{
if(Ask<OrderOpenPrice()-minimalGewinn*pippoints)
{
newstopShort=Ask+(slShort*pippoints);
//newstopShort=currma2+promilleAbstand*currma2;
if(newstopShort<OrderStopLoss() && newstopShort<vorherigerShort)//&& newstop>OrderOpenPrice()
bool modify=OrderModify(OrderTicket(),OrderOpenPrice(), newstopShort,0,0,CLR_NONE);
}
}
}

}//Ende OrderSymbol

}//Ende For
vorherigerLong=newstopLong;
vorherigerShort=newstopShort;

}


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:40 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum