MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1205

 

derleyici neden bu satırda bir uyarı veriyor?

 datetime time_setup= OrderGetInteger ( ORDER_TIME_SETUP );
possible loss of data due to type conversion    
 
Söylemek. Çıkarırken, 3e-5 sayısını alıyorum. 0.00003 formuna nasıl getirilir? Teşekkür ederim.
 
awsomdino :

derleyici neden bu satırda bir uyarı veriyor?

çünkü XxxxGetInteger uzun (işaretli bir tamsayı) döndürürken, datetime işaretsiz bir tamsayı ve tamamen ayrı bir türdür. Yönlendirilmeli

datetime timeProperty = (datetime)XxxGetInteger(...)

 
prom18 :
Söylemek. Çıkarırken, 3e-5 sayısını alıyorum. 0.00003 formuna nasıl getirilir? Teşekkür ederim.

Nereden alırsın?

 

Merhaba!

OnCalculate işlevi periyodik olarak 0 döndürür

prev_calculated = 0

Sanırım grafik üçüncü taraf bir kaynaktan alıntılarla dolu. Her ne kadar program yeniden yazılıyor gibi görünmese de.

Bu koşullar altında eskilerin üzerine yazmadan yeni veriler nasıl yazılır?

Sadece belirli hesaplamalarla bir gösterge oluşturuyorum, alıntı yüklemeye çalışmıyorum.

 void filter( const int rates_total, const int prev_calculated)
  {
 
   int start=prev_calculated;
//--- если значения индикатора уже были рассчитаны на предыдущем тике, то работаем на последнем баре
   if (prev_calculated> 0 )
      start--;
//---
   for ( int p= 2 ; p<Pmax; p++) // отбор по периодам
       for ( int b=start>rates_total-Pmax?start:rates_total-Pmax; b<rates_total; b++)
        {
 
Herkese iyi eğlenceler. Soru: MT4'te, test cihazında haçlarla (dolarsız çiftler) çalışırken, testin test edildiği hesap dolar cinsinden ise, test cihazı kapalı pozisyonların sonuçlarını nasıl hesaplar? Toplam pozisyonu dolara dönüştürmek için test cihazı, mevcut anda veya incelenen aralık anında dolar karşısında çaprazın temel para biriminin döviz kurunu alıyor mu? Şu anda bundan şiddetle şüpheleniyorum. Eğer öyleyse, aralık zamanında saymaya zorlamak mümkün mü?
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Mihail Matkovskij :

MQL4'te yalnızca şu şekilde:

Sonuç:


Yardımın için çok teşekkürler.

 
Mihail Matkovskij :

Nereden alırsın?

Burada.

 double price1= 1.23450 ;
double price2= 1.23447 ;
double delta=price1-price2;
Alert ( "Разбег " ,delta);
 
prom18 :

Burada.

Alert("Разбег "+DoubleToString(delta,_Digits));

veya Alert( StringFormat ("Run %.5f",delta));

ve genellikle buna alışırsınız, bunlar sadece aynı sayının farklı temsilleridir. Harika okul yıllarını hatırlayın - bu oradan

 
Top2n :

Merhaba!

OnCalculate işlevi periyodik olarak 0 döndürür

Sanırım grafik üçüncü taraf bir kaynaktan alıntılarla dolu. Her ne kadar program yeniden yazılıyor gibi görünmese de.

Bu koşullar altında eskilerin üzerine yazmadan yeni veriler nasıl yazılır?

Sadece belirli hesaplamalarla bir gösterge oluşturuyorum, alıntı yüklemeye çalışmıyorum.

Global bir değişken bildirin (terminal global değişkenlerle karıştırılmamalıdır)

 bool firstRun = false ;

ve yalnızca ilk onay işaretinde tam bir yeniden hesaplama yapın

 // простейшее условие пересчёта
if (!firstRun) {
   // пересчёт ...
  firstRun = true ;
}

FirstRun ayrıca OnCalculate parametreleriyle birlikte sıfırlanırsa, sıfırlamalarının nedeni göstergeyi yeniden başlatmaktır.