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

 

Belgeler, üçüncü taraf göstergelerini çağırmak için iCustom işlevini kullanmanız gerektiğini söylüyor.

Bu fonksiyonda ikinci parametre timeframe'dir . Bu parametre göstergemde ayrı olarak görünüyorsa ve bunu iCustom işlevinin parametrelerinde daha fazla belirteceğim , name parametresinden sonra göstergelerinden geçirilen parametrelerin listesine girilecek bir yer var.

Böyle. Her durumda, göstergede gerekli olan göstergeden zaman dilimi parametresini göndereceğim. Aynı parametreyi 2 yerde belirtirseniz mantıklı olmaz. O zaman bunu yapmanın en iyi yolu nedir?

 
hoz :

Belgeler, üçüncü taraf göstergelerini çağırmak için iCustom işlevini kullanmanız gerektiğini söylüyor.

Bu fonksiyonda ikinci parametre timeframe'dir . Bu parametre göstergemde ayrı olarak görünüyorsa ve bunu iCustom işlevinin parametrelerinde daha fazla belirteceğim , name parametresinden sonra göstergelerinden geçirilen parametrelerin listesine girilecek bir yer var.

Böyle. Her durumda, göstergede gerekli olan göstergeden zaman dilimi parametresini göndereceğim. Aynı parametreyi 2 yerde belirtirseniz mantıklı olmaz. O zaman bunu yapmanın en iyi yolu nedir?


Herşey iyi. Her şey belirtilmelidir. İkinci parametre, göstergenin fiziksel olarak eklendiği TF'dir, özel TF, göstergenin hesaplama için verileri aldığı yerdir. Tabii içinde mantık varsa ikinci parametreyi gösterge kodundan kaldırabilirsiniz.
 
Zhunko :
Herşey iyi. Her şey belirtilmelidir. İkinci parametre, göstergenin fiziksel olarak eklendiği TF'dir, özel TF, göstergenin hesaplama için verileri aldığı yerdir. Tabii içinde mantık varsa ikinci parametreyi gösterge kodundan kaldırabilirsiniz.

Şimdi net. Sayesinde.

Sadece burada, göstergedeki kepçede bildirilmesi gereken aynı parametreler. Göstergenin ve danışmanın doğru ortak çalışması için parametrelerin tüm değerlerinin aynı şekilde ve orada ayarlanması gerektiği ortaya çıktı?

Sonuçta, iCustom'a değişkenler girerseniz ve bunları Expert Advisor'da bildirmezseniz, derlerken, girdiğim değişkenlerin bildirilmediğini hemen logda söylüyor.

 
Kim bilir Code Base'den hangi Expert Advisor'da OrderCloseBy() fonksiyonunun tüm pastalarla nasıl kodlandığını görebilirsiniz. Öğreticideki yakın komut dosyasını izledim, ancak bir şeyi, bir danışmandan arama işlevinin nasıl yapıldığını vb. Belki ne yapacağını düşün! Teşekkürler!
 
borilunad :
Kim bilir Code Base'den hangi Expert Advisor'da OrderCloseBy() fonksiyonunun tüm pastalarla nasıl kodlandığını görebilirsiniz. Öğreticideki yakın komut dosyasını izledim, ancak bir şeyi, bir danışmandan arama işlevinin nasıl yapıldığını vb. Belki ne yapacağını düşün! Teşekkürler!

buraya baktın mı? https://docs.mql4.com/en/trading/OrderCloseBy
 

Tabi ki yaptım! İlkeyi anlıyorum ama işe yaramıyor, ancak yayılmadan tasarruf etmek için fırsatı kullanmanız gerekiyor. Bu yüzden işe yarayan örnekleri görmek istedim. Kod Tabanına baktım, ancak şu ana kadar başarılı olamadım. Bu Uzman Danışmanlarda kimsenin kullanmadığı bir şey karşılıklı kapatmadır. Koleksiyonda buluşmayı umuyorum, çarklarla değil. İyi geceler! Belki sabah akşamdan daha akıllıdır!
 
