Matriks Destek ve Yardım Platformu

Matriks Ürünleri ile ilgili tüm sorularınız için bizlere buradan ulaşabilirsiniz. Daha önce sorulan soruları ve verilen cevapları ilgili sekmelerden ve arama üzerinden inceleyebilirsiniz. Sağ taraftaki kategoriler üzerinden İlgilendiğiniz özelliklerle ilgili soruları filtreleyebilirsiniz. Soru ve cevapları sosyal medyada paylaşabilirsiniz. Sorduğunuz ve cevapladığınız soruların ve yorumlarınızın aldığı oylar üzerinden puan kazanırsınız. Puan sistemine bağlı kampanyamızla ücretsiz kullanım avantajlarından faydalanabilirsiniz.

0

Tarama formülü

Soruldu
Görüntülenme
335 görüntülenme
Durum
Cevaplandı
// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/
// © LuxAlgo

//@version=5
indicator("McDonald's Pattern [LuxAlgo]",overlay=true,max_lines_count=500,max_bars_back=500)
length = input(30)
from_start = input(true,'Use First Bar As Vertex')

css = input(#FFC72C,'Shape Color',group='Style')
min_width = input(2,'Width',inline='b',group='Style')
max_width = input(30,'',inline='b',group='Style')

colored_area = input(true,'Area',inline='c',group='Style')
css_dn = input(#DA291C,'',inline='c',group='Style')
css_up = input(#0cb51a,'',inline='c',group='Style')
show_score = input(true,"McDonald's Score")
//----
os = 0
src = close
n = bar_index
var float valtop = na
var float valbtm = na
var tb = table.new(position.top_right,1,2)
//------------------------------------------------------------------------------
var Y = array.new_float(0)
var X = array.new_int(0)

a = math.max(close,open)
b = math.min(close,open)

upper = ta.highest(a,length)
lower = ta.lowest(b,length)

os := a[length] > upper ? 0 : b[length] < lower ? 1 : os[1]

btm = os == 1 and os[1] != 1
top = os == 0 and os[1] != 0

if top
    array.unshift(Y,a[length])
    array.unshift(X,n-length)
if btm
    array.unshift(Y,b[length])
    array.unshift(X,n-length)
//----
plotchar(top ? high[length] : na,"Top",'',location.abovebar,offset=-length,size=size.tiny)
plotchar(btm ? low[length] : na,"Bottom",'',location.belowbar,offset=-length,size=size.tiny)
//----
a_y = 0.,b_y = 0.
c_y = 0.,d_y = 0.
if barstate.islast
    dist_a = 0.
    dist_b = 0.
    
    for l in line.all
        line.delete(l)
    if from_start
        array.unshift(Y,close)
        array.unshift(X,n)
    
    max = array.max(array.slice(Y,0,5))
    min = array.min(array.slice(Y,0,5))
    val = array.get(Y,0) < array.get(Y,1) ? min : max
    //----
    dist1 = array.get(X,0) - array.get(X,2)
    
    a_y := array.get(Y,2),b_y := array.get(Y,1)
    c_y := array.get(Y,1),d_y := array.get(Y,0)
    
    float y1 = na
    for i = 0 to dist1
        k = i/dist1
        y2 = a_y*math.pow(1 - k,3) + 3*b_y*math.pow(1 - k,2)*k + 3*c_y*(1 - k)*math.pow(k,2) + d_y*math.pow(k,3)
        dist_a += math.abs(y2 - val)
        
        r = (array.get(X,0) - array.get(X,1))/dist1
        w = min_width + math.abs(i/dist1 - r)*(max_width-min_width)
        line.new(array.get(X,2)+i,y2,array.get(X,2)+i-1,y1,color=css,width=w)
        y1 := y2
    //----
    dist2 = array.get(X,2) - array.get(X,4)
    
    a_y := array.get(Y,4),b_y := array.get(Y,3)
    c_y := array.get(Y,3),d_y := array.get(Y,2)
    
    y1 := na
    for i = 0 to dist2
        k = i/dist2
        y2 = a_y*math.pow(1 - k,3) + 3*b_y*math.pow(1 - k,2)*k + 3*c_y*(1 - k)*math.pow(k,2) + d_y*math.pow(k,3)
        dist_b += math.abs(y2 - val)
        
        r = (array.get(X,3) - array.get(X,4))/dist2
        w = min_width + math.abs(i/dist2 - r)*(max_width-min_width)
        line.new(array.get(X,4)+i,y2,array.get(X,4)+i-1,y1,color=css,width=w)
        y1 := y2
        
    if colored_area
        area_css = array.get(Y,0) < array.get(Y,1) ? css_dn : css_up
        box.delete(box.new(array.get(X,4),max,
          array.get(X,0),min,
          border_color=na,
          bgcolor=color.new(area_css,80))[1])

    if from_start
        array.shift(Y)
        array.shift(X)
    //----
    a = dist_a/dist1
    b = dist_b/dist2
    score = (1 - math.abs(a/(a+b) - .5)*2)*100
    
    if show_score
        table.cell(tb,0,0,"McDonald's Score",text_color=color.gray)
        table.cell(tb,0,1,str.tostring(score,'#.##')+'%',text_color=color.gray)
// I'm lovin' it

Merhabalar sarı çizgiye temas hisseleri nasıl tarama yapabilirim teşekkürler 

Paylaş

1 Cevap

Cevabınız

Cevap yazmak için giriş yapın.Giriş yapKayıt ol