Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1258
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
Boa noite. Como deve ser o código que vai encontrar a última ordem fechada? Parece-se com isto: "OrderSelect(OrderHistoryTotal, SELECT_BY_POS, MODE_HISTORY"?
Este é o aspecto que seu bloco deve ter aproximadamente:
int a=-1;
for(int is=OrdersHistoryTotal(); is>=0; is--)
{
if(OrderSelect(is, SELECT_BY_POS, MODE_HISTORY))
{
if(OrderType()==OP_BUY) {a=OrderType(); break;}
if(OrderType()==OP_SELL){a=OrderType(); break;}
}
}
if(a===OP_BUY) Comentário("O último pedido de compra fechado na lista foi encontrado;)
if(a===OP_SELL) Comentário("A última ordem de venda fechada da lista foi encontrada;)
Li há muito tempo que não há garantia na disposição cronológica das ordens em OrdersHistoryTotal, e você tem que verificar até a data de encerramento.
@Valerius, você não pode inseri-lo como código? Ou o que está faltando?
@Valerius, você não pode inseri-lo como código? Ou o que está faltando?
Você poderia tornar humanamente possível inserir código como código no editor MT?
Nenhum de seus botões funciona da maneira que eu preciso.
Você poderia tornar humanamente possível a inserção do código como código no editor MT?
Nenhum de seus botões funciona da maneira que eu quero que funcionem.
Há uma maneira complicada. Copie e cole o que quiser de qualquer código. E cole aí seu código. Menos o destaque não funciona desta forma))))
Para a primeira pergunta, você precisa fazer uma função como esta:
{Imprimir("Erro ao selecionar o pedido", GetLastError();}
Para a segunda pergunta, deve haver a seguinte entrada:
OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(MarketInfo(nameSym,MODE_ASK)), 3, clrNONE);
Boa sorte.
Obrigado! Funcionou como esperado na primeira pergunta
No segundo - número incorreto de parâmetros. Fixado desta forma - OrderClose(OrderTicket(),OrderLots(),Ask,3,CLR_NONE);
Só que agora eu não entendia bem a edição de minha primeira variante (eu a copiei de algum lugar) ...
Alguém pode, por favor, explicar como funciona o trailing take profi? Há algumas informações sobre a Trailing Stop na ajuda MT5, mas não há informações sobre Trailing Profit. Quando defino "Stop Loss trailing level (em pontos)" em meu Expert Advisor, por exemplo, para 100, entendo que o lucro móvel será ativado, quando o preço passar 100 pontos na direção requerida. Mas o que significa "Take Profit trailing level (em pontos)" = 10?
Olá!
Alguém pode por favor explicar o princípio de trailing take profi? Não consigo encontrar nenhuma informação sobre a Trailing Stop na Referência MT5. Quando defino "Stop Loss trailing level (em pontos)" em meu Expert Advisor, por exemplo, para 100, entendo que o lucro móvel será ativado, quando o preço passar 100 pontos na direção requerida. Mas o que significa "Take Profit trailing level (em pontos)" = 10?
O TakeProfit é calculado em pips e o Trailing TakeProfit é calculado na moeda do depósito. Trailing TakeProfit é o lucro na moeda do depósito de uma ou mais ordens, e coloca paradas de ordens no valor especificado nas configurações, ou seja, a uma distância calculada.
Por exemplo, o Trailing Take Profit em $100 é especificado nas configurações. Uma vez que o preço atinge o lucro de 100$ e vai além, o programa calcula a distância de 100$ e coloca todos os pedidos de parada no local calculado, se permitir. Assim que o preço voltar às paradas, todos os pedidos serão fechados. Em princípio, isto é o mesmo que Trailing Stop, somente é calculado em moeda depo e lucro de trilhas. Eu posso ter cometido um erro em algum lugar, mas este é o princípio. Espero tê-lo explicado.