Tesekkurler hocam yardım için . Benim denemek istediğim birbirinden iki farklı sey var 1- Eğer algo sat vermesine rağmen, aldığı fiyat-robotun sat verdiği fiyat = ZARAR ise satmasın bu hısseyi portfoyde baska bir dosyada tutsun.
2-ikinci ayrı senaryo ise eğer algo sat verdiği fiyat, zarar ise satmasın tutsun takii minumum yüzde 2 kar görene kadar. Bu iki ayrı senaryoyu algoya nasıl aktarabiliriz?

Saygılar...

 Alıntı Originally Posted by 3c1a Yazıyı Oku
Sistem icerisine islem basina kar zarar takibi yapmanizi saglayacak bazi basit hesaplamalar ekleyip bunu sinyal sartlarina "&&" ile bir filtre gibi baglayabilirsiniz. Kar zarar hesabi ve buna bagli sinyal uretimine eski forumdan bir ornek:


PHP Code:
//%5 KAR görürse kar al, %2 zarar görürse zarar durdur örneğidir.
// kapanış fiyatlarını oku

var Sistem.GrafikFiyatSec("Kapanis"); 

// hareketli ortalamaları hesapla
var MA1 Sistem.MA(C"Exp"50);
var 
MA2 Sistem.MA(C"Exp"100);


// strateji
var SonYon "";
double Fiyat 0;
for (
int i 1i<Sistem.BarSayisii++)
{
if (
MA1[i-1] < MA2[i-1] && MA1[i] >= MA2[i] && SonYon != "A"// AL
{
Sistem.Yon[i] = "A"// alış
SonYon Sistem.Yon[i];
Fiyat C[i];
}
else if (
MA1[i-1] > MA2[i-1] && MA1[i] <= MA2[i] && SonYon != "S"// SAT
{
Sistem.Yon[i] = "S"// satış
SonYon Sistem.Yon[i];
Fiyat C[i];
}
else if (
SonYon == "A" && C[i] > Fiyat 1.10// % 5 kar realizasyonu
{
Sistem.Yon[i] = "F"// flat
SonYon Sistem.Yon[i];
}
else if (
SonYon == "A" && C[i] < Fiyat 0.94// % 2 stop
{
Sistem.Yon[i] = "F"// flat
SonYon Sistem.Yon[i];
}
else if (
SonYon == "S" && C[i] < Fiyat 0.90// % 5 kar realizasyonu
{
Sistem.Yon[i] = "F"// flat
SonYon Sistem.Yon[i];
}
else if (
SonYon == "S" && C[i] > Fiyat 1.04// % 2 stop
{
Sistem.Yon[i] = "F"// flat
SonYon Sistem.Yon[i];
}


// hesaplanan verileri çizgilere aktar ve açıklama ekle
Sistem.Cizgiler[0].Deger MA1;
Sistem.Cizgiler[1].Deger MA2