[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 457

 
vasili:
Caros especialistas, por favor, ajudem.
Eu não consigo lidar com um problema de economia automática do modelo.
Ele não insere um nome de arquivo na janela de salvamento.
Aqui está o código.

Biblioteca com funções de controle MT4 out-of-the-box.

//===========================================================================================
// 4.4. Funções para definir o modelo de gráfico.
//===========================================================================================
// 4.4.1 A função define o modelo especificado no gráfico especificado por seu nome na lista de modelos.
void ServiceSetTemplateByName(int hwndChart, // Sistema descritor da janela do gráfico, onde o modelo é carregado.
sNameTemplate); // Nome do gabarito na lista de gabaritos.
//===========================================================================================
// 4.4.2 A função define o modelo especificado no gráfico especificado por seu número na lista de modelos. Se bem sucedida, a função retorna VERDADEIRA, caso contrário retorna FALSA.
bool ServiceSetTemplateByNumber(int hwndChart, // Descritor do sistema da janela do gráfico, onde o modelo é carregado.
// Número do gabarito na lista de gabaritos. Os modelos estão ordenados na lista por nome. O número de gabaritos é limitado a 64.

Testado recentemente. Funciona.

 
7777877:
Clique com o botão direito do mouse na face sorridente (no canto superior direito da janela do terminal do cliente) -> Assessores -> Remover

E como fazê-lo de forma programática, com a ajuda do código. O Expert Advisor desempenhou sua função e desceu?
 
Elektronik:

Como você faz isso programadamente, com a ajuda de código? O Expert Advisor desempenhou sua função e depois desceu?
https://www.mql5.com/ru/forum/110207
PostMessageA(WindowHandle(Symbol(),Period()), WM_COMMAND, 33050, 0);
 
Elektronik:

E como fazê-lo de forma programática, usando o código. O Expert Advisor executa sua função e depois se desliga?

A mesma biblioteca com funções de controle MT4 ready.

//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// 7. FUNÇÕES DE GERENCIAMENTO DO PROGRAMA MQL4.
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// 7.1. A função elimina um Expert Advisor da tabela especificada. Se bem sucedida, a função retorna VERDADEIRA, caso contrário FALSA.
bool ServiceDeleteExpert(int hwndChart); // Descritor de sistema da janela do gráfico, que é excluída pelo Expert Advisor.
//======================================================================================
// 7.2. FUNCTION remove os indicadores por nome da lista de indicadores carregados.
Serviço vazioDeleteIndicatorsByName(int hwndChart, // Sistema descritor da janela, onde o indicador é anexado.
int nWindow, // Número de subwindow para excluir indicadores. Se -1, os indicadores de todas as subjanelas são removidos.
string &asIndicatorName[], // matriz unidimensional com nomes de indicadores a serem excluídos.
int nNúmeroNome); // Número de nomes de indicadores na matriz.
//======================================================================================
// 7.3. A função remove o script do gráfico especificado. Se for bem sucedida, a função retorna VERDADEIRA, caso contrário, retorna FALSA.
bool ServiceDeleteScript(int hwndChart); // Descritor de sistema da janela do gráfico, o script a ser excluído.
//======================================================================================
// 7.4. A função controla a caixa de diálogo de desligamento do script e retorna o descritor de sistema da caixa de diálogo de desligamento do script, se a janela existir,
// de outra forma - NULL. O roteiro funciona apenas com localizações em russo e inglês.
int ServiceDialogScript(int bInstruction); // Comando para a janela de diálogo de desligamento do script: TRUE - para desligar o script, FALSE - não para desligar o script.
//======================================================================================
// 7.5. A função recebe nomes de indicadores da lista de indicadores carregados.
// Se bem sucedida, a função retorna o número de indicadores nas subjanelas especificadas usando o parâmetro "nWindow", caso contrário, retorna zero.
int ServiceGetNamesIndicators(int hwndChart, // Sistema descritor da janela, o indicador está anexado.
na janela nWindow, // Número do subgrafo. Se -1, lemos nomes indicadores de todas as subjanelas.
string &asIndicatorName[], // Conjunto de cordas unidimensional para nomes de indicadores.
// A matriz deve ser inicializada com valores diferentes em cada célula!
Isto é // uma peculiaridade da inicialização de arrays de cordas na MQL4.
int nNúmeroNome); // Tamanho da matriz "asIndicatorName[]" para receber nomes indicadores.
//======================================================================================
// 7.6. A função chama a janela da lista de indicadores.
bool ServiceListIndicators(int hwndChart); // Descritor do sistema da janela do gráfico, na qual a janela da lista de indicadores é chamada.
//======================================================================================
// 7.7. A função carrega um indicador personalizado para a tabela especificada por seu nome.
Serviço vazioLoadCustomIndicator(int hwndChart, // Descritor do sistema da janela do gráfico, onde o indicador é carregado.
String szNameIndicator, // Nome do indicador carregado.
int bOK); // Confirmação do início do indicador, se a janela de diálogo das propriedades do indicador estiver presente.
// VERDADEIRO - clique automaticamente no botão "OK" permitido, FALSO - clique automaticamente no botão "OK" desativado.
//======================================================================================
// 7.8. A função carrega o Expert Advisor para a tabela especificada por seu nome.
void ServiceLoadExpert(int hwndChart, // Descritor do sistema da janela do gráfico, onde o especialista é carregado.
string szNameExpert, // Nome do Expert Advisor a ser carregado.
int bOK); // Confirmar o início do Expert Advisor, se o diálogo de propriedades do Expert Advisor estiver disponível.
// Verdadeiro - botão "OK" está habilitado, FALSO - botão "OK" está desabilitado.
//======================================================================================
// 7.9. A função carrega para o gráfico especificado o roteiro por seu nome.
void ServiceLoadScript(int hwndChart, // Descritor do sistema da janela do gráfico, onde o script é carregado.
string szNameScript, // Nome do script carregado.
int bOK); // Confirmação de lançamento do script, se o diálogo de propriedades do script estiver presente. O roteiro pode não ter um diálogo de propriedades!
// Ao usar a função para carregar o script do script no gráfico atual, o parâmetro não funciona devido a
// é impossível que dois roteiros sejam executados simultaneamente em um único gráfico.
// VERDADEIRO - o botão "OK" autoclique está habilitado, FALSO - o botão "OK" autoclique está desabilitado.
//======================================================================================
// 7.10. A função carrega um indicador padrão para a tabela especificada por seu nome.
vazio ServiceLoadStdIndicator(int hwndChart, // Descritor de sistema da janela do gráfico, onde o indicador é carregado.
String szNameIndicator, // Nome do indicador carregado.
int bOK); // Confirmação do início do indicador, se a janela de diálogo das propriedades do indicador estiver presente.
// VERDADEIRO - clique automático no botão "OK" permitido, FALSO - clique automático no botão "OK" proibido.
//======================================================================================
// 7.11. A função chama o menu de Propriedades dos especialistas. Se for bem sucedida, a função retorna VERDADEIRA, caso contrário - FALSA.
bool ServicePropertiesExpert(int hwndChart); // Descritor de sistema da janela do gráfico, na qual o menu de propriedades do especialista é chamado.
//=======================================================================================
// 7.12. Função que habilita/desabilita os Expert Advisors, manipulando o botão Expert Advisors.
Serviço nuloSetExperts();

 
Elektronik:

Como você faz isso programadamente, com a ajuda de código? O Expert Advisor executou sua função e depois falhou?

FAQ:
h ttps://www.mql5.com/ru/forum/110207
PostMessageA(WindowHandle(Symbol(),Period()), WM_COMMAND, 33050, 0);

Eu não concordo. Não há necessidade de ir além do mql, não há necessidade de remover a EA do gráfico. É suficiente bloquear programticamente o comércio, prevendo isso no código da EA.

 
granit77:

Eu discordo. Não há necessidade de ir além do mql, não há necessidade de remover a EA do gráfico. É suficiente bloquear programmaticamente o comércio, prevendo isto no código EA.


Deixe-me discordar de você (cuidado até o fim) :

 
granit77:

Eu discordo. Não há necessidade de ir além do mql, não há necessidade de remover a EA do gráfico. Basta programar o bloqueio do comércio, prevendo isso no código EA.

Sim, é isso mesmo! A única exceção é para o gerenciamento remoto.
 

Você sabe, por favor avise, há uma seção de código no conselheiro, é necessário saber como a vela anterior fechou em dois pares na abertura de uma nova vela, tudo funciona bem, mas se nesse momento há carrapatos em dois pares, o conselheiro está no par principal e não há problemas com ele, mas se o segundo par com o início de uma nova vela não tem carrapatos, os valores dele não são atualizados e recebem dados dele, não da vela anterior, mas do dia anterior.

{//1
if (iClose(SignalSimbol,PERIOD_H1,1) > iOpen(SignalSimbol,PERIOD_H1,1)) svcolor1 = 1; // бычья свеча
if (iClose(SignalSimbol,PERIOD_H1,1) < iOpen(SignalSimbol,PERIOD_H1,1)) svcolor1 = 2; // медвежья свеча
if (iClose(SignalSimbol,PERIOD_H1,1) == iOpen(SignalSimbol,PERIOD_H1,1)) svcolor1 = 3; // додж
if (iClose(TradeSimbol,PERIOD_H1,1) > iOpen(TradeSimbol,PERIOD_H1,1)) svcolor2 = 1; // бычья свеча
if (iClose(TradeSimbol,PERIOD_H1,1) < iOpen(TradeSimbol,PERIOD_H1,1)) svcolor2 = 2; // медвежья свеча
if (iClose(TradeSimbol,PERIOD_H1,1) == iOpen(TradeSimbol,PERIOD_H1,1)) svcolor2 = 3; // додж
spread =  MarketInfo(TradeSimbol,MODE_SPREAD);
TimeBar_t = (TimeCurrent()-Time[0])/60; // время в минутах с открытия свечи
RefreshRates ();
}//1 
 
Zhunko:

Biblioteca com funções de controle MT4 out-of-the-box.

Testado recentemente. Funciona.

Obrigado.
 
vasili:
Caros Especialistas, por favor, ajudem.
Não consigo superar o problema de salvar automaticamente o modelo.
Ele não insere o nome do arquivo na janela de salvamento.
Aqui está o código.
A questão é de atualidade.
Razão: