
Die Lion-Crack-Equilibrium-Strategie ist eine einfache Short-Line-Handelsstrategie, die auf der Kreuzung von Ebenen basiert. Die Strategie verwendet hauptsächlich zwei Moving Averages, um mehr zu machen, wenn der schnelle Moving Average von unten durch den langsamen Moving Average geht.
Die Strategie verwendet zwei Moving Averages: den Fast Moving Average Small MAPeriod und den Slow Moving Average BigMAPeriod. Die beiden Moving Averages bilden einen Preiskanal, der als Fast Moving Average unterhalb des Kanals und als Slow Moving Average oberhalb des Kanals verläuft.
Konkret berechnet die Strategie zunächst den schnellen Moving Average SmallMA und den langsamen Moving Average BigMA. Dann berechnet sie den Buy-In-Line BuyMA unterhalb des Kanals, der den Slow-Moving-Average ((100 - percentBelowToBuy) %) entspricht. Wenn der schnellen Moving Average SmallMA die Buy-In-Line BuyMA von unten durchquert, macht man einen Plus; wenn der Profit 1% erreicht oder nach 7 K-Linien, die nicht profitabel sind, aber eine Position halten, platziert man die Position.
Zusammenfassend kann man sagen, dass die Strategie die “Lion’s Crack” der Gleichung erfasst, also die Chance, den unteren Teil des Kanals zu durchbrechen, um kurzfristig Gewinne zu erzielen. Sie setzt gleichzeitig Stop-and-Stop-Bedingungen, um das Risiko eines einzelnen Handels zu kontrollieren.
Diese Strategie hat folgende Vorteile:
Die Konzepte sind einfach, leicht zu verstehen und umzusetzen. Die Verwendung von Doppelgleichslinienkreuzungen ist eine der grundlegendsten Technikindikatorstrategien.
Die Strategie nutzt die in TradingView enthaltenen Rückmeldungsfunktionen ohne zusätzliche Implementierung.
Starke Visualisierung. Mit TradingView können Handelssignalpunkte und Rückmeldestatistiken direkt auf den Diagrammen angezeigt werden.
Risikokontrolle. Die Strategie setzt Stop-and-Stop-Loss-Bedingungen, um die Verluste eines einzelnen Handels effektiv zu kontrollieren.
Flexible Anpassung: Der Benutzer kann die Durchschnittsparameter und andere technische Indikatoren an seine Bedürfnisse anpassen, um die Strategie besser an verschiedene Sorten und Handelsstile anzupassen.
Die Strategie birgt auch folgende Risiken:
Es kann zu viel Signal erzeugt werden. Die Doppel-Gleichlinien-Strategie ist anfällig für mehrere Fehlsignale bei der Zusammenstellung.
Einfache Indikator-Abhängigkeit. Die Signalqualität kann schlechter sein, wenn nur eine lineare Kreuzung zur Entscheidungsfindung verwendet wird und andere Faktoren ignoriert werden.
Parameteroptimierung ist sehr schwierig. Die Optimierung von Parameterkombinationen mit mittlerer Zeitspanne erfordert eine große Anzahl von Berechnungen und es ist nicht leicht, die optimalen Parameter zu finden.
Rückspürungsschwankung. Einfache, doppelte, gleichlautende Strategien sind oft besser als die Festplatte.
Schwierigkeiten beim Stop Loss. Das Festlegen eines Stop Loss-Punktes ist schwierig, um sich an veränderte Verhältnisse anzupassen.
Diese Strategie kann optimiert werden durch:
In Kombination mit anderen Indikatoren filtern Sie Signale wie Handelsvolumen, Volatilität usw., um ein ungültiges Signal bei der Berechnung zu vermeiden.
Trendbasierte Beurteilungen werden hinzugefügt, um einen Abweichhandel zu vermeiden. Eine längerperiodische Durchschnittslinie kann zur Beurteilung der Trendrichtung hinzugefügt werden.
Mit Hilfe von maschinellem Lernen optimal ausgesuchte Parameter. Mit Hilfe von Sequential Parameter Optimization oder genetischen Algorithmen wird automatisch eine optimale Parameterkombination gefunden.
Erhöhung der Stop-Loss-Strategie, wie z. B. Stop-Tracking, Stop-Moving, um die Stop-Loss-Strategie flexibler zu gestalten.
Optimierung der Eintrittszeit. Andere Kennzahlen können verwendet werden, um eine effektivere Eintrittszeit zu identifizieren.
In Kombination mit einer quantitativen Untersuchung wird die Rückmeldung der Parameterkombination optimiert und die Stabilität erhöht.
Entwicklung eines automatisierten Handelssystems zur Optimierung von Parameterpaletten und strategischen Beurteilungen mit Hilfe von programmierten Transaktionen.
Die Lion Crack Equilibrium Strategie ist eine sehr gute Einstiegsstrategie für Anfänger. Sie verwendet ein einfaches Gleichgewichtskreuzprinzip, setzt Stop-Loss-Regeln und kann kurzfristige Kursbewegungen erfassen. Die Strategie ist leicht zu verstehen und zu implementieren.
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TraderHalai
// This script was born out of my quest to be able to display strategy back test statistics on charts to allow for easier backtesting on devices that do not natively support backtest engine (such as mobile phones, when I am backtesting from away from my computer). There are already a few good ones on TradingView, but most / many are too complicated for my needs.
//
//Found an excellent display backtest engine by 'The Art of Trading'. This script is a snippet of his hard work, with some very minor tweaks and changes. Much respect to the original author.
//
//Full credit to the original author of this script. It can be found here: https://www.tradingview.com/script/t776tkZv-Hammers-Stars-Strategy/?offer_id=10&aff_id=15271
//
// This script can be copied and airlifted onto existing strategy scripts of your own, and integrates out of the box without implementation of additional functions. I've also added Max Runup, Average Win and Average Loss per trade to the orignal script.
//
//Will look to add in more performance metrics in future, as I further develop this script.
//
//Feel free to use this display panel in your scripts and strategies.
//Thanks and enjoy! :)
//@version=5
// strategy("Strategy BackTest Display Statistics - TraderHalai", overlay=true, default_qty_value= 5, default_qty_type = strategy.percent_of_equity, initial_capital=10000, commission_type=strategy.commission.percent, commission_value=0.1)
//DEMO basic strategy - Use your own strategy here - Jaws Mean Reversion from my profile used here
source = input(title = "Source", defval = close)
smallMAPeriod = input(title = "Small Moving Average", defval = 2)
bigMAPeriod = input(title = "Big Moving Average", defval = 8)
percentBelowToBuy = input(title = "Percent below to buy %", defval = 1)
smallMA = ta.sma(source, smallMAPeriod)
bigMA = ta.sma(source, bigMAPeriod)
buyMA = ((100 - percentBelowToBuy) / 100) * ta.sma(source, bigMAPeriod)[0]
buy = ta.crossunder(smallMA, buyMA)
if(buy)
strategy.entry("BUY", strategy.long)
if(strategy.openprofit >= strategy.position_avg_price * 0.01) // 1% profit target
strategy.close("BUY")
if(ta.barssince(buy) >= 7) //Timed Exit, if you fail to make 1 percent in 7 candles.
strategy.close("BUY")
///////////////////////////// --- BEGIN TESTER CODE --- ////////////////////////
// COPY below into your strategy to enable display
////////////////////////////////////////////////////////////////////////////////
// strategy.initial_capital = 50000
// // Declare performance tracking variables
// drawTester = input.bool(true, "Draw Tester")
// var balance = strategy.initial_capital
// var drawdown = 0.0
// var maxDrawdown = 0.0
// var maxBalance = 0.0
// var totalWins = 0
// var totalLoss = 0
// // Prepare stats table
// var table testTable = table.new(position.top_right, 5, 2, border_width=1)
// f_fillCell(_table, _column, _row, _title, _value, _bgcolor, _txtcolor) =>
// _cellText = _title + "\n" + _value
// table.cell(_table, _column, _row, _cellText, bgcolor=_bgcolor, text_color=_txtcolor)
// // Custom function to truncate (cut) excess decimal places
// truncate(_number, _decimalPlaces) =>
// _factor = math.pow(10, _decimalPlaces)
// int(_number * _factor) / _factor
// // Draw stats table
// var bgcolor = color.new(color.black,0)
// if drawTester
// if barstate.islastconfirmedhistory
// // Update table
// dollarReturn = strategy.netprofit
// f_fillCell(testTable, 0, 0, "Total Trades:", str.tostring(strategy.closedtrades), bgcolor, color.white)
// f_fillCell(testTable, 0, 1, "Win Rate:", str.tostring(truncate((strategy.wintrades/strategy.closedtrades)*100,2)) + "%", bgcolor, color.white)
// f_fillCell(testTable, 1, 0, "Starting:", "$" + str.tostring(strategy.initial_capital), bgcolor, color.white)
// f_fillCell(testTable, 1, 1, "Ending:", "$" + str.tostring(truncate(strategy.initial_capital + strategy.netprofit,2)), bgcolor, color.white)
// f_fillCell(testTable, 2, 0, "Avg Win:", "$"+ str.tostring(truncate(strategy.grossprofit / strategy.wintrades, 2)), bgcolor, color.white)
// f_fillCell(testTable, 2, 1, "Avg Loss:", "$"+ str.tostring(truncate(strategy.grossloss / strategy.losstrades, 2)), bgcolor, color.white)
// f_fillCell(testTable, 3, 0, "Profit Factor:", str.tostring(truncate(strategy.grossprofit / strategy.grossloss,2)), strategy.grossprofit > strategy.grossloss ? color.green : color.red, color.white)
// f_fillCell(testTable, 3, 1, "Max Runup:", str.tostring(truncate(strategy.max_runup, 2 )), bgcolor, color.white)
// f_fillCell(testTable, 4, 0, "Return:", (dollarReturn > 0 ? "+" : "") + str.tostring(truncate((dollarReturn / strategy.initial_capital)*100,2)) + "%", dollarReturn > 0 ? color.green : color.red, color.white)
// f_fillCell(testTable, 4, 1, "Max DD:", str.tostring(truncate((strategy.max_drawdown / strategy.equity) * 100 ,2)) + "%", color.red, color.white)
// // --- END TESTER CODE --- ///////////////