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
isto está errado : if(totalOrders==0 && Magic===OrderMagicNumber() &&
OrderSelect(i-1 , SELECT_BY_POS,MODE_HISTORY)==verdadeiro)
porque você está chamando OrderMagicNumber() antes de OrderSelect(), portanto, provavelmente se refere à chamada anterior.
Oh,desculpe-me por ter expressado minha opinião de forma errada.
Eu quero codificar (mas não sou capaz de fazer) algo que irá parar a EA trading (ou parte de ea trading) se o patrimônio estiver abaixo de um valor.
Obrigado por sua ajuda Roger09, mas não preciso mostrar a equidade no gráfico.Tente esta EA
CloseAllBuySell - Base de código MQL4
Use sua idéia e faça um código com algo como
se (AccountEquity()<YourValue) fechar todas as ordens();
Alguém poderia, por favor, adicionar o EMA trailing stop à amostra Média Móvel EA
EMA trailing set to 1
Em seguida, mude a entrada para
Buy=Open[1]>ma && Close[1]>ma;
Sell=Open[1]<ma && Close[1]<ma;
Isto deve fazer um escalper muito bom e simples.
Abraço
Beno
Adicionar no início do programa
pips int externo=2;//(ou seu número de pips)
então substitua
sl = OrderOpenPrice() ;
if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() ;[/CODE]
to
[CODE]if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() +pips*Point;
if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() -pips*Point;Alguém pode me ajudar a colocar um alerta neste indicador para quando ele desenhar uma nova flecha?
Obrigado!
Não, conserte-o
int pips externos=2;
//+------------------------------------------------------------------+
//| função de início do programa de script |
//+------------------------------------------------------------------+
int start()
{
//----
corrente de corda = Símbolo();
int ot = OrdensTotal();
int ords[200], ordType[200], ordTicket[200]; ordLotal[200]; ordLotal[200] duplo;
ordComment[200], ordTicket[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
se (OrderSymbol() == Symbol())
se ((OrderType() == OP_BUY) ||| (OrderType() == OP_SELL))
{
dupla lâmina = 0;
if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() +pips*Point;
if ((OrderType() == OP_SELLL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() -pips*Point;
se (sl != 0+10)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
//----
retorno(0);
OK, o código agora se parece com isto:
pips int externo=10;//
//+------------------------------------------------------------------+
//| função de início do programa de script |
//+------------------------------------------------------------------+
int start()
{
//----
corrente de corda = Símbolo();
int ot = OrdensTotal();
int ords[200], ordType[200], ordTicket[200]; ordLotal[200]; ordLotal[200] duplo;
ordComment[200], ordTicket[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
se (OrderSymbol() == Symbol())
se ((OrderType() == OP_BUY) ||| (OrderType() == OP_SELL))
{
dupla lâmina = 0;
if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() +pips*Point;
if ((OrderType() == OP_SELLL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() -pips*Point;
se (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
//----
retorno(0);
}
//+------------------------------------------------------------------+
Olá Roger09,
Muito obrigado por sua ajuda com este código. Meu código de script agora se parece com este (acrescentei as mudanças em vermelho apenas para esta resposta, o código no MQ4 se parece com o resto que estava lá):
//+------------------------------------------------------------------+
//| função de início do programa de script |
//+------------------------------------------------------------------+
int start()
{
//----
int pips externos=2;//
corrente de corda = Símbolo();
int ot = OrdensTotal();
int ords[200], ordType[200], ordTicket[200]; ordLotal[200]; ordLotal[200] duplo;
ordComment[200], ordTicket[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
se (OrderSymbol() == Symbol())
se ((OrderType() == OP_BUY) ||| (OrderType() == OP_SELL))
{
dupla lâmina = 0;
if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() +pips*Point;
if ((OrderType() == OP_SELLL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() -pips*Point;
se (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
//----
retorno(0);
Você pode me avisar se eu acertei? Estou voando às cegas aqui, portanto, tenha paciência comigo.
Na verdade, ele estará funcionando, mas este código não é bom. Infelizmente não conheço seus principais objetivos e não posso recomendar outra coisa.