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
Você sempre pode escrever int crossTime = Time[0] quando você tinha uma cruz, e então usar a função iBarShift usando a variável crossTime para verificar quantas barras passaram.
Oi Kalenzo,
Você sempre pode escrever int crossTime = Time[0] quando você tinha uma cruz, e então usar a função iBarShift usando a variável crossTime para verificar quantas barras passaram.
Como você escreveria este código para incluir apenas "Bear Bars" na contagem?
Eu entendo o ibarshift mas isto incluiria todas as barras desde a cruz. Você ainda precisaria usar um sistema de contagem como eu o tenho para contar "Barras de Urso" e acredito que é aqui que está meu problema.
Eu originalmente testei meu código com este código .... Que funcionou bem.... mas não traduziu para o código acima que na verdade seria listado no meu EA
{
//----
double f=iMA(NULL,0,3,0,MODE_SMA,PRICE_CLOSE,0);
double s=iMA(NULL,0,7,0,MODE_SMA,PRICE_CLOSE,0);
double fp=iMA(NULL,0,3,0,MODE_SMA,PRICE_CLOSE,1);
double sp=iMA(NULL,0,7,0,MODE_SMA,PRICE_CLOSE,1);
static bool CrossedUP,CrossedDn;
static int Count=0;
if(f>s && fp<=sp)
{
CrossedUP=true;
CrossedDn=false;
Alert(Symbol()," Crossed UP");
Count=0;
}
else
if(f=sp){
CrossedUP=false;
CrossedDn=true;
Alert(Symbol()," Crossed Down");
Count=0;
}
if(NewBar()==true && f>s || f<s) Count++;
Comment("Crossed UP: ",CrossedUP," Crossed Down: ",CrossedDn," Bars since Cross: ",Count);
//----
return(0);
}Qualquer outro pensamento seria apreciado.
Obrigado,
SaxMan
Desculpe Omelete,
Isto também não funciona
Obrigado,
SaxMan
Olá. Tente isto.
{
if(MAFastC=MASlowP){
CrossedUp=false;
CrossedDn=true;
BarCount=0;
}
else
if(MAFastC>MASlowC && MAFastP<=MASlowP)
{
CrossedUp=true;
CrossedDn=false;
BarCount=0;
Alert("Crossed Down");
}
if(CrossedDn==true && NewBar()==true && Candle3mP=="Bear")
BarCount++;
if(BarCount>=2 && Candle3mC=="Bear")
{
Alert("Close Long Position");
return(true);
}
else return(false);limite de tempo com o código EA
Eu não posso colocar um limite de tempo em minha EA
A linha de código é a seguinte:
OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,Ask+TakeProfit*Point, "timetest",16384,0,Green)
Eu tentei mudar esse ZERO para um 1 ou para um 12 e não consigo fazer com que ele pare o comércio... eu gostaria que o comércio expirasse em 12 horas... como posso fazer isso?
estou usando um backtesting. para ter certeza de que funciona... a função de expiração funciona com esse direito?
Tente esta....
{
string expire_date = "2007.10.22";
datetime expirevar = StrToTime(expire_date);
if ( CurTime() >= expirevar )
{
Alerta ("Versão Expirada");
retornar(0);
}
// código
retorno(0);
}
Dave
Eu não posso colocar um limite de tempo em minha EA
A linha de código é a seguinte:
OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,Ask+TakeProfit*Point, "timetest",16384,0,Green)
Eu tentei mudar esse ZERO para um 1 ou para um 12 e não consigo fazer com que ele pare o comércio... eu gostaria que o comércio expirasse em 12 horas... como posso fazer isso?
estou usando um backtesting. para ter certeza de que funciona... a função de expiração funciona com esse direito?verifique o canal de erro;
A aplicação do tempo de expiração da ordem pendente pode ser desativada em alguns servidores de comércio. Neste caso, quando um valor não zero é especificado no parâmetro de expiração, o erro 147 (ERR_TRADE_EXPIRATION_DENIED) será gerado.
o parâmetro é uma variável de 'data/hora', não acredito que 12 se enquadrarão nessa declaração de variável.
Eu não posso colocar um limite de tempo em minha EA
A linha de código é a seguinte:
OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,Ask+TakeProfit*Point, "timetest",16384,0,Green)
Eu tentei mudar esse ZERO para um 1 ou para um 12 e não consigo fazer com que ele pare o comércio... eu gostaria que o comércio expirasse em 12 horas... como posso fazer isso?
estou usando um backtesting. para ter certeza de que funciona... a função de expiração funciona com esse direito?Olá. Os prazos de expiração funcionam bem com MT, a única ressalva é que alguns corretores não os permitem - a FXDD é um deles. O tempo de expiração precisa estar no formato datetime para que funcione - ou seja.
Eu tenho tentado isto.
comércio externo int TradeLifeHour=12;
externamente int TradeLifeMin=00;
data/hora de expiração; (não sabia o que acontece aqui)
então dentro do início()
tempo de expiração = CurTime()+TradeLifeHour*60*60+TradeLifeMin*60;
e usar o tempo de expiração na área 0.
i o último código, mas não sei como configurá-lo para expirar o comércio em 12 horas
Tente esta....
{
string expire_date = "2007.10.22";
datetime expirevar = StrToTime(expire_date);
if ( CurTime() >= expirevar )
{
Alerta ("Versão Expirada");
retornar(0);
}
// código
retorno(0);
}
DaveEu acabei de usar o código que lhe dei. Mudei a data para 2006 e o coloquei em um local aleatório dentro do Bipoler em uma conta de dinheiro real da FXDD, e funcionou como um encanto.
Ou minas mabe muito simples? Eu não sei...
Dave
??
esse código não faz com que cada comércio que minha EA abre expire 12 horas a partir do momento em que abre...