Mql4 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 19

 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Kütüphaneler: Uzman

fxsaber , 2019.06.04 16:40

 // MT4-советник показывает, в каком режиме Long/Short был запущен.

#include <fxsaber\Expert.mqh> // https://www.mql5.com/ru/code/19003

int GetLongShortFlag( const int Chart_ID = 0 )
{
   MqlParam Params[];
   string Names[];
  
   const int Res = EXPERT::Parameters(Chart_ID, Params, Names);
  
   return (((Res & 3 ) << 1 ) + (Res & 1 ));
}

string LongShortToString( const int Chart_ID = 0 )
{
   const int Flag = GetLongShortFlag(Chart_ID);
   string Str = NULL ;
  
   if (( bool )(Flag & SYMBOL_TRADE_MODE_LONGONLY ) && ( bool )(Flag & SYMBOL_TRADE_MODE_SHORTONLY ))
    Str = "Long & Short" ;
   else if (( bool )(Flag & SYMBOL_TRADE_MODE_LONGONLY ))
    Str = "Only Long" ;
   else if (( bool )(Flag & SYMBOL_TRADE_MODE_SHORTONLY ))
    Str = "Only Short" ;
    
   return (Str);
}

int OnInit ()
{
   Alert (LongShortToString());
  
   return ( INIT_FAILED );
}


Alternatif

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

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

fxsaber , 2019.06.04 19:40

 string LongShortToString2()
{
   string Str = "Long & Short" ;

   if ( OrderSend ( _Symbol , OP_BUY, 1 , 0 , 0 , 0 , 0 ) && ( GetLastError () == ERR_LONGS_NOT_ALLOWED))
    Str = "Only Short" ;
   else if ( OrderSend ( _Symbol , OP_SELL, 1 , 0 , 0 , 0 , 0 ) && ( GetLastError () == ERR_SHORTS_NOT_ALLOWED))
    Str = "Only Long" ;
    
   return (Str);
}


Her zaman işe yaramayabilir ama çoğu zaman yeterlidir.

 
 

Görev, en az çabayla Market Watch'taki tüm işaretleri (kayıp olmadan) tutmaktı.

Her sembol için bir grafik açan ve üzerinde bir gösterge toplayıcı başlatan bir Yükleyici betiği yazdım.

İşin püf noktası, böyle bir tpl dosyasını indirerek göstergeyi başlatmaktır (tam olarak verilmiştir)

 < chart >
< window >
< indicator >
name=Custom Indicator
< expert >
name=HistoryTicks_OnlySave
</ expert >
</ indicator >
</ window >
</ chart >

İyi çünkü bar yok. Bu nedenle, kaynaklar onlara harcanmaz.

Sonuç olarak, 60 çizelge. Çok fazla gösterge. Dakikada ~500Kb tıklama kaydedildi.

RAM ~450Mb, CPU ~%3-8 (8 HyperThreading).


Tehdit Bunu kim yapacak, Piyasa İzleme'de veri değişikliklerinin sıklığını izleyen bir danışman çalıştırmanızı şiddetle tavsiye ederim. Benim için, üç saniyeden fazla güncellenmezse, zorunlu bir yeniden giriş yapılır. Gerçek şu ki, MT4 (ve MT5 de), ağda sorun olması durumunda, bağlantıyı 10-15 saniyede kendi kendine geri yükleyebilir ve bazen bir dakikaya kadar mümkün değildir. Ancak o zaman relogin kendisi yapar. Bu 10-15 saniye, hatta bir dakika boyunca keneleri kaybetmemek için bağlantıyı yeniden kurma görevini üstlenmenizi tavsiye ederim. Aynısı savaş araçlarına sahip terminaller için de geçerlidir.

 
fxsaber :

Görev, en az çabayla Market Watch'taki tüm işaretleri (kayıp olmadan) tutmaktı.

Yani kayıp yok mu? Görünüşe göre bu efsane çoktan ortadan kaldırıldı.

 
Andrey Khatimlianskii :

Yani kayıp yok mu? Görünüşe göre bu efsane çoktan ortadan kaldırıldı.

Kendimi buna nasıl ikna ettiğimi tam olarak hatırlamıyorum. MT4'te toplanan geçmişi komisyoncununkiyle karşılaştırdığımı biliyorum. %100 uyum vardı.

KB'den HistoryTicks çözümünü kullanıyorum. Toplanan kenelerdeki sanal test cihazının sonucunu ve indirilen kenelerdeki MT5 test cihazının sonucunu karşılaştırdığımda - %100 eşleşme.

Sorunlar sadece iletişimden kaynaklanabilir. Danışmanlar, elbette, özledim. Göstergeler değildir.

 
fxsaber :

Kendimi buna nasıl ikna ettiğimi tam olarak hatırlamıyorum. MT4'te toplanan geçmişi komisyoncununkiyle karşılaştırdığımı biliyorum. %100 uyum vardı.

KB'den HistoryTicks çözümünü kullanıyorum. Toplanan kenelerdeki sanal test cihazının sonucunu ve indirilen kenelerdeki MT5 test cihazının sonucunu karşılaştırdığımda - %100 eşleşme.

