MQL5 için dilekler - sayfa 67

 
Herkese selam! Ve MQL5'in piyasaya sürülmesi yaklaşık olarak ne zaman olacak?
 
zax >> :
Herkese selam! Ve MQL5'in piyasaya sürülmesi yaklaşık olarak ne zaman olacak?

"hayır oğlum... bu harika..." (c) Neyin reklamını yaptığımı hatırlamıyorum... :)

 
double AccountFreeMarginCheck ( string symbol , int cmd , double volume ) 

lütfen riski ayarlayabileceğiniz benzer bir işlev yapın, ör. riske atmak istediğiniz yüzdeyi belirlersiniz ve lot büyüklüğü size geri döner.

Ve sonra zaten işkence gördü.

Ve bir şey daha, böylece göstergeden çağrılabilir (şimdi ne yazık ki bir hata üretiliyor). Şimdiden teşekkürler.

 
VC6.0'da geliştirme yapıldığını düşünmüyorum, şimdi insanlar VC2010'a geçiyor
 


-------------------------------------------------- --------------------

İşlev , GMT Timzone Broker Sunucusundan Ofset döndürür

 #import "Kernel32.dll"
   void GetLocalTime(int& gLti[]);
   void GetSystemTime(int& gSt[]);
   int GetTimeZoneInformation(int& gtzI[]);


//returns Offset from GMT Timzone(Broker Server )
int GMTOffset ( ) {
   int time_a [ 4 ] ;
   int time_b [ 43 ] ;
   
   GetSystemTime ( time_a ) ;
   int time0 = time_a [ 0 ] & 65535 ;
   int time1 = time_a [ 0 ] > > 16 ;
   int time2 = time_a [ 1 ] > > 16 ;
   int time3 = time_a [ 2 ] & 65535 ;
   int time4 = time_a [ 2 ] > > 16 ;
   int time5 = time_a [ 3 ] & 65535 ;
   string fuse1 = FormatDateTime ( time0 , time1 , time2 , time4 , time4 , time5 ) ;
   
   GetLocalTime ( time_a ) ;
   time0 = time_a [ 0 ] & 65535 ;
   time1 = time_a [ 0 ] > > 16 ;
   time2 = time_a [ 1 ] > > 16 ;
   time3 = time_a [ 2 ] & 65535 ;
   time4 = time_a [ 2 ] > > 16 ;
   time5 = time_a [ 3 ] & 65535 ;
   int time6 = time_a [ 3 ] > > 16 ;
   string fuse_sub = time6 + 1000 ;
   fuse_sub = StringSubstr ( fuse_sub , 1 ) ;
   fuse1 = FormatDateTime ( time0 , time1 , time2 , time3 , time4 , time5 ) ;
   int t1 = 0 ;
   int gtt1 = GetTimeZoneInformation ( time_b ) ;
   if ( gtt1 ! = 0 ) t1 = time_b [ 0 ] ;
   if ( gtt1 = = 2 ) t1 + = time_b [ 42 ] ;
   int timex2 = StrToTime ( fuse1 ) ;
   int tisu = TimeCurrent ( ) - ( timex2 + 60 * t1 ) ;
   double trmr = MathRound ( tisu / 360 ) ;
   int tzoff = MathRound ( trmr / 10.0 ) ;
   return ( tzoff ) ;
}

//format standart
string FormatDateTime ( int time0 , int time1 , int time2 , int time3 , int time4 , int time5 ) {
   string sub1 = time1 + 100 ; sub1 = StringSubstr ( sub1 , 1 ) ;
   string sub2 = time2 + 100 ; sub2 = StringSubstr ( sub2 , 1 ) ;
   string sub3 = time3 + 100 ; sub3 = StringSubstr ( sub3 , 1 ) ;
   string sub4 = time4 + 100 ; sub4 = StringSubstr ( sub4 , 1 ) ;
   string sub5 = time5 + 100 ; sub5 = StringSubstr ( sub5 , 1 ) ;
   return ( StringConcatenate ( time0 , "." , sub1 , "." , sub2 , " " , sub3 , ":" , sub4 , ":" , sub5 ) ) ;
}


-------------------------------------------------- -------------------------------------------------- -

İşlev, GMT Timzone'dan yerel makineye ofseti döndürür

 //return Timzone GMT offset from Local PC