Windows'ta normal bir bilgisayarda trend çizgilerini , göstergeleri vb. nasıl sileceğimi söyle, onları seçtikten sonra sağ fare tuşuyla yaptım, ancak imac'ta nasıl olduğunu bilmiyorum. Ve hala genel listeye nasıl altın ekleyeceğimi bulamıyorum?
 
IMAC'ta satırlar nasıl silinir?
feeje :
Windows'ta normal bir bilgisayarda trend çizgilerini, göstergeleri vb. nasıl sileceğimi söyle, onları seçtikten sonra sağ fare tuşuyla yaptım ama imac'ta nasıl olduğunu bilmiyorum. Ve hala genel listeye nasıl altın ekleyeceğimi bulamıyorum?
 

Güzel gün. İNSANLAR, İYİ, BİRİSİ, LÜTFEN SORUYA CEVAP VERİN (Zaten 3. kez gönderiyorum). Dosya işaretçisi hakkında bir soru... MQL4'te bulunan MQL 4 hakkındaki kitapta. "Standart İşlevler " bölümünde, "Dosya İşlemleri" bölümünde, bir dosyadan veri okumak ve bir sembol penceresinde grafik nesneleri görüntülemek için tasarlanmış timetablenews.mq4 komut dosyasının bir örneği vardır:

 //--------------------------------------------------------------------
// timetablenews.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------- 1 --
int start()                             // Спец. функция start
  {
//--------------------------------------------------------------- 2 --
   int Handle,                         // Файловый описатель
       Stl;                             // Стиль вертикальной линии
   string File_Name= "News.csv" ,         // Имя файла
          Obj_Name,                     // Bмя объекта
          Instr,                       // Название валюты
          One,Two,                     // 1я и 2я чать названия инстр.
          Text,                         // Текст описания события
          Str_DtTm;                     // Дата и время события(строка)
   datetime Dat_DtTm;                   // Дата и время события(дата)
   color Col;                           // Цвет вертикальной линии
//--------------------------------------------------------------- 3 --
   Handle= FileOpen (File_Name, FILE_CSV | FILE_READ , ";" ); // Открытие файла
   if (Handle< 0 )                         // Неудача при открытии файла
     {
       if ( GetLastError ()== 4103 )         // Если файла не существует,..
         Alert ( "Нет файла с именем " ,File_Name); //.. извещаем трейдера 
       else                              // При любой другой ошибке..
         Alert ( "Ошибка при открытии файла " ,File_Name); //..такое сообщ
       PlaySound ( "Bzrrr.wav" );           // Звуковое сопровождение
       return ;                           // Выход из start()      
     }
//--------------------------------------------------------------- 4 --
   while ( FileIsEnding (Handle)==false) // До тех пор, пока файловый ..
     {                                 // ..указатель не в конце файла
       //--------------------------------------------------------- 5 --
      Str_DtTm = FileReadString (Handle); // Дата и время события(дата)
      Text     = FileReadString (Handle); // Текст описания события
       if ( FileIsEnding (Handle)==true)   // Файловый указатель в конце
         break ;                         // Выход из чтения и рисования
       //--------------------------------------------------------- 6 --
      Dat_DtTm = StrToTime (Str_DtTm);   // Преобразование типа данных
      Instr    = StringSubstr (Text, 0 , 3 ); // Извлекаем первые 3 символа
      One= StringSubstr ( Symbol (), 0 , 3 ); // Извлекаем первые 3 символа
      Two= StringSubstr ( Symbol (), 3 , 3 ); // Извлекаем вторые 3 символа
      Stl= STYLE_DOT ;                   // Для всех - стиль пунктир
      Col= DarkOrange ;                   // Для всех - цвет такой
       if (Instr==One || Instr==Two)     // А для событий по нашему ..
        {                             // .. финансовому инструменту..
         Stl= STYLE_SOLID ;               // .. такой стиль..
         Col= Red ;                       // .. и такой цвет верт. линии
        }
       //--------------------------------------------------------- 7 --
      Obj_Name= "News_Line  " +Str_DtTm;     // Имя объекта
       ObjectCreate (Obj_Name, OBJ_VLINE , 0 ,Dat_DtTm, 0 ); //Создаем объект..
       ObjectSet (Obj_Name, OBJPROP_COLOR , Col);       // ..и его цвет,..
       ObjectSet (Obj_Name, OBJPROP_STYLE , Stl);       // ..стиль..
       ObjectSetText (Obj_Name,Text, 10 );               // ..и описание 
     }
//--------------------------------------------------------------- 8 --
   FileClose ( Handle );                 // Закрываем файл
   PlaySound ( "bulk.wav" );               // Звуковое сопровождение
   WindowRedraw ();                     // Перерисовываем объекты
   return ;                             // Выход из start()
  }
