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
Oi pessoal, eu tenho tentado nos últimos três dias conseguir que este consultor especializado execute negócios longos em mt4 sem sucesso. ele só executa negócios curtos mesmo que o sinal_compra esteja lá. por favor, qualquer um poderia dar uma olhada neste código e consertá-lo para mim ou me dizer o que fazer. sou novo em programação e construí-o a partir de um construtor de estratégias online. obrigado de antemão! o código está anexado.
I am not sure about the -3 shift parameter : it shift the curve to the left, so the current bar is undefinited. Try to replace all -3 by 0 to see if the buy orders are triggered.
I would replace
double Var2 = iMA(NULL, 0, 3, -3, MODE_SMA, PRICE_CLOSE, Current + 0);
double Var3 = iBands(NULL, 0, 20, 2, 1, PRICE_CLOSE, MODE_UPPER, Current + 0);
double Var4 = iBands(NULL, 0, 20, 2, 1, PRICE_CLOSE, MODE_LOWER, Current + 0);
double Buy1_1 = iMA(NULL, 0, 3, -3, MODE_SMA, PRICE_CLOSE, Current + 0);
double Buy1_2 = iBands(NULL, 0, 20, 2, 1, PRICE_CLOSE, MODE_UPPER, Current + 0);
double Sell1_1 = iMA(NULL, 0, 3, -3, MODE_SMA, PRICE_CLOSE, Current + 0);
double Sell1_2 = iBands(NULL, 0, 20, 2, 1, PRICE_CLOSE, MODE_LOWER, Current + 0);
double CloseBuy1_1 = iMA(NULL, 0, 3, -3, MODE_SMA, PRICE_CLOSE, Current + 0);
double CloseBuy1_2 = iBands(NULL, 0, 20, 2, 1, PRICE_CLOSE, MODE_UPPER, Current + 0);
double CloseSell1_1 = iMA(NULL, 0, 3, -3, MODE_SMA, PRICE_CLOSE, Current + 0);
double CloseSell1_2 = iBands(NULL, 0, 20, 2, 1, PRICE_CLOSE, MODE_UPPER, Current + 0);by
[PHP]double Buy1_1 = iMA(NULL, 0, 3, 0, MODE_SMA, PRICE_CLOSE, Current);
double Buy1_2 = iBands(NULL, 0, 20, 2, 1, PRICE_CLOSE, MODE_UPPER, Current);
double Sell1_1 = Buy1_1;
double Sell1_2 = iBands(NULL, 0, 20, 2, 1, PRICE_CLOSE, MODE_LOWER, Current);
double CloseBuy1_1 = Buy1_1;
double CloseBuy1_2 = iBands(NULL, 0, 20, 2, 1, PRICE_CLOSE, MODE_UPPER, Current);
double CloseSell1_1 = Buy1_1;
double CloseSell1_2 = iBands(NULL, 0, 20, 2, 1, PRICE_CLOSE, MODE_UPPER, Current);Rem :
- Var1,2,3,4 não são utilizados.
- Ambos CloseBuy1_2 e CloseSell1_2 são o mesmo: um provavelmente está errado (MODE_LOWER)
Precisa de ajuda com o código
Michel, muito obrigado por sua ajuda, que a consertou perfeitamente! vocês são os melhores, posso finalmente descansar um pouco. Vou informá-los de como foram os meus testes.
oh, a propósito, r u dizendo que -3 nunca será capaz de trabalhar neste consultor especializado? obrigado novamente.
... oh a propósito, r u dizendo que -3 nunca poderá trabalhar neste consultor especializado? obrigado novamente.
Para dizer a verdade, nunca entendi realmente o uso deste deslocamento: se você quer saber o valor de um indicador 3 barras antes da barra atual, basta usar 3 como deslocamento, mas o último; o primeiro apenas desloca o desenho da curva, e se você usar um valor negativo, é como se o passado estivesse conhecendo o futuro...
De qualquer forma, eu ficaria feliz que alguém me explicasse o seu uso!
Mas para responder à sua pergunta, tente saber a estratégia exata que você quer seguir, de onde vem que -3 ?
olá
neste especialista eu gostaria de modificar todas as sl para durar encomendas sl igual a tp mas eu não poderia
por favor, me ajude
O que eu fiz?
Preciso de ajuda na codificação em MT4
Eu tenho algum código abaixo:
StopLoss=EMAtrend-iClose(NULL,0,1);
TakeProfit=StopLoss
If(EMAshort>EMAlong && EMAshort_prev<EMAlong_prev)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Ask+StopLoss*Point,Bid+TakeProfit*Point, "Buy at close price",10000,0,Green);
}
If(EMAshortEMAlong_prev)
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,0,StopLoss,Bid+TakeProfit*Point, "Sell at close price",11000,0,Red);
}
A idéia era:
1. Pedido aberto a preço fechado quando os critérios foram atendidos;
2. Eu quero que a EMAtrend seja o nível de parada;
3. A distância entre a barra de preço EMAtrend e a barra de preço Fechada será a distância para o takeprofit do preço aberto.
Eu tento o código acima, mas nada acontece e há um erro 130.
Por favor, me ajude.
Precisa de ajuda com o código
Olá a todos
Estou tentando conseguir uma ea para compilar, mas ela vem com o seguinte erro:
Now the part of the ea causing this is right at the start of the code :
If I block this out it comes up with errors for the following bit of code :
[CODE] if(TotalTradesThisSymbol(TradeSymbol)==0) { int BS=0,SS=0,BL=0,SL=0; }
if(TotalTradesThisSymbol(TradeSymbol)>0) {
for(cnt=0;cnt<total;cnt++) {
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()== Symbol) {
if(OrderMagicNumber()==11) { BS=OrderTicket(); }
if(OrderMagicNumber()==22) { SS=OrderTicket(); }
if(OrderMagicNumber()==33) { BL=OrderTicket(); }
if(OrderMagicNumber()==44) { SL=OrderTicket(); }
}//end if(OrderSymbol
}//end for
}//end if */O que eu quero saber é se existe uma maneira fácil de consertar isto.
Eu não sou bom em codificação, apenas copiando e colando.
Obrigado de antemão.
Basza
Olá a todos
Estou tentando conseguir uma ea para compilar, mas ela vem com o seguinte erro:
Now the part of the ea causing this is right at the start of the code :
If I block this out it comes up with errors for the following bit of code :
[CODE] if(TotalTradesThisSymbol(TradeSymbol)==0) { int BS=0,SS=0,BL=0,SL=0; }
if(TotalTradesThisSymbol(TradeSymbol)>0) {
for(cnt=0;cnt<total;cnt++) {
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()== Symbol) {
if(OrderMagicNumber()==11) { BS=OrderTicket(); }
if(OrderMagicNumber()==22) { SS=OrderTicket(); }
if(OrderMagicNumber()==33) { BL=OrderTicket(); }
if(OrderMagicNumber()==44) { SL=OrderTicket(); }
}//end if(OrderSymbol
}//end for
}//end if */O que eu quero saber é se existe uma maneira fácil de consertar isto.
Eu não sou bom em codificação, apenas copiando e colando.
Obrigado de antemão.
BaszaVocê pode definir TradeSymbol como um fio em um furo global, mas lá você não pode avaliar a função Symbol(). Portanto, substitua todo "TradeSymbol" por "Symbol()", ou atribua o valor na função init() ou start() desta forma:
ajuda na programação
Olá, eu estava tentando programar uma ea, e eu segui seu curso (muito interessante!)
Eu sei muito bem como programar em java e alguns c++
Eu estava tentando programar uma ea com indicadores de tendência cerebral, a idéia por trás é
quando brainTrend2stop e braintrend1stop DOTs estão presentes compra (e viceversa)
mas se eu chamar a função icustom desta forma
BuyValueCurrent = iCustom(NULL,TimeFrame,IndicatorName1,NumBars,0,1) ;
Eu recebo apenas o valor do indicador na barra atual
existe uma maneira de torná-lo booleano? eu gostaria de escrever uma função como
buy=verdadeiro
BuyCondition = (IndicatorName1=verdadeiro && IndicatorName2=verdadeiro);
alguém pode ajudar por favor, por favor, por favor???
Controle se uma Ordem de Entrada for Executada...
tenho uma EA que abre e maneja a posição, mas às vezes dá ao indicador o mesmo sinal múltiplo e a EA abre toda vez que este sinal sai uma nova posição - mas não quero uma segunda ou terceira e assim por diante e na posição, só a primeira - é possível que a EA verifique a posição aberta com base no número mágico e no par para evitar tais entradas múltiplas ?
Oi eu estava tentando programar uma ea, e eu segui seu curso (muito interessante!)
Eu sei muito bem como programar em java e alguns c++
Eu estava tentando programar uma ea com indicadores de tendência cerebral, a idéia por trás é
quando brainTrend2stop e braintrend1stop DOTs estão presentes compra (e viceversa)
mas se eu chamar a função icustom desta forma
BuyValueCurrent = iCustom(NULL,TimeFrame,IndicatorName1,NumBars,0,1) ;
Eu recebo apenas o valor do indicador na barra atual
existe uma maneira de torná-lo booleano? eu gostaria de escrever uma função como
buy=verdadeiro
BuyCondition = (IndicatorName1=verdadeiro && IndicatorName2=verdadeiro);
alguém pode ajudar, por favor, por favor????