int LocalGMTOffset ( ) {
   int time_a [ 4 ] ;
   int time_b [ 43 ] ;
   
   GetSystemTime ( time_a ) ;
   int time0 = time_a [ 0 ] & 65535 ;
   int time1 = time_a [ 0 ] > > 16 ;
   int time2 = time_a [ 1 ] > > 16 ;
   int time3 = time_a [ 2 ] & 65535 ;
   int time4 = time_a [ 2 ] > > 16 ;
   int time5 = time_a [ 3 ] & 65535 ;
   string fuse1 = FormatDateTime ( time0 , time1 , time2 , time4 , time4 , time5 ) ;
   
   GetLocalTime ( time_a ) ;
   time0 = time_a [ 0 ] & 65535 ;
   time1 = time_a [ 0 ] > > 16 ;
   time2 = time_a [ 1 ] > > 16 ;
   time3 = time_a [ 2 ] & 65535 ;
   time4 = time_a [ 2 ] > > 16 ;
   time5 = time_a [ 3 ] & 65535 ;
   int time6 = time_a [ 3 ] > > 16 ;
   string fuse_sub = time6 + 1000 ;
   fuse_sub = StringSubstr ( fuse_sub , 1 ) ;
   fuse1 = FormatDateTime ( time0 , time1 , time2 , time3 , time4 , time5 ) ;
   int t1 = 0 ;
   int gtt1 = GetTimeZoneInformation ( time_b ) ;
   if ( gtt1 ! = 0 ) t1 = time_b [ 0 ] ;
   if ( gtt1 = = 2 ) t1 + = time_b [ 42 ] ;
   int timex2 = StrToTime ( fuse1 ) ;
   int tisu = TimeLocal ( ) - ( timex2 + 60 * t1 ) ;
   double trmr = MathRound ( tisu / 360 ) ;
   int tzoff = MathRound ( trmr / 10.0 ) ;
   return ( tzoff ) ;
}

//format standart
string FormatDateTime ( int time0 , int time1 , int time2 , int time3 , int time4 , int time5 ) {
   string sub1 = time1 + 100 ; sub1 = StringSubstr ( sub1 , 1 ) ;
   string sub2 = time2 + 100 ; sub2 = StringSubstr ( sub2 , 1 ) ;
   string sub3 = time3 + 100 ; sub3 = StringSubstr ( sub3 , 1 ) ;
   string sub4 = time4 + 100 ; sub4 = StringSubstr ( sub4 , 1 ) ;
   string sub5 = time5 + 100 ; sub5 = StringSubstr ( sub5 , 1 ) ;
   return ( StringConcatenate ( time0 , "." , sub1 , "." , sub2 , " " , sub3 , ":" , sub4 , ":" , sub5 ) ) ;
}


+2 Örnek( Örnek )

Dosyalar:
sample.zip  2 kb
 

IninitializeReason() işlevi

 
kernelmd >> :
VC6.0'da geliştirme yapıldığını düşünmüyorum, şimdi insanlar VC2010'a geçiyor

MT5 bilmiyorum

ve VC6 üzerinde MT4 yazılmıştır!

 
YuraZ >> :

MT5 bilmiyorum

ve VC6 üzerinde MT4 yazılmıştır!

Evet, haklısın, garip.

Ancak çok çekirdekli kullanmak için MSVC'nin en son sürümüne sahip olmak gerekli değil, bence iş parçacıklarını doğru bir şekilde paralel hale getirmek çok daha önemli, yani mesele mimaride.

 

"Haberlere izin ver" ek seçeneğindeki kutuyu işaretleyerek gelen trafiği azaltmak istiyorum.

2 veya daha fazla terminal başlatırken, her biri haberlerini hesabın "rütbesine" (eğitim, rekabet, gerçek, ...) bağlı olarak indirir. yani ekstra trafik. Prensip olarak, gerçek bir hesaptan haber almak mümkün olacaktır, ancak diğer çalışan terminallerde bunlara hiç gerek yoktur.

Veya her şeyi tamamen devre dışı bırakın.

 
pvm63 >> :

"Haberlere izin ver" ek seçeneğindeki kutuyu işaretleyerek gelen trafiği azaltmak istiyorum.

2 veya daha fazla terminal başlatırken, her biri haberlerini hesabın "rütbesine" (eğitim, rekabet, gerçek, ...) bağlı olarak indirir. yani ekstra trafik. Prensip olarak, gerçek bir hesaptan haber almak mümkün olacaktır, ancak diğer çalışan terminallerde bunlara hiç gerek yoktur.

Veya her şeyi tamamen devre dışı bırakın.

peki kapat


Neden: