
Die Strategie basiert auf dem System des ausgeglichenen Handelns. Die Idee ist die Identifizierung von Short- und Multi-Head-Handelsmöglichkeiten, die mit dem Ausgeglichenen Handel von Equilibrium-Indikatoren und den Regeln des Geldmanagements kombiniert werden.
Die Strategie verwendet das klassische Gleichgewichtssystem als Basisreferenz. Die Hauptkomponenten sind:
Trendlinie: mittlere Linie. Sie zeigt die mittlere Tendenz.
Benchmark: Langfristige Linie. Sie reflektiert langfristige Trends.
Vorreiterlinie: Die Vorhersage der Zukunft. Sie reflektiert zukünftige Trends.
Zurückgebliebene Linien: Vergangene Linien.
Auf dieser Grundlage wurden folgende Verbesserungen vorgenommen:
Die Wahl der Zeitparameter folgt der Theorie der ungeraden Quadratur, um die Marktregeln besser zu erfüllen.
Erhöhung der Geldverwaltungsregeln, einschließlich Stop-Loss, Stop-Out und Positionsgröße, um das Handelsrisiko zu kontrollieren.
Der Umfang der Rückmeldung kann angepasst werden, um die Strategie-Tests umfassender zu gestalten.
Konkret beinhaltet die Mehrkopf-Eintrittsvoraussetzung, dass der Wechsel die Referenzlinie überschreitet, die Rückstandslinie über dem Preis liegt, der Preis über dem Cloud-Diagramm liegt, der Cloud-Diagramm die Zukunft der Bull-Markt-Vorhersage vorhersagt. Die Leerkopf-Eintrittsvoraussetzung verlangt, dass der Wechsel die Referenzlinie unter der Linie überschreitet, die Rückstandslinie unter dem Preis liegt usw.
Die Geldverwaltungsregeln verlangen einen Mehrkopfstop von 30%, einen Stop von 5%; ein Stop von mehr als 3 mal ATR, wenn der Leerkopfstop über der Drehlinie liegt.
Die Vorteile dieser Strategie in Kombination mit einer Gleichgewichtsindikator-Strategie und einer Kapitalverwaltung sind vor allem in folgenden Bereichen zu erkennen:
Das Gleichgewichtssystem selbst spiegelt kurz-, mittelfristig- und langfristige Trends wider.
Die Parameter für die Optimierung der Theorie der ungeraden Quadrate entsprechen den statistischen Regeln des Marktes.
Die Geldverwaltungsregeln wirken wirksam, um Einzelschaden zu kontrollieren und sicherzustellen, dass der Gewinn größer ist als der Schaden.
Die Rückmeldungsspanne kann angepasst werden, um den Test umfassender zu machen.
Insgesamt ist die Strategie sehr praktisch, da sie Trends, Parameterwahl und Risikokontrolle berücksichtigt. Sie ermöglicht die effektive Identifizierung von Chancen und die Kontrolle des Handelsrisikos.
Die wichtigsten Risiken dieser Strategie bestehen aus folgenden Aspekten:
Das Gleichgewichtssystem ist leicht zu betrügen, was zu unnötigen Eintritten führt. Es kann mit mehr Indikatoren kombiniert werden, um die Filtersignale zu filtern.
Die Regeln für den Stop-Loss-Stopp können leicht eingeschaltet werden, sodass ein dynamischer Stop-Loss-Stopp eingeführt werden kann.
Die Rückmeldedaten sind nicht vollständig und können die Wirksamkeit der Strategie überschätzen.
Diese Strategie ist besser geeignet für Trendmärkte, die möglicherweise schlecht abschneiden. Die Eingangsbedingungen können optimiert werden, um Trends zu erkennen.
Die Strategie kann vor allem in folgenden Bereichen optimiert werden:
Die Zulassungsqualität verbessert sich durch die Erhöhung der Filterung der Zulassungsindikatoren.
Dynamische Stop-Losses wie zum Beispiel Durchbruch der Durchschnittslinie N-mal ATR zum Stoppen, Rückgang der Unterstützung Stop-Losses.
Multi-Variante-Retest-Verifizierung. Strategische Stabilität auf mehr Märkten und längeren Datensätzen.
Trends zu unterscheiden und die Märkte zusammenzufassen. Eintrittsmechanismen zu optimieren, um sie an unterschiedliche Situationen anzupassen.
Die Strategie berücksichtigt verschiedene Faktoren wie Trends, Kapitalmanagement, die Verwendung von Gleichgewichtsindikatoren zur Identifizierung von Short-Line-Multiple-Trading-Gelegenheiten und die Verwendung von Risikokontrollregeln zur Kontrolle von Einzelschäden. Es handelt sich um eine erhebliche Verbesserung im Vergleich zum ursprünglichen Gleichgewichtssystem. Durch weitere Optimierung wird die Strategie zu einer sehr praktischen Short-Multi-Strategie werden.
/*backtest
start: 2023-11-27 00:00:00
end: 2023-12-27 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// Author Obarut
//@version=5
strategy("İchimoku Strategy With MM Short-Long",overlay=true,process_orders_on_close=true)
//Ichimoku Inputs
ts_period = input.int(8, minval=1, title="Tenkan-Sen Period")
ks_period = input.int(16, minval=1, title="Kijun-Sen Period")
ssb_period = input.int(24, minval=1, title="Senkou-Span B Period")
cs_offset = input.int(16, minval=1, title="Chikou-Span Offset")
ss_offset = input.int(8, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")
// Back Testing Period Inputs
fromday = input.int(defval=1,title="Start Date",minval=1,maxval=31)
frommonth = input.int(defval=1,title="Start Month",minval=1,maxval=12)
fromyear = input.int(defval=1980,title="Start Year",minval=1800, maxval=2100)
today = input.int(defval=1,title="En Date",minval=1,maxval=31)
tomonth = input.int(defval=1,title="End Month",minval=1,maxval=12)
toyear =input.int(defval=2100,title="End Year",minval=1800,maxval=2200)
start=timestamp(fromyear,frommonth,fromday,00,00)
finish=timestamp(toyear,tomonth,today,00,00)
timewindow= time>=start and time<=finish
//Ichimoku Componenets Calculation Function
middle(len) => math.avg(ta.lowest(len), ta.highest(len))
// Ichimoku Components
tenkan = middle(ts_period)
kijun = middle(ks_period)
senkouA = math.avg(tenkan, kijun)
senkouB = middle(ssb_period)
//Senkou Span Lines slopes
slopetenkan=(tenkan-tenkan[2])/tenkan
slopekijun= (kijun-kijun[2])/kijun
//Avarage True Range
atr = ta.atr(14)
//Senkou Span Lines
ss_above = math.max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_below = math.min(senkouA[ss_offset-1], senkouB[ss_offset-1])
// Price Distance From Tenkan
distance = close - tenkan
// Price Distance from Kijun
distancek = close - kijun
// Entry/Exit Signals
tk_cross_kijun_bull = tenkan >= kijun//Tenkan Sen is greater than or equal to Kijun Sen
tk_cross_kijun_bear = tenkan <= kijun//Tenkan Sen is smaller than or equal to Kijun Sen
cs_cross_bull = close > high[cs_offset-1]//Chikou is above the price
cs_cross_bear = close < close[cs_offset-1]//Chikou is below the price
price_above_kumo = close > ss_above//Price is above the Kumo cloud
pbsenkA = close < ss_above // Price is below the Senkou Span which is higher
pasenkB = close > ss_below// Price is above the Senkou span which is lower
price_below_kumo = close < ss_below // Price is below Kumo cloud
future_kumo_bull = senkouA > senkouB and (ta.roc(senkouA,3)>0) and (ta.roc(senkouB,3)>=0) // Future Kumo cloud is bullish
pbtenkan=close<tenkan
tkbelowkij=tenkan<kijun
future_kumo_bear = senkouA < senkouB//Future Kumo cloud is bearish
// Price Distance From Tenken
disbull = distance < 2*atr
//Price Distance From Kijun
disbullk = distancek < 3*atr
//Price Above Tenkan Condition
patk = close > tenkan
// Kijun Above Senkou Span Condition
kjasenkA = kijun > ss_above
// Price Below Kijun Condition
pbkijun = close < kijun
//Consolidation Tenkan and Kijun are inside Kumo cloud
kijuninsidekumo= kijun<ss_above and kijun>ss_below
tenkaninsidekumo= tenkan<ss_above and tenkan>ss_below
consolidation=kijuninsidekumo and tenkaninsidekumo
//Bullish Entry Condition
bullish= tk_cross_kijun_bull and cs_cross_bull and price_above_kumo and future_kumo_bull and disbull and patk
and not consolidation
//Bullish exit
bearish=tk_cross_kijun_bear and pbsenkA and cs_cross_bear and future_kumo_bear
or price_below_kumo
// Bearish Entry Condition
bearish2=tk_cross_kijun_bear and pbtenkan and tkbelowkij and tkbelowkij and cs_cross_bear and future_kumo_bear
if(bullish and timewindow and long_entry )
strategy.entry("Long Entry", strategy.long)
if(bearish2 and timewindow and short_entry)
strategy.entry("Short Entry",strategy.short)
// Bearish Condition
lastentryprice = strategy.opentrades.entry_price(strategy.opentrades - 1)
// Take Profit or Stop Loss in Bearish
exit1= (close-tenkan)>3*atr and slopetenkan<=0
exit2= (close-lastentryprice)>5*atr and close<(tenkan-0.04*atr)
if(bearish and timewindow and not short_entry or exit1 or exit2 or (close>1.30*lastentryprice ) or (close< 0.95*lastentryprice))
strategy.close("Long Entry")
if(bullish and timewindow and not long_entry)
strategy.close("Short Entry")
if(time>finish)
strategy.close_all("time up")
plot(tenkan, color=#0496ff, title="Tenkan-Sen")
plot(kijun, color=#991515, title="Kijun-Sen")
plot(close, offset=-cs_offset+1, color=#2e640e, title="Chikou-Span")
sa=plot(senkouA, offset=ss_offset-1, color=color.rgb(17, 122, 21), title="Senkou-Span A")
sb=plot(senkouB, offset=ss_offset-1, color=color.rgb(88, 8, 8), title="Senkou-Span B")
fill(sa, sb, color = senkouA > senkouB ? color.rgb(198, 234, 198) : color.rgb(208, 153, 153), title="Cloud color")