MQL5 dilini sıfırdan kendi kendine öğrenme - sayfa 23

 
Aliaksandr Hryshyn :

Öğrenmeye oradan başlamadın. Kodda ne yazdığını anladınız mı? Tüm operatörler, anahtar kelimeler?

Kod güvenlik sorusu:

Bu çizgiler ne anlama geliyor?

Bunlar benim senaryo yorumlarımdı:

/* Hareketli. Ticaret sunucusuna istek gönderdikten sonra, ne olduğunu bulmamız gerekiyor.
bekleyen bir sipariş belirlenir veya verilmez. Bunun için, amaçlanan OrderSend işlevini kullanıyoruz.
alım satım sunucusuna istek göndererek alım satım işlemlerini gerçekleştirmek . bir istek gönderirseniz
!OrderSend başarısız oldu (herhangi bir işlevden önceki ünlem işareti, işlevinin sonucu anlamına gelir).
yürütme), ardından verilen biçimde bir hata kodu içeren bir mesaj görüntüleriz: "OrderSend error %d"
ve GetLastError(). "OrderSend error %d" nedir ve GetLastError() nedir onu anlayalım.
"OrderSend hatası %d"nin çift tırnak içine alındığını unutmayın. Bu, olacağı anlamına gelir
"%d siparişi gönderilirken hata" harfi harfine çevrilmiş metin çıktısı. Şimdi ne anlama geldiğini anlayalım
%d. MQL5 Referansında, PrintFormat bölümünde şunları buluyoruz: "Biçim dizesini daha fazla parametre izliyorsa,
o zaman bu dize, bu parametrelerin çıktı biçimini belirten biçim belirtimlerini içermelidir.
Biçim belirtimi her zaman bir yüzde işareti karakteriyle (%) başlar". Peki d nedir? Aynı bölümde
hemen altında şunu buluyoruz: "D tipi - minimum çıktı basamağı sayısını gösterir.
karşılık gelen parametre belirtilen hassasiyetten daha düşükse, çıkış değeri solda sıfırlarla doldurulur.
Çıktı basamaklarının sayısı belirtilen hassasiyetten büyükse çıktı değeri kesilmez." Bununla
anladım, GetLastError()'un ne olduğunu anlamak için kalır. Referansa tekrar bakın: "GetLastError()
_LastError sistem değişkeninin içeriğini döndürür, yani. depolayan değişken
mql5 programının yürütülmesi sırasında meydana gelen son hatanın değeri".*/

Saygılarımla, Vladimir.

 
MrBrooklin :

Yani, bu sorunu çözene ve üzerinde çalışılacak bir şey olana kadar.

Saygılarımla, Vladimir.

Yine, kodunuzun ne yaptığını açıklayarak başlayın. Bu komut dosyası, SL ve TP'yi açıkta kalan konumlara yerleştirir. Çünkü var olup olmadıklarını bilmiyoruz, pozisyonlar olduğunu ve her ikisinin de (hedge hesabı) olduğunu varsayıyoruz. Durakları ayarlama koşulunu her zaman doğru yapalım... Bunun gibi bir şey. Kod fikri üzerinde sonuna kadar çalışın. ))))

Ve her kod satırını anlamaya çalışın. Başından beri.

 
Реter Konow :
Bu koşul hiç gerekli değildir. Nasıl bir rol oynuyor? Açıklayabilir misin?

Bekleyen Al Durdur ve Satış Durdur emirleri vermek için gizli bir koşul belirlemek istedim.

Saygılarımla, Vladimir.

Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
MrBrooklin :

Birkaç kez daha kontrol edildi - derleyici hiçbir şey üretmiyor.

Saygılarımla, Vladimir.

Ve neden bir şey versin ki? Makroları bilmiyorsun, onlarla nasıl çalışacağını bilmiyorsun ama onları kullan. Ve onlardan bir tür hata veya en azından bir uyarı bekleyin. Komut dosyanızı bir demoda çalıştırırsanız ve tüm modlarda çalıştırırsanız, komut dosyasının çalışmadığını görürsünüz. Ama nedense daha ileri gidiyorsun. Zararı durdur, kârı al ve kıyıda zaten bağırıyorlar: "Arabayı durdur!"

 
Valeriy Yastremskiy :

Yine, kodunuzun ne yaptığını açıklayarak başlayın. Bu komut dosyası, SL ve TP'yi açıkta kalan konumlara yerleştirir. Çünkü var olup olmadıklarını bilmiyoruz, pozisyonlar olduğunu ve her ikisinin de (hedge hesabı) olduğunu varsayıyoruz. Durakları ayarlama koşulunu her zaman doğru yapalım... Bunun gibi bir şey. Kod fikri üzerinde sonuna kadar çalışın. ))))

Ve her kod satırını anlamaya çalışın. Başından beri.

İlk önce neyi kontrol etmeniz gerektiğine dair ipucu için teşekkürler - açık pozisyonlar varsa.

Saygılarımla, Vladimir.

 
MrBrooklin :

Bekleyen Al Durdur ve Satış Durdur emirleri vermek için gizli bir koşul belirlemek istedim.

Saygılarımla, Vladimir.

Söyle bana, bunun için bir makro yaz, böyle bir koşul belirlemenin tek yolu bu mu? Anladığım kadarıyla koşullar sadece makrolar tarafından mı ayarlanıyor? Yoksa başka bir şekilde mümkün mü? Ve aksi mümkünse, makro neden seçildi? Belki bir ihtiyaç vardı? Ama ne?

 
MrBrooklin :

Hesaptaki ipucu için teşekkürler, ilk önce kontrol etmeniz gerekenler - açık pozisyonlar varsa .

Saygılarımla, Vladimir.

Şimdi deneme bile. Almak için çok erken. Çok erken. Pekala, kafana yulaf lapası alırsın, yorulursun ve her şeyi bırakırsın. Ders kitabına ve basit görevlere geri dönün.
 
Vasiliy Sokolov :

Söyle bana, bunun için bir makro yaz, böyle bir koşul belirlemenin tek yolu bu mu? Anladığım kadarıyla koşullar sadece makrolar tarafından mı ayarlanıyor? Yoksa başka bir şekilde mümkün mü? Ve aksi mümkünse neden makro seçildi? Belki bir ihtiyaç vardı? Ama ne?

Hayır, özel bir ihtiyaç yoktu, tam değiştiriciler çalışırken #define buldum ve senaryoda denemeye karar verdim.

Saygılarımla, Vladimir.

 
MrBrooklin :

Bekleyen Al Durdur ve Satış Durdur emirleri vermek için gizli bir koşul belirlemek istedim.

Saygılarımla, Vladimir.

"Gizli durum" ne anlama geliyor? Bu tür bir koşul programlamada mevcut değildir.
 
Vasiliy Sokolov :

... Komut dosyanızı bir demoda çalıştırırsanız ve tüm modlarda çalıştırırsanız, komut dosyasının çalışmadığını görürsünüz. Ama nedense daha ileri gidiyorsun. Zararı durdur, kârı al ve kıyıda zaten bağırıyorlar: "Arabayı durdur!"

Vasily, komut dosyası bir kereden fazla başlatıldı, tüm modlar çalışıyor, yani: Bekleyen iki Buy Stop ve Sell Stop emri belirttiğim mesafeye yerleştirildi. Zararı durdur ve kar al da doğru mesafeye ayarlanmıştır. Siparişler çalışıyor. Ekran görüntüsü ektedir.

Saygılarımla, Vladimir.


Neden: