Alıntı Originally Posted by BJK Coccinella Yazıyı Oku
Kapanış (C)'ın, 2'den 21'e kadar 20 adet EMA değerlerinin üstünde kaldığı durumlarda "1" diğer seçeneklerde "0" değerini alabilecek bir explorer formülü yazılabilir mi?
Metastock'ta hazır moving average ribbons indikatörü mevcut..

Ben üst kısmını sizin için ema ve space olarak düzelttim..

Space 20 olana kadar devam edip tamamlarsanız neden olmasın

İf'lerin başına e1, e2 gibi değişken atayarak devam ederseniz 20. emanın değişkenini 1 ve 0 olarak düzenleyebilirsiniz

KOD>>>

Periods := Input("Time Periods", 1, 1000, 2);
Spacing := Input("Spacing", 1, 100,1);
Ribbons := Input("Ribbons", 1, 20, 20);
BaseMA := Mov(C,Periods+(Spacing*0),e);

If(Ribbons>=2,Mov(C,Periods+(Spacing*1),e),BaseMA) ;
If(Ribbons>=3,Mov(C,Periods+(Spacing*2),e),BaseMA) ;
If(Ribbons>=4,Mov(C,Periods+(Spacing*3),e),BaseMA) ;
If(Ribbons>=5,Mov(C,Periods+(Spacing*4),e),BaseMA) ;
If(Ribbons>=6,Mov(C,Periods+(Spacing*5),e),BaseMA) ;
If(Ribbons>=7,Mov(C,Periods+(Spacing*6),e),BaseMA) ;
If(Ribbons>=8,Mov(C,Periods+(Spacing*7),e),BaseMA) ;
If(Ribbons>=9,Mov(C,Periods+(Spacing*8),e),BaseMA) ;
If(Ribbons>=10,Mov(C,Periods+(Spacing*9),e),BaseMA );
If(Ribbons>=11,Mov(C,Periods+(Spacing*10),e),BaseM A);
If(Ribbons>=12,Mov(C,Periods+(Spacing*11),e),BaseM A);