Como codificar? - página 334

 

Pessoal do HI,

Não posso desenhar envelopes no Array

Posso desenhar a faixa Bollinger sem nenhum problema.

Quero desenhar os envelopes no indicador CCI.

Eu desenhei com Bollingerbands com o código de anexo e funciona,

o único problema é o desenho com Envelopes no indicador cci.

Por favor, ajude.

Arquivos anexados:
cci_env.mq4  3 kb
 
luffy:
Pessoal do HI,

Não posso desenhar envelopes no Array

Posso desenhar a faixa Bollinger sem nenhum problema.

Quero desenhar os envelopes no indicador CCI.

Eu desenhei com Bollingerbands com o código de anexo e funciona,

o único problema é o desenho com Envelopes no indicador cci.

Por favor, ajude.

luffy

Não pode ser feito sem codificar envelopes para cada valor indicador que você deseja que você aplique envelopes para

 
mladen:
luffy Não pode ser feito sem codificar envelopes para cada valor de indicador que você deseja que você aplique envelopes para

Olá Mladen

Agradeço sua grande ajuda por não poder programar.

Tenho um problema com o Macd3 anexo, que só é atualizado se eu o editar e o fechar novamente.

Seria uma grande ajuda se ele fosse atualizado com cada bar fechado. Espero que você consiga encontrar uma solução.

BTW este é um indicador muito bom no que diz respeito a obter o ponto de virada mais cedo!

Arquivos anexados:
macd_3m.ex4  17 kb
macd_3m.mq4  5 kb
 
wolfsch:
Olá Mladen

Agradeço sua grande ajuda por não poder programar.

Tenho um problema com o Macd3 anexo, que só é atualizado se eu o editar e o fechar novamente.

Seria uma grande ajuda se ele fosse atualizado com cada bar fechado. Espero que você consiga encontrar uma solução.

BTW este é um indicador muito bom no que diz respeito a chegar ao ponto de virada mais cedo!

wolfsch

Funciona bem em meu terminal (testei-o em uma tabela de 1 minuto e fez tudo bem - estou usando o build 788)

 
wolfsch:
Olá Mladen

Agradeço sua grande ajuda por não poder programar.

Tenho um problema com o Macd3 anexo, que só é atualizado se eu o editar e o fechar novamente.

Seria uma grande ajuda se ele fosse atualizado com cada bar fechado. Espero que você consiga encontrar uma solução.

BTW este é um indicador muito bom no que diz respeito a chegar ao ponto de virada mais cedo!

Também me ajuda

 
luffy:
Pessoal do HI,

Não posso desenhar envelopes no Array

Posso desenhar a faixa Bollinger sem nenhum problema.

Quero desenhar os envelopes no indicador CCI.

Eu desenhei com Bollingerbands com o código de anexo e funciona,

o único problema é o desenho com Envelopes no indicador cci.

Por favor, ajude.

luffy

Experimente agora : cci_env_1.mq4

Arquivos anexados:
cci_env_1.mq4  3 kb
cci_env.gif  71 kb
 

Oi, estou tentando colocar minha ea para fechar automaticamente todos os meus negócios abertos em um momento específico. e estava me perguntando se alguém poderia me ajudar a esclarecer este assunto? obrigado.

Cumprimentos

Ryan

 
tkuan77:
Oi, estou tentando colocar minha ea para fechar automaticamente todos os meus negócios abertos em um momento específico. e estava me perguntando se alguém poderia me ajudar a esclarecer este assunto? obrigado.

Cumprimentos

Ryan

Ryan

Confira este : https://www.mql5.com/en/forum/177401/page2

Não se preocupe com o aviso dos dois compiladores ao compilar o código - eles são benignos

 

Oi mladen, eu tentei inserir a parte sobre o fechamento do comércio com base no tempo e na compilação, isso me dá um aviso como você menciona, no entanto, quando eu executo o código, ele não fecha o comércio no tempo que especifiquei.

Não tenho muita certeza de qual poderia ser o erro aqui. Espero que você possa me esclarecer sobre onde posso estar errado aqui.

Atenciosamente

Ryan

//+------------------------------------------------------------------+

//| Forex TSD - fórum forex |

//+------------------------------------------------------------------+

#propriedade copyright "R Criação"

#link da propriedade "https://www.forex-tsd.com"

//---- parâmetros de entrada

TakeProfit duplo externo = 200,0;

Duplo Externo Lots = 0,1;

StopLoss duplo externo = 200,0;

Exterior int PreferredHour_1st = 5;

extern int PreferredMinute_1st = 30;

int magicNo_1st = 530;

bool externo UseCurrSymbol = Falso; // não tenho muita certeza do que é isso para.....

//+------------------------------------------------------------------+

//| função de iniciação de especialista |

//+------------------------------------------------------------------+

int init()

{

//----

//----

retorno(0);

}

//+------------------------------------------------------------------+

//| função de desinicialização especializada |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

retorno(0);

}

//+------------------------------------------------------------------+

//| função de início especializado |

//+------------------------------------------------------------------+

datatime newbar;

duplo pBid, pAsk;

int start()

{

if(newbar==Time[0])return(0);

else newbar=Time[0];

int ticket, total;

if(Bars<100)

{

Impressão ("barras com menos de 100");

retornar(0);

}

if(TakeProfit<10)

{

Imprimir ("TakeProfit menos de 10");

retornar(0); // verificar TakeProfit

}

duplo Fast_MA, Slow_MA;

Fast_MA = iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,0);

Slow_MA = iMA(NULL,0,30,0,MODE_EMA,PRICE_CLOSE,0);

total = OrdensTotal(); // verificar o número total de negócios atualmente abertos

if(total < 1)

{

se (Hora()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA > Slow_MA)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,Ask-StopLoss*Point,Ask+TakeProfit*Point,

"My EA",magicNo_1st,0,Green);

if(bilhete>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Imprimir("Pedido aberto : ",OrderOpenPrice());

}

else Print("Erro na abertura do pedido de compra : ",GetLastError());

retornar(0);

}

se (Hora()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA < Slow_MA)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,Bid+StopLoss*Point,Bid-TakeProfit*Point,

"My EA",magicNo_1st,0,Red);

if(bilhete>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Imprimir("Pedido de venda aberto : ",OrderOpenPrice());

}

else Print("Erro na abertura do pedido de VENDA : ",GetLastError());

retornar(0);

}

retorno(0);

}

se(total > 1) // para fechar ordens com base no tempo... ainda não resolvido.

{

se (Hora()==7 && Minuto()==0 && Segundos()==0)

{

para (int i=OrdensTotal()-1; i>=0; i--)

{

se (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

se (!UseCurrSymbol || OrderSymbol()==Symbol())

{

se (OrderType()==OP_BUY)

{

pBid=MarketInfo(OrderSymbol(),MODE_BID);

OrderClose(OrderTicket(),OrderLots(),pBid,1,Blue);

}

se (OrderType()==OP_SELL)

{

pAsk=MarketInfo(OrderSymbol(),MODE_ASK);

OrderClose(OrderTicket(),OrderLots(),pAsk,1,Red);

}

}

}

}

}

}

retorno(0);

}

//+------------------------------------------------------------------+

 
tkuan77:
Oi mladen, eu tentei inserir a parte sobre o fechamento do comércio com base no tempo e na compilação, isso me dá um aviso como você menciona, entretanto, quando eu executo o código, ele não fecha o comércio no tempo que especifiquei.

Não tenho muita certeza do que poderia ser o erro aqui. Espero que você possa me esclarecer sobre onde eu posso estar errado aqui.

Cumprimentos

Ryan

//+------------------------------------------------------------------+

//| Forex TSD - fórum forex |

//+------------------------------------------------------------------+

#propriedade copyright "R Criação"

#link da propriedade "https://www.forex-tsd.com"

//---- parâmetros de entrada

TakeProfit duplo externo = 200,0;

Duplo Externo Lots = 0,1;

StopLoss duplo externo = 200,0;

Exterior int PreferredHour_1st = 5;

extern int PreferredMinute_1st = 30;

int magicNo_1st = 530;

bool externo UseCurrSymbol = Falso; // não tenho muita certeza do que é isso para.....

//+------------------------------------------------------------------+

//| função de iniciação de especialista |

//+------------------------------------------------------------------+

int init()

{

//----

//----

retorno(0);

}

//+------------------------------------------------------------------+

//| função de desinicialização especializada |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

retorno(0);

}

//+------------------------------------------------------------------+

//| função de início especializado |

//+------------------------------------------------------------------+

datatime newbar;

duplo pBid, pAsk;

int start()

{

if(newbar==Time[0])return(0);

else newbar=Time[0];

int ticket, total;

if(Bars<100)

{

Impressão ("barras com menos de 100");

retornar(0);

}

if(TakeProfit<10)

{

Imprimir ("TakeProfit menos de 10");

retornar(0); // verificar TakeProfit

}

duplo Fast_MA, Slow_MA;

Fast_MA = iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,0);

Slow_MA = iMA(NULL,0,30,0,MODE_EMA,PRICE_CLOSE,0);

total = OrdensTotal(); // verificar o número total de negócios atualmente abertos

if(total < 1)

{

se (Hora()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA > Slow_MA)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,Ask-StopLoss*Point,Ask+TakeProfit*Point,

"My EA",magicNo_1st,0,Green);

if(bilhete>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Imprimir("Pedido aberto : ",OrderOpenPrice());

}

else Print("Erro na abertura do pedido de compra : ",GetLastError());

retornar(0);

}

se (Hora()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA < Slow_MA)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,Bid+StopLoss*Point,Bid-TakeProfit*Point,

"My EA",magicNo_1st,0,Red);

if(bilhete>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Imprimir("Pedido de venda aberto : ",OrderOpenPrice());

}

else Print("Erro na abertura do pedido de VENDA : ",GetLastError());

retornar(0);

}

retorno(0);

}

se(total > 1) // para fechar ordens com base no tempo... ainda não resolvido.

{

se (Hora()==7 && Minuto()==0 && Segundos()==0)

{

para (int i=OrdensTotal()-1; i>=0; i--)

{

se (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

se (!UseCurrSymbol || OrderSymbol()==Symbol())

{

se (OrderType()==OP_BUY)

{

pBid=MarketInfo(OrderSymbol(),MODE_BID);

OrderClose(OrderTicket(),OrderLots(),pBid,1,Blue);

}

se (OrderType()==OP_SELL)

{

pAsk=MarketInfo(OrderSymbol(),MODE_ASK);

OrderClose(OrderTicket(),OrderLots(),pAsk,1,Red);

}

}

}

}

}

}

retorno(0);

}

//+------------------------------------------------------------------+

Esta parte

if(newbar==Time[0])return(0);

else newbar=Time[0];

int ticket, total;

if(Bars<100)

{

Impressão ("barras com menos de 100");

retornar(0);

}

if(TakeProfit<10)

{

Imprimir ("TakeProfit menos de 10");

retornar(0); // verificar TakeProfit

}

Está impedindo a ea de fechar pedidos em determinado momento se não for o primeiro tique de uma nova barra e se o lucro não for > 10 pips

Razão: