Düşen Kar Maskesi: KZ belirlenen dilimi aşağı keserse Flat, yukarı keserse sisteminizin sinyali.
Detaylı kontrol edilmedi. Test etmelisiniz.

PHP Code:
//Ayarlar
bool MaskeVar true;      // false ise sizin sistem, true ise Düşen Kar Maskesi Aktif.
var GrafikSistemAd"A1";  // Sisteminizin adını yazın. GetiriHesapla içermelidir.
int KzSeviyeMod=5;         // KZ al-sat çizgisi adımı.

//Veriler
var Sistem.GrafikVerileri;
var 
Sistem.GrafikFiyatSec("Açılış");

//Sistem Getir
var GrafikSistem Sistem.SistemGetir(GrafikSistemAdSistem.SembolSistem.Periyot);
var 
Yonler GrafikSistem.Yon;
var 
Seviyeler GrafikSistem.Seviye;
var 
GetiriList GrafikSistem.GetiriKZ

//Değişkenler
string SonYon="F";
string GercekSonYon="";
bool AksamFlatIslemde=false;
float MaxKZ=0;

//Maske Listesi
var MaskeList Sistem.Liste(0);
var 
Maske 1;
for (
int i 1V.Counti++)
{
    var 
SonGetiri=GetiriList[i];
    var 
OncekiGetiri=GetiriList[i-1];
    
MaxKZ Math.Max(MaxKZ,SonGetiri);

    for (
int j 0Math.Round(GetiriList[i] /KzSeviyeMod)+3j++)
    {
        var 
jSeviye=j*KzSeviyeMod
  
        if (
OncekiGetiri jSeviye && SonGetiri <= jSeviye   )
        {
            
Maske 0;
            break;
        }
        if (
OncekiGetiri jSeviye  && SonGetiri >= jSeviye )
        {
            
Maske 1;
            break;
        }
    }
    
MaskeList[i] = Maske;
}

//Çizgiler
Sistem.Cizgiler[0].Deger GetiriList;

var 
RenkListesi = new List<Color>();
for (
int i 0Sistem.BarSayisii++)   RenkListesi.Add(Color.Gray);
for (
int i 1V.Counti++)
{
    if (
MaskeList[i] == 0RenkListesi[i] = Color.Gray;
    else if (
MaskeList[i] == 1RenkListesi[i] = Color.Cyan;
}
Sistem.Cizgiler[0].RenkListesi RenkListesi;

//KZ Seviye Çizgileri(Sadece görsellik için, algoyu etkilemez, son Kz ye yakın 10 çizgi.)
if(MaskeVar )
{
var 
SeviyeCizgiCounter=10;
for (var 
=Math.Round(MaxKZ/KzSeviyeMod)+-10 Math.Round(MaxKZ/KzSeviyeMod)+i++)
{
    
SeviyeCizgiCounter+=1;
    
Sistem.Cizgiler[SeviyeCizgiCounter].ActiveBool true;
    
Sistem.Cizgiler[SeviyeCizgiCounter].Deger Sistem.Liste(i*KzSeviyeMod);
    
Sistem.Cizgiler[SeviyeCizgiCounter].Panel 2;
    
Sistem.Cizgiler[SeviyeCizgiCounter].Renk Color.IndianRed;
    
Sistem.Cizgiler[SeviyeCizgiCounter].Stil 2;
}
}


//Yön Kalıbı
for (int i Yonler.Counti++)
{

//Sistemde Yön var ise GercekSonYon'e ata.
if( Yonler[i] != ""GercekSonYon=Yonler[i];
   
   
//Akşam Flat: Maske aktif ise ve bir KZ dilimini aşağı kesti ise
   
if ( MaskeVar && MaskeList[i]==
   {  
     
//Zaten Flat'da ise İşlem Yok.
     
if(SonYon != "F")
     {
      
SonYon "F";
      
Sistem.Yon[i] = "F";
     }
   }
   
//Gerçek Sinyal: Gerçek sistemde Yön var ise ve SonYon ile GercekSonYon aynı değil ise
   
else if( SonYon != GercekSonYon  )
   {
      
SonYon GercekSonYon;
      
Sistem.Yon[i] = GercekSonYon;
      if(
Seviyeler[i]!=nullSistem.Seviye[i] = Seviyeler[i];
   }