Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 20
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
Tekrar. Bir siparişle çalışırken, OrderSelect ilk sırada olmalıdır. Sonra diğer her şey.
Cevabınız için teşekkürler... if(OrderSelect (i=0;i<accTotal;i++) ==true) satırının yanlış mı yoksa kodda yanlış yere mi yazıldığını mı söylüyorsunuz? ...
Renat Akhtyamov :
по ссылке пройдите, она у Вас в посте выделена.
zaten izlendi. orada gerekli bilgi yok. boş bir tamponda 10 ve bir rakam değeri ve bir sinyalin varlığında - fiyatın değeri... ve mql4 kodunda belirtilen tamponda bir değerin yokluğu veya varlığı nasıl ? (Birden fazla kullandım ama unuttum...)
if( iCustom(NULL,t,"T...c",1,b) != .......)....
atik441 : уже смотрел. нет там нужной информации .в пустом буфере 10и значное значение а при наличии сигнала - значение цены... и как в коде mql4 обозначается отсутствие или наличие значения в буфере ? (пользовался не раз ,да забыл ...)
if( iCustom(NULL,t,"T...c",1,b) != BOŞ_DEĞER ).....İçinde ! ne nat ... hatırlatma için teşekkürler!
Anlamama yardım et. İki farklı yönlendirilmiş olmak şartıyla emirleri sırayla yürütmek mümkün mü?
açık işlemler, her şeyden önce, işlemlerden herhangi birinin TP'si tetiklenir ve ardından SL seviyesinde işlem yapma sürecinde olmasına rağmen yalnızca SL tetiklenir
işlemlerden herhangi biri önce tamamlandı mı?
Anlamama yardım et. İki farklı yönlendirilmiş olmak şartıyla emirleri sırayla yürütmek mümkün mü?
açık işlemler, her şeyden önce, işlemlerden herhangi birinin TP'si tetiklenir ve ardından SL seviyesinde işlem yapma sürecinde olmasına rağmen yalnızca SL tetiklenir
işlemlerden herhangi biri önce tamamlandı mı?
Tekrar. Bir siparişle çalışırken, OrderSelect ilk sırada olmalıdır. Sonra diğer her şey.
Siparişler arasında bir sıralama döngüsünde çalışırsak, prosedür aşağıdaki gibidir:
1. Kontrol edin (OrderSelect())
2. Bunun bir emir olup olmadığını kontrol ederler, genellikle sembolü ve sihri kontrol ederler, sonra gerekirse türü kontrol ederler - if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic && OrderType()<2) - bu durumda sadece piyasa sembolleri, mevcut enstrümana ve belirtilen sihirle verilen siparişler işlenir.
3. OrderComment(), OrderProfit() vb. gibi diğer verileri işlemek.
Bunun gibi bir şey görünecek:
{
if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )) //если ордер выбран то работаем дальше, иначе смысла нет
{
if ( OrderSymbol ()== _Symbol && OrderMagicNumber ()==Magic && OrderType ()< 2 ) //Если ордер тот, что нам нужен (эту проверку можно и опустить, если нужно обработать все ордера в истории)
{
if ( StringFind ( OrderComment (), "[tp]" , 0 )>- 1 ) //если найден признак закрытия профитом
Print ( "Order #" , OrderTicket (), " profit: " , OrderTakeProfit ());
if ( StringFind ( OrderComment (), "[sl]" , 0 )>- 1 ) //если найден признак закрытия стоплосс
Print ( "Order #" , OrderTicket (), " loss: " , OrderTakeProfit ());
}
}
}
Cevabınız için teşekkürler... bu nedenle, işlem geçmişindeki siparişleri yinelemek için, ihtiyacımız olmayan her şeyi attıktan sonra görünen OrdersHistoryTotal işlevini kullanıyoruz:
for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--) // - buradaki soru, bıraktığımız fonksiyon şablonunda " acTotal" ne anlama geliyor? ve neden " i--" aldın ve şablondaki gibi " i++" değil mi?
- ikinci işlev OrderComment , önceki OrdersHistoryTotal işlevi tarafından seçilirse, seçilen siparişin yorumunu döndürür:
if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )) //- önceki fonksiyondan " i " " i>= 0 " ise ve " SELECT_BY_TICKET" " SELECT_BY_POS " ile değiştirilip " MODE_HISTOR Y " eklendi - neden öyle?
- üçüncü satır tanımdır, gerekli emrin doğrulanması prensipte gerekli değildir, çünkü bu tarihte sadece TP tarafından kapatılan piyasa emirleri. ve SL., (bekleyen kapalı bir emir olabilir, ancak bu nadir olacaktır), diğer tüm emir parametreleri bizim için önemli değildir. Bir başka önemli şey daha var - tarihteki kapatılan siparişlerin sayısı sürekli artacak, bunu yeniden hesaplarken tüm kapatılan siparişlerin alınmayacağı, ancak son siparişlerin belirli bir sayısının, örneğin 5 - 10 olacağı şekilde yapmak mümkün mü?
- son dört satır genellikle anlaşılabilir, tek soru, kodu her satırdan sonra eklenmesi gereken PlaySound işlevidir " Yazdır ( "..." bu biçimde:
bool PlaySound(
string ödeme // dosya adı
);
... yoksa o da bir şekilde dönüştürülmüş mü?
Döngüler, nasıl düzenlendiği ve nasıl çalıştığı hakkında bilgi edinin ve genel olarak, yeni başlayanlar için bir C++ öğreticisi çalışmak için iyi olur, C++ MQL'ye çok benzer, farklar yalnızca ticaret işlevlerindedir.
Ayrıca MQL eğitimini ve derleyici yardımını, buradaki forumdaki makaleleri okuyun, pencerenin üst kenarında mavi bir arka plan üzerindedir. Eh, tüm kursu forumda yeniden anlatmak ve açıklamak imkansız.
Döngüler, nasıl düzenlendiği ve nasıl çalıştığı hakkında bilgi edinin ve genel olarak, yeni başlayanlar için bir C++ öğreticisi çalışmak için iyi olur, C++ MQL'ye çok benzer, farklar yalnızca ticaret işlevlerindedir.
Ayrıca MQL eğitimini ve derleyici yardımını, buradaki forumdaki makaleleri okuyun, pencerenin üst kenarında mavi bir arka plan üzerindedir. Eh, tüm kursu forumda yeniden anlatmak ve açıklamak imkansız.