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
modificação rápida da EA
Hi,
Preciso de alguma ajuda, tentei mudar o código abaixo, mas a EA continuou a travar o MT4.
Quero que a ordem feche quando a barra atual (portanto, a barra onde a ordem foi executada) fechar. Basicamente, troque uma barra.
Este é o código original, ele negocia de sinal a sinal.
//| Signal Begin(Exit Buy) |
//+------------------------------------------------------------------+
if (signaldown!=EMPTY_VALUE&&signaldown!=0) Order = SIGNAL_CLOSEBUY;
//+------------------------------------------------------------------+
//| Signal End(Exit Buy) |
//+------------------------------------------------------------------+
if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
continue;
}
//Trailing stop
if(UseTrailingStop && TrailingStop > 0) {
if(Bid - OrderOpenPrice() > Point * TrailingStop) {
if(OrderStopLoss() < Bid - Point * TrailingStop) {
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
} else {
//Close
//+------------------------------------------------------------------+
//| Signal Begin(Exit Sell) |
//+------------------------------------------------------------------+
if (signalup!=EMPTY_VALUE&&signalup!=0) Order = SIGNAL_CLOSESELL;
//+------------------------------------------------------------------+
//| Signal End(Exit Sell) |
//+------------------------------------------------------------------+
if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell");
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
continue;
}
//Trailing stop
if(UseTrailingStop && TrailingStop > 0) {
if((OrderOpenPrice() - Ask) > (Point * TrailingStop)) {
if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {
OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
}
}
}
//+------------------------------------------------------------------+
//| Signal Begin(Entry) |
//+------------------------------------------------------------------+
//if (timeprev!=Time[0]){
// timeprev = Time[0];
if (signalup!=EMPTY_VALUE&&signalup!=0)
{
Order = SIGNAL_BUY;
}
if (signaldown!=EMPTY_VALUE&&signaldown!=0){
Order = SIGNAL_SELL;
}
// }
//+------------------------------------------------------------------+
//| Signal End |
//+------------------------------------------------------------------+
//Buy
if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (100 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("BUY order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy");
} else {
Print("Error opening BUY order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}
//Sell
if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (100 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", MagicNumber, 0, DeepPink);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("SELL order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
} else {
Print("Error opening SELL order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}
if (!EachTickMode) BarCount = Bars;
return(0);
}
//+------------------------------------------------------------------+Alguém pode me ajudar?
Favor ajudar!!!!!
Eu preciso de uma ea faz o seguinte
em um determinado tempo, ordem de compra ou venda de 4pc
funções:
tempo de abertura do pedido (variável 00-24)
ordem1 vender ou comprar lote (0,01 .0,02... 1) TP (+ xx pips from oppen) SL (- xx pips from open)
ordem2 vender ou comprar lote (0,01 .0,02... 1) TP (+ xx pips from oppen) SL (- xx pips from open)
ordem3 vender ou comprar lote (0,01 .0,02... 1) TP (+ xx pips from oppen) SL (- xx pips from open)
ordem4 vender ou comprar lote (0,01 .0,02... 1) TP (+ xx pips from oppen) SL (- xx pips from open)
OBRIGATÓRIO
Necessidade de acrescentar à minha EA um código para desativá-la a um determinado nível de preço
Olá,
Preciso acrescentar ao meu Ea um código para desativá-lo e habilitá-lo a determinados níveis de preço.
Pesquisei e descobri que posso fazer isso com
# iclude<WinUser32mqh
bool externo Desativar Ea = verdadeiro // de X (examply1.4420) a Y(examply1.4380) e de Z (examply1.4480) a N(examply1.4520) //
bool externo Enable Ea = true // de R(examply -1,4420) a T(examply -1,4480)
Agradecemos a ajuda para traduzir estas condições em um código, então na caixa de diálogo da EA eu poderia apenas inserir o nível de preço para desativar / habilitar a EA.
Após algumas pesquisas e estudos, descobri que escrever na função inicial da EA um código o iniciaria em certas condições.
Assim, sob a função de início de experto, escrevi o seguinte:
if(PRICE_MEDIAN (SellLevel-Point*BufferPips))
retorno (0)
------------------------------------------------------------------------------------------------------------------
BufferPips adicionei no duplo externo para que na caixa de diálogo eu pudesse mudar o seu valor.
Não sou se PRICE_MEDIAN for uma boa escolha.
Estou recebendo erro de compilação - parêntese esquerda desequilibrada.
Ajuda apreciada
me ajude no comércio de automóveis
Olá, Sr. Guru!
Tenho comércio de automóveis, mas não funciona, por favor me ajude!
Oi Mario,
Eu acho que esta condição se(current_shortEma == current_longEma)
nunca é verdade. geralmente para detectar uma cruz você precisa fazer isso
if(current_shortEma > current_longEma && last_shortEma < last_longEma){
//cruzar do fundo
}
if(current_shortEma last_longEma){
//cruzar de cima
}
Informações mais detalhadas aqui:
https://www.mql5.com/en/forum/trading_systems
Obrigado
MIkhail
Eu também recebi um pedido de codificação ---- preciso de um codificador (tarefa muito simples)
Nós sabemos que HA -- henki ashi raramente se engana
durante a consolidação, ou quase em retorno, ficaria cada vez mais curto
enquanto que quando a tendência ainda for forte, HA para aquele bar será LONGO
ANTES
seria legal se tivéssemos um indicador que nos dissesse a força da tendência
a idéia é fácil
--- primeiro, deve ser qualquer HA fará (eu encerro apenas meu ex4, mas tenho que encontrar um MQ4 -- para HA) e modificá-lo (tarefa simples eu assumo)
há apenas 2 cores para HA , uma azul *up ---- + ---- e uma rosa/violeta *down
-- segundo, quando o HA tem que desenhar o material HA no gráfico, há COMPRIMENTO - comprimento desse HA
--- terceiro, quando se aproxima a inversão de marcha, a barra HA ficará cada vez mais curta
vamos supor, quando o COMPRIMENTO da barra HA (por tentativa e erro) for inferior a 0,4 cm, então a desenhamos PRETO (ou seja, não azul / rosa)
nos advertirá para NÃO ENTRAR e sair em breve
Assim, só temos que entrar (sem medo) de acordo com a força da tendência HA --- assim como minha outra idéia, muito SIMPLES, extremamente útil
codificador -- por favor, não use o ex4 que eu anexei, apenas aperte [PESQUISA] no fórum e digite henki ashi , procure por algum MQ4 com todo o código
------
quando você completar ou depois de mudar para 3 a 4 cores (poderia ser 3 cores, ao invés de 4 cores)
por favor, envie-me uma mensagem particular PM, com o LINK, para que eu possa carregá-lo, depois de você começar, se quiser, eu poderia lhe dar outro indicador que lhe dirá qual é o melhor momento para mudar de cor para PRETO também -- preto é uma espécie de cor de aviso
----- ou seja, você pode DOWNLOADAR o ex4 que eu incluí, mas use outro MQ4 pls ---
Obrigado, será um bom indicador para todos nós, e a codificação deve ser bem simples e direta.
o código está no início, semelhante ao diagrama acima
se meu palpite estiver correto, g_ibuf_### controla o comprimento da barra HA
só temos que imprimir todo o valor g_ibuf com a função chamada "comentário".
então execute o gráfico por alguns dias, e dê uma olhada no valor g_ibuf, quando ele ficar pequeno, e anote o VALOR dessa variável
então quando temos um espaço de tempo para codificar, codificamos apenas 1 a 2 cores -- digamos, preto e cinza escuro na codificação, quando o histograma g_ibuf é mais pequeno do que um certo valor anotado
então suponha que seja simples - caso contrário, poderia tentar tentar a tentativa e o erro para encontrar o VALOR mais adequado (ser mais pequeno do que)
sinceramente
xx3xxx -- Eu carrego lá meu MQ4 para a versão 4, acho que você pode usar este, este parece ser mais longo e grosso do que o outro HA que eu tenho
O indicador Trix precisa de alerta
Coder Guru ou qualquer outra pessoa, você pode programar um alerta de som, alerta de notificação e t3_trix_x2roc_clr_nrp_mtf.mq4t3_trix_x2roc_clr_nrp_mtf.mq4e neste indicador Trix sempre que a linha Trix a longo ou curto prazo mudar de cor de vermelho para verde ou vice-versa. Obrigado