Caro Vladimir! Cheguei ao seu trabalho titânico para iniciantes, minhas prioridades estão mudando, a negociação de demonstração será feita à sua maneira, e a principal coisa agora é a sua escola para iniciantes, eu mastigo valiosos apertos de sua experiência, é inestimável, não há palavras. Se eu chegar a saber como inserir um trailing stop nesse EA, provavelmente o farei com prioridade, porque, como resultado da otimização avançada, o EA cria longos takeprofits, sua rede de segurança se tornou gritante. E, no decorrer do treinamento em sua escola, provavelmente aprenderei a ver os erros, sem os quais não há programas que funcionem, e a corrigi-los. OBRIGADO.
Encontrei um "método de rastreamento" único, simples e genial, do Expert Advisor, o próprio autor, que, como é tradicional para esse desenvolvimento, não é executado como o autor comentou. Ele, assim como eu, provavelmente também é um idiota, mas um dos grandes). Ele prometeu que, quando o preço se inverte, a posição aberta anteriormente é fechada, bem, sim, seria ótimo se fosse... mas apenas duas posições abertas estão suspensas, em ambas as direções, e não são fechadas. Anteriormente, antes de seu primeiro conselho, havia uma série de posições abertas em ambas as direções, que não foram fechadas. Você está tentando apertar essa cereja do bolo?
Encontrei um "método de trailing" único, simples e genial, do Expert Advisor, do próprio autor, que, como é tradicional para esse desenvolvimento, não é executado como o autor comentou. Ele, assim como eu, provavelmente também é um idiota, mas um dos grandes). Ele prometeu que, quando o preço se inverte, a posição aberta anteriormente é fechada, bem, sim, seria ótimo se fosse... mas apenas duas posições abertas estão suspensas, em ambas as direções, e não são fechadas. Anteriormente, antes de seu primeiro conselho, havia uma série de posições abertas em ambas as direções, que não foram fechadas. Você está tentando apertar essa cereja do bolo?
Olá, Rustam! Para que possamos continuar a cooperar de forma produtiva, primeiro você precisa aprender a anexar o código do EA com problemas à sua mensagem. Se você tiver problemas ao testar o EA, precisará salvar esse código com um novo nome, compilá-lo e anexá-lo à mensagem. Você deve salvar o EA com um novo nome e compilá-lo !!! Caso contrário, ficaremos confusos em diferentes variantes ao nos comunicarmos com você.
Se, por algum motivo, não for possível anexar o código do EA, você poderá usar outra maneira:
No MetaEditor, destaque o código do EA com problemas pressionando Ctrl+A.
Copie o código do EA pressionando o botão Ctrl+C.
Crie uma mensagem que deseja publicar aqui no fórum e, pressionando o botão AL+S, abra um campo no qual você precisa colar o código copiado pressionando o botão Ctrl+V.
Adicionar sua mensagem ao fórum
Se você não aprender a anexar ou colocar em suas postagens o código do EA com problemas, o diálogo com você será inútil.
Olá, Rustam! Para que possamos continuar a cooperar de forma produtiva, primeiro você precisa aprender a anexar o código do EA com problemas a uma mensagem. Se você tiver problemas ao testar o EA, precisará salvar esse código com um novo nome, compilá-lo e anexá-lo à mensagem. Você deve salvar o EA com um novo nome e compilá-lo !!! Caso contrário, você e eu ficaremos confusos em diferentes variantes ao nos comunicarmos com você.
Se, por algum motivo, você não puder anexar o código do EA, poderá usar outra maneira:
No MetaEditor, destaque o código do EA com problemas pressionando Ctrl+A.
Copie o código do EA pressionando o botão Ctrl+C.
Crie uma mensagem que você deseja publicar aqui no fórum e, pressionando o botão AL+S, abra um campo onde você precisa colar o código copiado pressionando o botão Ctrl+V.
Adicione a mensagem ao fórum
Se você não aprender a anexar ou publicar o código do EA com problemas em suas mensagens, o diálogo com você será inútil.
Atenciosamente, Vladimir.
Desculpe-me pelo atraso, eu me esgotei durante o fim de semana, mas encontrei a causa do último problema, pois o corretor FXopen simplesmente não cresceu para o MT5. Bem, e me ensinou a simplicidade da seleção de arquivos, para enviar. Os dois primeiros são a sua otimização do trabalho do autor, em que você interrompeu a desatenção do autor no código, com a abertura maciça de posições, em vez de uma, a única, e os dois segundos são a sua declaração de fechamento de uma posição quando o preço se inverte. Vale a pena trabalhar no segundo, afinal de contas, o autor, se não terminou, mas queria lucrar).
Desculpe-me pelo atraso, mas no fim de semana fiquei esgotado, 24 horas, mas encontrei a causa do último problema, pois a corretora FXopen simplesmente não se adaptou ao MT5. Bem, e me ensinou a simplicidade da seleção de arquivos, para enviar. Os dois primeiros são a sua otimização do trabalho do autor, em que você impediu a desatenção do autor no código, com a abertura maciça de posições, em vez de uma, uma única, e os dois segundos são a sua declaração de fechamento de uma posição quando o preço se inverte. Vale a pena trabalhar no segundo, afinal de contas, o autor, se não terminou, mas queria lucrar).
Bem, com este, o último, ainda estou resolvendo, tentando entender alguma coisa e começar a navegar nele, enquanto seguro os lucros de longo prazo. Já estou pronto para as surpresas do autor no futuro, a estrada será percorrida por aquele que caminha).
Bem, com este último, ainda estou tentando entender alguma coisa e começar a me orientar nele, por enquanto para fazer hedge long takeprofits. Já estou pronto para as surpresas do autor no futuro, o caminho será percorrido por quem caminha).
Olá, Rustam! Anexei a versão funcional desse Expert Advisor no final da mensagem. As alterações foram feitas nesta seção do código:
//--- Colocando tudo junto if(Buy_Condition_1 && Buy_Condition_2)
{
if(Buy_Condition_3 && Buy_Condition_4 && PositionsTotal()==0)
{
ZeroMemory(mrequest);
mrequest.action = TRADE_ACTION_DEAL; // execução imediata da ordem
mrequest.price = NormalizeDouble(latest_price.ask,_Digits); // último preço de venda
mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // Take Profit
mrequest.symbol = _Symbol; // par de moedas
mrequest.volume = Lot; // número de lotes a serem negociados
mrequest.magic = EA_Magic; // Número mágico do pedido
mrequest.type = ORDER_TYPE_BUY; // Ordem de compra
mrequest.type_filling = ORDER_FILLING_FOK; // Tipo de execução da ordem
mrequest.deviation=100; // Desvio do preço atual//--- enviar pedidobool check=OrderSend(mrequest,mresult);
// obter o código de resultadoif(mresult.retcode==10009 || mresult.retcode==10008) /A solicitação foi concluída ou o pedido foi feito
{
Alert("A Buy order has been successfully placed with Ticket#:",mresult.order,"!!");
}
else
{
Alert("The Buy order request could not be completed -error:",GetLastError());
ResetLastError();
return;
}
}
}
/*
2. Verifique se há uma configuração de venda/curta: MA-8 diminuindo para baixo,
preço anterior fechado abaixo dele, ADX > 22, -DI > +DI
*/.//--- Declare variáveis do tipo bool para manter nossas condições de vendabool Sell_Condition_1 = (maVal[0]<maVal[1]) && (maVal[1]<maVal[2]); // MA-8 diminuindo para baixobool Sell_Condition_2 = (p_close <maVal[1]); // O preço anterior fechou abaixo da MA-8bool Sell_Condition_3 = (adxVal[0]>Adx_Min); // Valor ADX atual maior que o mínimo (22)bool Sell_Condition_4 = (plsDI[0]<minDI[0]); // -DI maior que +DI//--- Colocando tudo juntoif(Sell_Condition_1 && Sell_Condition_2)
{
if(Sell_Condition_3 && Sell_Condition_4 && PositionsTotal()==0)
{
ZeroMemory(mrequest);
mrequest.action=TRADE_ACTION_DEAL; // execução imediata da ordem
mrequest.price = NormalizeDouble(latest_price.bid,_Digits); // último preço do lance
mrequest.sl = NormalizeDouble(latest_price.bid + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.bid - TKP*_Point,_Digits); // Take Profit
mrequest.symbol = _Symbol; // par de moedas
mrequest.volume = Lot; // número de lotes a serem negociados
mrequest.magic = EA_Magic; // Número mágico do pedido
mrequest.type= ORDER_TYPE_SELL; // Ordem de venda
mrequest.type_filling = ORDER_FILLING_FOK; // Tipo de execução da ordem
mrequest.deviation=100; // Desvio do preço atual//--- enviar pedidobool check=OrderSend(mrequest,mresult);
// obter o código de resultadoif(mresult.retcode==10009 || mresult.retcode==10008) /A solicitação foi concluída ou o pedido foi feito
{
Alert("A Sell order has been successfully placed with Ticket#:",mresult.order,"!!");
}
else
{
Alert("The Sell order request could not be completed -error:",GetLastError());
ResetLastError();
return;
}
}
}
return;
}
//+------------------------------------------------------------------+
O que está destacado em amarelo foi adicionado:
&& PositionsTotal()==0
e também removi a condição relacionada a Buy_opened e Sell_opened:
// alguma posição de compra aberta?if(Buy_opened)
{
Alert("We already have a Buy Position!!!");
return; // Não abra uma nova posição de compra
}
.
.
.
// alguma posição de venda aberta?if(Sell_opened)
{
Alert("We already have a Sell position!!!");
return; // Não abra uma nova posição de venda
}
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Caro Vladimir! Cheguei ao seu trabalho titânico para iniciantes, minhas prioridades estão mudando, a negociação de demonstração será feita à sua maneira, e a principal coisa agora é a sua escola para iniciantes, eu mastigo valiosos apertos de sua experiência, é inestimável, não há palavras. Se eu chegar a saber como inserir um trailing stop nesse EA, provavelmente o farei com prioridade, porque, como resultado da otimização avançada, o EA cria longos takeprofits, sua rede de segurança se tornou gritante. E, no decorrer do treinamento em sua escola, provavelmente aprenderei a ver os erros, sem os quais não há programas que funcionem, e a corrigi-los. OBRIGADO.
Atenciosamente, Rustam.
De nada, Rustam!
Com todo o respeito, Vladimir.
Responder ou Novo comentário, na parte inferior Anexar um arquivo.
OBRIGADO pela simplicidade engenhosa.) E uma pergunta: como você, com sua experiência em trailing, inseriria um desses no EA?
Por favor, Rustam!
Saudações, Vladimir.
Encontrei um "método de rastreamento" único, simples e genial, do Expert Advisor, o próprio autor, que, como é tradicional para esse desenvolvimento, não é executado como o autor comentou. Ele, assim como eu, provavelmente também é um idiota, mas um dos grandes). Ele prometeu que, quando o preço se inverte, a posição aberta anteriormente é fechada, bem, sim, seria ótimo se fosse... mas apenas duas posições abertas estão suspensas, em ambas as direções, e não são fechadas. Anteriormente, antes de seu primeiro conselho, havia uma série de posições abertas em ambas as direções, que não foram fechadas. Você está tentando apertar essa cereja do bolo?
OBRIGADO pela simplicidade engenhosa) E uma pergunta: como você, com sua experiência em trailing, poderia inserir um nesse EA?
Se o resultado com o trailing for melhor do que sem ele, então deixe-o.
Se o resultado for melhor com a rede de arrasto do que sem ela, então deixe-a.
Não é difícil inserir, mas o que inserir? Para testar e avaliar.
Não é difícil colocá-lo, mas o que é preciso colocar? Para testá-lo.
O código do trawl em seu EA sem trawl. É melhor colocar o código de arrasto em uma função. E chamar o trawl por condição, se houver uma ordem.
Encontrei um "método de trailing" único, simples e genial, do Expert Advisor, do próprio autor, que, como é tradicional para esse desenvolvimento, não é executado como o autor comentou. Ele, assim como eu, provavelmente também é um idiota, mas um dos grandes). Ele prometeu que, quando o preço se inverte, a posição aberta anteriormente é fechada, bem, sim, seria ótimo se fosse... mas apenas duas posições abertas estão suspensas, em ambas as direções, e não são fechadas. Anteriormente, antes de seu primeiro conselho, havia uma série de posições abertas em ambas as direções, que não foram fechadas. Você está tentando apertar essa cereja do bolo?
Olá, Rustam! Para que possamos continuar a cooperar de forma produtiva, primeiro você precisa aprender a anexar o código do EA com problemas à sua mensagem. Se você tiver problemas ao testar o EA, precisará salvar esse código com um novo nome, compilá-lo e anexá-lo à mensagem. Você deve salvar o EA com um novo nome e compilá-lo !!! Caso contrário, ficaremos confusos em diferentes variantes ao nos comunicarmos com você.
Se, por algum motivo, não for possível anexar o código do EA, você poderá usar outra maneira:
Se você não aprender a anexar ou colocar em suas postagens o código do EA com problemas, o diálogo com você será inútil.
Saudações, Vladimir.
Olá, Rustam! Para que possamos continuar a cooperar de forma produtiva, primeiro você precisa aprender a anexar o código do EA com problemas a uma mensagem. Se você tiver problemas ao testar o EA, precisará salvar esse código com um novo nome, compilá-lo e anexá-lo à mensagem. Você deve salvar o EA com um novo nome e compilá-lo !!! Caso contrário, você e eu ficaremos confusos em diferentes variantes ao nos comunicarmos com você.
Se, por algum motivo, você não puder anexar o código do EA, poderá usar outra maneira:
Se você não aprender a anexar ou publicar o código do EA com problemas em suas mensagens, o diálogo com você será inútil.
Atenciosamente, Vladimir.
Desculpe-me pelo atraso, eu me esgotei durante o fim de semana, mas encontrei a causa do último problema, pois o corretor FXopen simplesmente não cresceu para o MT5. Bem, e me ensinou a simplicidade da seleção de arquivos, para enviar. Os dois primeiros são a sua otimização do trabalho do autor, em que você interrompeu a desatenção do autor no código, com a abertura maciça de posições, em vez de uma, a única, e os dois segundos são a sua declaração de fechamento de uma posição quando o preço se inverte. Vale a pena trabalhar no segundo, afinal de contas, o autor, se não terminou, mas queria lucrar).
Desculpe-me pelo atraso, mas no fim de semana fiquei esgotado, 24 horas, mas encontrei a causa do último problema, pois a corretora FXopen simplesmente não se adaptou ao MT5. Bem, e me ensinou a simplicidade da seleção de arquivos, para enviar. Os dois primeiros são a sua otimização do trabalho do autor, em que você impediu a desatenção do autor no código, com a abertura maciça de posições, em vez de uma, uma única, e os dois segundos são a sua declaração de fechamento de uma posição quando o preço se inverte. Vale a pena trabalhar no segundo, afinal de contas, o autor, se não terminou, mas queria lucrar).
Bem, com este, o último, ainda estou resolvendo, tentando entender alguma coisa e começar a navegar nele, enquanto seguro os lucros de longo prazo. Já estou pronto para as surpresas do autor no futuro, a estrada será percorrida por aquele que caminha).
Bem, com este último, ainda estou tentando entender alguma coisa e começar a me orientar nele, por enquanto para fazer hedge long takeprofits. Já estou pronto para as surpresas do autor no futuro, o caminho será percorrido por quem caminha).
Olá, Rustam! Anexei a versão funcional desse Expert Advisor no final da mensagem. As alterações foram feitas nesta seção do código:
O que está destacado em amarelo foi adicionado:
&& PositionsTotal()==0e também removi a condição relacionada a Buy_opened e Sell_opened:
Atenciosamente, Vladimir.