Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 1127

 
Sergey Gritsay :

Ve şimdi MT5'ten normal belgeleri okuyoruz, şimdi bazı eski işlevler tam olarak içinde yazıldığı gibi çalışıyor, çünkü MT4'ten gelen belgeler güncel değil ve orada pek çok şey henüz düzeltilmedi.

GetLastError

_LastError sistem değişkeninin içeriğini döndürür.

int GetLastError ();

Geri dönüş değeri

mql5 programının yürütülmesi sırasında oluşan son hatanın değerini döndürür.

Not

İşlev çağrıldıktan sonra, _LastError değişkeninin içeriği sıfıra sıfırlanmaz. Bu değişkeni sıfırlamak için ResetLastError() işlevini çağırmanız gerekir.

Ayrıca bakınız

Ticaret sunucusu dönüş kodları

Yine, bu mql5'te. Ve mql4'e ihtiyacım var
 
Vitaly Muzichenko :

Şey, 1997'den beri buradayım)

Bakın, onda bir tik ve bir sinyal var ve eğer bir hata alırsanız, onu işlemeniz gerekir. Talebi tekrar işledik ama istekten önce bir hata ile değişkeni sıfırlayabilirsiniz, daha sonra bir sonraki istekte hata varsa yine değişkenin içine düşecektir fakat hata yoksa tekrar olacaktır. "0"

Değişkeni sıfırlayamazsınız, o zaman yeni bir değer alacaktır. Her durumda, son tikte geçen hatayla ilgilenmemelisiniz, yalnızca "şimdi" olanı işlemeniz gerekir.

1997'den beri bu terim! ) Muhtemelen beni anlayan tek kişi. Teşekkür ederim.
 
Evgeniy Oshurkevich :
Yine, bu mql5'te. Ve mql4'e ihtiyacım var
Bu özel işlev açısından hiçbir fark yoktur. Ama önemliyse, o zaman F1'i okuyun.
 

Sorumu bu başlıkta çoğaltacağım, çünkü onlar mql5 başlığında yardımcı olamadılar - kimse cevabı bilmiyor.

Böyle bir işlev var ve bir danışman/komut dosyasında çalışıyor

double maxLot( double Percent, string symbol, ENUM_ORDER_TYPE action= ORDER_TYPE_BUY )
  {
   double One_Lot= 0.0 ;
   double price= 0.0 ;
   double volume= 0.0 ;
   double MinLot= SymbolInfoDouble (symbol, SYMBOL_VOLUME_MIN );
   double Free= AccountInfoDouble ( ACCOUNT_FREEMARGIN );
   double Step= SymbolInfoDouble (symbol, SYMBOL_VOLUME_STEP );
   if (action== ORDER_TYPE_BUY )price= SymbolInfoDouble (symbol, SYMBOL_ASK );
   if (action== ORDER_TYPE_SELL )price= SymbolInfoDouble (symbol, SYMBOL_BID );
   if (! OrderCalcMargin (action,symbol, 1.0 ,price,One_Lot)) return (MinLot);
   if (One_Lot!= 0 && Step!= 0 )volume = MathFloor (Free*Percent/ 100.0 /One_Lot/Step)*Step;
   if (volume!= 0 ) return (volume);
   return (MinLot);
  }

Soru: Göstergede mümkün olan maksimum lot nasıl elde edilir , OrderCalcMargin bir nedenden dolayı göstergede çalışmıyor? MT4'te " MarketInfo (sembol, MODE_MARGINREQUIRED ) " iyi çalışıyor, ancak MT5'te mevcut değil, ancak göstergede çalışmayan bazı OrderCalcMargin saplaması var ve geliştirici bu konuda hiçbir şey yapmıyor.

Teşekkür ederim!

 

nasıl yapılır?

yani ne zaman

OnDeinit( REASON_CHARTCHANGE )

ayarları sıfırlamadan her zamanki gibi çalışmaya devam edin (bu nedeni tamamen göz ardı edin, bu seviyeli bir panodur)

 
trader781 :

nasıl yapılır?

böylece ne zaman

OnDeinit( REASON_CHARTCHANGE )

ayarları sıfırlamadan her zamanki gibi çalışmaya devam edin (bu nedeni tamamen göz ardı edin, bu seviyeli bir panodur)

Mümkün değil.
 
Vitalie Postolache :
Mümkün değil.

hayır, bunu aşmanın yolları var.

40 mevcut araçtan her biri için koda seviye atlamak benim için en azından çok tembel.

otomatik hale getirmek ve istediğiniz gibi sembollerle TF'yi tıklamak daha kolaydır.

ve aynı zamanda, daha yüksek zaman dilimlerinin hareketli ortalamasının değerlerini alttaki zaman diliminde göstermenin bir yolunu arıyorum.
 
trader781 :

hayır, bunu aşmanın yolları var.

40 mevcut araçtan her biri için koda seviye atlamak benim için en azından çok tembel.

otomatik hale getirmek ve istediğiniz gibi sembollerle TF'yi tıklamak daha kolaydır.

ve aynı zamanda, daha yüksek zaman dilimlerinin hareketli ortalamasının değerlerini alttaki zaman diliminde göstermenin bir yolunu arıyorum.
Ayarları bir dosyaya yazın ve internette okuyun. Deinit'i atlamanın bir yolu yok, izin istemiyor.
 
Vitalie Postolache :
Ayarları bir dosyaya yazın ve internette okuyun. Deinit'i atlamanın bir yolu yok, izin istemiyor.
Bu mümkünse neden bir dosyaya yazarak deinit'i atlamıyorsunuz? örneğin başlatmadan arındırma durumunda, önceki parametrelerle başlatmayı başlatın
 
trader781 :
Bu mümkünse neden bir dosyaya yazarak deinit'i atlamıyorsunuz? örneğin, başlatmadan arındırma durumunda, önceki parametrelerle başlatmayı başlatın
Yukarıda yazmamış mıydım?