Desejos para MQL5 - página 67

 
Olá a todos! Quando a liberação da MQL5 será aproximadamente?
 
zax >> :
>> Olá a todos! Quando a data de lançamento da MQL5 é aproximadamente?

"nenhum filho... é fantástico..." (c) não consegue lembrar que comercial... :)

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

Por favor, faça uma função semelhante onde você pode definir o risco, ou seja, você define a porcentagem que deseja arriscar, e o tamanho do lote é devolvido a você.

Já estou cansado disso.

A segunda, eu gostaria que fosse possível ligar do indicador (agora eu recebo um erro, infelizmente). Não tenho a menor idéia de como utilizá-lo.

 
Não creio que o desenvolvimento do VC6.0 esteja em andamento agora que os ludis estão mudando para VC2010
 


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

A função retorna a compensação do servidor GMT Timzone

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


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

A função retorna a compensação do fuso horário GMT do computador local.

//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 Amostra( Exemplo)

Arquivos anexados:
sample.zip  2 kb
 

A função IninicializeReason( )

 
kernelmd >> :
Não creio que o desenvolvimento esteja sendo feito no VC6.0 agora os ludis estão se mudando para VC2010

não sei sobre o MT5

e MT4 está escrito em VC6!

 
YuraZ >> :

MT5 Não sei.

e MT4 está escrito em VC6!

Sim, você está certo, é estranho.

Mas você não precisa ter a última versão do MSVC para usar o multi-core, na minha opinião é muito mais importante paralelizar adequadamente os fios, ou seja, é tudo sobre a arquitetura.

 

Eu gostaria de reduzir o tráfego de entrada, assinalando a opção extra "Permitir notícias".

Ao executar 2 ou mais terminais, cada um faz o download de suas próprias notícias dependendo da "classificação" da conta (treinamento, concurso, real, ...). ou seja, tráfego desnecessário. Em princípio, seria possível obter notícias sobre uma conta real, e sobre outros terminais em funcionamento não são de forma alguma necessários.

Ou desativar tudo ao mesmo tempo.

 
pvm63 >> :

Eu gostaria de reduzir o tráfego de entrada assinalando a opção adicional "Permitir notícias".

Ao executar 2 ou mais terminais, cada um faz o download de suas próprias notícias dependendo da "classificação" da conta (demo, concurso, real, ...). ou seja, tráfego extra. Em princípio, seria possível obter notícias sobre uma conta real, e sobre outros terminais em funcionamento não são de forma alguma necessários.

Ou desativar tudo ao mesmo tempo.

Portanto, desligue-o.