Ça se repête à l.infinie, ici nous avons un "range" remplie à raz bord de moments où les acteurs ont accumulés, puis manipulés pour placer des gros ordres et distribuer la liquiditée.

Bien que l indicateur soit assez eficasse pour trouver les points d'entrées et de sortie ( basé sur le rsi, la sma), il peux encore se tromper car il n est pas conscient de ces 3 phases.

seul 2 points ont étés trouvés, or nous souhaitons trouver tous les points, pour suivre les variations.

Le programme pourrait êtres ainsi :

Si rsi < 35 et descente dur 13 minute > montee sur 13 minutes et prix = le plus bas sur 13 minutes

Avec ca nous avons des points d entrées, mais qu il faut surveiller.

Si prix descent sur 1 minutes

50% de chance Attendre , découper en lot le trade.

Si le prix remonte sur 1 minute, il peux y avoir manipulation

50% de rentrer en achat.

En plaçant plisieurs petits ordres et en les surveillants on peux atteindre un objectif de gain certain.

Tentative d apprentissage des 3 phases de façon algorytjmique.

Nous avons en premier une accumulation.

👉 zone incertaines, relative à la tendance

👉 contre zone

👉 en réalité il suffit dvavoir un point d entrée et de calculer la tendance

Tendance = math.sum( close-close[33]) > 0? True:false

👉 puis de repérer un changement de tendance c est la manipulation

👉 trouver le point le plus bas, avec rsi < 35, et descente > montée

Pour repérer le changement de tendance on peux simplement comparer 2 tendances

TendanceManipulation = math.sum( close-close[33]) > 0? True:false

Tendance = math.sum( close[33]-close[66]) > 0? True:false

Si Tendance et TendanceManipulation== false

Ou Tendance==false et TendanceManipulation==true

La phase dcaccumulation est finie, les gros ordres doivent êtres placés

Sinon

Attendre

L'Avenir est l hybridation entre precision algorythmiquevet trading d'Analyse.

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/

// © jeromehorus

//@version=6

indicator("bot de range market 4.0" ,overlay=true)

plage= input.int(13,"sommets")

clos = ta.sma(close,13)

float dm =0

float dd =0

for i = 0 to plage

m= clos-clos[1]>0?true:false

diff= math.abs(clos-clos[1])

dm := m? dm+diff:dm

dd := m==false? dd+diff:dd

bas = ta.lowest(close,13)

haut = ta.highest(close,13)

rsip = input.int(13,"plage rsi")

rsivb = input.int(35,"valeur surVente")

rsivh = input.int(70,"valeur de sur achat")

rsiv = ta.rsi(close,rsip)

eml = input.int(1,"longeur ema")

ema200 = ta.ema(close,eml)

ema666 = ta.ema(close,666)

m6 = ema666 - ema666[1] >0? true:false

plot( ema200, color= m6? color.green:color.red)

m2 = ema200 - ema200[1] >0? true:false

base = ta.lowest(close,33)

haute = ta.highest( close,33)

plot( close, color= close> haute[13] ? color.green: close< base[13]? color.red: color.yellow,linewidth=5)

if (close==bas and dd>dm and rsiv< rsivb)// and m2==false)

label.new(bar_index, low, "B", style=label.style_label_up, color=close>haute[13]?color.green:color.rgb(0,122,0), textcolor=color.white)

//alert("Le prix est bas, possibilité d achat ? ", alert.freq_once)

alert("SIGNAL BAS",freq=alert.freq_once_per_bar_close)

if (close==haut and dm>dd and rsiv > rsivh)// and m2)

label.new(bar_index, high, "S", style=label.style_label_down, color=close<base[13]?color.red:color.rgb(255,55,55), textcolor=color.white)

//alert("Le prix est haut, possibilité de vente ? ", alert.freq_once)

alert("SIGNAL HAUT",freq=alert.freq_once_per_bar_close)

plot(close)