Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 686

 
Maxim Kuznetsov:

encontrar o comércio anterior na história e ver :-) se ele fechou em caso de perda

- Adicionado [sl] ou (sl) no comentário - tanto quanto sei, depende das configurações do servidor. Como regra, a primeira.

- preço de fechamento perto do ponto de parada

eles precisam ser filtrados pelo tempo

 
Roman Sharanov:

? são eles que precisam ser filtrados pelo tempo ?

??

seu assessor tem uma memória profunda e não se lembra da ordem que foi aberta?

 
Maxim Kuznetsov:

??

seu assessor tem uma memória profunda e não se lembra da ordem que ele abriu?

Não se trata de "lembrar", trata-se de reiniciar corretamente sem perder dados. Para isso você não precisa se lembrar, mas encontrar. Para um testador, é claro, a memória também funcionará.
 

Olá, estou ficando muito burro.

Como criar uma matriz associativa em mql4? Preciso armazenar uma chave - corrente de tempo e um valor - preço do tick. E depois trabalhar com esses pares.

 
Roman Sharanov:

Outra pergunta, por que a MT5 se recusa a importar carrapatos?

Eu tenho um arquivo CSV com citações, o que ele precisa?

É preciso que o separador de campos esteja correto e a data, hora em campos separados e no formato correto...

e talvez as linhas devam ser separadas por rn (não me lembro se é preciso apenas rn ou se depende da codificação)

 
Artyom Trishkin:
Não se trata de 'lembrar', trata-se de reiniciar corretamente sem perder dados. Para isso, não se trata de lembrar, mas sim de encontrar. Para um testador, é claro que a lembrança serve.

É uma vez no primeiro tique - passe pela história disponível e escolha o mais recente de seu próprio tique :-)

(TS não tem mais de 1 ordem aberta no mercado, e eles não voam para a história em lotes)

Em seguida, lembre-se...

 

Olá profissionais!
Eu preciso de ajuda para escrever parte do código EA.
Quero implementar em minha EA a dinâmica StopLoss e TakeProfit, dependendo dos dados de entrada.
Levo dados ALTOS e BAIXOS por um período (por exemplo, 24 barras anteriores).

Para isso, usei as seguintes linhas:

Ind_HIGH=HIGH[iHighest(Symbol(),0,MODE_HIGH,24,1)]; // obter índices de extrema para o período
Ind_LOW =Low[iLowest(Symbol(),0,MODE_LOW,24,1)];// obter índices de extrema para o período

então determinar o valor do preço a estes extremos

Ind_H =iHigh(Symbol(),0,Ind_HIGH); // obter o valor do preço ALTO
Ind_L_L_Low(Symbol(),0,Ind_LOW);// obter um valor de preço BAIXO

...e obter o valor do preço em 1 barra:

Ind_C =iClose(Símbolo(),0,1); // obter o valor do preço FECHADO

Comparando Ind_C e Ind_H : Ind_L eu queria obter a diferença de preço e traduzi-la em pontos, porque parece que precisamos de valores inteiros para SL e TP.
Mas, por alguma razão, não funciona. Preciso de 290 e 193 (como na foto)
Por favor, ajude-me a escrever esta parte do código...
Obrigado de antemão!


 
concilere:

Olá profissionais!
Eu preciso de ajuda para escrever parte do código EA.
Quero implementar em minha EA a dinâmica StopLoss e TakeProfit, dependendo dos dados de entrada.
Levo dados ALTOS e BAIXOS por um período (por exemplo, 24 barras anteriores).

Para isso, usei as seguintes linhas:

Ind_HIGH=HIGH[iHighest(Symbol(),0,MODE_HIGH,24,1)]; // obter índices de extrema para o período
Ind_LOW =Low[iLowest(Symbol(),0,MODE_LOW,24,1)];// obter índices de extrema para o período

então determinar o valor do preço a estes extremos

Ind_H =iHigh(Symbol(),0,Ind_HIGH); // obter o valor do preço ALTO
Ind_L_L_Low(Symbol(),0,Ind_LOW);// obter um valor de preço BAIXO

...e obter o valor do preço em 1 barra:

Ind_C =iClose(Símbolo(),0,1); // obter o valor do preço FECHADO

Comparando Ind_C e Ind_H : Ind_L eu queria obter a diferença de preço e traduzi-la em pontos, porque parece que precisamos de números inteiros para SL e TP.
Mas, por alguma razão, não funciona. Preciso de 290 e 193 (como na foto)
Por favor, ajude-me a escrever esta parte do código...
Obrigado de antemão!


Aqui é onde o índice de barras max/min

Ind_HIGH=iHighest(Symbol(),0,MODE_HIGH,24,1); // obter índices de extrema para o período
Ind_LOW =iLowest(Symbol(),0,MODE_LOW,24,1);// obter índices de extrema para o período

 
Vitaly Muzichenko:

Aqui é onde o índice de barras max/min

Ind_HIGH=iHighest(Símbolo(),0,MODE_HIGH,24,1); // obter índices de extrema para o período
Ind_LOW =iLowest(Symbol(),0,MODE_LOW,24,1); // obter índices de extrema para o período

Sim, hooray! Funcionou!
Vitaly, obrigado!

No início, o terminal começou a jurar. Eu tive que mudar o método de cálculo,
foi assim:

StopLoss=(Ind_C1-Ind_L24); //Calculate SL open Buy
TakeProfit=(Ind_C1-Ind_L24); //calcule TP open Buy

e agora é assim:

StopLoss=(Ind_C1-Ind_L24)/Point; //Calculate SL open Buy
TakeProfit=(Ind_C1-Ind_L24)/Point; //Calculate TP open Buy

e tudo funcionou...))



 

Eu tenho o indicador rsx-nrp-coronforex.mq4, você pode me dizer quais parâmetros usar para obter dados da curva?

double RSX_M = iCustom(Symbol(),PERIOD_CURRENT,"{\i1}rsx-nrp-coronforex",???? O que eu deveria escrever aqui???);

Arquivos anexados:
Razão: