Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 96
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á!
Por favor, ajude-me a escrever um EA.
A essência do Expert Advisor: abre 4 ordens de 1 lote.
2 para vender: usdchf; eurusd;
2 para comprar: gbpusd; usdjpy;
Ao atingir um lucro total de 5 pips, feche todas as negociações. E começar de novo.
4 lotes no total?
E se não houver lucro?
Olá!
Por favor, ajude-me a escrever um EA.
A essência do Expert Advisor: abre 4 ordens de 1 lote.
2 para vender: usdchf; eurusd;
2 para comprar: gbpusd; usdjpy;
Ao atingir um lucro total de 5 pips, feche todas as negociações. E começar de novo.
Não há necessidade de duplicar sua pergunta em tópicos diferentes.
Favor entrar em contato com o Freelance.
Saudações.
Você pode me dizer como escrever a condição para que a ação seja realizada na abertura de uma nova vela no gráfico atual?
Olá! Ajudem-me a entender as matrizes!
Preciso preencher uma matriz com o indicador MASD. Pelo que entendi, existem dados: índice de barras, valorMODE_MAIN, valorMODE_SIGNAL, ou seja, a matriz deve ser do tipo tridimensional ( a [] [] []), ou o quê? Se você puder dar um exemplo.
https://www.mql5.com/ru/articles/159
Sergey, você mesmo já usou este código?
O artigo é geralmente bom, mas é
muito perigoso. Para que funcione, é preciso, como recomendado pelo baterista, "sacudir" a história periodicamente. Eu não especifiquei qual o lugar.
Em geral, depois de muito sofrimento, concluí que é melhor usar a função CopyRates()
Mensagens sobre possíveis erros são preenchidas por cada um de nós se assim o desejarmos.
{
static datetime timeLastBar;
MqlRates mqlRates[];
int s = 0;
do
{
s++;
}
while(CopyRates(_Symbol, PERIOD_CURRENT, 0, 1, mqlRates) < 0 && s < 7);
bool ret = timeLastBar != mqlRates[0].time;
if(ret)
timeLastBar = mqlRates[0].time;
return(ret);
}/*******************************************************************/
Sergey, você mesmo já usou este código?
O artigo é geralmente bom, mas é
muito perigoso. Para que funcione, é preciso, como recomendado pelo baterista, "sacudir" a história periodicamente. Qual local não foi especificado.
Alexey, diga-me, quando você se deparou com erros usando-o? Você já teve algum?
Eu mesmo utilizo este método e não tenho tido problemas. Bem, talvez eu ainda tenha que...
Eu gostaria de algumas explicações - por assim dizer... :)
Onde o baterista disse isso?
Alexei, diga-me, quando você já se deparou com erros neste uso? Alguma vez você já?
Porque eu mesmo utilizo este método e ainda não encontrei nenhum problema. Bem, talvez eu ainda tenha que fazê-lo.
Eu gostaria de algumas explicações - por assim dizer... :)
Onde Drubashka disse uma coisa dessas?
https://www.mql5.com/ru/forum/89213
Há oito páginas de brigas. E não apenas drubashka, mas Slawa diz que
Onde você vê um comportamento inadequado desta função? Você leu a documentação cuidadosamente?
Retorna informações sobre o estado dos dados históricos. Não atualiza as informações, não inicia a troca de dados. Apenas devolve o que está lá no momento.
Alexei, diga-me, quando você já se deparou com erros neste uso? Alguma vez você já?
Eu mesmo estou usando este método e ainda não encontrei nenhum problema. Bem, talvez eu ainda tenha que fazê-lo.
Eu gostaria de algumas explicações - por assim dizer... :)
Onde o baterista disse isso?
E aqui estão os contratempos.
Não funcionou em um símbolo em um terminal (no cronograma M15) - tenho 99% de certeza que o problema é que usando outro cronograma eu preciso "sacudir" a história o tempo todo. Penso que é melhor fazê-lo através do CopyTime().
Alexei, diga-me, quando você já se deparou com erros neste uso? Alguma vez você já?
Por exemplo, no terminal MT5 existem alguns Expert Advisors (MACD Sample e Moving Averages), mas se você quiser mudar o manípulo indicador no código destes Expert Advisors e colocar um TF específico, por exemplo PERIOD_H4, em vez de "_Period", então em testes pelos preços abertos do TF mais alto, ocorre o seguinte erro de carregamento do indicador: não pode carregar o indicador 'MACD' [4805] e como resultado: o testador parou porque o OnInit falhou. Quais são suas opiniões? Talvez eu esteja fazendo algo errado? É possível codificar o Expert Advisor para que ele seja testado para os preços abertos de qualquer TF?
Eu tentei usar o indicador como um indicador personalizado, o erro é o mesmo.
Agradecemos antecipadamente o seu feedback.
int OnInit(nulo)
{
//--- preparar a classe de comércio para controlar posições se o modo de cobertura estiver ativo
ExtHedging=((ENUM_ACCOUNT_MARGIN_MODE)AccountInfoInteger(ACCOUNT_MARGIN_MODE)==ACCOUNT_MARGIN_MODE_RETAIL_HEDGING);
ExtTrade.SetExpertMagicNumber(MA_MAGIC);
ExtTrade.SetMarginMode();
//--- Indicador de Média Móvel
ExtHandle=iMA(_Símbolo,PERÍODO_H4,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE);
if(ExtHandle==INVALID_HANDLE)
{
printf("Error creating MA indicator");
return(INIT_FAILED);
}
//--- ok
return(INIT_SUCCEED);
}