Hallo Leute
Wollte die “Break-out Big Candle”- Strategie programmieren. (https://www.whselfinvest.ch/de/trading_strategien_42_Break-out_Big_Candle.php)
Der Backtest ist jedoch negativ, nicht wie auf der o.g. Homepage.
Womöglich liegt der Fehler im Code, hoffe jemand findet ihn:
(Anmerkung: Wenn ich den Spread deaktiviere wird kein einziger Trade angezeigt? Wie ist das möglich?)
DEFPARAM Flatbefore = 080000
DEFPARAM Flatafter = 210000
DEFPARAM CUMULATEORDERS = false
ONCE StartTime = 080000
ONCE EndTime = 210000
l10 = Close[1] > Open[1]
l20 = (Close[1] - Open[1]) >= (AverageTrueRange[24](close)*1.75)
l30 = High > High[1]
l40 = Close > ExponentialAverage[6](close)
l50 = Close > highest[6](high)[1]
Exitlow = Close < Lowest[6](low)[1]
TPlong = (((Close[1] - Close[1])/100)*75) + Close[1]
s10 = Open[1] > Close[1]
s20 = (Open[1] - Close[1]) >= (AverageTrueRange[24](close)*1.75)
s30 = Low < Low[1]
s40 = Close < ExponentialAverage[6](close)
s50 = Close < lowest[6](low)[1]
Exithigh = Close > highest[6](high)[1]
TPshort = (((Open[1]-Close[1])/100)*75) - Close[1]
// Bedingungen zum Einstieg in Long-Positionen
IF NOT OnMarket AND Time >= StartTime AND Time <= EndTime AND l10 AND l20 AND l30 AND l40 AND l50 THEN
BUY 1 CONTRACTS AT MARKET
ENDIF
// Bedingungen zum Ausstieg von Long-Positionen
If LongOnMarket AND (BarIndex - TradeIndex) > 6 OR Exitlow OR TPlong THEN
SELL AT MARKET
ENDIF
// Bedingungen zum Einstieg in Short-Positionen
IF NOT OnMarket AND Time >= StartTime AND Time <= EndTime AND s10 AND s20 AND s30 AND s40 AND s50 THEN
SELLSHORT 1 CONTRACTS AT MARKET
ENDIF
// Bedingungen zum Ausstieg aus Short-Positionen
IF ShortOnMarket AND (BarIndex - TradeIndex) > 6 OR Exithigh OR TPshort THEN
EXITSHORT AT MARKET
ENDIF
Hallo skubidu,
Sehr nett von Ihnen, Ihren Code zu dieser Übersetzung von einer anderen Handelsplattform zu teilen.
Ich habe nicht getestet, welches Instrument und timeframe gehandelt werden soll? Vielen Dank.
Die BO Big Candle Strategie wird auf den 10-Minuten Chart angewendet. (siehe o.g. Link)
Die Strategie soll anscheinenden bei Indizes wie auch auf Forex funktionieren.
Der Backtest zeigt jedoch ein ganz anderes Bild als auf der WHS Homepage. Vielleicht findet jemand den Fehler in meinem Code.
Es gibt bereits eine Strategie einfacher als diese in die Bibliothek geschrieben, scheint nicht die gleiche zu sein, auch wenn sie den gleichen Namen hat ..
http://www.prorealcode.com/prorealtime-trading-strategies/big-candle-strategy/
Ich habe die vollständige Beschreibung der Strategie lesen und littles Unterschiede sehen, ich komme so schnell wie möglich mit der korrigierten Version zurück.
Hier ist der modifizierte Code, aber die Ergebnisse sind nicht gut. Der einzige fehlende Filter im Code ist, was sie den “High-Low-Kanal” nennen, aber ich glaube nicht, dass es einen Unterschied machen würde ..
DEFPARAM Flatbefore = 080000
DEFPARAM Flatafter = 210000
DEFPARAM CUMULATEORDERS = false
ONCE StartTime = 080000
ONCE EndTime = 210000
l10 = Close[1] > Open[1]
l20 = (Close[1] - Open[1]) >= (AverageTrueRange[24](close)*1.75)
l30 = High > High[1]
l40 = Close > ExponentialAverage[6](close)
l50 = Close > highest[6](high)[1]
Exithigh = highest[6](high)[1]
TPlong = ABS(close[1]-open[1])*0.75
s10 = Open[1] > Close[1]
s20 = (Open[1] - Close[1]) >= (AverageTrueRange[24](close)*1.75)
s30 = Low < Low[1]
s40 = Close < ExponentialAverage[6](high)
s50 = Close < lowest[6](low)[1]
Exitlow = Lowest[6](low)[1]
TPshort = ABS(close[1]-open[1])*0.75
// Bedingungen zum Einstieg in Long-Positionen
IF NOT OnMarket AND Time >= StartTime AND Time <= EndTime AND l10 AND l20 AND l30 AND l40 AND l50 THEN
BUY 1 CONTRACTS AT MARKET
ENDIF
// Bedingungen zum Ausstieg von Long-Positionen
If LongOnMarket then
if (BarIndex - TradeIndex) > 6 THEN
SELL AT MARKET
ENDIF
SELL AT ExitLow STOP
SET TARGET PROFIT TPlong
endif
// Bedingungen zum Einstieg in Short-Positionen
IF NOT OnMarket AND Time >= StartTime AND Time <= EndTime AND s10 AND s20 AND s30 AND s40 AND s50 THEN
SELLSHORT 1 CONTRACTS AT MARKET
ENDIF
// Bedingungen zum Ausstieg aus Short-Positionen
IF ShortOnMarket then
if (BarIndex - TradeIndex) > 6 THEN
EXITSHORT AT MARKET
ENDIF
EXITSHORT At ExitHigh STOP
SET TARGET PROFIT TPshort
endif