Hatalar, hatalar, sorular - sayfa 934

 
uncleVic :
Bunun gibi bir şey.

Yardımın için çok teşekkür ederim! Her şey basit ve güzel)

Başlangıçta Etkinlik haritasını denedim, ancak tam olarak anlamadım, bu yüzden OnEvent'i () kendime aşırı yüklemeye karar verdim ...

Not: Terminalle birlikte verilen kodlarda veya belgelerde olay haritasının (ON_EVENT'ten ON_EXTERNAL_EVENT'e) kullanımına ilişkin örnekler olsaydı iyi olurdu - anlaşılması çok daha kolay olurdu. Ne de olsa sadece ON_EVENT örnekleri var - Experts/Examples/Controls/ControlsDialog.mq5 ve Indicators/Examples/Panels/PanelDialog.mq5 - En azından başka bir tane bulamadım. Evet ve sitede yapılan bir arama, makaledeki birkaç kelime dışında hiçbir şey vermedi.

 
Rone :

Yardımın için çok teşekkür ederim! Her şey basit ve güzel)

Başlangıçta Etkinlik haritasını denedim, ancak tam olarak anlamadım, bu yüzden OnEvent'i () kendime aşırı yüklemeye karar verdim ...

Not Terminalle birlikte verilen kodlarda veya belgelerde olay haritasının (ON_EVENT'ten ON_EXTERNAL_EVENT'e) kullanımına ilişkin örnekler olsaydı iyi olurdu - anlaşılması çok daha kolay olurdu. Ne de olsa sadece ON_EVENT örnekleri var - Experts/Examples/Controls/ControlsDialog.mq5 ve Indicators/Examples/Panels/PanelDialog.mq5 - En azından başka bir tane bulamadım. Evet ve sitede yapılan bir arama, makaledeki birkaç kelime dışında hiçbir şey vermedi.


1. Lütfen. İletişim.

2. Ekleyelim.

 
CTrade::OrderSend: 0,94 USDCHF'yi 0,93366 sl'de satın alın: 0,93016 tp: 0,94816 [geçersiz hacim]

USDCHF için 0,94 lotluk hacim ayarlanırken yanlış hacim neden bir hata verdi?

Bu yanlış bir cilt mi yoksa böyle bir cilt yerleştirmek için yeterli para yok muydu?

 
Konstantin83 :
CTrade::OrderSend: 0,94 USDCHF'yi 0,93366 sl'de satın alın: 0,93016 tp: 0,94816 [geçersiz hacim]

USDCHF için 0,94 lotluk hacim ayarlanırken yanlış hacim neden bir hata verdi?

Bu yanlış bir cilt mi yoksa böyle bir cilt yerleştirmek için yeterli para yok muydu?

Ve araç ayarlarındaki ses seviyesi adımı nedir? 0.10 veya 0.01 lot? 0.10 ise, o zaman her şey doğrudur - yanlış hacim
 
Renat :
Ve araç ayarlarındaki ses seviyesi adımı nedir? 0.10 veya 0.01 lot? 0.10 ise, o zaman her şey doğrudur - yanlış hacim

meta alıntılardan demo sunucusu, 0.01 adımınız var.

çok şey test ediliyor



CSymbolInfo       Exp_Symbol_Info;              // symbol info object

...
double CBaseTrade::GetCorrectLot(double pLot)
 {
      double   dLot   = pLot;
      double   dLotMin   = Exp_Symbol_Info.LotsMin();
      double   dLotMax   = Exp_Symbol_Info.LotsMax();
      double   dLotStep  = Exp_Symbol_Info.LotsStep();
    
      dLot=dLotStep*NormalizeDouble(pLot/dLotStep, 0);
 
      if(dLot < dLotMin) dLot=dLotMin;
 
      if(dLot > dLotMax && dLotMax !=0) dLot=dLotMax;

 
  return(dLot);
 }

 

Hacmin değerini 4-8 karaktere kadar yazdırın , lütfen.

İkinci ondalık basamağa yuvarlama eksikliğinin bariz bir hatası burada:

dLot=dLotStep* NormalizeDouble (pLot/dLotStep, 0 );
 
Renat :

Hacmin değerini 4-8 karaktere kadar yazdırın, lütfen.

İkinci ondalık basamağa yuvarlama eksikliğinin bariz bir hatası burada:

evet ama neden yuvarlama yok

Diyelim ki parti adımı 0.01

Giriş Lotu 2,111

sonuç = 0.01 * NormalizeDouble(2.111/0.01)=0.01*NormalizeDouble(211.1)=0.01*211=2.11

veya lot adımının 0.25 olduğu brokerlar var, sonucu sadece 2. haneye yuvarlayamazsınız.

Diyelim ki parti adımı 0.25

Giriş partisi 2.3

sonuç = 0.25 * NormalizeÇift(2.3/0.25)=0.25*NormalizeÇift(9.2)=0.25*9=2.25


Test cihazında herhangi bir sorun yok. Sadece bugün demoda birkaç kez bu hata çıktı.

CSymbolInfo sınıfındaki birim adımı normalleştirildi mi?

 

Bana pzhl'yi söyle!

Piyasa saatinde döviz çiftlerinin arka planı nasıl yeniden renklendirilir

Hatta rengi kaldırın

ATP peşin!

 
Konstantin83 : sonuç = 0,01 * NormalizeDouble(2.111/0.01)=0.01*NormalizeDouble(211.1)=0.01*211=2.11
İki çift sayının çarpımı normalleştirilmemiş bir sayıdır. 0.01*NormalizeÇift(211.1)=0.01*211 .*********** =2.11 ***********
 
Konstantin83 :

evet ama neden yuvarlama yok

Çünkü en çok normalize edilen değerlerin mat işlemleri sonucu normalize edilmiş bir sayı değildir.

Bu nedenle, bu hatanın yeridir.

Документация по MQL5: Преобразование данных / NormalizeDouble
Документация по MQL5: Преобразование данных / NormalizeDouble
  • www.mql5.com
Преобразование данных / NormalizeDouble - Документация по MQL5