Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 68

 
Çok karakterli OnTick'in hızlı uygulanması

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

MetaTrader 5 Strateji Test Cihazında Test Sonuçlarının Analizi ve Optimizasyon

fxsaber , 2018.01.28 12:25

Gösterge

 #property indicator_chart_window
#property indicator_plots 0

input long Chart = 0 ; // идентификатор графика-получателя события
input int Index = 0 ;

int OnCalculate ( const int rates_total, const int prev_calculated, const int , const double &[] )
{
   if (prev_calculated)
     EventChartCustom (Chart, 0 , Index, 0 , NULL );
  
   return (rates_total);
}


danışman

 input int AmountSymbols = 1 ;

const string Symbols[] = { "EURUSD" , "GBPUSD" , "AUDUSD" , "USDJPY" , "USDCAD" };

void OnInit ()
{
   for ( int i = 0 ; i < AmountSymbols; i++)
     if (Symbols[i] != _Symbol )
       iCustom (Symbols[i], PERIOD_W1 , "Spy.ex5" , ChartID (), i); // MQL5\Indicators\Spy.ex5
}

void OnTick ()
{
   OnTick ( _Symbol ); 
}

void OnChartEvent ( const int id, const long &lparam, const double &, const string & )
{
   if (id == CHARTEVENT_CUSTOM )
     OnTick (Symbols[( int )lparam]);
}

// Мультисимвольный OnTick
void OnTick ( const string &Symb )
{
}
 
fxsaber :
Çok karakterli OnTick'in hızlı uygulanması
Zamanlayıcı yerine kullanılabilir mi? Göreceğiz
 
Vladislav Andruschenko :
Zamanlayıcı yerine kullanılabilir mi? Göreceğiz

Evet, OnInit dizideki karakterlere abone olur

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

Init() ve DeInit() yürütme sırası

Slava , 2017.04.14 10:21

Hizmetlerde OnTick(string sembolü) bulunur. Ancak belirli bir sembolden gelen kenelere abone olmanız gerekecek
 

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

MetaTrader 5 Strateji Test Cihazında Test Sonuçlarının Analizi ve Optimizasyon

fxsaber , 2018.01.29 15:24

Optimizasyonun hızı geçişlerin sırasına bağlıdır. Tek karakterlik geçişler önce gelir ve ardından çok karakterli geçişler olursa, yürütme süresi, Optimizasyon geçişlerinin ters sırasına göre daha az olacaktır.
Performansı artırmak için zorunlu MQL5 kod optimizasyonundan sonra Bulut üzerinde bu şekilde kaydetmeyi deneyin.


ZY Muhtemelen, kodun normal yazılmasıyla bulut parasının %90'ından tasarruf edilebilir. Ancak bu, yazarların düşündüğü son şey.

 
fxsaber :
Çok karakterli OnTick'in hızlı uygulanması

Güzel!!!
Uzun zamandır beklenen hizmetler olmadan bile gerçekten çalışıyor.

Çok teşekkürler!

Ve ne kadar uğraşırsam uğraşayım MQL4'te işe yaramadı. iCustom'dan gelen gösterge, iCustom'a yapılan son aramadan sonra yaklaşık 10 milisaniye boyunca kullanıcı mesajlarını simüle eder ve ardından "sessizleşir".

Dosyalar:
 
Nikolay Semko :

MQL4'te ne kadar uğraşırsam uğraşayım işe yaramadı. iCustom'dan gelen gösterge, iCustom'a yapılan son aramadan sonra yaklaşık 10 milisaniye boyunca kullanıcı mesajlarını simüle eder ve ardından "sessizleşir".

MT4'te "kollar" göstergesinin ömrü Terminalin kendisi tarafından izlenir. Bu nedenle, bu çözüm uygun değildir.


ZY Yöntem yedi yıldan daha uzun bir süre önce açıklanmıştır.

Реализация мультивалютного режима в MetaTrader 5
Реализация мультивалютного режима в MetaTrader 5
  • 2011.01.10
  • Konstantin Gruzdev
  • www.mql5.com
В настоящее время мультивалютных торговых систем, индикаторов и экспертов разработано огромное количество. Тем не менее, до сих пор создатели этого "огромного количества" сталкивались со специфическими для мультивалютных систем трудностями. С выпуском в свет терминала MetaTrader 5 и языка программирования MQL5 появилась возможность  реализации...
 
Siparişleri manuel olarak gönderirken, her zaman önce OrderCheck çağrılır. Ve geçilmezse ticaret emri gönderilmez.
 
OnTradeTransaction , hesapta çalışan bir ticaret "klonu" Uzman Danışmanının varlığını izleyen, ticari olmayan bir Uzman Danışman (Hizmet) yazmanıza olanak tanır. Bu tür durumlar bazen dikkatsizlikten kaynaklanmaktadır.
 
MT5'te siparişleri silerken bile özelliklerini dikkate almanız gerekiyor. SB ile ilgili örnek

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

Uzman Danışmanlar: VR---ZVER v.2

fxsaber , 2018.02.06 11:29

 void DeleteAllOrders()
  {
   for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)
       if (m_order.SelectByIndex(i) && (m_order.State() == ORDER_STATE_PLACED ) )
         if (m_order. Symbol ()==m_symbol.Name() && m_order.Magic()==m_magic)
            m_trade. OrderDelete (m_order.Ticket());
  }
Ve tabii ki OrderDelete'den sonra döngüden tekrar geçmek arzu edilir.
 
fxsaber :
Çok karakterli OnTick'in hızlı uygulanması
atlanmış keneler olabilir