Merhaba arkadaşlar, Bu Örnek robot kodu, spottan spota emir atıyor. Bunu Spot okuyup, Viopa emir atması için nasıl değişiklik yapmamız gerekiyor ? Yardımcı olursanız sevinirim.
PHP Code:
var bakiye = 1000; // 1000 TL tutar kadar al/sat
var Periyot = "5";
var Sozluk = new List<string>();
Sozluk.Add("IMKBH'EREGL");
Sozluk.Add("IMKBH'ODAS");
Sozluk.Add("IMKBH'DOHOL");
Sozluk.Add("IMKBH'SASA");
for (int No = 0; No < Sozluk.Count; No++)
{
var Sembol = Sozluk[No]; //sistemin sinyal ürettiği grafik sembolü
var V = Sistem.GrafikVerileriniOku(Sozluk[No], Periyot);
// robot pozisyon kontrolü için anahtar belirle
//var Anahtar = Sistem.Name + " " + Sembol;
var Anahtar = Sistem.Name + ", " + Sozluk[No] + ", " + Periyot;
// pozisyon tablosundan pozisyon miktarını al
double IslemFiyat = 0;
DateTime IslemTarih;
var Rezerv = "";
var Pozisyon = Sistem.PozisyonKontrolOku(Anahtar, out IslemFiyat, out IslemTarih, out Rezerv);
// sembolün son fiyatını oku
var SonFiyat = (decimal)Sistem.SonFiyat(Sozluk[No]);
// sembolün Son Fiyatı ile Kaç Lot alacağını hesaplar.
var Miktar = (int)Math.Round((bakiye / (SonFiyat*100)), 0); // Math.Round ile virgül sonrası kaç basamak kullanılacağını ideade eder
// emir parametreleri
Sistem.EmirSembol = Sembol;
Sistem.EmirSuresi = "GUN"; // GUN, SNS, IKG
Sistem.EmirTipi = "Piyasa"; // KPY, KIE, GIE, SAR
Sistem.EmirFiyatTipi = "Piyasa"; // PYS, LMT, EIF, KAP
Sistem.EmirMiktari = Miktar;
//Strateji Tanımlamaları
var vk = Sistem.GrafikFiyatOku(V, "Kapanis");
var Sonbar = V.Count - 2;
var ma = Sistem.MA(vk, "Exp", 10);
var ma1 = Sistem.MA(vk, "Exp", 21);
var Long = ma[Sonbar] > ma1[Sonbar] ; // Strateji AL Şartı
var Flat = ma[Sonbar] < ma1[Sonbar] ; // Strateji SAT Şartı
if (Long) // Strateji AL Şartı
{
if (Pozisyon == 0)
{
Sistem.EmirMiktari = (double)Miktar;
Rezerv = "Alış Yapıldı !";
Sistem.EmirIslem = "Alış";
Sistem.EmirAciklama = Rezerv;
Sistem.EmirGonder();
Sistem.PozisyonKontrolGuncelle(Anahtar, Miktar, (double)SonFiyat, Rezerv);
}
}
if (Flat)
{
if (Pozisyon > 0)
{
Sistem.EmirMiktari = (double)Math.Abs(Pozisyon);
Rezerv = "Satış Yapıldı !";
Sistem.EmirIslem = "Flat";
Sistem.EmirAciklama = Rezerv;
Sistem.EmirGonder();
Sistem.PozisyonKontrolGuncelle(Anahtar, 0, (double)SonFiyat, Rezerv);
}
}
}
[/QUOTE]
Yer İmleri