Пожелания к MQL5 - страница 67

 
Привет всем! А когда приблизительно будет релиз MQL5?
 
zax >>:
Привет всем! А когда приблизительно будет релиз MQL5?

"нет сынок... это фантастика..." (с) не помню реклама чего... :)

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

просьба сделать аналогичную функцию, в которой можно задавать риск, т.е. задаеш процент которым ты хочеш рискнуть, а тебе возвращается размер лота.

А то замучался уже.

Да и еще одно, что бы из индикатора можно было её вызывать (сейчас к сожалению выдается ошибка). Заранее спасибо.

 
не думаю что разработка ведется на VC6.0 сейчас луди на VC2010 переходят
 


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

Функция возвращает Сдвиг от GMT Timzone брокер Server

#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));
}


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

Функция возвращает смещение от GMT Timzone локальном компьютере

//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 Sample(Пример)

Файлы:
sample.zip  2 kb
 

Функцию IninitializeReason( )

 
kernelmd >>:
не думаю что разработка ведется на VC6.0 сейчас луди на VC2010 переходят

MT5 не знаю

а MT4 на VC6 писан!

 
YuraZ >>:

MT5 не знаю

а MT4 на VC6 писан!

Да, вы правы, странно.

Однако чтобы использовать многоядерность не обязательно иметь последнюю версия MSVC, по моему гораздо важнее правильно распаралелить потоки, тоесть дело в архитектуре.

 

Хотелось бы уменьшить входящий трафик с помощью установки галочки в дополнительной опции "Разрешить новости".

При запуске 2 и более терминалов каждый качает свои новости в зависимости от "ранга" счета (учебный, конкурсный, реальный, ...). то есть лишний трафик. В принципе можно было бы получать новости на реальном счете, а на других запущенных терминалах они вообще не нужны.

Или вообще все отключить.

 
pvm63 >>:

Хотелось бы уменьшить входящий трафик с помощью установки галочки в дополнительной опции "Разрешить новости".

При запуске 2 и более терминалов каждый качает свои новости в зависимости от "ранга" счета (учебный, конкурсный, реальный, ...). то есть лишний трафик. В принципе можно было бы получать новости на реальном счете, а на других запущенных терминалах они вообще не нужны.

Или вообще все отключить.

Ну так отключите


Причина обращения: