Hizmetler. Zaten çalışıyor? - sayfa 14

 
Maxim Dmitrievsky :

birçok platformda bu seçenek bulunur, ör. Bir bilgi akışı kullanıldığında ve ticaret başka bir komisyoncu ile yapıldığında sık uygulama

Arbitraj burada hiçbir şekilde

örneğin, başka bir tedarikçinin pazar derinliği, diğer gerekli bilgi sembolleri (endeksler, vadeli işlemler) ve diğer güzellikleri vardır.

Evet, Ninja Trader 8 ile cilt almayı öğreniyorum. Dosyalar aracılığıyla hızlı ve kötü bir şekilde yaptım. Servislerle deneyeceğim.

 
fxsaber :

DLL olmadan Terminalin "GUI'sini genişletmek" imkansızdır.

Memory Mapping yoluyla iletişim, aynı zamanda iki yönlü olacaktır.

 
fxsaber :

Bağlı bir pazarlamacının rüyasının benzer bir API olduğunu anlıyorum. Burada sadece birkaç Terminalin paralel başlatılmasıyla sorun çözüldü.

Ana Terminali alır ve içindeki Hizmet aracılığıyla diğer açık Terminallerden veri toplarsınız. Sahip olduğunuz Ana Terminaldeki toplam

EURUSD_Alpari.

EURUSD_Dukaskopi

EURUSD_LMAX

----


Ve Ana Terminal bir DC frenindeyse, MQL kapsamının ötesine geçmeyen temel bir Uzman Danışman yazılır. Servis tüm kirli işleri yapar.

Nasıl? Özetle plz.

 
Реter Konow :

Terminalde her EA'nın erişebileceği bir kullanıcı işlemi. Servislerde pazar ortamı ile ilgili sonsuz hesaplamaları ayrı threadler halinde çalıştırabilir ve doğru zamanda süreçlerden güncel sonuçları alabilirsiniz.

halka tamponlar.

Windows'un aksine, MT5 hizmetlerinin terminal içinde yerel olması üzücü...

 
Alexey Volchanskiy :

Evet, Ninja Trader 8 ile cilt almayı öğreniyorum. Dosyalar aracılığıyla hızlı ve kötü bir şekilde yaptım. Servislerle deneyeceğim.

NT ölü bir projedir , IMHO

 
Maxim Dmitrievsky :

NT ölü bir projedir, IMHO

Tüm yaşayan ve gelişenlerden daha canlı

 
Alexey Volchanskiy :

Kaynaklar üzerinden anında veri aktarımı örneği var mı?

Arama bulunmalıdır.

Alexey Volchanskiy :

Nasıl? Özetle plz.

FILE_COMMON veya DLL.

 
Maxim Dmitrievsky :

NT ölü bir projedir, IMHO

Bunu söylediğimde, daha fazla yazıyorum çünkü ilk olarak ..., ikincide ... vb. Ve bu, bir boşlukta başka bir osuruktur)

4.5 veya 4.6 gibi oldukça yeni bir sürümün tam teşekküllü bir C#, .NET'i hala var. Programlar doğrudan VS2017'de yazılabilir ve hata ayıklanabilir, bu bir şey söylüyor mu? Ayrıca .NET kitaplıklarının tüm gücü. Ve benim için en önemlisi, vadeli işlemlerle ilgili ciltlere erişim. Ancak her şeyin küresel dalgalanmaların onlarca dakika gerisinde kaldığı Moskova Borsası değil. Bu arada Market var, incelememiş olsam da henüz erken.

 
fxsaber :

FILE_COMMON veya DLL.

Ah, hizmetler açısından yeni bir şey icat edildiğini sanıyordum.

 
Alexey Volchanskiy :

4.5 veya 4.6 gibi oldukça yeni bir sürümün tam teşekküllü bir C#, .NET'i hala var. Programlar doğrudan VS2017'de yazılabilir ve hata ayıklanabilir, bu bir şey söylüyor mu?

biz de burada doğmadık!

burada MT5 teslimatından 10 dakika içinde Momentum göstergesini yeniden yazdım... peki, nasıl yeniden yazdım... VS2017'de kopyalayıp yapıştırdım )))

MQL5 kaynak kodu:

 #import "tst_momentum.dll"
#import
..... текст оригинала индикатора Momentum.mql5

int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const int begin,
                 const double &price[])
  {
   int StartCalcPosition;
   double pr[];
   ArrayCopy (pr,price);
   momentum::oncalculate(ExtMomentumPeriod,rates_total,prev_calculated,begin,pr,StartCalcPosition,ExtMomentumBuffer);
   if (begin> 0 ) PlotIndexSetInteger ( 0 , PLOT_DRAW_BEGIN ,StartCalcPosition+(ExtMomentumPeriod- 1 ));
   return (rates_total);
  }

C# kaynağı

 namespace tst_momentum
{
     public class momentum
    {
         public static void oncalculate( int ExtMomentumPeriod,
                                 int rates_total,
                                 int prev_calculated,
                                 int begin,
                                 double [] price,
                                 ref int StartCalcPosition,
                                 ref double [] OUTArray)
        {
            StartCalcPosition = (ExtMomentumPeriod - 1 ) + begin;
             if (rates_total < StartCalcPosition) return ;
             int pos = prev_calculated - 1 ;
             if (pos < StartCalcPosition) pos = begin + ExtMomentumPeriod;
             for ( int i = pos; i < rates_total;  i++)
            {
                OUTArray[i] = price[i] * 100 / price[i - ExtMomentumPeriod];
            }
        }
    }
}

bellek tahsisi MQL5 tarafından gerçekleştirilir, hesaplamalar C# tarafından gerçekleştirilir

Not: Fiyat[] fiyatlarını kopyalamadan C#'a nasıl aktaracağımı henüz bilmiyorum - herhangi bir seçenek var mı?