Indicadores de múltiplos períodos de tempo - página 1127
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
Caros Todos... Espero que vocês estejam muito bem...
Aprendi a programar e fiz uma simples EA para determinar o baixo valor no 3 último barr e abrir um pedido de compra... mas tenho um problema, não fiz o pedido... Alguém pode me ajudar? O programa obteve o preço baixo e mostrou o Alerta, mas não colocou a ordem de compra...
Obrigado em adiantado...
//--------------------------------------------------------------------
// NewBar_jeaa_Rev 2.mq4
//--------------------------------------------------------------------
#propriedade copyright "Jeaa
extern int GV_CantidadBarras=3; // Cantidad de barras
dígitos int externos=5;
//--------------------------------------------------------------------
Lotes duplos externos = 0,01;
StopLoss duplo externo = 100;
Duplo TakeProfit externo = 100;
Externo int Slippage = 3;
//--------------------------------------------------------------------
bool GV_Flag_NuevaBarra=false; // Flag de una nueva barra
//======================================================================
int start() // Diversão especial start()
{
double Precio; // variável que registra el precio minimo y Máximo
//--------------------------------------------------------------------
Fun_NuevaBarra(); // Chamada de função
if (GV_Flag_NuevaBarra==false) // Si no hay nueva barra...
retornar; // ...retornar
//=========================================================================
//int IndMax =ArrayMaximum(High,GV_CantidadBarras,1);// Indice de la barra del precio maximo
int IndMin =ArrayMinimum(Low, GV_CantidadBarras,1);// Indice de la barra del precio minimo
Precio=Low[IndMin];
int ticket=OrderSend(Symbol(),OP_BUY,Lots,Precio,Slippage,StopLoss,TakeProfit, "My orderrr",16384,0,Blue);
Alerta(Símbolo(),": Barras= ",GV_CantidadBarras, // Mostrar mensaje de precios max y min
", Min= ",DoubleToString(Precio,digitos));
retornar;
}
void Fun_NuevaBarra() // Descripción de la Funcion que detecta ...
{ // ... una nueva barra
datatempo estático NewTime=0; // variável que almacena fecha y hora
GV_Flag_NuevaBarra=falso; // Inicializa nueva barra a falso (no hay nueva barra)
if(NewTime!=Time[0]) // Si existe nueva barra el dato es distinto de cero.
{
NewTime=Time[0]; //... y en ese caso se registra el hora y fecha de la...
GV_Flag_NuevaBarra=true; //nueva barra y se ativa el flag que señaliza la...
//existencia de una nueva barra
}
}
Que erro você recebe nos especialistas ou na guia do diário do terminal?
Oi mladen... Obrigado por sua resposta...
2016.09.06 11:42:06.700 NewBar_jeaa_Rev 2 USDJPY,M1: Alerta: USDJPY: Barras= 3, Min= 102.11600
2016.09.06 11:41:36.561 NewBar_jeaa_Rev 2 USDJPY,M1: Alerta: USDJPY: Barras= 3, Min= 102.11600
2016.09.06 11:41:36.561 NewBar_jeaa_Rev 2 USDJPY,M1: operações comerciais não permitidas por configurações
2016.09.06 11:41:36.396 NewBar_jeaa_Rev 2 USDJPY,M1: inicializado
2016.09.06 11:41:36.385 NewBar_jeaa_Rev 2 USDJPY,M1 entradas: GV_CantidadBarras=3; dígitos=5; Lots=0,01; StopLoss=100,0; TakeProfit=100,0; Slippage=3;
2016.09.06 11:41:35.080 Expert NewBar_jeaa_Rev 2 USDJPY,M1: carregado com sucesso
2016.09.06 12:57:08.587 '502630': ordem de compra 0.01 USDJPY abertura no mercado sl: 50.000 tp: 50.000 falharam [Inválido S/L ou T/P]
2016.09.06 12:57:08.268 '502630': mercado de compra de pedidos 0.01 USDJPY sl: 50.000 tp: 50.000
2016.09.06 12:56:07.224 '502630': pedido de compra 0.01 USDJPY abertura no mercado sl: 50.000 tp: 50.000 falharam [Inválido S/L ou T/P]
2016.09.06 12:56:06.921 '502630': mercado de compra de pedidos 0.01 USDJPY sl: 50.000 tp: 50.000
2016.09.06 12:56:04.221 Comércio automatizado habilitado
Oi mladen... Obrigado por sua resposta...
2016.09.06 11:42:06.700 NewBar_jeaa_Rev 2 USDJPY,M1: Alerta: USDJPY: Barras= 3, Min= 102.11600
2016.09.06 11:41:36.561 NewBar_jeaa_Rev 2 USDJPY,M1: Alerta: USDJPY: Barras= 3, Min= 102.11600
2016.09.06 11:41:36.561 NewBar_jeaa_Rev 2 USDJPY,M1: operações comerciais não permitidas por configurações
2016.09.06 11:41:36.396 NewBar_jeaa_Rev 2 USDJPY,M1: inicializado
2016.09.06 11:41:36.385 NewBar_jeaa_Rev 2 USDJPY,M1 entradas: GV_CantidadBarras=3; dígitos=5; Lots=0,01; StopLoss=100,0; TakeProfit=100,0; Slippage=3;
2016.09.06 11:41:35.080 Expert NewBar_jeaa_Rev 2 USDJPY,M1: carregado com sucesso
2016.09.06 12:57:08.587 '502630': ordem de compra 0.01 USDJPY abertura no mercado sl: 50.000 tp: 50.000 falhou [Invalid S/L or T/P]
2016.09.06 12:57:08.268 '502630': ordem de compra no mercado 0.01 USDJPY sl: 50.000 tp: 50.000
2016.09.06 12:56:07.224 '502630': ordem de compra 0,01 USDJPY abertura no mercado sl: 50.000 tp: 50.000 falhou [Invalid S/L ou T/P]
2016.09.06 12:56:06.921 '502630': ordem de compra no mercado 0,01 USDJPY sl: 50.000 tp: 50.000
2016.09.06 12:56:04.221 Negociação automatizada ativada
Como você pode ver seu stop loss e ter lucro estão errados
Você está calculando aqueles errados: stop loss e take profit são calculados como preço de ordem aberta +- stop loss e/ou take profit (o + ou - depende do tipo de ordem) mas não como 50 (como no seu caso) mas seria preço de ordem aberta +- 50*_Point (para pontos) ou 50*_Point*MathPow(10,MathMod(_Digits,2)) para distância de pips do preço de ordem aberta
Como você pode ver seu stop loss e ter lucro estão errados
Você está calculando errado: o stop loss e take profit são calculados como preço de ordem aberta +- stop loss e/ou take profit (o + ou - depende do tipo de ordem) mas não como 50 (como no seu caso) mas seria preço de ordem aberta +- 50*_Point (para pontos) ou 50*_Point*MathPow(10,MathMod(_Digits,2)) para distância de pips do preço de ordem aberta
Prezado mladen...
Obrigado por sua ajuda... Eu mudei para..:
duplo SL=NormalizeDouble(Precio - StopLoss*Point,Dígitos);
double TP=NormalizeDouble(Precio + TakeProfit*Point,Dígitos);
int ticket=OrderSend(Symbol(),OP_BUY,Lots,Precio,Slippage,SL,TP, "Jeaa",0,0,Blue);
E trabalhar como deve ser.
Com os melhores cumprimentos.
Jesús
Prezado mladen...
Obrigado por sua ajuda... Eu mudei para..:
double SL=NormalizeDouble(Precio - StopLoss*Point,Digits);
double TP=NormalizeDouble(Precio + TakeProfit*Point,Dígitos);
int ticket=OrderSend(Symbol(),OP_BUY,Lots,Precio,Slippage,SL,TP, "Jeaa",0,0,Blue);
E trabalhar como deve ser.
Com os melhores cumprimentos.
Jesús
Oi, pessoal,
Você pode adicionar o prazo na mensagem de alerta no arquivo anexo, por favor?
muito obrigado :)
Prezado Mladen,
Peço desculpas por enviar este pedido aqui, pois não tenho conhecimento do lugar certo.
É possível adicionar uma opção de Símbolo Atual Somente no indicador anexo.
Se você pudesse, isso realmente ajudaria muito :)
Saúde.
Sameer
Oi, pessoal,
Você pode adicionar o prazo na mensagem de alerta no arquivo anexo, por favor?
muito obrigado :)
Aqui está uma versão com essa adição
Prezado Mladen,
Peço desculpas por enviar este pedido aqui, pois não tenho conhecimento do lugar certo.
É possível adicionar uma opção de Símbolo Atual Somente no indicador anexo.
Se você pudesse, isso realmente ajudaria muito :)
Saúde.
Sameer
Você tem uma solução muito fácil. Adicione esta linha :
antes da linha 64, e depois na lista de símbolos digite "corrente" em qualquer lugar da cadeia (sem o ""), e ela será substituída pelo símbolo corrente. Ou use o anexo :) (as mesmas regras para o símbolo atual aplicadas: para ter somente o símbolo atual exibido, digite somente "corrente" na lista de símbolos)
Você tem uma solução muito fácil. Adicione esta linha :
antes da linha 64, e depois na lista de símbolos digite "corrente" em qualquer lugar da cadeia (sem o ""), e ela será substituída pelo símbolo corrente. Ou use o anexo :) (as mesmas regras para o símbolo atual aplicadas : para ter somente o símbolo atual exibido, digite somente "corrente" na lista de símbolos)