Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 20

 
Vitalie Postolache :
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ı yazıldığını yoksa kodda yanlış yere mi yazıldığını söylüyorsunuz? ...
 
bablusut :
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? ...
Detayları oraya ekledim.
 

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 ).....
 
Vitalie Postolache :
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ı?

 
ganri :

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ı?

sorma/teklif analizi yap
 
Vitalie Postolache :

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:

for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--) //перебираем историю торгов
{
       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ü?

 
bablusut :

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.

Учебник по MQL4
Учебник по MQL4
  • book.mql4.com
Учебник по MQL4
 
Vitalie Postolache :

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.

Yardım için Vitalie Postolache'ye teşekkürler, tavsiye için teşekkürler ve muhtemelen altmışlarımda bu ders kitaplarıyla ilgili bilgileri incelemek için çok geç, muhtemelen o kadar çekmem, daha önce yapmak zorunda kaldım, ama vardı. zaman yok. Burada senden oldukça sıkıldım, eğer bir şey olursa özür dilerim, artık olmayacağım - aynen böyle ayrılıyorum.