Minha abordagem. O núcleo é o motor. - página 30

 
Georgiy Merts:

Já lhe foi dito muitas vezes que seu código não é fácil de entender. Mesmo para aqueles que têm muita experiência. Fazer uso de todas as características é ainda mais difícil (só porque um monte de coisas está disponível em qualquer lugar através do escopo global). Pessoas com pouco conhecimento de programação não serão capazes de fazer isso.

O que isso tem a ver com meu código?

O público não parece "entender" de forma alguma. Você deveria me dar um exemplo.

Certo. Farei um simples motor de janela e o fornecerei com arquivo de conexão e instruções.

Aqueles que estiverem interessados conectarão o Expert Advisor de teste ao motor.

Depois disso, vamos continuar a nos comunicar em outro nível de compreensão.

 
Реter Konow:

Há o comércio manual. Há comércio algorítmico. Não há quase nenhum comércio semi-automático.

Se criarmos o comércio semi-automático, ele nos pertencerá. Isto é, pertencerá ao nicho de algotrading.

Se a negociação semi-automática for criada por alguma empresa para os usuários negociando manualmente em alguma plataforma, então a transição de negociação manual para negociação semi-automática será realizada ali.

Em resumo, a tarefa é interessar os comerciantes manuais em todo o mundo no comércio semi-automático.

E para que todos nós ganhemos dinheiro com isso.

Então sua GUI é para desenvolvedores, certo?
 
Реter Konow:

Aparentemente, o público não "entendeu" de forma alguma. Você deve nos dar um exemplo.

esta é a página 30.

talvez pela página 100 você começará a ser construtivo).

 

Aqui está o motor com a GUI mais simples, o arquivo EA de teste e os arquivos de conexão.

1. Coloque os arquivos de conexão externa e propriedades de conexão na pasta de inclusão. Coloque o arquivoTestApp v1.0.mq4 na pasta Experts.

2. Colocar o motor na pasta de indicadores.

3. Abra o arquivo TestAppv1.0.mq4.

Abra o arquivo de Conexão Externa.

5. Coloque o plug-in na tabela.

6. Compilar e salvar o teste EA. Em seguida, aplicá-lo também ao gráfico.

//----------------------------------------------

Uma janela com um botão grande aparecerá. Se você pressioná-lo, o alerta aparecerá.

O Alerta está localizado no arquivo de Conexão Externa. Você pode alterar o texto dentro dele. A função do usuário pode ser chamada em eventos push/push.

//=====================================================================================================================
//WINDOW:   Simple button | element: BUTTON  | name: Hello world!  |  Location: Window's Main Frame
//=====================================================================================================================
case BUTTON3___Hello_world_:
               //------------------------------------------------------------------------------------------------------
               //What to do when button pressed or released?
               //------------------------------------------------------------------------------------------------------
               switch((int)action)
               {
                case pressed:  Alert("Button pressed!");   break;  <------ Здесь можно установить любой польз.код, который сработает на событии нажатия.
  
                case released: Alert("Button released!");  break;  <------ Здесь можно установить любой польз.код, который сработает на событии отжатия.
               }
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;
  
   }

O arquivo de propriedades de conexão não pode ser modificado. Não é necessário abri-lo.

Arquivos anexados:
 

Uma janela como esta deve aparecer.

Os botões na barra de tarefas não têm função e são meramente decorativos.

Há também uma janela de menu de contexto. Abre com um duplo clique. Isto abrirá uma janela com um botão.

Um conselheiro de testes simboliza uma aplicação personalizada. O motor é uma GUI plugável.

 

Esta é chamada de "uma maneira fácil de adicionar uma astúcia pronta à sua EA":

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {

   //******************************************************************************************************
   //------------------------------------------------------------------------------------
   if(id == CHARTEVENT_CUSTOM + DRIVE_IS_READY)EventChartCustom(0, INIT_GUI,   0,0,NULL);
   //------------------------------------------------------------------------------------
   if(id == CHARTEVENT_CUSTOM + SYNC_P_CORE)
     {
      
      P_CORE[lparam][_NEW_VALUE]      = sparam;
      P_CORE[lparam][_LAST_VALUE]     = P_CORE[lparam][_CURRENT_VALUE];
      P_CORE[lparam][_CURRENT_VALUE]  = sparam;
      //------------------------------------ 
      On_Gui_Event(lparam,sparam);
      //------------------------------------
     } 
   //******************************************************************************************************
}

====

Em geral, não é um problema separar a fraude do Expert Advisor. Mas se você quiser fazê-lo, você pode torná-lo absolutamente normal - no OnChartEvent() apenas eventos personalizados são capturados e nada mais. Em outras palavras, todas essas cem cordas de arquivo são desnecessárias. E, a propósito, isto está muito indiretamente relacionado à fraude, é mais sobre as capacidades do terminal. E o engano não é mostrado de tal forma. Não é mostrado de forma alguma como é criado.

 
Dmitry Fedoseev:

Esta é chamada de "uma maneira fácil de adicionar uma astúcia pronta à sua EA":

====

Em geral, não é um problema separar a fraude do Expert Advisor. Mas se você vai fazer isso, mais vale torná-lo completamente normal - OnChartEvent() deve pegar apenas eventos personalizados e nada mais.

Sabe, estou maravilhado. É como um jardim de infância. Estou falando de uma oportunidade de conquistar o campo do comércio manual e estou me oferecendo para usar uma ferramenta criada para este fim enquanto o público quer me provar que sou um mau programador com gráficos ruins e soluções ruins.

Parece adulto, mas o entendimento não é de modo algum adulto.

Configure-o de acordo com as instruções e experimente-o. Então tudo pode ser expandido e GUIs e funcionalidade podem ser adicionadas.

 
Dmitry Fedoseev:

... Portanto, você não precisa de todos aqueles cem arquivos de corda.

Então, sem saber nada sobre a tecnologia e sem tê-la experimentado, você declara imediatamente o que é necessário e o que não é necessário... Inteligente.

 
Dmitry Fedoseev:

... E, a propósito, isto está muito indiretamente relacionado à fraude, é mais sobre as capacidades do terminal. E o engano não é realmente mostrado dessa forma. Não é mostrado de forma alguma como é criado.

A GUI é criada na minha construtora. Eu queria mostrar como ela está conectada e interage com o Expert Advisor.

 
Реter Konow:

Sabe, estou maravilhado. É como o jardim de uma criança. Estou falando da possibilidade de conquistar o campo do comércio manual e oferecer o uso da ferramenta criada para este fim, enquanto o público persegue o objetivo de provar para mim que sou um mau programador e que tenho gráficos e soluções ruins.

Parece adulto, mas o entendimento não é de modo algum adulto.

Configure-o de acordo com as instruções e experimente-o. Então tudo pode ser expandido e GUI e funcionalidade podem ser adicionadas.

O problema é esse, é o jardim de infância. Você não vai pegar um único peixe com esta isca.

E quanto à sua programação? Você faz sua própria conclusão - ainda tentando provar que o OOP não presta e minhas arraias são a vanguarda do mundo... que aqui falariam sobre o jardim de infância.

De qualquer forma, ainda não aconteceu nenhum milagre.

Razão: