Emir bulma görevi

 

Genel olarak, aşağıdakilerin özü, siparişleri bulmak için kod seçenekleri aramaktır.

Görev şudur:

1 :

Fiyata ve emir tipine göre (Al / Sat) maksimum emir hakkında en üstte bilgi alın

Fiyata ve emir türüne göre ( Al / Sat ) en düşük minimum sipariş hakkında bilgi alın

Son sipariş hakkında zamana ve sipariş türüne göre bilgi alın ( Al / Sat )

İlk sipariş hakkında zamana ve sipariş türüne göre bilgi alın ( Al / Sat )

2:

Fiyat ve emir türüne göre sondan bir önceki maksimum emir hakkında bilgi alın ( Al / Sat )

Fiyat ve emir tipine göre sondan bir önceki minimum emir hakkında bilgi alın ( Al / Sat )

Zamana ve sipariş türüne göre sondan bir önceki sipariş hakkında bilgi alın ( Al / Sat )

Zamana ve sipariş türüne göre ikinci sipariş hakkında bilgi alın ( Al / Sat )

Bilgi, siparişle ilgili tüm bilgiler anlamına gelir (sembol, lot, fiyat ......)

Prosedürel programlama tarzında, bu sorun uzun zaman önce çözüldü, şimdi basitleştirmek ve bir sınıf yapmak istiyorum ama aklıma bir şey gelmiyor, lütfen bana biraz fikir verin...

 
Vladimir Pastushak :

Genel olarak, aşağıdakilerin özü, siparişleri bulmak için kod seçenekleri aramaktır.


Aktif siparişleri izlemek istiyor musunuz?

MQL4 veya MQL5?

 
Михаил :
Aktif siparişleri izlemek istiyor musunuz?
Evet ama hepsi değil ama fiyat olarak maksimum/minimum ve zamanda ilk ve son, her biri 2 adet yani son ve sondan bir önceki ..
 
Vladimir Pastushak :

Genel olarak, aşağıdakilerin özü, siparişleri bulmak için kod seçenekleri aramaktır.

Görev şudur:

1 :

Fiyata ve emir tipine göre (Al / Sat) maksimum emir hakkında en üstte bilgi alın

Fiyata ve emir türüne göre ( Al / Sat ) en düşük minimum sipariş hakkında bilgi alın

Son sipariş hakkında zamana ve sipariş türüne göre bilgi alın ( Al / Sat )

İlk sipariş hakkında zamana ve sipariş türüne göre bilgi alın ( Al / Sat )

2:

Fiyat ve emir türüne göre sondan bir önceki maksimum emir hakkında bilgi alın ( Al / Sat )

Fiyat ve emir tipine göre sondan bir önceki minimum emir hakkında bilgi alın ( Al / Sat )

Zamana ve sipariş türüne göre sondan bir önceki sipariş hakkında bilgi alın ( Al / Sat )

Zamana ve sipariş türüne göre ikinci sipariş hakkında bilgi alın ( Al / Sat )

Bilgi, siparişle ilgili tüm bilgiler anlamına gelir (sembol, lot, fiyat ......)

Prosedürel programlama tarzında, bu sorun uzun zaman önce çözüldü, şimdi basitleştirmek ve bir sınıf yapmak istiyorum ama aklıma bir şey gelmiyor, lütfen bana biraz fikir verin...

Evet. Vladimir BÜYÜK bir görevdir! :-)

Nerede ticaret yapacağımı söyler misin?

 
Vladimir Pastushak :
Evet ama hepsi değil ama fiyat olarak maksimum/minimum ve zamanda ilk ve son, her biri 2 adet yani son ve sondan bir önceki ..

Zor değil çünkü emirleri sen veriyorsun.

Bu yüzden hafızadaki son iki ALIM ve son iki Satışın verilerini yazın.

Ve hiçbir şey aramanıza gerek yok.

 struct MEM_ORDER
{
   ulong ticket;
   long ord_type;
   double price;
};
struct MEM_ORDERS
{
   bool       is_first_buy;
   bool       is_first_sell;
  MEM_ORDER buy_oders[ 2 ];
  MEM_ORDER sell_oders[ 2 ];
};
 
Михаил :

Zor değil çünkü emirleri sen veriyorsun.

