[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 447

 

Bir şeyi merak ediyorum - sipariş verilmediyse, muhtemelen bir tür hata var mı? Ve onu okumak ve düzeltmek için çıktısını almak, görünüşe göre kaderiniz değil mi?

/*sıfır alma ve durdurma ile bir sipariş verin ve ardından düzenleyin, UMC yürütme türünü tanıttılar */

 
FAQ :

Bir şeyi merak ediyorum - sipariş verilmediyse, muhtemelen bir tür hata var mı? Ve onu okumak ve düzeltmek için çıktısını almak, görünüşe göre kaderiniz değil mi?

/*sıfır alma ve durdurma ile bir sipariş verin ve ardından düzenleyin, UMC yürütme türünü tanıttılar */

bu sadece saf günlüğe giren nokta!

" UMC yürütme türünü tanıtan onlardı * / " - lütfen sorunun duraklarda olup olmadığını deşifre edin - bu öngörülemeyen bir olay için bir sigorta seçeneği olarak benim

 
vall :

bu sadece saf günlüğe giren nokta!

" UMC yürütme türünü tanıtan onlardı * / " - lütfen sorunun duraklarda olup olmadığını deşifre edin - bu öngörülemeyen bir olay için bir sigorta seçeneği olarak benim

Durmadan ve almadan sipariş verin ve açılıp açılmadığını görün!

DC'nizi bu tür ticaret hesabında durdurmak ve almak SADECE önceden ayarlanmış sıfır değerlerini değiştirerek mümkündür.

 
Roman. :

Durmadan ve almadan sipariş verin ve açılıp açılmadığını görün!

DC'nizi bu tür ticaret hesabında durdurmak ve almak SADECE önceden ayarlanmış sıfır değerlerini değiştirerek mümkündür.


Teşekkürler, yardımcı oldu.

0'dan bir hesap açmanız ve ardından durakları tanıtarak değişiklik yapmanız gerektiği ortaya çıktı?

 
vall :

Teşekkürler, yardımcı oldu.

0'dan bir hesap açmanız ve ardından durakları tanıtarak değişiklik yapmanız gerektiği ortaya çıktı?

bu parametrelerin sıfır değerlerine sahip bir sipariş açın, ardından açık siparişi değiştirerek değiştirin.

 
Roman. :

bu parametrelerin sıfır değerlerine sahip bir sipariş açın, ardından açık siparişi değiştirerek değiştirin.


Teşekkürler, duraklar tam olarak grafiğin sembollerine göre ayarlanmıştır, yani. 0.00001 veya 0.0001'e kadar doğru mu?
 

Günlükler temizdir, çünkü hiç kimse hataları sizin için tespit edip işlemez .

Спасибо, стопы устанавливаются в точностью до символов графика, т.е. 0,00001 или с точностью до 0,0001?

MarketInfo parmaklarınızın ucunda.

 
Vinin :

Sorunuzla kimse uğraşmak istemiyor. Her ne kadar sorunuza uzun zaman önce cevap vermiş olsanız da, tabii isterseniz.
Ben buna zaten inanıyorum... İnanın bazen kendi sorunuzu cevaplamak için tek bir arzu yetmez.
 

İyi günler... FileIsEnding ve FileIsLineEnding işlevleriyle ilgili soru. FileIsEnding ve FileIsLineEnding işlevlerinin nasıl çalıştığını anlamak için aşağıdaki betiği yazdım:

 //+------------------------------------------------------------------------------------------+
//+------------------------------------------------------------------------------------------+
//|                         script program start function                                    |
//+------------------------------------------------------------------------------------------+
#property show_inputs                                                     //выводим перед запуском скрипта окно свойств
extern int   position= 0 ;                                                   //внешняя переменная: смещение файлового указателя ОТ НАЧАЛА ФАЙЛА (в БАЙТАХ)
//---------------------------------------------------------------------------------------- 1 -
int start()                                                               //функция start
  {                                                                       //начало start
   double Timestart= GetTickCount ();                                       //переменная, с помощью которой вычисляется время (в милисекундах) начала выполнения эксперта 
   string name= "Копия Запись чисел в файл.csv" ;                           //имя создаваемого файла
   bool h;                                                               //переменная: значение функции FileIsEnding
   bool h_l;                                                             //переменная: значение функции FileIsLineEnding
   int error;                                                             //переменная: ошибка
   int handle= FileOpen (name, FILE_CSV | FILE_WRITE , ';' );                     //открываем заданный файл n записываем туда данные
   int запись= FileWrite (handle, DoubleToStr ( 1.3584 , 4 ));                   //записываем цены OHLC в файл csv (в преобразованном виде, т.е в виде текста)
   FileClose (handle);                                                     //закрываем файл
//---------------------------------------------------------------------------------------- 2 -
   handle= FileOpen (name, FILE_CSV | FILE_READ , ';' );                         //открываем заданный файл
   bool pos= FileSeek (handle,position, SEEK_SET );                           //смещаем от начала вправо указатель файла
   double чтение= FileReadNumber (handle);                                 //считываем число из текущей позиции (уже измененной функцией FileSeek) файлового указателя
   int size= FileSize (handle);                                             //вычисляем размер заданного файла
   h= FileIsEnding (handle);                                               //устанавливаем текущее значение переменной h
   h_l= FileIsLineEnding (handle);                                         //устанавливаем текущее значение переменной h_l
   error= GetLastError ();                                                 //значение ошибки, производимой функцией FileIsEnding
   if (error!= 0 ) Alert ( "Текущая ошибка " ,error);                           //если код текущей ошибки не равен 0, то получаем номер текущей ошибки
   FileClose (handle);                                                     //закрываем файл
//----------------------------------------------------------------------------------------- 3 -
   Comment ( "Размер файла " ,name, " составил " ,size, " байт" ,
           "\nФункция FileSeek вернула: " ,pos,
           "\nФункция FileReadNumber(handle) вернула: " ,чтение,
           "\nФункция FileIsLineEnding(handle) вернула: " ,h_l,
           "\nФункция FileIsEnding(handle) вернула: " ,h,
           "\nСкрипт выполнялся всего " , GetTickCount ()-Timestart, " миллисекунд, из них: " , MathFloor (( GetTickCount ()-Timestart)/ 1000 ), " секунд " ,(( GetTickCount ()-Timestart)/ 1000 - MathFloor (( GetTickCount ()-Timestart)/ 1000 ))* 1000 , " миллисекунд" ); //печать сообщения на экран
//----------------------------------------------------------------------------------------- 4 -
   return ( 0 );                                                             //выход из start
  }                                                                       //конец start
//-------------------------------------- КОНЕЦ START -------------------------------------- 5 -

1-2 bloğunda, dosyayı açtım ve dosyaya (DoubleToStr işlevinin metne dönüştürdüğü) 1.3584 sayısını yazdım.

Blok 3-4 Dosyayı açtım ve orada yazan numarayı okudum.

Harici değişken extern int konumu, FileTell işlevini kullanarak dosya işaretçisini hareket ettirerek FileIsEnding ve FileIsLineEnding işlevlerinin nasıl çalıştığını ve bir dosya işaretçisinin ne olduğunu anlamaya çalışmak için tasarlanmıştır.

MQL4.community'de bulunan MQL4 hakkındaki kitap, bir dosya işaretçisinin bir metin imlecine benzer olduğunu söylüyor.

AMA, bu betiği birkaç kez çalıştırarak ve her seferinde harici değişken postiton'u 1 değiştirerek (yani, dosya işaretçisini dosyanın başlangıcından itibaren 1 bayt sağa kaydırarak) Yorum işlevi bir dizi mesaj görüntüledi. misal:

postiton=7 ise, mesaj şuna benziyordu:


postiton=8 ise, mesaj şuna benziyordu:


anladım çünkü PC belleğinde, dize sabitleri 8 bayt alır ve dosyaya metne dönüştürülen yalnızca 1 sayı yazılır, ardından dosya işaretçisini 8 bayt sağa kaydırırsam 4099 hatası alıyorum (bu, dosyanın sonuna ulaşıldığı anlamına gelir) ). Ayrıca FileIsEnding işlevinin aynı nedenle (dosya sonuna ulaşıldı) 1 (true) döndürdüğünü anlıyorum. Ancak FileIsLineEnding işlevinin neden 0 döndürdüğünü anlamıyorum (yanlış, yani dosya işaretçisi satırın sonuna ulaşmadı). Ne de olsa, MQL kitabında verilen analojinin rehberliğinde (bir dosya işaretçisi yaklaşık olarak bir metin imleciyle aynıdır), dosyanın sonunun aynı zamanda satırın sonu olduğunu düşündüm. Ancak dosya işaretçisi dosyanın sonuna geldiğinde FileIsEnding ve FileIsLineEnding fonksiyonlarının değerleri arasındaki tutarsızlık göz önüne alındığında, DOSYA NOKTASI NEDİR konusunda çıkmaza girdim.

Soru:

1. Dosya işaretçisi nedir?

2. Neden eşleşmez: satırın sonu ve dosyanın sonu (dosya işaretçisi dosyanın sonuna ulaştığında)?

Not: Forumu kirletmemek adına şimdiden cevap için teşekkürler

 
7777877 :

1. Dosya işaretçisi nedir?

2. Neden eşleşmez: satırın sonu ve dosyanın sonu (dosya işaretçisi dosyanın sonuna ulaştığında)?

Not: Forumu kirletmemek adına şimdiden cevap için teşekkürler

1. dosya işaretçisi - yazarken aslında bir imleç

2. Size eşleşmeleri gerektiğini kim söyledi? satır sonu karakteri '\n' var, dosya sonu karakteri 'EOF' var bunlar farklı karakterler. Cümle sonu karakteri (nokta) ve paragraf sonu karakteri ("satır sonu karakteri") gibidir. Önce bir nokta gelir - satırın sonu. Sonra paragrafın sonu.