Ajuda na codificação - página 16

 
nontan:

Se a posição anterior for fechada por Take Profit,faça uma nova entrada que defina 20 pips por s/l e t/p ao próximo preço aberto.(no gráfico 5M)

Tentei escrever um.

if(OrderSelect(1,SELECT_BY_POS,MODE_HISTORY))

//Última posição foi ordem imediata OP_BUY ou OP_SELL{if

(OrderClosePrice() == OrderTakeProfit())

// SE o preço de fechamento é o mesmo com take profit price{if

(OrderType() == OP_BUY)

// O tipo de pedido desse pedido é buy{OrderSend

(OP_BUY,Lots,Ask,Slippage,SLpips,Ask+20*Point,"",MAGIC);// Lots e outras variáveis são definidas por mim mesmo}else

if(OrderType() == OP_SELLL)

{OrderSend

(OP_SELL,Lots,Bid,Slippage,SLpips,Bid-20*Point,"",MAGIC);

}}}

Tentei muitas vezes executar pelo Strategy tester, mas não consigo agir como espero

.

Alguns me dão uma ajuda a partir desta pergunta!!

Cumprimentos.

[lang=pl]Olá,

Você pode anexar o código completo da EA?

Abraço,

Grzesiek[/lang]

 

...

Tente usar isto em comparação

if (NormalizeDouble(OrderClosePrice(),Digits) == NormalizeDouble(OrderTakeProfit(),Digits))

talvez isso ajude

nontan:

Se a posição anterior for fechada por Take Profit,faça uma nova entrada que defina 20 pips por s/l e t/p ao próximo preço aberto.(no gráfico 5M)

Tentei escrever um.

if(OrderSelect(1,SELECT_BY_POS,MODE_HISTORY))

//Última posição foi ordem imediata OP_BUY ou OP_SELL{if

(OrderClosePrice() == OrderTakeProfit())

// SE o preço de fechamento é o mesmo com take profit price{if

(OrderType() == OP_BUY)

// O tipo de pedido desse pedido é buy{OrderSend

(OP_BUY,Lots,Ask,Slippage,SLpips,Ask+20*Point,"",MAGIC);// Lots e outras variáveis são definidas por mim mesmo}else

if(OrderType() == OP_SELLL)

{OrderSend

(OP_SELL,Lots,Bid,Slippage,SLpips,Bid-20*Point,"",MAGIC);

}}}

Tentei muitas vezes executar pelo Strategy tester, mas não consigo agir como espero

.

Alguns me dão uma ajuda a partir desta pergunta!!

Cumprimentos.
 

Obrigado a todos vocês.

Eu tentei inserir NormarizeDouble, mas não funcionou.

Você me ensinaria por que não funciona?

---------------------------------------------------

#incluir

#define MAGIC 20120101

#define COMMENT "Riding9

Lotes duplos externos = 0,1;

Escorregão interno externo = 3;

SLpips int externo = 20;

TPpips int externo = 50;

tempo inicial int externo = 1;

extern int FinishTime = 23;

Exterior int Período MAP = 48;

int EntrySignal(int magia)

{

double pos = MyCurrentOrders(MY_OPENPOS, magia);

duplo Ma9 = iMA(NULL, 0, MAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);

int ret = 0;

if((pos <= 0) && (Close[3] Open[2] && Open[2] >= Ma9) ||| (Open[2] Ma9)) && (Close[1] > Open[1] && Open[1] > Ma9)) ret = 1;

senão se((pos <= 0) && (Abrir[3] Ma9) && (Fechar[2] Ma9) && (Fechar[1] > Abrir[1] && Fechar[1] > Ma9)) ret = 1;

if((pos >= 0) && (Fechar[3] >= Ma9) && ((Fechar[2] < Abrir[2] && Abrir[2] Ma9 && Fechar[2] < Ma9)) && (Fechar[1] < Abrir[1] && Abrir[1] < Ma9)) ret = -1;//

senão se((pos >= 0) && (Abrir[3] > Ma9 && Fechar[3] Abrir[2] && Abrir[2] < Ma9) && (Fechar[1] < Abrir[1] && Fechar[1] < Ma9)) ret = -1;

ret(ret);

}

bool MyOrderSendSL(tipo int, lote duplo, preço duplo, int slippage, int slpips, int tppips, int tppips, string comment, int magic)

{

int mult=1;

if(Digits == 3 || Digits == 5) mult=10;

slippage *= mult= mult;

if(type===OP_SELL || type===OP_SELLLIMIT ||| type==OP_SELLSTOP) mult *= -1;

double sl=0, tp=0;

if(slpips > 0) sl = priceslpips*Point*mult;

if(tppips > 0) tp = preço+tppips*Ponto*mult;

return(MyOrderSend(type, lots, price, slippage, sl, tp, comment, magic));

}

int start()

{

if(Hora() >= Hora de início && Hora() < Hora de término)

{

int sig_entry = EntrySignal(MAGIC);

if(sig_entry > 0)

{

MyOrderClose(Slippage, MAGIC);

MyOrderSendSL(OP_BUY, Lots, Ask, Slippage, SLpips,TPpips, COMMENT, MAGIC);

}

if(sig_entry < 0)

{

MyOrderClose(Slippage, MAGIC);

MyOrderSendSL(OP_SELL, Lots, Bid, Slippage, SLpips,TPpips, COMMENT, MAGIC);

}

if(OrderSelect(1,SELECT_BY_POS,MODE_HISTORY))

{

if (NormalizeDouble(OrderClosePrice(),Digits) == NormalizeDouble(OrderTakeProfit(),Digits))

{

if(OrderType() == OP_BUY)

{

OrderSend(OP_BUY,Lots,Ask,Slippage,SLpips,Ask+20*Point,",MAGIC);

}

caso contrário se(OrderType() == OP_SELL)

{

OrderSend(OP_SELL,Lots,Bid,Slippage,SLpips,Bid-20*Point,",MAGIC);

}

}

}

retorno(0);

}

retorno(0);

}

------------------------------------------------------

Por favor, me ensine o meu erro se você descobrir.

Cumprimentos.

 

...

nontan,

Esta linha
if (OrderSelect(1,SELECT_BY_POS,MODE_HISTORY))

[/PHP]

Não seleciona a última ordem fechada, mas a primeira ordem (após o saldo inicial) na fila de ordens fechadas. Portanto, está sempre verificando uma ordem fixa em vez de verificar qual foi a última ordem e, em seguida, acomodando-se a ela. Se você deseja testar a última ordem fechada (última na fila de ordens fechadas, mas esteja ciente de que a metatrader [as pessoas não garantem que seja a última quando ordenada por data de fechamento] você deve usar esta forma de verificação
[PHP] se (OrderSelect(OrderHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))
 

Obrigado,mladen

Eu ainda não usei a função OrderHistoryTotal. É uma função apropriada para este código.

Finalmente, eu recebi um código de desejo depois de modificado. Como resultado, a EA trabalha para fazer uma nova entrada depois de obter TakeProfit.

Obrigado por sua empresa e por tudo.

 

Preciso de sua ajuda, programadores mestres

Olá, por favor, preciso de alguém que me ajude a codificar minha estratégia

 
johnray:
Olá, por favor, preciso de alguém que me ajude a codificar minha estratégia

[lang=pl]Dê-me só um detalhe

Abraço [/lang]

 

eu enviei uma pm

g.pociejewski:
[lang=pl]Dê-me só um detalhe Saúde[/lang]

obrigado mestre eu mandei um pm... é um pouco complicado

 

Código para atualização automática

Estou usando um indicador que precisa ser atualizado constantemente. Estou usando um gráfico de 15 minutos para que não precise ser atualizado a cada tique, embora isso seria bom se não houvesse um grande dreno de energia. Ele deve ter pelo menos uma opção para o intervalo de tempo entre cada atualização. Neste momento, eu atualizo manualmente a cada minuto ou mais, usando a guia 'Gráficos' e selecionando 'Atualizar'.

Existe algum código ou forma de atualizar o indi e/ou gráfico automaticamente, seja através de um código adicional no indi ou em um EA?

Obrigado, el bee

 

[langtitle=fr]Indicador original Parabolic Sar by Wilder[/langtitle]

[lang=fr]
Hi!

Estou procurando o SAR parabólico ORIGINAL, quiproquo de Wilder. Eu fiz o código deste indicador para a plataforma PRT, mas não conheço a codificação no MT4.

Se alguém tem conhecimento em codificação MT4, eu posso dar o código por mensagem privada, para adaptá-lo na codificação MT4.

Obrigado
[/lang]