Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1128
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Olá, tenho um comportamento estranho da função do sistema OrderCalcProfit, tenho a sensação de que o parâmetro volume é ignorado no cálculo, ou seja, o tamanho do lucro é sempre calculado para o volume 1.0
Estou a tentar verificá-lo no testador para diferentes pares de moedas em diferentes contas de demonstração.
1. O cálculo está correcto para 1.0, ver calc_profi101.png.
2. A segunda e quaisquer chamadas subsequentes da função retornam um resultado de lucro baseado num volume de 1,0, o valor do volume é ignorado, ver imagem de ecrã (calc_profit02.png) - volume passado 0,5, mas o resultado continua a ser o mesmo que para 1,0
Pode dizer-me qual poderá ser o problema. Obrigado
Olá, tenho um comportamento estranho da função do sistema OrderCalcProfit, tenho a sensação de que o parâmetro volume é ignorado no cálculo, ou seja, o lucro é sempre calculado para o volume 1.0
Estou a tentar verificá-lo no testador para diferentes pares de moedas em diferentes contas de demonstração.
1. O cálculo está correcto para 1.0, ver calc_profi101.png.
2. A segunda e quaisquer chamadas subsequentes da função retornam um resultado de lucro baseado num volume de 1,0, o valor do volume é ignorado, ver imagem de ecrã (calc_profit02.png) - volume passado 0,5, mas o resultado continua a ser o mesmo que para 1,0
Pode dizer-me qual poderá ser o problema. Obrigado
Penso que a resposta está na ajuda:
"... lucro
[Variável que manterá o valor de lucro calculado se a função for bem sucedida. O valor da estimativa de lucro depende de muitos factores e pode mudar à medida que o ambiente do mercado muda. ... "
Acrescentado: embora isto seja apenas um palpite.
Olá, tenho um comportamento estranho da função do sistema OrderCalcProfit, tenho a sensação de que o parâmetro volume é ignorado no cálculo, ou seja, o lucro é sempre calculado para o volume 1.0
Estou a tentar verificá-lo no testador para diferentes pares de moedas em diferentes contas de demonstração.
1. O cálculo está correcto para 1.0, ver calc_profi101.png.
2. A segunda e quaisquer chamadas subsequentes da função retornam um resultado de lucro baseado num volume de 1,0, o valor do volume é ignorado, ver imagem de ecrã (calc_profit02.png) - volume passado 0,5, mas o resultado continua a ser o mesmo que para 1,0
Pode dizer-me qual poderá ser o problema. Obrigado
Aqui está o examinador de testes - tudo funciona correctamente:
e o resultado:
Pode dar-me uma dica? É possível e como posso programar a língua do terminal em uso?
Determino isto ou a língua terminal russa ou se outra - a saída é em inglês.
Adicionado: pensei ter guardado todas as línguas da enumeração TERMINAL_LANGUAGE - mas não a consigo encontrar. Deve ter perdido ...
Bom dia a todos, alguém pode ajudar a acrescentar aqui que no SL não seria apenas um capotamento, mas também adicionar muito ou mais. E quando o TP é accionado, devolve um lote.
1. Aconselho categoricamente a não utilizar funções que seleccionem uma posição por um personagem. Utilizar uma função que seleccione uma posição através de um índice numa lista.
2. Para saber como uma posição foi encerrada, a enumeraçãoENUM_DEAL_REASON deve ser vista na OnTradeTransaction.
Exemplo com ENUM_DEAL_REASON:
Stop Loss Take Profit
CodeBase | 2017.07.13 07:42 |Vladimir Karputov| EAs | MetaTrader 5
É possível introduzir detalhes de login de conta num programa de terceiros e gerir a conta e, sabe, abrir/fechar posições?
Ou é apenas através de um robô que é instalado na conta?
Estou a transferir indicadores de MQL4 para MQL5, pergunta sobre "tampões" e "parcelas". O indicador tem 2 tampões e 1 parcela:
#nóculos_indicadores de propriedade 2
#property indicator_plots 1
SetIndexBuffer(0,Array1,INDICATOR_CALCULATIONS);
SetIndexBuffer(1,Array2,INDICATOR_DATA);
Se o primeiro tampão for utilizado para cálculos, etc., e o segundo deve ser traçado, então
primeiro, é necessário definir DRAW_NONE para o primeiro buffer se já estiver definido para INDICADOR_CALCULATIONS na função SetIndexBuffer() ?
PlotIndexSetInteger(?,PLOT_DRAW_TYPE,DRAW_NONE);
segundo, que índice devo definir em PlotIndexSetInteger() em vez do ponto de interrogação (?) se apenas o segundo buffer deve ser desenhado?
PlotIndexSetInteger(?,PLOT_DRAW_TYPE,DRAW_HISTOGRAM);
Terceiro, se eu usar dois estilos do tipo DRAW_HISTOGRAM, posso definir cor para cada um deles e obter histograma como no indicador Volumes, onde as barras verdes e vermelhas se alternam, mas se eu usar DRAW_HISTOGRAM2, posso definir duas cores para uma barra também ou apenas uma cor é definida para este estilo?
Estou a transferir indicadores de MQL4 para MQL5, pergunta sobre "tampões" e "parcelas". O indicador tem 2 tampões e 1 parcela:
#nóculos_indicadores de propriedade 2
#property indicator_plots 1
SetIndexBuffer(0,Array1,INDICATOR_CALCULATIONS);
SetIndexBuffer(1,Array2,INDICATOR_DATA);
Se o primeiro tampão for utilizado para cálculos, etc., e o segundo deve ser traçado, então
primeiro, é necessário definir DRAW_NONE para o primeiro buffer se já estiver definido para INDICADOR_CALCULATIONS na função SetIndexBuffer() ?
PlotIndexSetInteger(?,PLOT_DRAW_TYPE,DRAW_NONE);
segundo, que índice devo definir em PlotIndexSetInteger() em vez do ponto de interrogação (?) se apenas o segundo buffer deve ser desenhado?
PlotIndexSetInteger(?,PLOT_DRAW_TYPE,DRAW_HISTOGRAM);
Terceiro, se eu usar dois estilos do tipo DRAW_HISTOGRAM, posso definir cor para cada um deles e obter histograma como no indicador Volumes, onde as barras verdes e vermelhas se alternam, mas se eu usar DRAW_HISTOGRAM 2, posso definir duas cores para uma barra também ou apenas uma cor é definida para este estilo?
Porque estás a ser tão duro contigo mesmo? Qual é o problema em atribuir primeiro os amortecedores de visualização, e depois os amortecedores auxiliares?
Para DRAW_HISTOGRAМ2 são definidos 3 amortecedores e a sequência é obrigatória, primeiro 2 amortecedores de valor, seguidos de um amortecedor de cor. Mas existe uma diferença entre DRAW_HISTOGRAM e DRAW_HISTOGRAM2 na medida em que DRAW_HISTOGRAM é extraído de zero para o valor no tampão, enquanto DRAW_HISTOGRAM2 é extraído do valor de um tampão para o valor de outro tampão.