Desejos para MT5 - página 42

 
Lizar:
É necessário destacar o bloco e pressionar shift+tab
Obrigado)
 

Acrescentar ao tutorial na secção

Guia de Referência MQL5 / Indicadores Técnicos / Exemplo específico iMA após a descrição:

preço_aplicado

[em] Preço a ser aplicado. Pode ser qualquer uma das constantes de preço ENUM_APPLIED_PRICE ou o manuseamento de outro indicador.

como utilizar uma manivela de outro indicador? o que fará? ou só é possível fazer uma média dos valores dos indicadores técnicos padrão? e se houver necessidade de desenhar um indicador personalizado na janela indicator_separate_window e desenhar uma média móvel deste indicador na mesma janela,iMA() pode fazê-lo? Tenho uma vaga suspeita de que iMA () possa alcançar o resultado iMAOnArray(), mas não tenho ideia de como, talvez esteja errado

ZS: Talvez eu queira muito do MT5, mas no MT4 a função integrada iMAOnArray() não estava presente agora, não é difícil escrever uma função de utilizador para cálculo de uma média, mas eu gostaria de ter funções padrão para trabalhar com arrays, gastei mais tempo a procurar informação sobre iMAOnArray() do que o necessário para escrever a minha própria função

 
IgorM:

Acrescentar ao tutorial na secção

Guia de Referência MQL5 / Indicadores Técnicos / Exemplo específico iMA após descrição:

como usar o manípulo de outro indicador? o que fará? ou só é possível fazer uma média dos valores dos indicadores técnicos padrão? e se houver necessidade de desenhar um indicador personalizado na janela indicator_separate_window e desenhar uma média móvel para este indicador na mesma janela,iMA() pode fazê-lo? Tenho uma vaga suspeita de que iMA () possa alcançar iMAOnArray() mas não tenho ideia de como, talvez esteja errado


Clique na hiperligação e chegará à secção Constantes de preço onde abaixo se encontra um exemplo:

Se um indicador técnico utiliza dados de preços cujo tipo é definido pela enumeração ENUM_APPLIED_PRICE, pode ser especificado um cabo de qualquer indicador (terminal incorporado ou escrito por um utilizador) como uma série de preços de entrada. Neste caso, os valores do tampão indicador zero serão utilizados nos cálculos. Isto permite construir facilmente os valores de um indicador sobre os valores de outro. O manuseamento de um indicador personalizado é criado através da chamada da função iCustom().

Exemplo:

#janela_indicadora de propriedade_separate_window
#nóculos_indicadores de propriedade 2
#propertyindicator_plots 2
//--- parâmetros de entrada
inputint RSIperiod=14;//período para cálculo do RSI
inputint Smooth=8;// período de alisamento do RSI
entradaENUM_MA_METHOD meth=MODE_SMMA;//método calmante
//---- plot RSI
#indicador de propriedade_label1"RSI"
#propertyindicator_type1DRAW_LINE
#indicador de propriedade_color1Vermelho
#property indicator_style1STYLE_SOLID
#largura_do_indicador de propriedade1 1
///---- plot RSI_Smoothed
#indicador de propriedade_label2"RSI_Smoothed"
#property indicator_type2DRAW_LINE
#indicador de propriedade_color2Marinha
#property indicator_style2STYLE_SOLID
#largura_do_indicador de propriedade2 1
//--- amortecedores indicadores
duplo RSIBuffer[];// nós armazenaremos aqui os valores RSI
duplo RSI_SmoothedBuffer[];// os valores de RSI suavizados serão armazenados aqui
int RSIhandle;// Punho indicador RSI
//+------------------------------------------------------------------+
//| Função de inicialização de indicador personalizado |
//+------------------------------------------------------------------+
nuloOnInit()
{
//--- cartografia de amortecedores indicadores
SetIndexBuffer(0,RSIBuffer,INDICATOR_DATA);
SetIndexBuffer(1,RSI_SmoothedBuffer,INDICATOR_DATA);
IndicatorSetString(INDICADOR_SHORTNAME,"iRSI");
IndicatorSetInteger(INDICADOR_DIGITS,2);
//---
RSIhandle=iRSI(NULL,0,RSIperiod,PRICE_CLOSE);
//---
}
//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizada|
//+------------------------------------------------------------------+
intOnCalculate(const constint rates_total,
constint prev_calculado,
constint começar,
constduplo& preço[]
)

{
//--- zerar o valor do último erro
ResetLastError();
//---- introduza dados indicadores RSI na matriz RSIBuffer[]
int copied=CopyBuffer(RSIhandle,0,0,rates_total,RSIBuffer);
if(copiado<=0)
{
Imprimir("Falha na cópia dos valores do indicador RSI. Erro = ",
GetLastError(),", copiado = ",copiado);
return(0);
}
//--- criar indicador da média por valores de indicador de RSI
int RSI_MA_handle=iMA(NULL,0,Smooth,0,meth,RSIhandle);
copy=CopyBuffer(RSI_MA_handle,0,0,rates_total,RSI_SmoothedBuffer);
if(copiado<=0)
{
Imprimir("Falha na cópia do indicador RSI alisado. Erro = ",
GetLastError(),",copied =",copied);
return(0);
}
//--- valor de retorno de pré_cálculo para a próxima chamada
return(rates_total);
}


