Originally Posted by
legolas
arkadaslar selam,
yine yeniden robot calistirmaya basladim.
ancak soyle bir sorum var, diyelim 100 lot ile al/sat yapiyorum. ancak reel durum hosuma gitti ve robot islemlerini 5000 lot'a cikarmak istiyorum.
boyle bir durumda yapilmasi gereken islemler nelerdir?
"Pozisyon Kontrol" ekraninda manual degistirebilirim ancak SAT sinyali verince sanki hata yermisim gibime geliyor.
selam,
iki yöntemle yapabilirsiniz:
birinci yöntem:
1-aradaki fark kadar pozu elle açın. (100 lot ile oynuyorsanız ve son yön A ise 4900 alın elle.)
2-pozisyon kontrol bölümündeki ilgili anahtarınızı güncel rakam ile değiştirin. (anahtarı 5000 yapın.)
ikinci yöntem:
emir gönder işlemlerinizi robotda kendiniz yazdıysanız;
1- ilgili kısımda aşağıdakine benzer bir kod düzenlemesi yapın.
2- lot değişikliği gerektiğinde; paramdaki lotu değiştirirseniz sonraki ilk sinyalde sistem kendisi ayarlar herşeyi otomatik. özetle kodlarınız aşağıdaki gibi ise sadece 100 değerini 5000 yapıyorsunuz bu kadar.
kodu denemedim, fikir vermesi için yazdım.
ayrıca:
tek satır robot kodu kullanıyorsanız, sadece koddaki lotu değiştirmeniz yeterli olabilir, yani pozla hiç oynamadan sadece koddaki lotu düzenleyeceksiniz. ikinci yöntemde kodladığımız mantığın aynısı.
tek satır robot kodu kullanan arkadaşlar var ise onlar teyit edebilirler bunu.
PHP Code:
var Lot = Convert.ToInt32(Sistem.Parametreler[3]); // Düzenleyin!
var Pozisyon = Sistem.PozisyonKontrolOku("Anahtar"); // Düzenleyin!
if (
SonYon == "A" && Pozisyon <= 0
)
{
double EmirLot = ((Pozisyon == 0) ? Lot : (Lot + Math.Abs(Pozisyon)));
Sistem.PozisyonKontrolGuncelle("Anahtar", Lot); // Düzenleyin!
Sistem.EmirIslem = "Alış";
Sistem.EmirMiktari = EmirLot;
//Diğer emir kodlarını ekleyin buralara.
Sistem.EmirGonder();
}
else
if (
SonYon == "S" && Pozisyon >= 0
)
{
double EmirLot = ((Pozisyon == 0) ? Lot : (Lot + Math.Abs(Pozisyon)));
Sistem.PozisyonKontrolGuncelle("Anahtar", -Lot); // Düzenleyin!
Sistem.EmirIslem = "Satış";
Sistem.EmirMiktari = EmirLot;
//Diğer emir kodlarını ekleyin buralara.
Sistem.EmirGonder();
}
else
if (
SonYon == "F" && Pozisyon != 0
)
{
double EmirLot = Math.Abs(Pozisyon);
string EmirYon = ((Pozisyon > 0) ? "Satış" : "Alış");
Sistem.PozisyonKontrolGuncelle("Anahtar", 0); // Düzenleyin!
Sistem.EmirIslem = EmirYon;
Sistem.EmirMiktari = EmirLot;
//Diğer emir kodlarını ekleyin buralara.
Sistem.EmirGonder();
}
Yer İmleri