Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1109

 
Vitaly Muzichenko :

O zaman bir kesirli sayı almayacağım.

Görünüşe göre böyle bir şeye ihtiyaç var:

typename(TralingStop)=="çift" ? ...

 
Artyom Trishkin :

typename(TralingStop)=="çift" ? ...

Gerçekten değil, giriş parametrelerine "girdi" girdiyseniz, örneğin 15 veya 15.0, o zaman giriş alanında görüntülenen yalnızca 15, yani bir tam sayıdır. Giriş parametrelerine 12.3 girilmişse, giriş alanına ve 12.3'ü görüntüleyin.

 
Vitaly Muzichenko :

Gerçekten değil, giriş parametrelerine "girdi" girdiyseniz, örneğin 15 veya 15.0, o zaman giriş alanında görüntülenen yalnızca 15, yani bir tam sayıdır. Giriş parametrelerine 12.3 girilmişse, giriş alanına ve 12.3'ü görüntüleyin.

O halde, bu herhangi bir sayı için ondalık basamak sayısının tanımıdır. Bir yerde böyle bir konu vardı - orada her şey tartışıldı.

 
Artyom Trishkin :

O halde, bu herhangi bir sayı için ondalık basamak sayısının tanımıdır. Bir yerde böyle bir konu vardı - orada her şey tartışıldı.

Öyle görünüyordu ama bulamadım o yüzden buraya yazdım (

 
Vitaly Muzichenko :

Gerçekten değil, giriş parametrelerine "girdi" girdiyseniz, örneğin 15 veya 15.0, o zaman giriş alanında görüntülenen yalnızca 15, yani bir tam sayıdır. Giriş parametrelerine 12.3 girilmişse, giriş alanına ve 12.3'ü görüntüleyin.

bu komut dosyasıyla deneme yapın:

 #property script_show_inputs
input double inp1 = 15.0 ;
input double inp2 = 12.3 ;
//+------------------------------------------------------------------+
void OnStart ()
  {
   int dig1 = GetDigitsInDouble(inp1);
   int dig2 = GetDigitsInDouble(inp2);
   printf ( "inp1 = %f --> %s" ,inp1, DoubleToString (inp1,dig1));
   printf ( "inp2 = %f --> %s" ,inp2, DoubleToString (inp2,dig2));
  }
//_______________________________________________________________________
int       GetDigitsInDouble( double doublevalue)
  {
   long l= long (doublevalue/ 0.0000001 ); int result= 0 ,i= 10000000 ; while (result< 7 && l%i> 0 )
     {i/= 10 ; result++;} return result;
  }

2019.08.06 22:40:44.668 tst1 (EURUSD,H1) giriş1 = 15.000000 --> 15

2019.08.06 22:40:44.668 tst1 (EURUSD,H1) giriş2 = 12.30000 --> 12.3


7. ondalık basamakta görünüyor, bazen yanlış olacak

 
Vitaly Muzichenko :

Öyle görünüyordu ama bulamadım o yüzden buraya yazdım (

Получаем количество десятичных знаков после запятой любых чисел (не только котировок) в обход Digits() на MQL4 и MQL5
Получаем количество десятичных знаков после запятой любых чисел (не только котировок) в обход Digits() на MQL4 и MQL5
  • 2018.11.03
  • www.mql5.com
Думаю не у одного меня была редкая ситуация когда нужно было получить количество десятичных знаков после запятой, а функция Digits() работает тольк...
 
Igor Makanu :

bu komut dosyasıyla deneme yapın:

2019.08.06 22:40:44.668 tst1 (EURUSD,H1) giriş1 = 15.000000 --> 15

2019.08.06 22:40:44.668 tst1 (EURUSD,H1) giriş2 = 12.30000 --> 12.3


7. ondalık basamakta görünüyor, bazen yanlış olacak

Artyom Trishkin :

Herkese teşekkürler, deneyeceğim!

 
Başka bir MT5 terminalindeki bir danışmandan okunabilmesi için açık bir pozisyon (lot, tip) hakkındaki bilgiler nasıl kaydedilir?
 
Beyler, bu soruyu açıklayın, uzak temsilciler üzerinde bir optimizasyon varsa ve danışman bir dosyaya veri yazarsa, anladığım kadarıyla bu verileri almayacağım, çünkü yalnızca yerel aracılarım test klasöründedir ve orada uzak yok...
Yoksa yanlış yere mi bakıyorum?
öyleyse, uzak aracılardan dosya alma yeteneğini uygulamanın bir yolu var mı?
 
Vitaly Muzichenko :

Öyle görünüyordu ama bulamadım o yüzden buraya yazdım (

Yani her şey belgelerde açıklanmıştır. fmod'da böleni 1'e ayarlıyoruz ve sayının kesirli kısmını veya 0'ı alıyoruz. Sonuçta, alana veya giriş değişkenine kaç ondalık basamak girildiği sizin için önemli değil.

Документация по MQL5: Математические функции / MathMod
Документация по MQL5: Математические функции / MathMod
  • www.mql5.com
Функция MathMod рассчитывает вещественный остаток f от val / y таким образом, что val = i * y + f , где i является целым числом, f имеет тот же знак, что и val, и абсолютное значение f меньше, чем абсолютное значение y.