Em minha EA, o cálculo de saída é baseado no lucro acumulado. Por exemplo, se em algum momento a equidade=balanço, então a EA fechará todas as negociações quando a equidade atual exceder esta mesma equidade inicial. Fechará todas as negociações, não importa quantos deles sejam.
É simples no testador, pois há um par de moedas.
Entretanto, o comércio é realisticamente realizado com várias moedas e cada uma delas deve ser considerada separadamente. Por exemplo: se não há negociações abertas em algum par de moedas, então a variável==0. E devemos rastrear os negócios fechados também a este símbolo e esperar até que o lucro acumulado exceda a perda das ordens abertas deste símbolo pelo valor especificado.
Não consigo encontrar no tutorial uma função que possa ser usada para separar a contabilidade dos lucros acumulados para diferentes moedas. Por favor, informe. Obrigado.
Frostr: Ajude-me a escrever uma condição para abrir uma posição.
Eu não posso escrever uma condição adicional para abrir uma posição de acordo com minha idéia.
Se eu fechar qualquer posição com TP ou SL, eu quero que ela abra uma nova posição com o valor oposto.
Exemplo: se uma posição de Venda foi fechada pela SL, ela reabrirá uma posição de Venda junto com ela e Compras.
Aqui estão 2 condições da EA:
Condição de compra
se (COMPRAR) { if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); caso contrário TP=0; if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); caso contrário SL=0; if(NumberOfPositions(Symbol(),OP_BUY,Magic)<MaxOrders) }
Condição de venda
se (VENDER) { if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); caso contrário TP=0; if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); caso contrário SL=0; if(NumberOfPositions(Symbol(),OP_SELL,Magic)<MaxOrders) }
Quem entende isso, por favor, ajude-me a escrever condições adicionais
Lamento, mas nos arquivos anexos você tem um arquivo compilado, não o arquivo fonte. Você não pode visualizá-lo. Por favor, envie o arquivo com a extensão .mq4
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.
Por favor, informe.
Em minha EA, o cálculo de saída é baseado no lucro acumulado. Por exemplo, se em algum momento a equidade=balanço, então a EA fechará todas as negociações quando a equidade atual exceder esta mesma equidade inicial. Fechará todas as negociações, não importa quantos deles sejam.
É simples no testador, pois há um par de moedas.
Entretanto, o comércio é realisticamente realizado com várias moedas e cada uma delas deve ser considerada separadamente. Por exemplo: se não há negociações abertas em algum par de moedas, então a variável==0. E devemos rastrear os negócios fechados também a este símbolo e esperar até que o lucro acumulado exceda a perda das ordens abertas deste símbolo pelo valor especificado.
Não consigo encontrar no tutorial uma função que possa ser usada para separar a contabilidade dos lucros acumulados para diferentes moedas. Por favor, informe. Obrigado.
https://www.mql5.com/ru/forum/131859/page3#434223 aqui, e tambémhttps://www.mql5.com/ru/forum/131859/page3#434222
Eu não posso escrever uma condição adicional para abrir uma posição de acordo com minha idéia.
Se eu fechar qualquer posição com TP ou SL, deverá reabrir com a posição oposta.
Exemplo: Se uma posição de Venda, digamos SL, estiver fechada, ela reabrirá uma posição de Venda junto com ela e Compras
Aqui estão 2 condições do Expert Advisor:
condição para comprar
if (BUY)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); caso contrário TP=0;
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
if(NumberOfPositions(Symbol(),OP_BUY,Magic)<MaxOrders)OPENORDER ("Buy");
}
vender condição
if (SELL)
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0;
if(NumberOfPositions(Symbol(),OP_SELLL,Magic)<MaxOrders)OPENORDER ("Sell");
}
Quem entende isso, por favor, ajude-me a escrever uma condição adicional
Para mudar para a esquerda -- F12, para a direita -- não sei.
RigonichObrigado, essa é uma ótima dica! Exatamente o que eu preciso!
Eu não fiz nada com ele, ainda não funciona ((((
Funcionou somente se o preço for em uma direção, então abre-se e se o preço não se abrir((
Ajude-me a escrever uma condição para abrir uma posição.
Eu não posso escrever uma condição adicional para abrir uma posição de acordo com minha idéia.
Se eu fechar qualquer posição com TP ou SL, eu quero que ela abra uma nova posição com o valor oposto.
Exemplo: se uma posição de Venda foi fechada pela SL, ela reabrirá uma posição de Venda junto com ela e Compras.
Aqui estão 2 condições da EA:
Condição de compra
se (COMPRAR)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); caso contrário TP=0;
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); caso contrário SL=0;
if(NumberOfPositions(Symbol(),OP_BUY,Magic)<MaxOrders)
}
Condição de venda
se (VENDER)
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); caso contrário TP=0;
if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); caso contrário SL=0;
if(NumberOfPositions(Symbol(),OP_SELL,Magic)<MaxOrders)
}
Quem entende isso, por favor, ajude-me a escrever condições adicionais
Lamento, mas nos arquivos anexos você tem um arquivo compilado, não o arquivo fonte. Você não pode visualizá-lo. Por favor, envie o arquivo com a extensão .mq4