William binäre Index bewegliche Durchschnitte mit einem ersten Gleichgewichtsdiagramm Strategie

Schriftsteller:ChaoZhang, Datum: 2024-02-18 16:20:12
Tags:

威廉双指数移动平均线与一目均衡图策略

Übersicht

Die Strategie kombiniert zwei technische Indikatoren, die jeweils ihre Vorteile ausnutzen und die Genauigkeit der Handelsentscheidungen verbessern. Die beweglichen Durchschnitte des William-Doppelindex spiegeln den Trend der Preisänderungen vollständig wider, während der Gleichgewichtsdiagramm eine Trendwende im Voraus erkennen kann.

Grundsätze

Die bewegliche Durchschnittslinie des William-Doppelindex besteht aus einer schnellen und einer langsamen Linie. Die Formel für die Berechnung der schnellen Linie lautet: 2 (n/2 Perioden gewichtete bewegliche Durchschnittslinie) und die für die Berechnung der langsamen Linie lautet: n Perioden gewichtete bewegliche Durchschnittslinie.

Der erste Gleichgewichtsdiagramm besteht aus den vier Komponenten Wechsel, Bezugs, Vorläufer und Wolken. Dabei handelt es sich um ein Kaufsignal, ein Verkaufssignal, und um ein Verkaufssignal. Der Kaufsignal ist der Preis, der an der Oberseite des Wolkendiagramms durchbricht, und der Verkaufssignal, der an der Unterseite des Wolkendiagramms durchbricht.

Die Strategie kombiniert zwei Indikatorvorteile, die sich durch eine erste Signalentscheidung für den William-Indikator und eine zweite Signalentscheidung für eine erste Gleichgewichtsdiagramm-Bestätigung auszeichnen, die effektiv falsche Signale filtern und die Entscheidungsgenauigkeit verbessern.

Vorteile

  1. Der William-Doppelindex ist anfällig für die Reaktion der gleitenden Durchschnitte und kann die Richtung eines starken Trends bestimmen.
  2. Ein Gleichgewichtsdiagramm kann die Trendwende im Voraus bestimmen.
  3. Die Kombination der beiden Indikatoren kann sich gegenseitig bestätigen und falsche Signale reduzieren.
  4. Durch die Optimierung der Parameter kann es sich an verschiedene Zyklen und Sorten anpassen.

Risiken und Optimierungen

  1. In nicht-trendigen Märkten können häufige Signale entstehen.
  2. Bei der Überschneidung von schnellen und langsamen Linien gibt es eine gewisse Verzögerung.
  3. Es wird empfohlen, diese Kombination mit Trend- oder Volatilitätsindikatoren zu verwenden, um falsche Signale weiter zu vermeiden.

Zusammenfassung

Die Strategie nutzt die Vorteile des William-Indikators, um die Trendrichtung zu bestimmen und die Umkehrung im Voraus zu sehen. Sie verbessert die Präzision der Handelsentscheidungen erheblich. Sie optimiert die Strategie nachhaltig, um sie besser an Marktänderungen anzupassen.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy("Hull MA-X + Ichimoku Kinko Hyo", shorttitle="Hi", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)

keh=input(title="Double HullMA",defval=12, minval=1)
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(close[1],round(keh/2))
nma1=wma(close[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green

TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods")
KijunSenPeriods = input(24, minval=1, title="Kijun Sen Periods")
SenkouSpanBPeriods = input(51, minval=1, title="Senkou Span B Periods")
displacement = input(24, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
TenkanSen = donchian(TenkanSenPeriods)
KijunSen = donchian(KijunSenPeriods)
SenkouSpanA = avg(TenkanSen, KijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)
SenkouSpanH = max(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
SenkouSpanL = min(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
ChikouSpan = close[displacement-1]

Hullfast=plot(n1,color=c)
Hullslow=plot(n2,color=c)
plot(cross(n1, n2) ? n1:na, style = circles, color=b, linewidth = 4)
plot(cross(n1, n2) ? n1:na, style = line, color=d, linewidth = 3)
plot(TenkanSen, color=blue, title="Tenkan Sen", linewidth = 2)
plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3)
plot(close, offset = -displacement, color=orange, title="Chikou Span", linewidth = 2)
sa=plot (SenkouSpanA, offset = displacement, color=green,  title="Senkou Span A", linewidth = 2)
sb=plot (SenkouSpanB, offset = displacement, color=red,  title="Senkou Span B", linewidth = 3)
fill(sa, sb, color = SenkouSpanA > SenkouSpanB ? green : red)

longCondition = n1>n2 and close>n2 and close>ChikouSpan and close>SenkouSpanH and (TenkanSen>KijunSen or close>KijunSen)
if (longCondition)
    strategy.entry("Long",strategy.long)

shortCondition = n1<n2 and close<n2 and close<ChikouSpan and close<SenkouSpanL and (TenkanSen<KijunSen or close<KijunSen)
if (shortCondition)
    strategy.entry("Short",strategy.short)

closelong = n1<n2 and close<n2 and (TenkanSen<KijunSen or close<TenkanSen or close<KijunSen or close<SenkouSpanL)
if (closelong)
    strategy.close("Long")

closeshort = n1>n2 and close>n2 and (TenkanSen>KijunSen or close>TenkanSen or close>KijunSen or close>SenkouSpanH)
if (closeshort)
    strategy.close("Short")

Weitere Informationen