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

 

Meslektaşlarım, bana daha fazlasını anlatın

Bekleyen bir sipariş var X

bekleyen siparişin oluşturulmasından bu yana N saat sonra bu sipariş nasıl kapatılır?

Ekle. koşul: bekleyen bir emir, bir piyasa emri olabilir.

Bekleyen sipariş beklemede kalırsa, her şey basittir.

Bekleyen emrin piyasa emri olduğu durumla ilgileniyorum (yani, bekleyen emrin piyasa emri olduğu anda, yaratma zamanı da değişiyor)

Profesyonellerden bu sorunun nasıl çözüleceğine dair bir fikir ve böyle bir durum için daha iyi bir kod duymak istiyorum.

 
zorber :

Ben de bu sorunu çözmek isterdim ama işin püf noktası şu ki, test cihazında bekleyen bir emir tetiklendiğinde .... emrin türü değişmiyor .. ve günlükte piyasa emri olarak görüntülenmiyor. ... ve günlüğe göre çalışıp çalışmadığını belirleyin İşe yaramadı(((
 
kakin :

Pro, söyle lütfen. Bekleyen bir stop emrim varsa, ancak fiyat, stop loss'u aşan genişletilmiş bir spread ile girmişse.... Ne olacak?

Sipariş, yayılma tarafından yenilecek mi... yoksa bir hata mı çıkacak ve sipariş çalışmayacak mı?

senin için en kötü seçenek olacak
 

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Ş'a hareket edecek 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 mu anladım:

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öyleyin, hangi durumlarda ve neden EA, ayarlarda belirtilmiş olmalarına rağmen bazen SL ve/veya TP olmadan da ticaret açar? Açılır ancak değiştirilmez.
 
yosuf :
Lütfen söyleyin, hangi durumlarda ve neden EA, ayarlarda belirtilmiş olmalarına rağmen bazen SL ve/veya TP olmadan da ticaret açar? Açılır ve değişmez.

Çünkü "settings" ile OrderSend() komutu arasında program kodundan bir "conta" vardır.
 
Geçmiş klasöründeki ham dosyayı nasıl açacağımı söyle?
 
sss2019 :
Geçmiş klasöründeki ham dosyayı nasıl açacağımı söyle?

forum sürücülerinde arama yapın.

her şey zaten yapmak istediğin şey yapıldı :)

 

Finansal araçların bir listesini alma

Ve zaten bu konuya mesaj yazdınız.

 
Ilan1.6Dynamic Expert Advisor çalışmıyor. Kendi kendine işlem yapması için ayarladım. Ama ticaret yapmıyor.. Kim bilir ne yapacağını????