[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 323
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
Peki... NASIL YAPILIR? eğer bir sır değilse...
Sitede bir Google araması yapın - standart olmayan bir TF sitesinde ticaret yapın:mql4.com ve "eş hacim (bağımsız) grafikte EA, vb.
Veya Zhunko'nun buna dayanamayıp sizin için çiğnemesini bekleyin :))
Peki... NASIL YAPILIR? eğer bir sır değilse...
Bir sır değil. Burada hakkında çok şey yazılıp çiziliyor. Hikayenin nasıl oluşturulduğu önemli değil. Buradaki nokta, Uzman Danışmanın üzerinde çalışması için grafiği güncellemektir.
WinAPI kullanılarak yapılabilir. Burada defalarca anlatıldı. Kendi kitaplığımı yazdım. Burada yayınlandı .
Grafiğin çevrimdışı güncellemesini yönetme işlevlerine sahiptir. Herhangi bir komut dosyası veya uzman gerektirmez. Ama herkes için değil. Herkesin bir Uzman Danışmandan veya bir komut dosyasından veya bir göstergeden grafiği güncellemesi için kullanılabilen işlevler de vardır. Kullanımları daha zordur. Çünkü hangi programlarınızın zamanlamayı güncelleyeceğini bulmanız gerekecek. Örnekler test komut dosyasındadır.
Sevgili programcılar.
Mevcut çubukta hareketli ortalama seviyelerinin değerlerinin gösterimini nasıl ayarlayacağımı söyler misiniz?
Hareketli ortalamanın değerini değil, seviyelerinin değerlerini (MA menüsündeki "Seviyeler" sekmesinde yapılandırılan yukarı ve aşağı sapmalar) kastediyorum.
Böylece bu değerlerin kendileri MA seviyelerini takip eder ve değişir.
Çizim seçeneklerden biridir.
Şimdiden teşekkürler.
Sırra gelince, zaten anladım). Makaleleri okudum, foruma baktım ve aramaya baktım. Standart dışı çizelgelerin test cihazına nasıl sıkıştırılacağı, nasıl oluşturulacağı yazıyor ama böyle bir çizelgede uzmanın gerçek zamanlı çalışabilmesi için ne yapacağıma dair bir örnek bulamadım .
WinAPI benim için karanlık bir orman. Oluşturucunun içinde veya mql4'teki uzmanınızın içinde bir şeyler yapmanın veya oluşturucuyu uzmanla birleştirmenin bir yolu var mı?
Cevaplar için teşekkürler.
09/03/2007
... Uzman Danışmanların çevrimdışı bir grafik üzerinde çalışması için şunları eklemeniz gerekir:
başlangıç başlangıcında:
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message"); // EA'lar için gelen onay işareti
ilk PostMessageA'dan sonra
PostMessageA(hwnd,MT4InternalMsg,2,1); // EA'lar için gelen onay işareti
peki, WinUser32.mqh'de user32.dll işlevlerinin açıklamalarına aşağıdakini ekleyin:
int RegisterWindowMessageA(string lpString);
(bu çözüm Slava tarafından İngilizce forumunda önerildi)
Yeniler();
bilet=OrderSend(Symbol(),OP_SELL,0.1,NormalizeDouble(Teklif,Digits),0,NormalizeÇift(Ask+15*Puan,Rakamlar),0,"test",8,0,Kırmızı);
Geliştiricilerin yorumları için çok minnettar olurum.
granit77 :
Когда я говорил о тайне, то имел в виду великую тайну поиска. Она заключается в том. что надо ПРОЧИТАТЬ материалы, на которые он покажет. Ссылки уже боюсь давать, привожу готовый текст.
09/03/2007
... Uzman Danışmanların çevrimdışı bir grafik üzerinde çalışması için şunları eklemeniz gerekir:
başlangıç başlangıcında:
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message"); // EA'lar için gelen onay işareti
ilk PostMessageA'dan sonra
PostMessageA(hwnd,MT4InternalMsg,2,1); // EA'lar için gelen onay işareti
peki, WinUser32.mqh'de user32.dll işlevlerinin açıklamalarına aşağıdakini ekleyin:
int RegisterWindowMessageA(string lpString);
RefreshRates(); yardımcı olur mu? Biletten önce en azından yeniden teklifleri azaltmak için biraz?
Duruma göre. Arka arkaya iki sipariş veriyorsanız, ikinci siparişi vermeden önce RefreshRates() öğesini çağırmak mantıklıdır. Bakın, sipariş açmak için sunucuya bir sipariş gönderiyorsunuz. Sunucu yanıt verirken belirli bir süre geçer. Bu süre boyunca alıntılar değişebilir, bu nedenle sunucu yanıt verir vermez terminaldeki verileri güncelleyen RefreshRates() işlevini çağırmanız gerekir. Artık bir sonraki siparişi açmak için sipariş verebilirsiniz. Sadece sinyali kontrol edip hemen bir sipariş verirsek, RefreshRates()'i çağırmanın bir anlamı yoktur. Eh, çünkü başlatma işlevi yeni bir onay işaretinin gelmesiyle çağrılır ve danışman bir sinyali kontrol edene kadar geçen süreyi ihmal etmek oldukça mümkündür.
Ama biletin nesi var? Ticket, siparişin sunucudaki seri numarasıdır...
Yani, ticket=OrderSend(......) demek istedim
Ve sana ne söylediler? ...