Sorunlar sadece iletişimden kaynaklanabilir. Danışmanlar, elbette, özledim. Göstergeler değildir.

Hmm.. Ben sadece senin maruz kalmandan bahsediyordum:

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Hatalar, hatalar, sorular

fxsaber , 2018.02.26 09:05

Üç onaydan oluşan bir grup geldiyse, Hesapla olayı üç kez çağrılır, ancak SymbolInfoTick bu üç çağrının her birinde en son onay işaretini döndürür. Onlar. Göstergelerden geçmeden sözde kene koleksiyonu, hafifçe söylemek gerekirse, şüphelidir.


Bir şeyler değişti?

 
Andrey Khatimlianskii :

Hmm.. Ben sadece senin maruz kalmandan bahsediyordum:

Bir şeyler değişti?

CopyTicks ile bir yaygara olduğunda, keneler ve CopyTicks sonuçları koleksiyonunun bir karşılaştırması vardı.

Tam hatırlamıyorum ama uyumlu görünüyorlar.

CustomTicksAdd aracılığıyla bir paket kene yüklemeniz ve görmeniz gerekir. Ama bu MT5.


MT4 bu şekilde kontrol edilebilir. İki bitişik kaydedilen onay işareti her zaman farklı olmalıdır. Ve sunucudaki çubukların tik hacimleri , toplanan kenelerden gelen çubuklarla eşleşmelidir.

2018'de muhtemelen akıllıca bir şey biliyordu. Şimdi hatırlamıyorum.

 
fxsaber :

Kendimi buna nasıl ikna ettiğimi tam olarak hatırlamıyorum. MT4'te toplanan geçmişi komisyoncununkiyle karşılaştırdığımı biliyorum. %100 uyum vardı.

KB'den HistoryTicks çözümünü kullanıyorum. Toplanan kenelerdeki sanal test cihazının sonucunu ve indirilen kenelerdeki MT5 test cihazının sonucunu karşılaştırdığımda - %100 eşleşme.

Sorunlar sadece iletişimden kaynaklanabilir. Danışmanlar, elbette, özledim. Göstergeler değildir.

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Kene geçmişini toplamak için bir danışman verin

zenz , 2018.03.07 11:10

Karşılaştırmayı Eylül ayında yapmıştım. Alpari arşivinde yayın gecikmesi 1 hafta, yani güncel bir karşılaştırma yaparsanız önümüzdeki haftaya kadar çalışmaz (ve pek bir nokta göremiyorum - zaten her şeyi kendim öğrendim).

Bu nedenle, 22/09/2017 için iki ekran görüntüsü. Terminal, bir günlük yazan tek bir gösterge ile boş bir bilgisayarda başlatıldı. XP SP3 işletim sistemi, MT4 terminalinin sürümü 1090. Alpari Pro-ECN Gerçek hesap.



Solda Alpari arşivinden bir resim, sağda gösterge tarafından kaydedilen keneler var.

Aynı zamanda, 17 saniyeden önceki ve sonraki (16 ve 18 saniye) kenelerin tamamen çakıştığını, yani. bu durumda mesele, zamanın uyumsuzluğunda değildir. Kene atlamanın yalnızca bir saniye içinde gerçekleşmediğini tekrar ediyorum - yani. sadece hızlı tikler değil, aynı zamanda "yavaş" olanlar da yutulur. Bunda bir sistem bulamadım.

Açıklama : Sağa doğru Alpari arşivinin saniyelerinden itibaren mil veya mikrosaniye değil, tik sayısı - nedense böyle yaptılar.

İşte bu konuya bir bağlantı: https://www.mql5.com/en/forum/229889/page4#comment_6741502 . O zamandan beri MT4'te bir şeyin değiştiğini düşünmüyorum, ancak tekrar kontrol etmeme rağmen, MT4'teki hem göstergelerin hem de Uzman Danışmanların kene atladığını varsayıyorum.

Дайте советник для сбора тиковой истории
Дайте советник для сбора тиковой истории
  • 2018.03.07
  • www.mql5.com
Дайте готовый советник для записи тиков в csv файл...
 
zenz :

İşte bu konuya bir bağlantı: https://www.mql5.com/ru/forum/229889/page4#comment_6741502 . Artık kontrol etmeme rağmen MT4'te o zamandan beri hiçbir şeyin değiştiğini düşünmüyorum, ancak MT4'teki hem göstergelerin hem de Uzman Danışmanların kene atladığını varsayıyorum.

Bu "atlanan" onay işaretlerinin ticaret sunucusu tarafından gönderildiğine dair bir kesinlik yoktur.

 
fxsaber :

Bu "atlanan" onay işaretlerinin ticaret sunucusu tarafından gönderildiğine dair bir kesinlik yoktur.

Bunu ben de düşündüm, katılıyorum. Az önce bir araştırma yaptım ve tutarsızlık vakalarının münferit olmadığını, periyodik olarak meydana geldiğini buldum - ve bu konuda sakinleştim.