Como acessar o banco de dados da MQL4 , ORACL , MSSQL, MySQL - página 6

 

está tudo funcionando e a base está a abafar! :)

Boa sorte.

 
TheVilkas писал(а) >>

está tudo funcionando e a base está a abafar! :)

Boa sorte.

Pontuação!!!

Exemplo de trabalho real.

Obrigado

 

HOORAY! Meu banco de dados também funcionou bem através da libmysql.dll. Não entendo porque o resultado é devolvido com hieróglifos no início, e depois as informações desejadas. Reformulou o código acima.

Solicitação: "SELECT concat(';',concat_ws(';',data,título,impacto)) DO CALENDÁRIO ONDE (data entre ADDATE( AGORA( ), INTERVALO -4 DIAS ) E ADDATE( AGORA( ), INTERVALO +2 DIAS ) E (moeda='"+symb1+"' XOR moeda='"+symb2+"') PEDIDO POR data"

Código:

 for (int i=0; i< numOfRows; i++) { 
      row = mysql_fetch_row( result); 
      //add_news(row); 
   
   int begin = StringFind( row, DELIM)+1; 
   int end = StringFind( row, DELIM, begin);   
      ArrayResize( News_Array, i+1);
      News_Array[ i,0] = StringSubstr( row, begin, end- begin);  // fills datetime data in compatible format
         begin = end+1; 
         end = StringFind( row, DELIM, begin); 
      News_Array[ i,1] = StringSubstr( row, begin, end- begin);   // fills description data
         begin = end+1; 
         end = StringFind( row, DELIM, begin);       
      News_Array[ i,2] = StringSubstr( row, begin, end- begin);  // fills rating data
      if (StringSubstr( row, begin, end- begin) == "High") Event_Rating_No = "3";
      if (StringSubstr( row, begin, end- begin) == "Medium") Event_Rating_No = "2";
      if (StringSubstr( row, begin, end- begin) == "Low") Event_Rating_No = "1";   
      
         begin = end+1; 
         end = StringFind( row, DELIM, begin);      
      
      News_Array[ i,3] = Event_Rating_No;  // number equivalent for ratings
      News_Array[ i,4] = "0";  // used for prevents repetition of alerts
                
        } 


Boa sorte a todos!

 
GarF1eld >> :

BTRVODKAex

Para este fim, uma dll intermediária em c++\cli é escrita. Não se pode chamar código gerenciado diretamente da mql.



Por que eu não posso usar C#? E onde posso encontrar literatura sobre como escrever uma dll em C++ para MT4?

 
BTRVODKAex >> :

Por que eu não posso usar C#? E onde posso encontrar literatura sobre como escrever dll em C++ para MT4?

Respondendo minha própria pergunta: "Interfere com a marcação ao chamar funções" :)

>> foi aprender C++.

 

Olá Senhores, já fiz uma pergunta em um fio paralelo, mas provavelmente vou repeti-la...

O MySQL restringe o número máximo de colunas puramente em uma tabela, para ser mais preciso, o número máximo possível de colunas é 1000, alguém sabe como essa restrição pode ser removida e é mesmo possível? Se não, que banco de dados permite criar tabelas com mais de 3000 colunas?

 
toxa.forex >> :

Olá Senhores, já fiz uma pergunta em um fio paralelo, mas provavelmente vou repeti-la...

O MySQL restringe o número máximo de colunas puramente em uma tabela, para ser mais preciso, o número máximo possível de colunas é 1000, alguém sabe como essa restrição pode ser removida e é mesmo possível? Se não, que banco de dados permite criar tabelas com mais de 3000 colunas?

Oracle

 
HIDDEN >> :

Oracle

HIDDEN, obrigado pela resposta, mas você poderia ser um pouco mais específico, a que Oracle você está se referindo? Oracle 9i tem a mesma limitação, máximo de 1000 colunas por tabela.

 
toxa.forex >> :

HIDDEN, obrigado pela resposta, mas você poderia ser um pouco mais específico, a que Oracle você está se referindo? Oracle 9i tem a mesma limitação, máximo de 1000 colunas em uma tabela.

E as versões posteriores.

Eu mesmo não tenho trabalhado muito com a Oracle. Em geral, a idéia está girando na minha cabeça que se você precisa de 3000 colunas, então há algo em que você ainda não pensou.... Você deve decompor as informações em tabelas e otimizar suas consultas. Você pode então gerar qualquer coisa a partir do banco de dados.

Por que despejar a garrafa inteira em um dedal, não entendo.


Explique suas metas e objetivos, talvez você não precise mesmo de um banco de dados.

 
HIDDEN >> :

E as versões posteriores.

Eu mesmo quase nunca trabalhei com a Oracle. Em geral, estou pensando que se você precisa de 3000 colunas, é algo em que você ainda não pensou -.... Você deve decompor as informações por tabelas, otimizar suas consultas. Você pode gerar o que quiser a partir do banco de dados.

Por que despejar a garrafa inteira em um dedal, não entendo.


Explique suas metas e objetivos, talvez você não precise mesmo de um banco de dados.

Não descobri as versões posteriores do Oracle, mas suspeito que as restrições ao número de colunas ainda estejam em vigor...

Sim, dividir as informações em tabelas é certamente possível, mas é a solução menos desejável, pois aumentará significativamente o tempo de processamento das consultas, devido ao aumento das chamadas para o banco de dados... A otimização das consultas não o ajudará, seja qual for a NF que você queira reduzir a...

E estamos falando de uma rede neural, o uso de um banco de dados não é realmente necessário aqui, mas na minha opinião, é a melhor opção para armazenar mais de 3000 parâmetros...