HA Marktverzerrung

Schriftsteller:ChaoZhang, Datum: 2022-05-09 14:07:28
Tags:EMA

Hallo alle. Ich hoffe, dass es euch allen gut geht. Es ist lange her, dass ich mein erstes Drehbuch hier gepostet habe, und ich habe eine Menge Reaktionen davon bekommen.

Also dachte ich, ich sollte dieses Skript auch mit allen teilen, und jedem, der es nützlich finden könnte.

Hier ist, wie ich arbeite: Das Skript versucht, die allgemeine Richtung des Marktes zu bestimmen, indem es glatte Heiken Ashi Kerzen verwendet. Das Farbsystem (mit hellen und dunklen Farben) ist ein Versuch, starke Markt- und schwache Marktbedingungen zu erkennen. Es gibt auch einen Oszillator im Skript, aber für jetzt ist er nicht gezeichnet.

Ich habe in Betracht gezogen, die Neigung des Indikator-Graphs als Filter für die unterschiedlichen Marktbedingungen zu verwenden. Das Graph geht relativ flach in flat Märkten. Allerdings habe ich noch nichts dagegen getan. Vielleicht ein anderes Mal.

Wenn Sie einen Weg finden, dies zu nutzen, teilen Sie ihn bitte mit der Community im Kommentarbereich.

HINWEIS: Dies ist keineswegs eine Finanzberatung.Sie müssen Ihre Studien durchführen und einen Weg finden, diesen Indikator auf Ihren Handelsstil und Ihre Strategie anzuwenden.

Übrigens würde ich den Namen CEREBR für alle späteren Drehbücher verwenden, die ich ab jetzt veröffentliche.

Zurückprüfung

img


/*backtest
start: 2022-04-08 00:00:00
end: 2022-05-07 23:59:00
period: 10m
basePeriod: 1m
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/
// © Professeur_X

//@version=5

indicator(title='HA Market Bias', shorttitle='HA Market Bias', overlay=true)

tf(_res, _exp, gaps_on) =>
    gaps_on == 0 ? request.security(syminfo.tickerid, _res, _exp) : gaps_on == true ? request.security(syminfo.tickerid, _res, _exp, barmerge.gaps_on, barmerge.lookahead_off) : request.security(syminfo.tickerid, _res, _exp, barmerge.gaps_off, barmerge.lookahead_off)

ha_htf = ''
show_ha = input.bool(true, "Show HA Plot/ Market Bias", group="HA Market Bias")
ha_len = input(100, 'Period', group="HA Market Bias")
ha_len2 = input(100, 'Smoothing', group="HA Market Bias")

// Calculations {
o = ta.ema(open, ha_len)
c = ta.ema(close, ha_len)
h = ta.ema(high, ha_len)
l = ta.ema(low, ha_len)

haclose = tf(ha_htf, (o + h + l + c) / 4, 0)
xhaopen = tf(ha_htf, (o + c) / 2, 0)
haopen = na(xhaopen[1]) ? (o + c) / 2 : (xhaopen[1] + haclose[1]) / 2
hahigh = math.max(h, math.max(haopen, haclose))
halow = math.min(l, math.min(haopen, haclose))


o2 = tf(ha_htf, ta.ema(haopen, ha_len2), 0)
c2 = tf(ha_htf, ta.ema(haclose, ha_len2), 0)
h2 = tf(ha_htf, ta.ema(hahigh, ha_len2), 0)
l2 = tf(ha_htf, ta.ema(halow, ha_len2), 0)

ha_avg = (h2 + l2) / 2
// }
    
// Oscillator {
osc_len = input.int(7, "Oscillator Period", group="HA Market Bias")

osc_bias = 100 *(c2 - o2)
osc_smooth = ta.ema(osc_bias, osc_len)

sigcolor = 
  (osc_bias > 0) and (osc_bias >= osc_smooth) ? color.new(color.lime, 35) : 
  (osc_bias > 0) and (osc_bias < osc_smooth) ? color.new(color.lime, 75) : 
  (osc_bias < 0) and (osc_bias <= osc_smooth) ? color.new(color.red, 35) : 
  (osc_bias < 0) and (osc_bias > osc_smooth) ? color.new(color.red, 75) :
  na
// }

// Plots {
p_h = plot(h2, "Bias High", display=display.none, editable=false)
p_l = plot(l2, "Bias Low", display=display.none, editable=false)
p_avg = plot(ha_avg, "Bias Avergae", display=display.none, editable=false)



col = o2 > c2 ? color.red : color.lime

if o2 > c2
    strategy.entry("Enter Long", strategy.long)
else if o2 < c2
    strategy.entry("Enter Short", strategy.short)


Verwandt

Mehr