Bu yüzden hafızadaki son iki ALIM ve son iki Satışın verilerini yazın.

Ve hiçbir şey aramanıza gerek yok.

Böyle bir çözüm düşündüm, ancak danışmanı / terminali yeniden başlatma sırasında yeniden başlatmanın gerçekleşmesinden ve önceki çalışma sırasındaki tüm verilerin kaybolmasından memnun değildim.

Güvenilir bir çalışma yönteminin danışman zamanında çevre hakkında veri toplamak olduğuna inanıyorum.

 
Vladimir Pastushak :

Böyle bir çözüm düşündüm, ancak danışmanı / terminali yeniden başlatma sırasında yeniden başlatmanın gerçekleşmesinden ve önceki çalışma sırasındaki tüm verilerin kaybolmasından memnun değildim.

Güvenilir bir çalışma yönteminin danışman zamanında çevre hakkında veri toplamak olduğuna inanıyorum.

Danışmandan çıkarken bir dosyaya veri kaydetmenizi ve yükleme sırasında bir dosyadan yükleme yapmanızı engelleyen nedir?

 //| Expert Load setings function                                     |
//+------------------------------------------------------------------+
void LoadSettings()
{
   string file_name = _Symbol + ".dat" ;
   int file_handle;
//---  
   if ( FileIsExist ( file_name, 0 ) )
  {
    file_handle = FileOpen ( file_name, FILE_READ | FILE_BIN );
    
     if ( file_handle != INVALID_HANDLE )
    {
      e_high = FileReadLong ( file_handle );
      a_profit = FileReadLong ( file_handle );
      e_low = FileReadLong ( file_handle );
      ord_delta_high = FileReadLong ( file_handle );
      ord_delta_low = FileReadLong ( file_handle );
      order_delta = FileReadLong ( file_handle );
      exit_delta = FileReadLong ( file_handle );
       FileClose ( file_handle );
    }
  } 
}

//+------------------------------------------------------------------+
//| Expert Save settings function                                    |
//+------------------------------------------------------------------+
void SaveSettings()
{
   string file_name = _Symbol + ".dat" ;
   int file_handle;
   bool file_found = true ;
//---  
   if ( FileIsExist ( file_name, 0 ) )
  {
     if ( FileDelete ( file_name, 0 ) ) file_found = false ;
  }
   else
  {
    file_found = false ;
  }
//---
   if ( ! file_found )
  {
    file_handle = FileOpen ( file_name, FILE_WRITE | FILE_BIN );
    
     if ( file_handle != INVALID_HANDLE )
    {
       FileWriteLong ( file_handle, e_high );
       FileWriteLong ( file_handle, a_profit );
       FileWriteLong ( file_handle, e_low );
       FileWriteLong ( file_handle, ord_delta_high );
       FileWriteLong ( file_handle, ord_delta_low );
       FileWriteLong ( file_handle, order_delta );
       FileWriteLong ( file_handle, exit_delta );
       FileClose ( file_handle );
    }
  } 
}
 
Михаил :

Danışmandan çıkarken bir dosyaya veri kaydetmenizi ve yükleme sırasında bir dosyadan yükleme yapmanızı engelleyen nedir?

Bu kesinlikle iyidir, ancak yeniden başlatma sırasında ortam değişebileceğinden güvenilir değildir.
 
Vladimir Pastushak :
Bu kesinlikle iyidir, ancak yeniden başlatma sırasında ortam değişebileceğinden güvenilir değildir.

Çıkmadan önce tüm siparişleri kapatın.

Hala yapılması gerekiyor

 
Михаил :

Çıkmadan önce tüm siparişleri kapatın.

yapmak hala sıkıcı

Öngörülemeyen yeniden başlatmalar sorunlara yol açacaktır...

sınıf yazdım...

 
Vladimir Pastushak :

Öngörülemeyen yeniden başlatmalar sorunlara yol açacaktır...

sınıf yazdım...

İnsanları güldürmeyin....

Öngörülemeyen bir şey varsa, hiçbir ders kurtarmaz!

Windows veya terminal "çökmüşse", Expert Advisor yeniden başlatıldığında,

Ben sadece aktif emirlere "bakıyorum" ve onları kapatıyorum çünkü onlar üzerinde hiçbir kontrol yok.