Resposta

Abrir negociação em um novo candle

27 respostas

slowbutsure

Assinante, bbp_participante, comunidade, 63 respostas.

Perfil da visita

10 anos atrás #112139

HI

 

Só quero uma regra que diga que, assim que uma nova vela se abrir, entre em uma negociação. Alguém pode me dizer como?

 

Obrigado

 

0

slowbutsure

Assinante, bbp_participante, comunidade, 63 respostas.

Perfil da visita

9 anos atrás #124663

No Open P/L, vejo que ele tem um número mágico, portanto, ele só analisará a negociação com esse número mágico. A única coisa em que consigo pensar é que o valor em pips de ambas as negociações deve ser atribuído a uma variável cada e, em seguida, as duas variáveis devem ser somadas. Mas não consigo ver como fazer isso?

0

slowbutsure

Assinante, bbp_participante, comunidade, 63 respostas.

Perfil da visita

9 anos atrás #124664

Acho que resolvi isso. Mas ele ainda não está abrindo negociações no segundo par de moedas. Você pode dar uma olhada no arquivo de estratégia anexado e ver se fiz algo errado?

 

Obrigado

Arquivo: Hedge.sqw

0

slowbutsure

Assinante, bbp_participante, comunidade, 63 respostas.

Perfil da visita

9 anos atrás #124665

hmm corrigido.  

0

slowbutsure

Assinante, bbp_participante, comunidade, 63 respostas.

Perfil da visita

9 anos atrás #124668

Um último problema com essa estratégia...

Estou somando o p/l aberto para as duas moedas e a regra é: se o lucro total for >= 5 pips, feche as duas negociações.

No entanto, seu fechamento é de 5 pips, independentemente de ser 5 pips de lucro ou 5 pips de perda, ou 3 pips de lucro e 2 pips de perda etc.

Como faço para garantir que ele só feche quando o p/l aberto for positivo em 5 pips?

0

slowbutsure

Assinante, bbp_participante, comunidade, 63 respostas.

Perfil da visita

9 anos atrás #124734

Estou somando o p/l aberto para as duas moedas e a regra é: se o lucro total for >= 5 pips, feche as duas negociações.

No entanto, seu fechamento é de 5 pips, independentemente de ser 5 pips de lucro ou 5 pips de perda, ou 3 pips de lucro e 2 pips de perda etc.

Como faço para garantir que ele só feche quando o p/l aberto for positivo em 5 pips?

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

9 anos atrás #124737

Você pode anexar sua estratégia aqui? Ela deve reconhecer entre PL positivo e negativo.

Marcar
EstratégiaQuant arquiteto

0

slowbutsure

Assinante, bbp_participante, comunidade, 63 respostas.

Perfil da visita

9 anos atrás #124740

Aqui está.

Arquivo: Hedge.sqw

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

9 anos atrás #124765

Dei uma olhada nisso, o problema é que a função Open PL sempre verifica o PL apenas no símbolo do gráfico atual. Isso ocorre porque você pode usar 0 como número mágico, 
e ele retornará o lucro aberto para todas as negociações no mesmo símbolo.

A solução é usar a função personalizada, mas não se preocupe, isso não é complicado.

Abra o arquivo EA Wizard/code/CustomFunctions.mq4 e adicione a seguinte função:

 
double sqGetOpenPLInPips2(int MN1, int MN2) {
   double pl = 0;
 
   para (int cc = OrderTotal() - 1; cc >= 0; cc-) {
      se (!OrderSelect(cc, SELECT_BY_POS) ) continuar;
      if(OrderType() != OP_BUY && OrderType() != OP_SELL) continue;
      if(OrderMagicNumber() != MN1 && OrderMagicNumber() != MN2) continue;
 
      if(OrderType() == OP_BUY) {
         pl += sqGetBid(OrderSymbol()) - OrderOpenPrice();
      {} else {
         pl += OrderOpenPrice() - sqGetAsk(OrderSymbol());
      }
   }
 
   return(pl*gPointPow);
}
 
Então, você pode usar essa função personalizada no EA Wizard. Estou anexando uma estratégia que mostra como chamá-la para obter o PL de duas ordens com números mágicos diferentes combinados.
 
 
Arquivo: Hedge.sqw

Marcar
EstratégiaQuant arquiteto

0

slowbutsure

Assinante, bbp_participante, comunidade, 63 respostas.

Perfil da visita

9 anos atrás #124778

Obrigado, Mark, isso é muito útil.

0

Eddiebund

Assinante, bbp_participante, comunidade, 21 respostas.

Perfil da visita

9 anos atrás #125372

Marcar

 

Essa é uma estratégia muito interessante que eu estava procurando testar. Infelizmente, quando adiciono o código acima a CustomFunctions, ele não é compilado e mostra os erros

 

'sqGetBid' - função não definida CustomFunctions2.mq4 29 16
'sqGetAsk' - função não definida CustomFunctions2.mq4 31 35
'gPointPow' - identificador não declarado CustomFunctions2.mq4 35 14
função de tratamento de eventos não encontrada 1 1
4 erro(s), 0 aviso(s) 5 1
 

 

Na verdade, quando removi o código adicional, os dois últimos erros ainda existem

 

Você pode me orientar?

 

Obrigado

 

Eddie

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

9 anos atrás #125394

Olá, Eddie,

 

Você está tentando compilar o arquivo COmpiledFunctions.mq4 sozinho?

 

Ele não deveria funcionar assim. O conteúdo desse arquivo é anexado a cada EA criado no Assistente de EA, portanto, não compile esse arquivo personalizado, mas o EA normal que você exportar do Assistente de EA.

Ele já deve ter essas funções incluídas.

Marcar
EstratégiaQuant arquiteto

0

Eddiebund

Assinante, bbp_participante, comunidade, 21 respostas.

Perfil da visita

9 anos atrás #125409

Obrigado por isso, Mark

 

Ele agora está funcionando e me dá a base de algo para tentar desenvolver

 

 

Abraço

0

Visualizando 12 respostas - 16 até 27 (de um total de 27)

1 2