Ajuda na codificação - página 223

 
daniel1983:
Obrigado Mladen, eu fiz as mudanças, o indicador é assim, mas ainda não faço nada no gráfico...

//------------------------------------------------------------------

#propriedade copyright "www.forex-tsd.com"

#link da propriedade "www.forex-tsd.com"

//------------------------------------------------------------------

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

//| Função de inicialização do indicador personalizado |

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

int init()

{

//----

retorno(0);

}

int deinit() {

Comentário("");

ObjectDelete("KeyLine");

return(0);

}

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

//| Função de iteração de indicador personalizada |

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

int start()

{

número duplo = (iOpen(NULL,PERÍODO_D1,1)+iHigh(NULL,PERÍODO_D1,1)+iLow(NULL,PERÍODO_D1,1))/3;

Comentário("Linha chave: ",número);

ObjectDelete("KeyLine");

ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),número);

ObjectSet("KeyLine", OBJPROP_COLOR, Orange);

ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID);

ObjectsRedraw();

return(0);

}

O que estou fazendo de errado agora?

Obrigado

Faça-o assim:

#property indicator_chart_window

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int init() { return(0); }

int deinit()

{

Comment("");ObjectDelete("KeyLine");

return(0);

}

int start()

{

double number = (iOpen(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/3;

Comment("Key Line: ",number);

ObjectDelete("KeyLine");

ObjectCreate("KeyLine", OBJ_HLINE,0, CurTime(),number);

ObjectSet("KeyLine",OBJPROP_COLOR,Orange);

ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID);

return(0);

}
Arquivos anexados:
test.mq4  1 kb
 

Ok Mladen, muito obrigado pelo seu tempo, vou ver o que posso fazer, já que há algum problema com o código da matemática, pois ainda não são necessários os preços da primeira vela para fazer a equação matemática. obrigado novamente, vou dar uma olhada nisso durante o fim de semana.

Daniel1983

 
daniel1983:
Ok Mladen, muito obrigado pelo seu tempo, vou ver o que posso fazer, pois há algum problema com o código da matemática, já que ainda não são necessários os preços da primeira vela para fazer a equação matemática. obrigado mais uma vez, vou dar uma olhada nisso durante o fim de semana.Daniel1983

Daniel1983

Para traduzir esse código mql para a linguagem cotidiana: número é igual ao dia anterior aberto + dia anterior alto + dia anterior baixo dividido por 3. Dessa forma, os valores de diferentes quadros temporais não são misturados e não haverá mudança nos valores até que o dia atual mude

 

Olá, Mladen,

Descarreguei o indicador de resistência de suporte emThread: Como usar o suporte e a resistência de forma eficaz Mas quando o coloco em um gráfico, aparece o suporte e a resistência. Mas se eu apagar o indicador, o suporte e a resistência permanecem no gráfico. Vocês sabem como eu posso fazer para apagá-lo completamente?

Muito obrigado de antemão!!

Com os melhores cumprimentos, MGM

 
MGM:
Olá Mladen,

Descarreguei o indicador de resistência de suporte emThread: Como usar o Suporte e a Resistência de forma eficaz

Mas quando o coloco em um gráfico, aparece o apoio e a resistência. Mas se eu apagar o indicador, o suporte e a resistência permanecem no gráfico. Você sabe como posso fazer para apagá-lo completamente?

Muito obrigado de antemão!!

Com os melhores cumprimentos, MGM

MGM

Qual indicador exatamente (qual posto não)?

 
mladen:
MGMQual o indicador exato (qual post não)?

Desculpe, Maladen Eu fiz o download emThread:How to use Support and Resistance Effectivelypage44. E agora está funcionando bem. Desculpe-me pela pergunta.

Muito obrigado de qualquer forma!

MGM

 

Prezado Mladen

Quero escrever um EA para abrir dois pedidos, o primeiro para vender ou comprar e o segundo pendente.

Se o primeiro pedido atingir o alvo, a EA removerá o pendente e repetirá o ciclo.

Eu criei uma estrutura preliminar. Poderia fazer a gentileza de verificá-la?

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

//| Main Function |

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

int start()

{

if (Counter() == 0)

{

Long ();

Short();

}

if (Counter() == 1)

{

PendingRemover();

}

return(0);

}

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

//| Complementary Functions |

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

//---- Order Counter

int Counter()

{

int Pending = 0;

int Trading = 0;

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

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == False) break;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)

