Kurgunuz hatalı. Bu kod çalıştığı andan itibaren belirtilen süre içerisinde belirtilen kademe kadar fiyat hareket ederse alır, sonrasında aynı sürede şarta bağlı olmadan aldığını satar.
Printable View
Kurgunuz hatalı. Bu kod çalıştığı andan itibaren belirtilen süre içerisinde belirtilen kademe kadar fiyat hareket ederse alır, sonrasında aynı sürede şarta bağlı olmadan aldığını satar.
pozisyon >0 oldugu için aldığı an satar bunun farkındayım....
derdim emir gönderme al sat kısmı düzgün çalışırmı ....
1 lot ile canlıda test ettim kademelerde hareket oldugunda robot emirler penceresinde alıyor aldığı an tekrar satıyor (fakat mesaj penceresinde FİYATSIZ EMİR VERİLEMEZ seklinde al sat mesajları geliyor.)
robot emir penceresinde al sat yaparken bist gerçekleşen emir penceresinde canlıda alım satım yok....
İDEAL KOD YAZMADA YENİYİM ....
hatam nerede ....TŞK
Bu ay hacim; 01.02.2024 03:00 itibariyle sıfır. Bir ay hacim sıfır değil normal olarak.
Bu hafta hacim; Pazartesi, salı, çarşamba günü seansları tamamlandı ve fakat 1 hafta hacim ile aynı.
https://i.hizliresim.com/4kih4e4.pngPHP Code:
//Bir hafta hacim için
var HacimBirHafta = Sistem.HacimBirHafta(Sistem.Sembol);
//geri dönüş değerinde yanlışlık var.
Kod://YGT:=0.6/100;//KYN:=Mov( (H+L+C)/3,3,E);
//AD:=If((KYN*(1-YGT))>PREV,KYN*(1-YGT),If((KYN*(1+YGT))<PREV,KYN*(1+YGT),PREV));
//BU:=0.05/100;
//SU:=Mov( (H+L+C)/3,3,E) ;
//DD:=If((SU*(1-BU))>PREV,SU*(1-BU),If((SU*(1+BU))<PREV,SU*(1+BU),PREV));
//Int(AD/0.025+0.50)*0.025;Int(DD/0.025+0.50)*0.025
var V = Sistem.GrafikVerileri;
var C = Sistem.GrafikFiyatSec("Kapanis");
var L = Sistem.GrafikFiyatSec("Dusuk");
var H = Sistem.GrafikFiyatSec("Yuksek");
var O = Sistem.GrafikFiyatSec("Acilis");
double ygt = 0.8f/100; // orjinal = 0.8
double bu = 0.2f/100; // orjinal = 0.2
var hlc = Sistem.Liste(0);
var ad = Sistem.Liste(0);
var dd = Sistem.Liste(0);
for (int i = 1; i < Sistem.BarSayisi; i++)
{
hlc[i] = (H[i] + L[i] + C[i]) / 3;
}
var kyn = Sistem.MA(hlc, "Exp", 3);
for (int i = 2; i < Sistem.BarSayisi; i++)
{
ad[i] = kyn[i] * (float)(1-ygt) > ad[i-1] ? kyn[i] * (float)(1-ygt) : kyn[i] * (float)(1+ygt) < ad[i-1] ? kyn[i] * (float)(1+ygt) : ad[i-1];
ad[i] = (int)(ad[i]/0.025f+0.5f)*0.025f;
dd[i] = kyn[i] * (float)(1-bu) > dd[i-1] ? kyn[i] * (float)(1-bu) : kyn[i] * (float)(1+bu) < dd[i-1] ? kyn[i] * (float)(1+bu) : dd[i-1];
dd[i] = (int)(dd[i]/0.025f+0.5f)*0.025f;
}
Sistem.Cizgiler[0].Deger = ad;
Sistem.Cizgiler[1].Deger = dd;
var SonYon = "";
var Sinyal = "";
for (int i=1; i < Sistem.BarSayisi; i++)
{
if (dd[i] > ad[i]) Sinyal = "A";
if (dd[i] < ad[i]) Sinyal = "F";
if (Sinyal != SonYon && Sinyal != "")
{
SonYon = Sinyal;
Sistem.Yon[i] = SonYon;
}
}
teşekkürler...
ideal kılavuzunu inceledim ama ne kadar denediysem olmadı ... emir gönderme koşulları ile ilgili net bir açıklama bulamadım veya ben anlayamadım.....gönderdiğim örnekte alım emri ve satış için atıyorum aldığı yerden 10 kademe sonrasına satış yazamıyorum ....örnek varsa sevinirim teşekkürler...
Noyan Bey dostum fiyat adımını (Price Step) al kullanmayı dene; ayrıca kademe durumunu da sorgulayabileceğin verileri bulabilirsin.
Belki 10 kademe yukarısı ya da aşağısı başka bir fiyat adımına geliyordur.. yanlış fiyat yazmamak için..PHP Code:
public void Yüzeysel_Veri_Oku()
{
//cxBasic YV = oSistem.YuzeyselVeriOku(oSembol);
var YV = oSistem.YuzeyselVeriOku(oSembol);
boolBürütTakasta = (YV.FI182 != 0) ? true : false;
boolDevreKesiciListesinde = (YV.Durum != "2") ? true : false;
//oSistem.Debug("DevreKesiciListesinde : " + oSembol + " : " + YV.Durum);
//13 ise devre kesici, 1 ise seans sonu vb..
İSİM = YV.Description;
var GünlükVeriler = oSistem.GrafikVerileriniOku(oSembol, "G");
SonGünKapanış = GünlükVeriler[GünlükVeriler.Count - 1].Close;
ÖncekiGünKapanış = GünlükVeriler[GünlükVeriler.Count - 2].Close;
GünlükFiyatDeğişimi = 100.0f * (SonGünKapanış - ÖncekiGünKapanış) / ÖncekiGünKapanış;
SonGünHacim = GünlükVeriler[GünlükVeriler.Count - 1].Vol;
ÖncekiGünHacim = GünlükVeriler[GünlükVeriler.Count - 2].Vol;
if (!boolSorguHissesi)
{
oSistem.Debug("");
//oSistem.Debug("IndexType: " + YV.IndexType);// 100 = xu100, 110 = xu050, 111 = xu030
////YV.GetRootWithGrup();
////YV.ReadDipnot();
//oSistem.Debug("SonGünKapanış: " + SonGünKapanış.ToString());
//oSistem.Debug("ÖncekiGünKapanış: " + ÖncekiGünKapanış.ToString());
//oSistem.Debug("GünlükFiyatDeğişimi: " + GünlükFiyatDeğişimi.ToString());
//oSistem.Debug("SonGünHacim: " + SonGünHacim.ToString());
//oSistem.Debug("ÖncekiGünHacim: " + ÖncekiGünHacim.ToString());
//oSistem.Debug("OpenDay: " + YV.OpenDay.ToString());
//oSistem.Debug("HighDay: " + YV.HighDay.ToString());
//oSistem.Debug("LowDay: " + YV.LowDay.ToString());
//oSistem.Debug("LastPrice: " + YV.LastPrice.ToString());
//oSistem.Debug("ClosePrice: " + YV.ClosePrice.ToString());
//oSistem.Debug("PrevCloseDay: " + YV.PrevCloseDay.ToString());
//oSistem.Debug("YüzdeDeğişim/NetPerDay: " + YV.NetPerDay.ToString());
//oSistem.Debug("Taban/LimitDown: " + YV.LimitDown.ToString());
//oSistem.Debug("Tavan/LimitUp: " + YV.LimitUp.ToString());
//oSistem.Debug("Sector: " + YV.Sector);
//oSistem.Debug("SubMarket: " + YV.SubMarket);
//oSistem.Debug("MarketCode: " + YV.MarketCode);
//oSistem.Debug("Description: " + YV.Description);
//oSistem.Debug("Prefix: " + YV.Prefix);
//oSistem.Debug("MarketMakerCode: " + YV.MarketMakerCode);
//oSistem.Debug("Symbol: " + YV.Symbol);
//oSistem.Debug("OutString: " + YV.OutString);
//oSistem.Debug("Valor: " + YV.Valor);
//oSistem.Debug("Risk: " + YV.Risk);
//oSistem.Debug("Isin: " + YV.Isin);
//oSistem.Debug("Broker: " + YV.Broker);
//oSistem.Debug("SessionName: " + YV.SessionName);
//oSistem.Debug("Action: " + YV.Action);
//oSistem.Debug("PrevSymbol: " + YV.PrevSymbol);
//oSistem.Debug("StartDate: " + YV.StartDate);
//oSistem.Debug("Root: " + YV.Root);
//oSistem.Debug("GrupNo: " + YV.GrupNo);
//oSistem.Debug("GrupName: " + YV.GrupName);
//oSistem.Debug("SessionName: " + YV.SessionName);
//oSistem.Debug("GrupNo: " + YV.GrupNo);
//oSistem.Debug("GrupName: " + YV.GrupName);
//oSistem.Debug("Yontem: " + YV.Yontem);
//oSistem.Debug("Seri: " + YV.Seri);
//oSistem.Debug("Time: " + YV.Time);
//oSistem.Debug("Direction: " + YV.Direction);
//oSistem.Debug("Date: " + YV.Date);
//oSistem.Debug("Dipnot: " + YV.Dipnot);
//oSistem.Debug("DengeLotFark: " + YV.DengeLotFark.ToString());
//oSistem.Debug("DengeLastFarkY: " + YV.DengeLastFarkY.ToString());
//oSistem.Debug("DengeLastFark: " + YV.DengeLastFark.ToString());
//oSistem.Debug("DengeAskKalan: " + YV.DengeAskKalan.ToString());
//oSistem.Debug("DengeBidKalan: " + YV.DengeBidKalan.ToString());
//oSistem.Debug("DengeMiktar: " + YV.DengeMiktar.ToString());
//oSistem.Debug("DengeFiyat: " + YV.DengeFiyat.ToString());
//oSistem.Debug("AvrRate: " + YV.AvrRate.ToString());
//oSistem.Debug("MaxRate: " + YV.MaxRate.ToString());
//oSistem.Debug("MinRate: " + YV.MinRate.ToString());
//oSistem.Debug("LastVol: " + YV.LastVol.ToString());
//oSistem.Debug("MarketMakerAsk: " + YV.MarketMakerAsk.ToString());
//oSistem.Debug("MarketMakerBid: " + YV.MarketMakerBid.ToString());
//oSistem.Debug("LastSize: " + YV.LastSize.ToString());
//oSistem.Debug("LastPrice: " + YV.LastPrice.ToString());
//oSistem.Debug("PrevPrice: " + YV.PrevPrice.ToString());
//oSistem.Debug("MaksSatanId: " + YV.MaksSatanId.ToString());
//oSistem.Debug("MaksSatanMaliyet: " + YV.MaksSatanMaliyet.ToString());
//oSistem.Debug("MaksAlanMaliyet: " + YV.MaksAlanMaliyet.ToString());
//oSistem.Debug("MaksAlanNet: " + YV.MaksAlanNet.ToString());
//oSistem.Debug("MaksSatanNet: " + YV.MaksSatanNet.ToString());
//oSistem.Debug("MaksAlanId: " + YV.MaksAlanId.ToString());
oSistem.Debug("Satış\tWaitingAskSize: " + YV.WaitingAskSize.ToString("#,###") + "\t" + "WaitingAskRate: %" + YV.WaitingAskRate.ToString("#.0"));
oSistem.Debug("Alış\tWaitingBidSize: " + YV.WaitingBidSize.ToString("#,###") + "\t" + "WaitingBidRate: %" + YV.WaitingBidRate.ToString("#.0"));
oSistem.Debug("");
oSistem.Debug("PriceStep: " + YV.PriceStep.ToString() +" " + "Boş kademe: " + ((YV.AskPrice - YV.BidPrice) / YV.PriceStep).ToString("#"));
oSistem.Debug("Satış\tAskPrice: " + YV.AskPrice.ToString() + "\t" + "AskSize: " + YV.AskSize.ToString("#,###") + "\t" + "AskVol: " + YV.AskVol.ToString("#,###"));
oSistem.Debug("Alış\tBidPrice: " + YV.BidPrice.ToString() + "\t" + "BidSize: " + YV.BidSize.ToString("#,###") + "\t" + "BidVol: " + YV.BidVol.ToString("#,###"));
//oSistem.Debug("BidTime: " + YV.BidTime);
//oSistem.Debug("WaitingBidWavr: " + YV.WaitingBidWavr.ToString());
//oSistem.Debug("");
//oSistem.Debug("AskTime: " + YV.AskTime);
//oSistem.Debug("AskVol: " + YV.AskVol.ToString());
//oSistem.Debug();
//oSistem.Debug("WaitingAskWavr: " + YV.WaitingAskWavr.ToString());
//oSistem.Debug("AskPriceDec: " + YV.AskPriceDec.ToString());
oSistem.Debug("Saat: " + oSistem.Saat);
oSistem.Debug("SEMBOL: " + oSembol);
oSistem.Debug("__________________________________________");
}
}
https://i.hizliresim.com/l5xxljx.png