(Saya baru dalam hal ini, jadi maaf untuk kode sialnya.)

Saya mencoba mendapatkan jumlah total persilangan rata-rata bergerak yang terjadi selama periode waktu tertentu, membandingkan angka itu dengan 'hitungan' yang ditentukan pengguna dan kemudian memplot label ke bagan di area tempat persilangan itu terjadi. (idenya adalah 'banyak persilangan dalam waktu singkat = pasar sideways')

Inilah yang saya dapatkan sejauh ini. Terima kasih atas bantuannya, sebelumnya!!

    testvar3 = input(title="CompareNum", type=input.integer, defval=2, group="TestGroup")// Compaire number
testvar0 = input(title="inputfunctestLONG", type=input.integer, defval=10, group="TestGroup") //Look back period
MehValue0 = longCross ? 1 : 0 //convert Bool to int
longCrosses = sum(MehValue0,testvar0) // Calculate the number of crosses over a given period
testvar1 = input(title="inputfunctestSHORT", type=input.integer, defval=10, group="TestGroup") //look back period
MehValue1 = shortCross ? 1 : 0 
shortCrosses = sum(MehValue1,testvar1)
shortLongSum = longCrosses + shortCrosses //total number of crosses

LabelCrossTest = if (longCross or shortCross and shortLongSum > testvar0)
    label.new(x=bar_index, y=na, yloc=yloc.abovebar, text="Sideways Detection Test", style=label.style_label_down, color=color.green, size=size.normal)
0
Michael Sparks 26 Mei 2021, 03:43

1 menjawab

Jawaban Terbaik

Seharusnya berfungsi sebagaimana mestinya jika Anda baru saja mengubah bagian terakhir

if (longCross or shortCross) and shortLongSum > testvar3
    label.new(x=bar_index, y=na, yloc=yloc.abovebar, text="Sideways Detection Test", style=label.style_label_down, color=color.green, size=size.normal)

Sebaiknya beri nama variabel yang lebih deskriptif agar lebih mudah melacak apa yang Anda lakukan. Jadi, alih-alih testvar3, threshold atau minimumCrosses dll

0
rumpypumpydumpy 26 Mei 2021, 03:40