Ichimoku Kinko Hyo Mean Umkehrstrategie

Schriftsteller:ChaoZhang, Datum: 2023-09-24 13:11:38
Tags:

Übersicht

Diese Strategie integriert den Ichimoku Kinko Hyo-Indikator, den täglichen Ausbruch, den glatten gleitenden Durchschnitt von Gauss, den MACD und andere technische Indikatoren, um die Trendrichtung zu bestimmen und zuverlässige Einstiegspunkte zu finden.

Strategie Logik

  1. Ichimoku Kinko Hyo Urteil: Überschreitung der Konversionslinie über der Basislinie ist ein bullisches Signal.

  2. Das tägliche Breakout-Urteil: Der heutige Abschluss höher als der gestrige Abschluss bei einer bestimmten Schwelle bestätigt den Aufschwung.

  3. Gaussian-glattes MA-Urteil: Preiskreuzung über MA ist bullisch.

  4. MACD-Urteil: DIFF-Crossover über DEA ist bullisch.

  5. Kombination der oben genannten Faktoren zur Bestimmung der Trendänderung und des Einstiegspunktes.

Vorteile

  1. Mehrfache Indikatoren verbessern die Genauigkeit.

  2. Bestätigungen innerhalb eines Tages und in mehreren Zeitrahmen vermeiden einen falschen Ausbruch.

  3. Ichimoku Kinko Hyo bestimmt den Trend zuverlässig.

  4. Gaussian-glättete MA hat eine geringe Verzögerung.

  5. Der MACD beurteilt die Veränderung der Dynamik.

Risiken

  1. Mehrere gleichzeitige Bedingungen reduzieren die Wahrscheinlichkeit von Einträgen.

  2. Falsche Indikatorparameter können falsche Signale erzeugen.

  3. Innertags- und mehrzeitliche Signale können in Konflikt geraten.

  4. Es gibt immer noch falsche Ausbrüche, die Verluste verursachen.

Mögliche Lösungen:

  1. Die Parameter anpassen, um die Einträge zu erhöhen.

  2. Optimierung der Parameter für verschiedene Produkte und Zeitrahmen.

  3. Koordinate Signale aus verschiedenen Zeitrahmen.

  4. Verwenden Sie Stop Loss, um Verluste zu begrenzen.

Optimierungsrichtlinien

  1. Versuche verschiedene Indikatorenkombinationen für bessere Signale.

  2. Fügen Sie maschinelles Lernen hinzu, um Urteile aus mehr Daten zu verbessern.

  3. Hinzufügen von Trenddetektion, um gegentrendige Trades zu vermeiden.

  4. Optimieren Sie das Geldmanagement für Robustheit.

  5. Optimieren Sie den Stop-Loss und nehmen Sie Profit für die Rentabilität.

Zusammenfassung

Diese Strategie integriert mehrere Indikatoren, um die Trendrichtung zu bestimmen, und greift auf hochwahrscheinliche bullische Signale ein, die über Zeitrahmen und Indikatoren hinweg verifiziert werden.


/*backtest
start: 2022-09-17 00:00:00
end: 2023-09-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend
strategy("Ichimoku + Daily-Candle_X + HULL-MA_X + MacD", shorttitle="٩(̾●̮̮̃̾•̃̾)۶", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=26, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0,precision=6)
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold (0.001)", type=float, step=0.0001)
SL = input(defval=-500.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=25000.00, title="Target Point in $", type=float, step=1)
ot=1
p = input(7, minval=1, title="Length")
pi=3.1415926535
w=2*pi/p
beta = (1 - cos(w))/(pow(1.414,2.0/3) - 1)
alfa = -beta + sqrt(beta*beta + 2*beta)
ret1= pow(alfa,4)*close+4*(1-alfa)*nz(ret1[1])-6*pow(1-alfa,2)*nz(ret1[2])+4*pow(1-alfa,3)*nz(ret1[3])-pow(1-alfa,4)*nz(ret1[4])
ret2= pow(alfa,4)*close[1]+4*(1-alfa)*nz(ret1[1])-6*pow(1-alfa,2)*nz(ret1[2])+4*pow(1-alfa,3)*nz(ret1[3])-pow(1-alfa,4)*nz(ret1[4])
confidence=(security(syminfo.tickerid, 'D', close)-security(syminfo.tickerid, 'D', close[1]))/security(syminfo.tickerid, 'D', close[1])
conversionPeriods = input(9, minval=1, title="Conversion Line Periods")
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(26)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength)
aMACD = ema(MACD, MACD_Length)
closelong = ret1<ret2 and close<ret2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
longCondition = ret1>ret2 and strategy.opentrades<ot and confidence>dt and close>ret2 and leadLine1>leadLine2 and open<LS and MACD>aMACD
if (longCondition)
    strategy.entry("Long",strategy.long)
//                         /L'-, 
//                               ,'-.           /MM . .             /  L '-, 
//     .                    _,--dMMMM\         /MMM  `..           /       '-, 
//     :             _,--,  )MMMMMMMMM),.      `QMM   ,<>         /_      '-,' 
//     ;     ___,--. \MM(    `-'   )M//MM\       `  ,',.;      .-'* ;     .' 
//     |     \MMMMMM) \MM\       ,dM//MMM/     ___ < ,; `.      )`--'    / 
//     |      \MM()M   MMM)__   /MM(/MP'  ___, \  \ `  `. `.   /__,    ,' 
//     |       MMMM/   MMMMMM( /MMMMP'__, \     | /      `. `-,_\     / 
//     |       MM     /MMM---' `--'_ \     |-'  |/         `./ .\----.___ 
//     |      /MM'   `--' __,-  \""   |-'  |_,               `.__) . .F. )-. 
//     |     `--'       \   \    |-'  |_,     _,-/            J . . . J-'-. `-., 
//     |         __  \`. |   |   |         \    / _           |. . . . \   `-.  F 
//     |   ___  /  \  | `|   '      __  \   |  /-'            F . . . . \     '` 
//     |   \  \ \  /  |        __  /  \  |  |,-'        __,- J . . . . . \ 
//     |    | /  |/     __,-  \  ) \  /  |_,-     __,--'     |. .__.----,' 
//     |    |/    ___     \    |'.  |/      __,--'           `.-;;;;;;;;;\ 
//     |     ___  \  \     |   |  `   __,--'                  /;;;;;;;;;;;;. 
//     |     \  \  |-'\    '    __,--'                       /;;;;;;;;;;;;;;\ 
// \   |      | /  |      __,--'                             `--;;/     \;-'\ 
//  \  |      |/    __,--'                                   /  /         \  \ 
//   \ |      __,--'                                        /  /           \  \ 
//    \|__,--'                                          _,-;M-K,           ,;-;\ 
//                                                     <;;;;;;;;           '-;;;; 
//a1=plot(n1,color=c)
//a2=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 = 4)
//plot(conversionLine, color=#0496ff, title="Conversion Line")
//plot(baseLine, color=#991515, title="Base Line")
//plot(close, offset = -displacement, color=#459915, title="Lagging Span")
//p1=plot (leadLine1, offset = displacement, color=green,  title="Lead 1")
//p2=plot (leadLine2, offset = displacement, color=red,  title="Lead 2")
//fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
// remove the "//" from before the plot script if want to see the indicators on chart

Mehr