//--------------------------------------------------------------- 9 --

Aşağıda, MQL 4 Kitabında bu komut dosyası analiz edilirken şu ifade verilmektedir: " Belirtilen kontrol (5. ancak bundan sonra while döngüsü sonlandırma koşulu çalışacak ve kontrol 8-9 "bloğa aktarılacaktır.

Doğru mu anladım???... Dosya işaretçisi METİN KARAKTERLERİ ARASINDA DEĞİLDİR (örn: tek | st , burada | bir dosya işaretçisidir), ancak AYRIŞTIRMALI bir işaretçidir, örneğin: te k st , burada k , dosya işaretçisi tarafından vurgulanan " k " karakteridir. Bu, hatların varlığının gerekliliğini açıklar (bkz. s. 164):

       if (FileIsEnding(Handle)== true )   // Файловый указатель в конце
         break ;                         // Выход из чтения и рисования
       //--------------------------------------------------------- 6 --

Gerçekten. Sondan bir önceki yinelemede, LAST nesnesinin oluşturulmasından sonra

2007.05.11 18:30; JPY Endüstriyel üretim

dosya işaretçisi son nesnenin konumundadır, yani:

2007.05.11 18:30; JPY Endüstriyel üretim

(burada o , dosya işaretçisi tarafından vurgulanan " o " sembolüdür). Ardından, while ifadesinin başına denetimi aktarırken, FileIsEnding ( handle ) işlevi açıkça true değerini döndürür , çünkü dosya işaretçisi dosyanın SONUNDA DEĞİL, o dosyanın SON KARAKTERİNDEDİR. Ardından, ilk iki satır yürütüldüğünde, dosya işaretçisi BOŞ bir yere gidecek ve satır yoksa

       if (FileIsEnding(Handle)== true )   // Файловый указатель в конце
         break ;                         // Выход из чтения и рисования
       //--------------------------------------------------------- 6 --

komut dosyası, boş bir açıklama ve 0'a karşılık gelen bir zaman koordinatıyla bir grafik (yani bir satır) oluşturacaktır. " Belirtilen kontrol (blok 5-6'daki son 2 satır) silinirse, programın yürütülmesi sırasında fazladan bir nesne oluşturulacaktır. " ifadesinde kastedilen budur.

Soru : Doğru anlıyor muyum:

a) bir dosya işaretçisinin tanımlanması;

b) " ifadesinin anlamı, eğer belirtilen kontrol (5. bloktaki son 2 satır) silinirse, programın yürütülmesi sırasında fazladan bir nesne oluşturulacaktır. Ve ancak bundan sonra while döngüsü sonlandırma koşulu olacaktır. iş ve kontrol 8-9 bloğa aktarılacak "

P. S. forumu kirletmemek adına şimdiden teşekkürler

 
Lütfen söyle bana. kârın bir kısmı nasıl kapatılır (örneğin: açık bir ticaretin %50'si) ?
Neden: