|
|
Şimdi ben bu süreç nasıl işliyor çok anlamıyorum ama son mesajın daha temiz oldu. Bir kere if döngü değil for kastediyorsun galiba.
Şimdi ben ama elma ile anlatsan bunu anlarım. (terimleri bilmiyorum aslında o yüzden oluyor) sana elma ile örnek vereyim sen de oradan yap ya da konuşa konuşa ortak bi yerde buluşalım.
Elmanın alış fiyatı 5.05. satın kademedeki aktif fiyat da 5. elmanın aktif fiyatı 5.05 olasıya kadar sen 100 er tane elma alma emiri gönderickesin. ilk başta sıfır elman var
bana öyle geliyor ki kademe bilgilerini her döngüde tekrar çekmeniz gerekiyor değil mi? aslında ben size en temiz kodu şöyle yazabilirim. Bana normal türkçe ile aşama aşama yazarsanız ben size kodu yazarım. Mesela üstte yazdığımda satis_kademe_aktif_fiyat ın her emir gönderdikten sonra güncellenmesi gerekir gibi geliyor bana. sizin örnek kodda ise tek bi sefer alınmış vaziyette.PHP Code:
int emir_kademe = 100;
int toplam_alis_miktari = 0;
int pozisyon_kontrol = 0;
float alis_fiyati = 5.05;
float satis_kademe_aktif_fiyat = 5;
while (elma_alis_fiyati < satis_kademe_aktif_fiyat){
Sistem.Emir.Miktar = emir_kademe;
toplam_alis_miktari += emir_kademe;
pozisyon_kontrol++;
}
satış kademe aktif fiyat, alış fiyatından küçük olduğu sürece çalışır bu döngü. küçük olmayı bıraktığı zaman döngüden çıkar her seferinde de kademe bilgilerini tekrar alır.PHP Code:
bool islem = true;
int emir_kademe = 0;
int toplam_alis_miktari = 0;
int pozisyon_kontrol = 0;
float alis_fiyati = 5.05;
float satis_kademe_aktif_fiyat = 0;
while(islem){
satis_kademe_aktif_fiyat = Spot_Derinlik.Asks[0].Price;
emir_kademe = Spot_Derinlik.Asks[0].Size
if (satis_kademe_aktif_fiyat < alis_fiyati){
Sistem.Emir.Miktar = emir_kademe;
toplam_alis_miktari += emir_kademe;
pozisyon_kontrol++;
}
else {
islem = false;
}
}
yaparsanız kodu yazın ben terimleri öğreneyim. bir dahaki sefere daha iyi çözeriz.
bool yerine do while da kullanabilirdik. hatta daha elegant bi çözüm olurdu.
tez yazıyorum bir yandan canım sıkılıyor kafam dağılsın diye bunlara bakıyorum ben de win-winPHP Code:
int emir_kademe = 0;
int toplam_alis_miktari = 0;
int pozisyon_kontrol = 0;
float alis_fiyati = 5.05;
float satis_kademe_aktif_fiyat = 0;
do{
satis_kademe_aktif_fiyat = Spot_Derinlik.Asks[0].Price;
emir_kademe = Spot_Derinlik.Asks[0].Size
if (satis_kademe_aktif_fiyat < alis_fiyati){
Sistem.Emir.Miktar = emir_kademe;
toplam_alis_miktari += emir_kademe;
pozisyon_kontrol++;
}
} while(satis_kademe_aktif_fiyat < alis_fiyati);
Herkese merhaba ,
Acaba herhangi bir txt dosyasından veri okumanın örnek bir kodu var mıdır ?
Robotta günlük maximum işlem limiti koymak istiyorum , hergün sadece 10 alım yapılabilir gibi ? Acaba bunu nasıl yapabilirim ?
|
|
text dosya okuma
var Semboller = File.ReadAllLines("C:\\robotsembolleri.txt").ToLis t();
for (var No=0; No < Semboller.Count; No++)
{
var Sembol = Semboller[No];
.
.
.
.
..
}
maksimum işlem limiti
var GerceklesenList = Sistem.ViopHesapGerceklesenEmirler();
if (GerceklesenList != null)
{
if (GerceklesenList.Count > 3)
{
// döngüye yakalandım, robotu durdur
Sistem.RobotStop();
// sms veya email gönder
}
}
Bear_Bull
@BearBull26
Yer İmleri