Apenas não terminou um parágrafo.

 

Utilizo extensivamente a parada padrão de reboque. Um par de pedidos a este respeito.

1) Adicionar uma opção para seleccionar "Trailing Stop Level" no menu Colunas. Isto, tanto quanto sei, não é difícil.

2) Adicionar valor TS como uma propriedade de posição com possibilidade (à escolha do utilizador) de transmitir/não transmitir o nível TS para uma determinada posição ao terminal. Compreendo que é muito mais grave do que o ponto 1), e a implementação do TS inteiramente do lado do servidor aumenta seriamente a carga no servidor.

Para o que eu pessoalmente gostaria de utilizar o ponto 2):

- vários terminais estão ligados à mesma conta (idealmente através de diferentes servidores e fornecedores, por exemplo, em casa e no trabalho);

- um dos terminais abre manualmente uma posição e define o nível TS;

- Quando o nível TS é colocado noutro terminal, o TS no primeiro terminal permanece inalterado, porque agora a paragem de reboque é implementada no lado do cliente. Isto é o que eu gostaria de mudar, se o cliente assim o desejar.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
 
Rosh:

Clique no link e será levado para a secção de constantes de preços com um exemplo abaixo:


Apenas não terminou um parágrafo

Existem de facto exemplos, mas muitas vezes não se consegue encontrá-los intuitivamente, talvez se pudesse simplesmente fazer uma ligação de "exemplo" em tais casos - seria muito útil, IMHO claro que seria muito útil.
 
Rosh:

Clique no link e chegará à secção Constantes de Preços, onde abaixo há um exemplo:


Apenas não leu o parágrafo inteiro

Terminei o parágrafo, mas o exemplo utiliza apenas indicadores técnicos padrão, a questão é sobre indicadores personalizados e a função iMAOnArray()

-Quero ver se é possível utilizar médias móveis para suavizar os dados do indicador personalizado

- Penso que seria útil ter ligações a funções f obsoletas, não é necessário pesquisar através do fórum.

Referência MQL4 - Funções obsoletas

 
xeon:
Existem de facto exemplos, mas muitas vezes não se consegue encontrá-los intuitivamente, talvez se pudesse simplesmente fazer uma ligação de "exemplo" em tais casos - seria muito útil, IMHO claro que seria muito útil.
Tem toda a razão, penso que seria muito bom ter um "EXEMPLO" no canto superior direito de cada página, para que não tenha de pesquisar o documento na sua totalidade
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Способы привязки объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Способы привязки объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Способы привязки объектов - Документация по MQL5
 
IgorM:

Li o parágrafo, mas o exemplo utiliza apenas indicadores técnicos padrão, a questão é sobre indicadores personalizados e a função iMAOnArray()

-Quero ver se as médias móveis podem ser utilizadas para suavizar os dados dos indicadores personalizados


Eu dei acima :

Se um indicador técnico para os seus cálculos utiliza dados de preços cujo tipo é definido pela enumeração ENUM_APPLIED_PRICE, então qualquer manuseamento do indicador (incorporado no terminal ouescrito por um utilizador) pode ser especificado como uma série de preços de entrada.

Leia também artigos:

 

Se a comunidade estiver interessada, poderá ser considerada uma modificação da opção de teste e optimização existente. Por exemplo, preciso de obter dados de teste/optimização não sobre um período da história, mas sobre vários períodos ao mesmo tempo (digamos, para avaliar a uniformidade do desempenho de um Consultor Especialista). Naturalmente, podemos revezar-nos nos testes/optimização para todos os períodos. Mas se um período leva de 0,5 a 1 hora, e precisa de 10, é muito mais conveniente correr os 10 períodos de uma só vez (por exemplo, de um dia para o outro) e obter todos os resultados mais tarde. Especifico actualmente "Data De", "Data Até" como parâmetro de entrada no Expert Advisor e especifico o período total de optimização no separador externo do testador (Datas De/Para é um dos parâmetros de optimização). Mas neste caso o tempo de optimização de cada execução é na realidade igual ao tempo do período de optimização geral (no separador do testador - as carraças estão sempre em movimento - verifiquei-o virtualmente). Se fosse possível especificar 2 períodos no testador ao mesmo tempo: um período geral grande e um pequeno dentro dele, o problema seria resolvido.

 

Existe a função ChartIndicatorAdd() para adicionar indicador ao gráfico. Por favor, faça a função de remover o indicador do gráfico. Parece que com a bomba nuclear: a bomba é inventada, mas não há nenhuma anti-bomba.

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - Документация по MQL5
Razão: