Desejos para MQL5 - página 100

 
YuraZ >> :

Vejo que existe uma função printf

e como seria bom ter sprintf também

Talvez a função StringFormat() possa substituí-la:

StringFormat

Ele formata os parâmetros recebidos e retorna uma seqüência.

string StringFormat(
string formato, // formato string
... ... // parâmetros
);

Parâmetros

formato

[Cordão contendo o método de formatação. As regras de formatação são as mesmas que para o PrintFormat.

...

[em] Parâmetros, separados por vírgula.

Valor retornado

Cordão.


 
Rosh писал(а) >>

Talvez a função StringFormat() possa substituí-la:

Entendo que a função StringFormat deve ser designada como sinônimo de sprintf, semelhante ao PrintFormat e printf. Mas, neste caso, precisamos implementar também a função snprintf.

 
Rosh >> :

A ajuda da MQL5 declara:


Uh-huh... Somente este evento para os indicadores, que (por enquanto?) não permitem trabalhar com objetos.

Fomos solicitados a implementar tal indicador como Expert Advisor. Mas os especialistas não podem contar as barras trocadas(OnCalculate)

 
Roffild писал(а) >>

Uh-huh... Somente este evento é para os indicadores que (ainda?) proíbem o trabalho com objetos.

Fomos solicitados a implementar tal indicador como um Expert Advisor. Mas a função para calcular as barras alteradas(OnCalculate) não está disponível para Consultores Especialistas.

Na OnCalculate, passamos o número de barras processadas pré_calculadas que é retornado pela chamada anterior da OnCalculate. Você pode contar as barras processadas em um Expert Advisor usando uma variável global ou uma variável local estática.

 
stringo >> :

Na OnCalculate, o número de barras processadas pré-calculadas, que é retornado pela chamada anterior à OnCalculate. Em um Expert Advisor, você pode contar as barras processadas por você mesmo usando alguma variável local global ou estática.

Posso saber em um Expert Advisor que um usuário mudou o cronograma do gráfico e todas as barras devem ser recalculadas?

Não existe tal problema nos indicadores.

 
Roffild писал(а) >>

Posso saber na EA que o usuário mudou o cronograma do gráfico e que todas as barras precisam ser recalculadas?

Sim, você pode. Primeiro a função OnDeinit será chamada com os parâmetros antigos e depois a função OnInit com os novos parâmetros

 
Permitir que os especialistas exibam seus dados na "janela de dados", já que muitos têm que reescrever indicadores em "especialistas".
 

Eu gostaria que o mql5 tivesse destaque de sintaxe, e mais importante, parênteses ao fechar (um par de parênteses é fechado), substituição de funções e texto, correção da sintaxe da escrita de comandos e sinais de comparação >=,<=,=<,=>, a possibilidade de conectar janelas adicionais no Expert Advisor - por exemplo ObjWindowCreate(string Name, bool TypeWindow=false) [falso - como janela indicadora, verdadeiro - como uma janela separada para pares de moedas].

Aconselho também a utilizar a interface do editor da NotePade++

Eu gostaria de poder esconder ou abrir o texto das funções, marcando o código da função e clicando no sinal de menos no painel esquerdo contra o título da função.

Adicionar o tipo de variável como LineType - para que as propriedades da EA possam selecionar separadamente o tipo da linha exibida em suas configurações

Para criar int's separados para inicialização das configurações quando a EA está trabalhando - exemplo int OnChangeProperty() { return(0)}

Adicionar funções tais como AccountMaxLot() - a licitação máxima atual possível de um cliente

Também seria bom adicionar à janela de criação do pedido uma etiqueta que mostre a quantidade necessária para o lote selecionado

Criar função que exibe o lucro atual de uma ordem específica com ou sem levar em conta o spread e a troca - por exemplo int CalculateProfitOrder(int OrderNumberHistoryList, bool spred=false, bool swop=false)

onde o número é o número de ordem na lista de ordens ativas

Fazer suporte de variáveis de string em unicode e função de inserção - string CharUTF(string Font, string 'u+0021') onde u+ é o cabeçalho unicode e 0021 é o código do símbolo na tabela de símbolos

ou string CharUTF(string Font, string U'0021'), é melhor adicionar uma representação de caracteres ao intérprete, como data ou cor com cabeçalho U'xxxxx'.

também fazem funções para traduzir cordas por cadeia CharToUtf(string Text) e cadeia UtfToChar(string UtfText).

E, em geral, seria melhor descrever os avatares por tipo, por conveniência:

Habilitando o Consultor Especialista OnInit()

Desativação do Expert Advisor OnDeinit()

Mudança de período de tempo OnChangeTimeFrame(int TimePeriod=Period())

Alterar zoom OnChangeZoom( int CountBarPerWindow=WindowBarsPerChart())

Novo preço OnNewPrice()

Criando uma nova janela OnCreateNewWindow(string NameWindow, int IndexWindow=WindowFind(NameWindow), bool TypeWindow=false)

Recebimento de uma solicitação do investidor no OnInvestor (int IndexInvestor - ID do investidor (número da conta), string NameInvestor - descrição do investidor, ..... - parâmetros separados por vírgula para o comando OrderSend( return(Id Criar Ordem) )

Criar ordem - OnCreateOrder (int IndexOrder=OrderNumberHistoryList)

Edit Order - OnModifyOrder (int IndexOrder=OrderNumberHistoryList)

Evento para fechar o pedido por TP, SL, Data ou manualmente OnOrderClose (int TypeCloseOrder= CLOSEMODE_ [TP, SL, Data, Manual], int IndexOrder=OrdemNúmeroHistóricoLista, bool PriceType=verdadeiro)

onde PriceType é uma bandeira de fechamento de ordem verdadeira - comércio com um saldo de ordem positivo falso - comércio com um saldo de ordem negativo

Arquivos anexados:
 
Talvez isto já tenha sido implementado em alguma EA, mas quero ver na versão básica do programa, ou seja, que os rótulos dos gráficos nos quais há posições abertas ou pendentes serão destacados em uma determinada cor. Por exemplo, a etiqueta do gráfico em que há uma posição aberta é destacada em amarelo, se o preço se aproximar de T/P - em verde, para S/L, respectivamente, em vermelho. Também seria muito conveniente marcar o atalho necessário com alguma cor. Isto é muito útil quando se trabalha com vários (muitos ou todos) instrumentos. No sábado e no domingo, você faz suas análises, seleciona pares para esperar por um sinal, marca-os com uma cor agradável e os observa.
 

E você pode no fundo do Monte, onde o nome do perfil é relatado e adicionar o nome do modelo imposto?

Nome do perfil e assim você pode ver na lista de perfis (há sempre uma marca de verificação para saber onde você está), mas qual modelo agora está sobreposto não.