Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
#Sipariş Hesaplamaları ve Hesap Bilgileri Güncellemeleri - Aç
(Bir keresinde sordum - ama yine de yardıma ihtiyacım var)
Hesaplama işlevlerimi OnTick() veya Start() ile çağırıyorum ve bunlar Chart Symbol Ticks'e bağlı.
Ve EA'mın hesaplama güncellemelerini Ticks ve Symbols'e ( / Chart - Ticks, Symbols ) bağlı değil nasıl yapabilirim diye araştırmaya başladım.
Sadece 'Tüm Sipariş Hesaplamaları ve Hesap Bilgileri'ni yapmaya çalışıyorum, güncellemeleri 'Terminal > Ticaret' ile senkronize edecek ( / gerçek zamanlı) .
Lütfen bana yardım et, teşekkürler.
Şimdiden teşekkürler.
OnTimer()
https://www.mql5.com/en/docs/basis/function/events#ontimer
Ve SymbolName(x,1);Ve SymbolName(x,1);
Güzel yorum hangisi işime yaradı çok teşekkürler.
Şimdi OnTick() ve OnTimer() kullanıyorum, bu işlevlerin ikisi de benim için iyi çalışıyor. (EA'lar için OnTimer()'ı ilk kez kullanıyorum)
---
Ayrıca Ticks'i denemek isterim. Sadece 'Terminal > Ticaret' ve mevcut grafik sembolündeki hangi sembollerden ( Çiftler ) olan Kenelere ihtiyacım var. Bu SymbolName() bana yardımcı olabilir mi?
Lütfen bana yardım edin veya bana tavsiye verin, bunu nasıl yapabilirim?
Herşey gönlünce olsun.
{
Print(i," Symbol: ",SymbolName(i,1)," Ask: ",MarketInfo(SymbolName(i,1),MODE_ASK)," Bid: ",MarketInfo(SymbolName(i,1),MODE_BID));
}
{
Print (i, " Symbol: " , SymbolName (i, 1 ), " Ask: " , MarketInfo ( SymbolName (i, 1 ), MODE_ASK ), " Bid: " , MarketInfo ( SymbolName (i, 1 ), MODE_BID ));
}
Harika bir örnek ve benim için gerçekten faydalı bir yorum , çok teşekkürler dostum.
Kenelerin Ticaret Çiftlerinden / Sembollerden gelmesi mümkün mü, lütfen?
Çünkü Piyasa İzleme neredeyse her zaman tüm sembolleri gösteriyor - özellikle İşlemler için yeni iyi Çiftler arıyorum ve bu nedenle ' Terminal > İşlem ' sembollerini / çiftlerini nasıl elde edebileceğime dair bazı yollar araştırıyorum, sadece şu anda işlem kenelerini açıyor .
şimdiden çok teşekkürler
hayır ama OnTimer() işlevinde fiyatı düşük bir değere ayarlayabilirsiniz, örneğin 250 milisaniye, saniyede 4 tıklamaya eşit olacaktır, neden buna ihtiyacınız var?
Yorumun için teşekkürler.
( subtopic - #Sipariş Hesaplamaları & Hesap Bilgileri Güncellemeleri - Açık ) Bahsettiğim gibi emir kar hesaplamaları kullanıyorum ve ' Terminal > Ticaret ' ile senkronizasyon çalışmıyor, tek sebep bu.
Yani bazen volatilite çok düşük, Ticks en az miktarlar geliyor ve bence fonksiyonlar saniyede 4 kez çalışıyor olabilir, bu yüzden boşuna çalışıyor ( / vain ).
Hangisinin yolunu bulamazsam bana Emirler Kar Hesaplamaları ve Hesap bilgileri (/güncellemeler) senkronizasyonu için ' Terminal > Ticaret ' keneleri verebilir. Son yorumlarınızda bana bu şekilde gösterdiğiniz çok faydalı yöntemlerinizi kullanacağım, çok teşekkürler. (Zaten test ettim ve bu şekilde beni çalıştırıyor)
Şimdiden teşekkürler.
Peki, gerçekten seviyorsanız, şunları kullanabilirsiniz:
{
datetime time; // Time of the last prices update
double bid; // Current Bid price
double ask; // Current Ask price
double last; // Price of the last deal (Last)
ulong volume; // Volume for the current Last price
long time_msc; // Time of a price last update in milliseconds
uint flags // Tick flags
};
Cari Fiyatların İade Yapısı (MqlTick)
Bu, sembolün en son fiyatlarını saklamak için bir yapıdır. Güncel fiyatlar hakkında en çok talep edilen bilgilerin hızlı bir şekilde alınması için tasarlanmıştır.
MqlTick türünün değişkeni, SymbolInfoTick() işlevinin tek bir çağrısı içinde Ask, Bid, Last ve Volume değerlerinin elde edilmesini sağlar.
Her bir tik'in parametreleri, bir önceki tik'e göre değişiklik olup olmadığına bakılmaksızın doldurulur. Böylece, tick geçmişinde önceki değerleri aramaya gerek kalmadan geçmişteki herhangi bir an için doğru bir fiyat bulmak mümkündür. Örneğin, bir tick varış sırasında yalnızca bir Bid fiyatı değişse bile, yapı yine de önceki Satış fiyatı, hacim vb. dahil olmak üzere başka parametreleri de içerir.
Tam olarak hangi verilerin değiştirildiğini öğrenmek için onay işaretlerini analiz edebilirsiniz:
Misal:
{
MqlTick last_tick;
//---
if ( SymbolInfoTick ( Symbol (),last_tick))
{
Print (last_tick.time, ": Bid = " ,last_tick.bid,
" Ask = " ,last_tick.ask, " Volume = " ,last_tick.volume);
}
else Print ( "SymbolInfoTick() failed, error = " , GetLastError ());
//---
}
Ayrıca bakınız
https://www.mql5.com/en/docs/constants/structures/mqltick
Yapılar ve Sınıflar , CopyTicks() , SymbolInfoTick()
Böylece, belirli bir sembol için yeni bir onay işareti olup olmadığını kontrol etmek için kullanabilirsiniz, ancak bu aslında doğrudan fiyat seviyelerini okumaktan bir adım daha fazla olacaktır, bu yüzden bir kez daha neden ihtiyacınız olsun ki.
Marco vd Heijden :
Peki, gerçekten seviyorsanız şunları kullanabilirsiniz: ...
Böylece, belirli bir sembol için yeni bir onay işareti olup olmadığını kontrol etmek için kullanabilirsiniz, ancak bu aslında doğrudan fiyat seviyelerini okumaktan bir adım daha fazla olacaktır, bu yüzden bir kez daha neden ihtiyacınız olsun ki.
Bilgilendirici yorumunuz için teşekkürler, çok teşekkürler.
---
Eğer haklıysam, cümlenin bu kısmı bir sorudur.
Ve durumumu açıklamam gerekiyor.
Bütün bu endişe buradan geliyor.
---
Umarım şimdi beni daha net anlamışsınızdır.
Herşey gönlünce olsun.
Eğer gerçekten her tik için beklemek istiyorsanız, her sembol için ayrı bir EA yazmanız ve OnTick() işlevini kullanmanız gerekecektir.
Ama size şunu söyleyebilirim ki, mikro denetleyicileri de programlıyorum ve bunlar bir elektrik kesintisi veya kesinti meydana gelene kadar sonsuz bir while döngüsünde (sonsuza kadar) bulunuyorlar.
Bir koşulun doğru veya yanlış olup olmadığını kontrol etmek için, en küçük Boolean veri türünü kullanır ve işlemciniz bunu, arka planda çalışan tüm işlemler ve grafikler vb. ile saniyede milyarlarca kez olmasa bile milyonlarca kez yapar.
Daha büyük veri türlerini içeren ağır hesaplamalar yapmaya başladığınızda, bu bir sorun haline gelir.