seu projeto de tabela é realmente interessante e um exemplo de boa codificação OOP.
Posso perguntar se você estaria disposto a pensar em um complemento - espero que para outros também - muito útil para EAs complicados com vários símbolos?
Imagine um EA que negocie muitos símbolos com muitos indicadores com - para cada símbolo - uma configuração de parâmetros de indicador individual (simples, por exemplo):
Seria muito mais fácil para o usuário lidar com isso se essa configuração fosse apresentada como uma tabela em vez de uma longa lista de parâmetros.
Especialmente se você habilitar seu aplicativo para gerenciar o StartegyTester por esse arquivo csv. Acho que é preciso gerenciar o EA no StrategyTester pelo arquivo csv na funçãoOnInit()-.
Para isso, poderíamos acrescentar o que o StratTester oferece: definir um intervalo, de, para, passo.
Mas aí o problema pode ser que, no caso do Algoritmo Genético, se OnInit() retornar INIT_PARAMETERS_INCORRECT ou INIT_FAILED, o algoritmo genético contará isso como uma aprovação válida, o que reduzirá a quantidade de execuções de teste realmente aprovadas, reduzindo a validade do resultado final.
Percebi esse problema com o mt4 e escrevi para o Service Desk, mas não tenho ideia se eles resolveram o problema ou não.
De qualquer forma, bom trabalho - continue assim :)
Tol, notei coisas estranhas ao redimensionar colunas - o texto é cortado incorretamente. Também descobri acidentalmente que o tamanho da coluna muda constantemente quando a tecla Ctrl é mantida pressionada.
Fiz o download da biblioteca deste artigo e estava modificando algo para aprender sobre a biblioteca. Tenho uma pergunta simples.
Se eu não criar menus, como no código que modifiquei abaixo, não poderei classificar a tabela e clicar uma única vez na caixa de seleção. @AnatoliKazharski
//+------------------------------------------------------------------+//| Cria um painel de negociação|//+------------------------------------------------------------------+bool CProgram::CreateExpertPanel(void)
{
//--- Criando o formulário 1 para controlesif(!CreateWindow1("EXPERT PANEL"))
return(false);
/*/--- Criando controles:
// Menu principal
if(!CreateMenuBar(1,20))
return(false);
//--- Menus de contexto
if(!CreateMBContextMenu1())
return(false);
if(!CreateMBContextMenu2())
return(false);
if(!CreateMBContextMenu3())
return(false);
if(!CreateMBContextMenu4())
return(false);*///--- Criando a barra de statusif(!CreateStatusBar(1,25))
return(false);
//--- Botõesif(!CreateSimpleButton1(7,50,"ADD COLUMN"))
return(false);
if(!CreateSimpleButton2(7,75,"DELETE COLUMN"))
return(false);
if(!CreateSimpleButton3(180,50,"ADD ROW"))
return(false);
if(!CreateSimpleButton4(180,75,"DELETE ROW"))
return(false);
if(!CreateSimpleButton5(353,50,"REBUILD TABLE"))
return(false);
if(!CreateSimpleButton6(353,75,"CLEAR TABLE"))
return(false);
//--- Ediçõesif(!CreateSpinEdit1(114,52,":"))
return(false);
if(!CreateSpinEdit2(114,77,":"))
return(false);
if(!CreateSpinEdit3(287,52,":"))
return(false);
if(!CreateSpinEdit4(287,77,":"))
return(false);
//--- Criar tabela renderizadaif(!CreateCanvasTable(1,103)) // 103 | 42return(false);
//--- Redesenho do gráfico
m_chart.Redraw();
return(true);
}
Hi,
seu projeto de tabela é realmente interessante e um exemplo de boa codificação OOP.
Posso perguntar se você estaria disposto a pensar em um complemento - espero que para outros também - muito útil para EAs complicados com vários símbolos?
Imagine um EA que negocie muitos símbolos com muitos indicadores com - para cada símbolo - uma configuração de parâmetros de indicador individual (simples, por exemplo):
string de entrada Sym1 = "EURUSD";
input int Sym1MACDema1 = 12;
entrada int Sym1MACDema2 = 26;
input int Sym1MACDsma3 = 9
input ENUM_APPLIED_PRICE Sym1MACDprc =PRICE_CLOSE;
string de entrada Sym2 = "GBPUSD";
input int Sym2MACDema1 = 11;
input int Sym2MACDema2 = 25;
input int Sym2MACDsma3 = 10
input ENUM_APPLIED_PRICE Sym2MACDprc =PRICE_CLOSE;
...
Seria muito mais fácil para o usuário lidar com isso se essa configuração fosse apresentada como uma tabela em vez de uma longa lista de parâmetros.
Especialmente se você habilitar seu aplicativo para gerenciar o StartegyTester por esse arquivo csv. Acho que é preciso gerenciar o EA no StrategyTester pelo arquivo csv na função OnInit()-.
Para isso, poderíamos acrescentar o que o StratTester oferece: definir um intervalo, de, para, passo.
Mas aí o problema pode ser que, no caso do Algoritmo Genético, se OnInit() retornar INIT_PARAMETERS_INCORRECT ou INIT_FAILED, o algoritmo genético contará isso como uma aprovação válida, o que reduzirá a quantidade de execuções de teste realmente aprovadas, reduzindo a validade do resultado final.
Percebi esse problema com o mt4 e escrevi para o Service Desk, mas não tenho ideia se eles resolveram o problema ou não.
De qualquer forma, bom trabalho - continue assim :)
...
Olá, como posso mover programaticamente o formulário principal ou a caixa de diálogo para um local específico.
Por exemplo, eu gostaria de mover a caixa de diálogo para o canto superior esquerdo quando o título do formulário for clicado.
Tol, notei coisas estranhas ao redimensionar colunas - o texto é cortado incorretamente. Também descobri acidentalmente que o tamanho da coluna muda constantemente quando a tecla Ctrl é mantida pressionada.
1) Tol, notei coisas estranhas ao alterar o tamanho das colunas - o texto é cortado incorretamente.
2) E também descobri acidentalmente uma alteração constante do tamanho da coluna ao manter pressionada a tecla Ctrl.
1. Tentei testar com diferentes modos de alinhamento de texto em colunas, mas não consegui reproduzir.
2. Brinquei com a tecla Ctrl, mas não está claro o motivo desse comportamento. Essa tecla não está definida no código da tabela.
Hi!
Esta é uma ótima biblioteca!
Você ainda oferece suporte ao MT4?
Ter suporte tanto para o MT4 quanto para o MT5 seria uma ótima maneira de fazer uma transição tranquila do MT4 para o MT5 quando chegar a hora.
Olá,
Fiz o download da biblioteca deste artigo e estava modificando algo para aprender sobre a biblioteca. Tenho uma pergunta simples.
Se eu não criar menus, como no código que modifiquei abaixo, não poderei classificar a tabela e clicar uma única vez na caixa de seleção. @AnatoliKazharski
Olá, você pode me dizer como atualizar uma tabela se ela tiver dados dinâmicos ? https://www.mql5.com/ru/forum/165152/page10#comment_7488387
Veja aqui: GUIs X: Atualizações para uma tabela desenhada e otimização de código (build 10)