MQL4'te programlama üzerine çevrimiçi kitabın beta sürümü - Sergey Kovalev (SK.) - sayfa 6

 
Rosh :
Martı :

https://book.mql4.com/en/metaeditor/compose sayfasındaki resimler farklı tarayıcılarda iki farklı bilgisayarda görüntülenmiyor
Bunun nasıl olabileceği garip. Anlaşılmaz bir sorun.


Şu anda özel olarak kontrol edildi, tek bir çizim de yok. IE7. + sayfanın altındaki linki takip etmek istersem MQL4'teki program hata veriyor sayfayı görüntüleyemiyor

 
Sorun düzeltildi ve düzeltilecek.
 
Eksik veya fazladan bir kaşlı ayraç arıyorum .... Sessizce çıldırıyor ((

not
'\end_of_program' - bitiş dirseği '}' bekleniyor
 
Climber :
Eksik veya fazladan bir kaşlı ayraç arıyorum .... Sessizce çıldırıyor ((

"/*" ve "*/" yardımcı olmak için...
 
komposter :
Tırmanıcı :

Eksik veya fazladan bir kaşlı ayraç arıyorum .... Sessizce çıldırıyor ((





"/*" ve "*/" yardımcı olmak için...



Bu ne anlama geliyor? anlamıyorum 0_o

Bu parça görünene kadar her şey yolunda:
 // Критерии закрытия ордеров

if
( _OrdersTotal = 1 ) //Выполнять следующее если открыт 1 ордер
{
OrderSelect ( 0 , SELECT_BY_POS ) ;
Tip = OrderType ;
OPrice = OrderOpenPrice ;

if ( Tip = 0 ) // Расчитать цену закрытия в зависимости от типа ордера (В=0,S=1)
{
Cprice = OPrice + ( TakeProfit * Point ) + Spread ;
if ( Bid >= Cprice )
{
Cls_B = True ;
}
}
if ( Tip = 1 )                 
{
Cprice = OPrice - ( TakeProfit * Point ) - Spread ;
if ( Ask <= Cprice )
{
Cls_S = True ;
}
}
Burada parantez sayısı uyuşmuyor. Ama sonuna eklersem derlerken çok saçma hatalar oluyor.
 
Climber :

Bu ne anlama geliyor? anlamıyorum 0_o

Yoruma bakın https://book.mql4.com/en/basics/common .
 
Ayrılacak büyük yorumlarım yok. Bana nasıl yardımcı olacak?
Bir önceki mesajımı güncelledim.
 
kuyruklu yıldız kod parçaları. Hata ortadan kalktığında, yorum yaptığınız yerde eksik parantez arayın
 
Climber :
Ayrılmak için büyük yorumlarım yok. Bana nasıl yardımcı olacak?
Bir önceki mesajımı güncelledim.


Programın en üstünde bir yere /* koyun
ve daha düşük bir yere koy */
sonra boşluğa düşen her şey yorum olarak alınacaktır.

Programcılar, eksik parantezleri bulmak için bu yöntemi başarıyla kullanırlar.

Genellikle, hatayı içeren bölüm az çok açıktır. Çerçevelenir /* */ Bundan sonra program derlenir. Derleyici hata olmadığını söylediyse, arama alanı /* veya */ permütasyonu ile daraltılır. daha düşük ve daha yüksek. Derlemeye geri dön. Sonuç olarak, hatanın kolayca görülebildiği çok küçük bir alan buluyorlar.

Not. çerçeveleme /* ve */ hiçbir yere yerleştirilemez, yalnızca mantıksal olarak gerekçelendirilir.

 
Ve şimdi bu yorumların nedenini anlıyorum. Ama benzer bir şey yaptım, sadece farklı bir şekilde. Açık ve kapalı parantezli ifadeleri kaldırdım. Küçük dahili olanlarla başladım ve sonra uzaktaki küçükleri kapsayan en büyüklerine sahiptim ve sonunda kapalı olmayan bir tane kaldı.

Kodun en sonuna bir kapatma parantez eklersem, aşağıdaki kodla ilgili birçok hata üretilir (sadece garip yerlerde, örneğin = buradaki konu değil veya ; da uygun değil ...) .

Ve yukarıda mesajda yazdığım kodun kendisi, onlara açıklamaya çalıştığım işlem için kabul edilebilir görünüyor, yoksa bir şekilde farklı yazılabilir mi? Olduğu gibi, en başta, eğer bir emir açıksa, sadece bu durumda, {'den sonra gelen operatörleri yürüttüğü varsayılır.

Bu bloğu yazmaya başladığımda, yol boyunca derledim (hataları hemen görebilmek için), bu hata her zaman ortaya çıktı ve sürüklendi. Bunun, kapanış parantez başlangıcının ayarlanmamasından kaynaklandığını düşündüm ve daha fazla yazmaya devam ettim.