
Diese Strategie ermöglicht den automatischen Handel durch die Identifizierung von Stopp-Formen, die Tracking von Handelssignalen und die Kombination von Stopp-Stop-Loss-Logik. Wenn eine Umkehrform erkannt wird, werden zusätzliche Leerpositionen getätigt, um die Stop-Position oder die Nach-Loss-Plating zu erreichen.
Identifizieren Sie die Threshold-Form: Es wird angenommen, dass ein Handelssignal verfolgt wird, wenn die Größe der Threshold-Einheit kleiner ist als die eingestellte Threshold-Wert und der Eröffnungs- und der Schließungspreis gleich sind.
Mehr Leerlauf: Wenn ein Umkehrschwung erkannt wird, wird mehr gelegt, wenn der Schlusskurs am Vortag höher ist als an den beiden vorherigen Tagen; Leerlauf, wenn der Schlusskurs am Vortag niedriger ist als an den beiden vorherigen Tagen.
Stopp-Loss: Stopp, wenn der Preis den Eintrittspreis erreicht und den Stopp-Punkt erreicht; Stopp, wenn der Preis den Eintrittspreis erreicht und den Stopp-Punkt verringert; Stopp, wenn der Preis den Stopp-Loss erreicht.
Die Anlage ist in der Lage, Wendepunkte zu erfassen und die Effektivität von Handelssignalen zu erhöhen.
In Kombination mit einem Stop-Loss-Mechanismus können Risiken effektiv kontrolliert, Gewinne gesperrt und Verluste verhindert werden.
Automatische Transaktionen ohne menschliche Intervention reduzieren die Transaktionskosten und erhöhen die Effizienz.
Es gibt eine gewisse Subjektivität in der Form von Urteilen und es kann zu Fehleinschätzungen kommen.
Die Stop-Loss-Punkte sind falsch eingestellt, was dazu führen kann, dass größere Ereignisse verpasst werden oder dass der Stop-Loss vorzeitig erfolgt.
Die Strategieparameter müssen ständig getestet und optimiert werden, da dies zu einer Überpassung führen kann.
Optimierung der Formen von Zitrone, in Kombination mit mehr K-Linien-Indikatoren zur Verbesserung der Genauigkeit der Beurteilung.
Verschiedene Handelsvarianten testen, Stopp-Stopp-Loss-Punkte anpassen und Parameter optimieren.
Das ist ein weiterer Schritt in Richtung einer neuen Strategie, die sich durch die Erweiterung der Algorithmen und der Strategie-Logik auszeichnet.
Positionsverwaltungsmodul, das die Positionen dynamisch anhand der Referenzindikatoren anpasst.
Die Strategie ist einfach zu verstehen und hat einen gewissen praktischen Wert. Die Genauigkeit der Erkennung und der Raum für die Optimierung der Parameter müssen jedoch noch verbessert werden, und es wird empfohlen, weitere Tests und Optimierungen durchzuführen, bevor eine Anwendung auf dem Markt empfohlen wird.
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 30/01/2019
// This is a candlestick where the open and close are the same.
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title = "Doji Backtest", overlay = true)
input_takeprofit = input(10, title="Take Profit pip", step=0.01)
input_stoploss = input(10, title="Stop Loss pip", step=0.01)
input_minsizebody = input(0.5, title="Min. Size Body pip", step=0.01)
barcolor(abs(close - open) <= input_minsizebody ? open == close ? yellow : na : na)
possell = 0.0
posbuy = 0.0
pospricebuy = 0.0
pospricesell = 0.0
barcolornow = blue
pospricesell := close< close[2] ? abs(close - open) <= input_minsizebody ? open == close ? close : nz(pospricesell[1], 0) : nz(pospricesell[1], 0) : nz(pospricesell[1], 0)
possell := iff(pospricesell > 0 , -1, 0)
barcolornow := possell == -1 ? red: posbuy == 1 ? green : blue
pospricesell := iff(low <= pospricesell - input_takeprofit and pospricesell > 0, 0 , nz(pospricesell, 0))
pospricesell := iff(high >= pospricesell + input_stoploss and pospricesell > 0, 0 , nz(pospricesell, 0))
pospricebuy := close > close[2] ? abs(close - open) <= input_minsizebody ? open == close ? close : nz(pospricebuy[1], 0) : nz(pospricebuy[1], 0) : nz(pospricebuy[1], 0)
posbuy := iff(pospricebuy > 0 , 1, 0)
barcolornow := posbuy == 1 ? green: barcolornow
pospricebuy := iff(high >= pospricebuy + input_takeprofit and pospricebuy > 0, 0 , nz(pospricebuy, 0))
pospricebuy := iff(low <= pospricebuy - input_stoploss and pospricebuy > 0, 0 , nz(pospricebuy, 0))
barcolor(barcolornow)
if (posbuy == 0 and possell == 0)
strategy.close_all()
if (posbuy == 1)
strategy.entry("Long", strategy.long)
if (possell == -1)
strategy.entry("Short", strategy.short)
pospricebuy := iff(high <= pospricebuy + input_takeprofit and pospricebuy > 0, 0 , nz(pospricebuy, 0))
pospricebuy := iff(low >= pospricebuy - input_stoploss and pospricebuy > 0, 0 , nz(pospricebuy, 0))
pospricesell := iff(low <= pospricesell - input_takeprofit and pospricesell > 0, 0 , nz(pospricesell, 0))
pospricesell := iff(high >= pospricesell + input_stoploss and pospricesell > 0, 0 , nz(pospricesell, 0))