{

if(OrderType() == Buy or Sell Order) Trading++;

if(OrderType() == Pending Order) Pending++;

}

}

return(Trading+Pending);

}

//---- Pending Remover

void PendingRemover()

{

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

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == False) break;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == Pending Order);

OrderDelete(Pending);

}

}

//---- Long Position Handler

void Long()

{

int Ticket1;

int Ticket2;

if (X > 0)

{

Ticket1 = OrderSend(Trading);

Ticket2 = OrderSend(Pending);

}

}

//---- Short Position Handler

void Short()

{

int Ticket1;

int Ticket2;

if (X < 0)

{

Ticket1 = OrderSend(Trading);

Ticket2 = OrderSend(Pending);

}

}

Melhor,

 
-IXI-:
Prezado Mladen

Quero escrever um EA para abrir dois pedidos, o primeiro para vender ou comprar e o segundo pendente.

Se o primeiro pedido atingir o alvo, a EA removerá o pendente e repetirá o ciclo.

Eu criei uma estrutura preliminar. Poderia fazer a gentileza de verificá-la?

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

//| Main Function |

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

int start()

{

if (Counter() == 0)

{

Long ();

Short();

}

if (Counter() == 1)

{

PendingRemover();

}

return(0);

}

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

//| Complementary Functions |

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

//---- Order Counter

int Counter()

{

int Pending = 0;

int Trading = 0;

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

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == False) break;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)

{

if(OrderType() == Buy or Sell Order) Trading++;

if(OrderType() == Pending Order) Pending++;

}

}

return(Trading+Pending);

}

//---- Pending Remover

void PendingRemover()

{

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

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == False) break;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == Pending Order);

OrderDelete(Pending);

}

}

//---- Long Position Handler

void Long()

{

int Ticket1;

int Ticket2;

if (X > 0)

{

Ticket1 = OrderSend(Trading);

Ticket2 = OrderSend(Pending);

}

}

//---- Short Position Handler

void Short()

{

int Ticket1;

int Ticket2;

if (X < 0)

{

Ticket1 = OrderSend(Trading);

Ticket2 = OrderSend(Pending);

}

}

O melhor,

-IXI-

Até onde eu vejo tudo está bem

 

Prezado Mladen

Muito obrigado.

Acrescento alguns códigos para fazer um simples EA.

É estranho que a EA abra ordens de compra e venda ao mesmo tempo! Alguma idéia?

//---- Long Position Handler

void Long()

{

int Ticket1;

int Ticket2;

if (iMA(Symbol(),Period(),10,0,1,0,1)

> iMA(Symbol(),Period(),10,0,1,0,2))

{

Ticket1 = OrderSend(Symbol(),OP_BUY ,...);

Ticket2 = OrderSend(Symbol(),OP_SELLSTOP,...);

}

}

//---- Short Position Handler

void Short()

{

int Ticket1;

int Ticket2;

if (iMA(Symbol(),Period(),10,0,1,0,1)

< iMA(Symbol(),Period(),10,0,1,0,2))

{

Ticket1 = OrderSend(Symbol(),OP_SELL ,...);

Ticket2 = OrderSend(Symbol(),OP_BUYSTOP,...);

}

}

Melhor.

 

Olá, Mladen. É provável que você queira adicionar no Momentum-Atr o indicador de filtro ema+? Mas apenas que o EMA foi normalizado demais? Provavelmente será melhor adicionar outra média, SMA talvez. Sinceramente, não sei o que fazer. Eu quero receber neste indicador uma cruz com MA. É necessário para que o impulso cruze a entrada zero. Cruza um MA -exit

Por favor, ajude.

Obrigado.

Arquivos anexados:
Razão: