MQL uzmanları için soru - sayfa 9

 

İyi günler.Kodda bir hata bulmama yardım et

Bu, öğreticideki ilk programdır.

Tikleri saymaz. Nedenmiş .

teşekkürler

//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int Sayı = 0; // Küresel değişim .
//------------------------------------------------ --------------------
int init() // Özel. işlev başlatma ()
{
Uyarı ("init() işlevi başlangıçta çalıştı"); // İleti
dönüş; // init()'ten çık
}
//------------------------------------------------ --------------------
int start() // Özel. başlat() işlevi
{
çift Fiyat = Sor; // yerel değişiklik.
Say++; // Onay sayacı
Alert("Yeni tik ",Sayı," Fiyat = ",Fiyat);// Mesaj
dönüş; // başlangıçtan çık()
}
//------------------------------------------------ --------------------
int deinit() // Özel. işlev tanımı()
{
Alert("deinit() işlevi yük boşaltırken çalıştı"); // İleti
dönüş; // deinit()'ten çık
}
//------------------------------------------------ --------------------

 

İşte verdiği şey

 

Günaydın.

Gerçek bir hesabım olduğu DC'de, sunucu, 3 dakika veya daha fazla (farklı semboller için - farklı zamanlar için) enstrüman tablosuna hiçbir fiyat teklifi gitmeyecek şekilde yapılandırılır, o zaman bir ticaret yasağı oluşturulur ve bir işlem yapmak yerine bir ticaret yasağı oluşturulur. açma / kapama veya yükseltme siparişi - sunucu FİYAT YOK cevabını verir (teklif gelene kadar). Aynı zamanda, günlükte aşağıdaki mesaj görüntülenir:

2012.04.20 13:42:07 '245---00': sipariş satın al 0.2 JOK2 0.00 sl'de açılıyor: 0.00 tp: 0.00 başarısız oldu [Fiyat dışı]

--------------------

Böylece, MT4'te bu DC için çoklu para birimi danışmanı olarak çalışmanın imkansız olduğu ortaya çıktı. Özellikle düşük likiditeli gece saatlerinde - bir/iki pozisyon hala açılıyor - ve 2-3 pozisyon daha reddediliyor!

Bunun neden yapıldığı bana açık değil. Teknik destek gerçekten yanıt vermiyor, çalışanlar "önyükleme altındaki solucanlar gibi" kaçınıyor ve mql geliştiricilerine geri dönüyor - genellikle bunun (tam anlamıyla :) MT4 platformunun buggy bir özelliği olduğunu belirtiyorlar. Neyse vicdanlarına kalsın.

Lütfen. " 0.00 sl'de açılış: 0.00 tp: 0.00 başarısız [Alıntı]" garip yasağının nasıl programlı olarak terminale döndürüldüğünü söyle - böylece " FİYAT YOK " için bir program isteği açmadan önce ihtiyacım olan 3-4 para biriminin hepsini kontrol edebilirim " ve daha sonra danışman pozisyonları açmak/kapatmak için emirler gönderdi! Teknik destekleri bu soruya cevap vermiyor...

 
Rita :

Bunun neden yapıldığı bana açık değil.

Bu bir koltuk değneği. Genellikle böyle bir şey, teklif gecikmeleriyle ilgili sorunları olan DC'lere sunulur.

Bunu kendiniz izlemek için, işlem gören tüm enstrümanlar için tüm keneleri izlemeniz ve danışmana önceden bir yasak getirmeniz gerekir.

 
greysoldier :

İyi günler.Kodda bir hata bulmama yardım et

Bu, öğreticideki ilk programdır.

Tikleri saymaz. Nedenmiş .

teşekkürler

//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int Sayı = 0; // Küresel değişim.
//------------------------------------------------ --------------------
int init() // Özel. işlev başlatma ()
{

}
//------------------------------------------------ --------------------
int start() // Özel. başlat() işlevi
{
çift Fiyat = Sor; // yerel değişiklik.

Say++; // Onay sayacı

Alert("Yeni tik ",Sayı," Fiyat = ",Fiyat);// Mesaj
dönüş; // başlangıçtan çık()
}
//------------------------------------------------ --------------------
int deinit() // Özel. işlev tanımı()
{

}
//------------------------------------------------ --------------------

Böyle
 
TheXpert :

Bu bir koltuk değneği. Genellikle böyle bir şey, teklif gecikmeleriyle ilgili sorunları olan DC'lere sunulur.

Bunu kendiniz izlemek için, işlem gören tüm enstrümanlar için tüm keneleri izlemeniz ve danışmana önceden bir yasak getirmeniz gerekir.


Burada, çoklu para birimi danışmanının doğru çalışmasını programlı olarak ayarlamanın imkansız olduğu ortaya çıktı - birkaç para biriminde pozisyonların aynı anda açılması / kapanması için ?

Üstelik, farklı para birimleri için (ve MT4'te birkaç yüzlerce enstrüman var!) - sunucuda "FİYAT YOK" yasağı ayarlanana kadar farklı aralıklar belirlenir ve bu aralıklar gün içinde değişir!

Ve MT4 platformunun geliştiricileri ne önerecek? Çok para birimli bir Uzman Danışman, özellikle geceleri ( yukarıdaki mesajıma bakın ) sık sık [Alıntı dışı] olan bu tür koşullarda normal olarak nasıl çalışabilir?

 
Rita :

Ayrıca, farklı para birimleri için (ve MT4'te birkaç yüzlerce enstrüman vardır!) - sunucuda "FİYAT YOK" yasağına kadar farklı bir aralık belirlenir.

Bu doğru.

Ve bu aralıklar gün içinde değişiyor!

Bu pek olası değil. Araç için kodlanmış gibi görünüyorlar.

 

Yeni başlayanlardan gelen sorularda sordum - cevapsız kaldı, belki burada birileri yardımcı olabilir.

İyi günler, tavsiye ile yardım, bir baykuş yazdım, periyodik olarak aynı anda 2 sipariş açmalı, sorun şu ki her iki sipariş de her zaman açılmıyor, kayma ve 3 ve 5 ve 10 ayarladım, ama yine de hayır hayır evet ve tek başına açılacak. Açılışın doğruluğunu izleyecek ve gerekirse eksik "unutulmuş" siparişi açacak bir bekçiyi nasıl organize edeceğimi anlayamıyorum?

 
Kodun bu iki emrin aynı anda açılması için koşulları belirlediğiniz kısmını gösterin...
 
Bir emri açın, açılıp açılmadığını kontrol edin, eğer açıldıysa - ikincisini bir çekle açın...