Ajuda na codificação - página 209

 

Olá Mladen Sir,

É meu humilde pedido a você. Por favor, recodifique este indicador que está mostrando uma linha aberta diariamente. Da mesma forma, quero dois códigos indicadores, ou seja, 1) dia anterior linha alta e 2) dia anterior linha baixa. Estou negociando em opção de ações, portanto estes indicadores precisam ajustar o tempo em HH:MM. Obrigado com antecedência.

Arquivos anexados:
 
alpha24:
Olá Mladen Senhor, é meu humilde pedido a você. por favor, recodifique este indicador que está mostrando a linha aberta diariamente. Da mesma forma, quero dois códigos indicadores, ou seja, 1) Dia anterior Alto e 2) Dia anterior Linhas baixas. Estou negociando em opção de ações, portanto estes indicadores precisam ajustar o tempo em HH:MM. Obrigado com antecedência.

alfa24

Com a configuração atual( diferença defuso horário especificada para 9 horas e 15 minutos) ela não pode ser adaptada para mostrar as informações necessárias de forma normal. Desculpe

 

oi Mladen,

você pode colocar 3 mtf personalizável em seu indicador connorRSI plz ?

connorsrsi.mq4

thx

Arquivos anexados:
 
js497:
oi Mladen,

você pode colocar 3 mtf personalizável em seu indicador connorRSI plz ?

connorsrsi.mq4

thx

js497

Este é um indicador Connors rsi de 3 períodos de tempo

Arquivos anexados:
 
mladen:
js497 Este é um indicador Connors rsi de 3 períodos de tempo

thx mladen

 
arroganzmaschine:
Olá a todos, espero que vocês possam me ajudar.

Preciso programar um consultor especializado, onde eu verifico a cada tique se um novo pedido está aberto e modifico este pedido com um stop loss.

Como posso verificar se um pedido foi aberto e modificá-lo? A ea não abre pedidos, só tem que verificar.

Obrigado a todos vocês! Vocês são todos muito prestativos.

Com os melhores cumprimentos, Max.

Ei mladen, vocês têm alguma idéia? Isso seria ótimo!

Muito obrigado a todos.

 
arroganzmaschine:
Hey mladen, você tem alguma idéia? Isso seria ótimo! Muito obrigado.

arroganzmaschine

Você não precisa verificar se um pedido é aberto. Tudo o que a EA precisa verificar é se a parada de perda é o que você espera que ela seja. Para isso, você pode usar qualquer parada móvel EA que mantenha suas perdas de parada nos níveis que você gostaria que fosse

 
mladen:
arroganzmaschine Você não precisa verificar se uma ordem é aberta. Tudo o que a EA precisa verificar é se a parada de perda é o que você espera que ela seja. Para isso, você pode usar qualquer stop stop que mantenha suas perdas no nível que você gostaria que fosse

Oi mladen,

obrigado por sua resposta. Quero codificá-la por conta própria. Quando eu envio um novo pedido, a EA tem que detectá-lo e definir um stopploss para este novo pedido. Há apenas uma ordem no mercado. Como eu posso perceber isso?

 
arroganzmaschine:
Oi mladen, obrigado por sua resposta. Quero codificá-la por conta própria. Quando eu envio um novo pedido, o EA tem que detectar isto e definir um stopploss para este novo pedido. Há apenas uma ordem no mercado. Como eu posso perceber isso?

Você pode usar o seguinte código como um começo (apenas algumas verificações de erro necessárias para adicionar - tentou manter o código o mais simples possível a fim de mostrar apenas a essência do que precisa ser feito)

extern double StopLoss = 20;

int init() { return(0); }

int deinit() { return(0); }

int start()

{

if (StopLoss<=0) return(0);

for (int i=0; i <= OrdersTotal(); i++)

{

if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;

if (OrderSymbol() != Symbol()) continue;

int ticket = OrderTicket();

double sl = 0;

if (OrderType()==OP_BUY) sl = NormalizeDouble(OrderOpenPrice()-StopLoss*Point*MathPow(10,Digits%2),Digits);

if (OrderType()==OP_SELL) sl = NormalizeDouble(OrderOpenPrice()+StopLoss*Point*MathPow(10,Digits%2),Digits);

if (sl!=0 && sl!=OrderStopLoss())

OrderModify(ticket,OrderOpenPrice(),sl,0,0,CLR_NONE);

}

return(0);

}
Arquivos anexados:
_test_1.mq4  1 kb
 
mladen:
Você pode usar o seguinte código como um começo (apenas algumas verificações de erro necessárias para adicionar - tentou manter o código o mais simples possível a fim de mostrar apenas a essência do que precisa ser feito)
extern double StopLoss = 20;

int init() { return(0); }

int deinit() { return(0); }

int start()

{

if (StopLoss<=0) return(0);

for (int i=0; i <= OrdersTotal(); i++)

{

if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;

if (OrderSymbol() != Symbol()) continue;

int ticket = OrderTicket();

double sl = 0;

if (OrderType()==OP_BUY) sl = NormalizeDouble(OrderOpenPrice()-StopLoss*Point*MathPow(10,Digits%2),Digits);

if (OrderType()==OP_SELL) sl = NormalizeDouble(OrderOpenPrice()+StopLoss*Point*MathPow(10,Digits%2),Digits);

if (sl!=0 && sl!=OrderStopLoss())

OrderModify(ticket,OrderOpenPrice(),sl,0,0,CLR_NONE);

}

return(0);

}

Muito obrigado!!