t/p não está funcionando corretamente - página 2

 
krishna_gopal_2:
Muito bem. Agora o que devo fazer para conseguir mais ou menos 100pips. Existe alguma fórmula para calcular Spread?
Pergunte - Bid é o Spread.
 
krishna_gopal_2:
Muito bem. Agora, o que devo fazer para conseguir mais ou menos 100pips. Existe alguma fórmula para calcular Spread?
Se você definir seu TP corretamente, você receberá 100 pips (mais ou menos porque os carrapatos são emulados) para o seu negócio vencedor no Testador de Estratégia.
  • Se você abrir uma VENDA ao preço X (lance), então defina seu TP ao preço BID - 100 pips.
  • Se você abrir uma COMPRA ao preço Y (perguntar), então defina seu TP ao preço ASK + 100 pips.

Sobre seu posto inicial :

  • ou você não define um TP de 100 pips
  • ou o que você publica não está ganhando o comércio
  • ou você calculou mal seu lucro (pips)
  • ou seus negócios não são fechados pela TP.
 
<br / translate="no">
  • Se você abrir uma VENDA ao preço X (lance), então defina seu TP ao preço BID - 100 pips.
  • Se você abrir uma COMPRA ao preço Y (perguntar), então defina seu TP ao preço ASK + 100 pips.


Acho que isto tem um pequeno erro, não tenho certeza...

Como eu disse antes, com um OP_SELL, você abre ao preço de compra, depois fecha ao preço de venda...então se o TP for de compra - 100, seu lucro será de 100 pips menos o spread.

Além disso, qualquer TP baseado no Bid e Ask no momento da abertura assume que o spread é constante. Fiz muitas pesquisas sobre isso recentemente e o spread nunca é completamente constante. Isto não vai aparecer em testes anteriores porque o MT4 não economiza o preço Ask (eu acho??? Ele usa preço próximo + spread atual???), mas você precisa considerar o mundo real também.

 
alladir:


  • Se você abrir uma VENDA ao preço X (lance) então defina seu TP ao preço BID - 100 pips. use OrderOpenPrice()
  • Se você abrir uma COMPRA ao preço Y (pergunte) então defina seu TP em ASK + 100 pips.

Acho que isto tem um pequeno erro, não tenho certeza...

Como eu disse antes, com um OP_SELL, você abre ao preço de compra, depois fecha ao preço de venda...então se o TP for de compra - 100, seu lucro será de 100 pips menos o spread.

Além disso, qualquer TP baseado no Bid e Ask no momento da abertura assume que o spread é constante. Fiz muitas pesquisas sobre isso recentemente e o spread nunca é completamente constante. Isto não vai aparecer em testes anteriores porque o MT4 não economiza o preço Ask (eu acho??? Ele usa preço próximo + spread atual???), mas você precisa considerar o mundo real também.


fazê-la abrir primeiro o comércio e depois modificá-la usando seu preço de pedido aberto( ) fará com que ela funcione em todas as contas
 
deVries:

fazer abrir primeiro o comércio e depois modificá-lo usando seu preço de ordem aberta( ) fará com que ele funcione em todas as contas


Não, isto ainda não está certo.

para pedidos curtos, o spread é tomado quando o pedido é FECHADO, não antes, portanto, usando OrderOpenPrice ainda dá um lucro de: 100 pips menos spread no momento do fechamento.

Obter um TP de 100 pips para pedidos longos é fácil.

Para pedidos curtos, você tem que fazer o TP como OrderOpenPrice + 100 pips + spread

(e esperar que a propagação seja quase constante).

 
alladir:


Acho que isto tem um pequeno erro, não tenho certeza...

Como eu disse antes, com um OP_SELL, você abre ao preço de compra, depois fecha ao preço de venda...então, se o TP for de compra - 100, seu lucro será de 100 pips menos o spread.


Além disso, qualquer TP baseado no Bid e Ask no momento da abertura assume que o spread é constante. Fiz muitas pesquisas sobre isso recentemente e o spread nunca é completamente constante. Isto não vai aparecer em testes anteriores porque o MT4 não economiza o preço Ask (eu acho??? Ele usa preço próximo + spread atual???), mas você precisa considerar o mundo real também.

  • Não. Para uma VENDA, negociar aberto em lances (BID_OPEN), fechado em tp, então quando perguntar = BID_OPEN-100. Lucro = Preço aberto - Preço fechado = BID_OPEN - BID_OPEN + 100 = 100.
  • Para uma compra, o comércio é aberto a pedido (ASK_OPEN), fechado a tp, então quando lance = ASK_OPEN+100. Lucro = preço fechado - preço aberto = ASK_OPEN + 100 - ASK_OPEN = 100.

Diferencial flutuante ou não, isto permanece verdadeiro.

MAS

  • Para uma venda o preço tem que passar de licitar em tempo aberto para licitar em tempo fechado, portanto de BID_OPEN para BID_OPEN - 100 - SPREAD_CLOSE. A mudança é 100 + spread no tempo de fechamento. Se o spread for ampliado próximo ao horário de fechamento, a probabilidade de fechar o negócio é reduzida.
  • Para uma compra o preço tem que passar de ASK_OPEN - SPREAD_OPEN para ASK_OPEN + 100, então aqui você sabe desde o início o quanto o preço tem que se mover (100 + spread no tempo aberto).

Você está certo sobre o spread nunca é completamente constante, você tem que verificá-lo e escolher um corretor que forneça o que ele prometeu (verifique).

 
deVries:

fazê-la abrir primeiro o comércio e depois modificá-la usando seu preço de pedido aberto( ) fará com que ela funcione em todas as contas
Você está certo, esta é a maneira mais fácil de programá-lo. Mas não estou falando de nenhuma linguagem de programação, antes de programar, é melhor entender como ela funciona.
 
angevoyageur:
  • Não. Para uma VENDA, o comércio é aberto em leilão (BID_OPEN), fechado em tp, portanto, quando se pergunta = BID_OPEN-100. Lucro = Preço aberto - Preço fechado = BID_OPEN - BID_OPEN + 100 = 100.


Eu ainda sou um noob, então me desculpe se eu estive errado todo este tempo. Mas eu estava certo de que para uma ordem curta, o TP foi acionado quando o preço BID atingiu o nível do TP, mas a negociação é fechada usando ASK price.... agora é fim de semana, então eu não posso testar, mas realmente..... não é este o caso? Os TP's são acionados pelo preço ASK em negócios curtos e o preço BID em negócios longos? E se for o caso, o que acontece no backtesting quando os preços ASK não estão disponíveis?

Quanto ao spread, escrevi um coletor de carrapatos que, em seguida, traça vários spreads do corretor em um gráfico para comparação. Descobri que alguns deles são exatamente constantes, exceto quando as notícias são divulgadas, mas alguns deles têm spreads bastante variáveis... alguns deles até parecem que o preço Ask é atrasado em cerca de 100ms (ou seja, o spread é muito grande quando o preço cai repentinamente, e muito pequeno quando o preço sobe repentinamente)....

 
angevoyageur:
  • Não. Para uma VENDA, negociar aberto a lance (BID_OPEN), fechado a tp, portanto, quando perguntar = BID_OPEN-100. Lucro = Preço aberto - Preço fechado = BID_OPEN - BID_OPEN + 100 = 100.
  • Para uma compra, o comércio é aberto a pedido (ASK_OPEN), fechado a tp, portanto, quando a oferta = ASK_OPEN+100. Lucro = preço fechado - preço aberto = ASK_OPEN + 100 - ASK_OPEN = 100.

Diferencial flutuante ou não, isto permanece verdadeiro.

Não, isto não é correto. Tomemos um exemplo hipotético onde uma troca é aberta e depois imediatamente fechada, o prejuízo é devido ao spread. Usando seu cálculo acima para o lucro da VENDA = Preço aberto - Preço fechado = BID_OPEN - BID_OPEN + 0 = 0. mas esta não é a resposta correta porque o Spread tem que ser pago.

Deve ser isto . . Lucro = Preço aberto - Preço fechado = BID_OPEN - ASK_OPEN + 0 = -Spread . . . mas isto assume que o Spread é o mesmo desde o tempo aberto até o tempo fechado.

 
alladir:


Eu ainda sou um noob, então me desculpe se eu me enganei todo esse tempo. Mas eu estava certo de que para um pedido curto, o TP foi acionado quando o preço BID atingiu o nível do TP, mas o comércio é fechado usando ASK price.... agora é fim de semana, então eu não posso testar, mas realmente..... não é este o caso? O TP usa o preço ASK em negócios curtos e o preço BID em negócios longos? E se for o caso, o que acontece no backtesting quando os preços ASK não estão disponíveis?

Não se preocupe, todos nós temos que passar por esta etapa, testá-la de novo e de novo, é a melhor maneira de aprender. O que é fechar um negócio de SELL ? É uma COMPRA! Então esta COMPRA é feita a preço de pedido, qual preço de pedido ? O TP da venda.

Oteste no final de semana lhe dá o spread quando a sessão de negociação é encerrada na sexta-feira à noite. Pedir é sempre simples Bid+Spread. Isso pode lhe dar um grande spread ao fazer o baktest no fim de semana, pois genralmente o spread é ampliado no final da sessão.

Razão: