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

 
İnsanlar, çiftler halinde yardım eder. MT genel listesinde değilse nasıl eklenir?
 
Valeriy Yastremskiy :

FILE_SHARE_READ

128

Birkaç programdan okumak için paylaşılan erişim. Bayrak, dosyaları açarken kullanılır ( FileOpen() ), ancak bir dosyayı açarken FILE_WRITE ve/veya FILE_READ bayrağını belirtme ihtiyacının yerini almaz

Yerine geçmez. Genel olarak, her bir onay işaretinde dosyayı açıp kapatmamak daha iyidir.

Paylaşılan okuma izinleri yerine paylaşılan okuma izinlerine izin verir
Teşekkür ederim. Kazanıldı! Bilgisayarın dosyayı kapattığı her tık için üzülüyorum, bu yüzden dosyanın kapanışını OnDeinit'e yerleştirdim.
 
HeAic :
Göstergedeki Uyku (500) işlevi nasıl değiştirilir?

Gerçekten ihtiyacınız varsa, o zaman duraklamanızı işlemci tiklerinin zamanını milisaniye cinsinden sayarak yapın. Bir duraklama olacak, ancak tüm akış bekliyor olacak.

 
   int fileHandle= FileOpen ( "logg.txt" , FILE_READ | FILE_WRITE | FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_TXT | FILE_ANSI );   
   datetime time= TimeLocal ();
int OnInit ()
  {
   return ( INIT_SUCCEEDED );
  }
void OnDeinit ( const int reason)
  {
   FileClose (fileHandle);
  }
void OnTick ()
  {
   FileWrite (fileHandle, "Время=" , TimeLocal ());
  }
" FileWrite " da kullanılmıyorsa neden bir "time" değişkeni tanımlayalım? Bildirilmediyse:
 int fileHandle= FileOpen ( "logg.txt" , FILE_READ | FILE_WRITE | FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_TXT | FILE_ANSI );   
datetime TimeLocal ();
sonra derleyici yemin eder, ama ne anlamı var?
 
ascerdfg :
"FileWrite" da kullanılmıyorsa neden bir "zaman" değişkeni bildirelim? Beyan etmezseniz: o zaman derleyici yemin eder, ama ne anlamı var?
 datetime TimeLocal ();

BU NEDİR?????

Belki bu satırı tamamen kaldır ve bak?

 
Valeriy Yastremskiy :

BU NEDİR?????

Belki bu satırı tamamen kaldır ve bak?

Yardım diyor ki: https://www.mql5.com/ru/docs/dateandtime/timelocal

Parametresiz arama

tarihsaatSaatYerel ( );

Документация по MQL5: Дата и время / TimeLocal
Документация по MQL5: Дата и время / TimeLocal
  • www.mql5.com
Дата и время / TimeLocal - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
ascerdfg :

Yardım diyor ki: https://www.mql5.com/ru/docs/dateandtime/timelocal

Parametresiz arama

tarihsaatSaatYerel ( );

Dosya Aç

İşlev, belirtilen ada ve belirtilen bayraklara sahip bir dosya açar.

int DosyaAç (
    sicim    dosya_adı , // dosya adı
    int       open_flags , // bayrak kombinasyonu
    kısa boylu     sınırlayıcı='\t' , // sınırlayıcı
    uint      kod sayfası=CP_ACP        // kod sayfası
);

Ve fileopen böyle yazılır. Bu, bir programda nasıl yazılacağının bir örneği değil, dönüş değerinin türünün bir göstergesidir.

 qqq.mq4 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                                  https:// |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property version    "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
 int fileHandle= FileOpen ( "logg.txt" , FILE_READ | FILE_WRITE | FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_TXT | FILE_ANSI );   
//  datetime time=TimeLocal();
int OnInit ()
  {
   return ( INIT_SUCCEEDED );
  }
void OnDeinit ( const int reason)
  {
   FileClose (fileHandle);
  }
void OnTick ()
  {
   FileWrite (fileHandle, "Время=" , TimeLocal ());
  }
'qqq.mq4'       qqq.mq4 1       1
0 errors, 0 warnings, 202 msec elapsed          1       1
Onitteki bilgisayarın yerel saatini zaman değişkenine atamak mantıklıdır ve bu da Expert Advisor'ın başlangıç saati olacaktır)))
 
Teşekkür ederim!
 
double a= 20.43 ;
double b= 20.56 ;
int OnInit ()
  {
   return ( INIT_SUCCEEDED );
  }
void OnDeinit ( const int reason)
  {
  }
void OnTick ()
  {
   Print (a-b);
  }
Sonuç -0.12999999999999999'dur. Niye ya?
 
ascerdfg :
Sonuç -0.12999999999999999. Niye ya?

Gerçek sayıları bilgisayar belleğinde saklama özellikleri.

Gerekli hassasiyetle çıktı almak için DoubleToString() kullanın

Genel olarak, temel bilgileri öğrenmeli ve ancak o zaman program yazmaya çalışmalısınız.

Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
  • www.mql5.com
Вещественные типы (или типы с плавающей точкой) представляют значения, имеющие дробную часть. В языке MQL5 есть два типа для чисел с плавающей точкой. Способ представления вещественных чисел в машинной памяти определен стандартом IEEE 754 и не зависит от платформ, операционных систем и языков программирования. Константы с плавающей точкой...