Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Olá a todos
Com a ajuda de todos, o sintoma mudou.
A declaração ....if(OrderSelect(index, SELECT_BY_TICKET) foi feita para...SELECT_BY_POS. O código está longe de estar correto. O programa vende e depois fecha imediatamente após um pip. O resultado mostra que não há SL ou TP. Portanto, para uma verificação de sanidade, eu inseri no OrderSend o SL e TP (500) uma peça. Nenhuma alteração. Todas as execuções estão dentro de 1 ou 2 pips. Isto está ficando interessante. Ainda não sei bem por quê! Mais de mil execuções ocorrem em uma barra de 4 horas.
Eu estarei pesquisando, mas qualquer ajuda será bem-vinda.
Olá, Ais
Acabei de postar para descobrir que você postou antes de mim. O que você tem em mente?
Olá novamente
Estou tentando reformular ligeiramente o programa para uma melhor compreensão lógica
Gostaria que o programa agradasse a Você
Olá novamente
Estou tentando reformular ligeiramente o programa para uma melhor compreensão lógica
Gostaria que o programa agradasse a Você
Você é tão gentil. Obrigado. Seu tempo é precioso. O estilo que estou certo que vai agradar.
Desbloqueei uma parte do problema, desde meu último posto. O programa vai fechar, não vai voltar como eu gosto.
A chave do problema de fechamento tem sido o fato de que não consegui inicializar adequadamente o ATR.
Mostrarei o antes e o depois para fechar a posição de Venda.
Então....if (OrderClosePrice() >= OrderOpenPrice() + (ATR*2)
Now.....if (OrderClosePrice() >= OrderOpenPrice() + (40*Point)...Isto fechará a posição de Venda
Não era assim que eu pretendia que o programa funcionasse. Mas, para fins de teste, eu inseri o novo código.
Isso ajuda a provar que o problema está dentro da ATR. Deve ser que eu não inicializei corretamente o ATR.
Para testar mais, tentei inserir o iATR ao invés de tentar construir uma nova variável chamada ATR.
Eu mostro como tentei codificá-la.
if (OrderClosePrice() >= OrderOpenPrice() + ((iATR(NULL,0,20,1)*2)*Point)
Isto também não funcionou.
Mais uma vez, obrigado.
Aguardo com expectativa a sua resposta.
https://www.mql5.com/ru/forum/124482/page9#284380
https://www.mql5.com/ru/forum/124482/page9#284380
Obrigado pela sugestão. A idéia de usar 365 (anual) versus my_method, é bem aceita. Propósitos de teste com prazos mais curtos
deve ser apenas por conveniência.
Eu tenho muito mais a aprender. Finalmente descobri como inserir o ATR, mas não posso multiplicá-lo. Segue um exemplo:
Neste momento isto é o que tenho......if (OrderClose >= OrderOpenPrice() + (iATR(NULL,0,20,1))) // =Parada dura
Isto funciona, mas não é o que eu quero
Estou trabalhando para ...................if (OrderClose >= OrderOpenPrice() + (iATR(NULL,0,20,1) )*2 ),
Isto não funciona. Espero que isso se manifeste a você e aos outros, como o que tenho em mente. O iATR é multiplicado por 2.
Alguma sugestão para isto???? Uma vez resolvida esta questão, eu poderia também dividir pela metade a ATR para as posições de entrada.
Houve outra maneira que tentei mas não funcionou... if(OrderClose - OrderOpenPrice - (iATR(NULL,0,20,1)*2)) <= 0)
Mais uma vez, obrigado pelo seu tempo. Tenho certeza de que há muitos que estão batendo à sua porta por sabedoria.
Saúde
Olá Huckleberry,
Saí para fazer apenas a função de abertura.
E neste momento estou tentando entender a lógica da fixação do lucro.
Paradas e tomadas estão faltando em seu OrderSend(), está tudo bem, mas o comando de fechamento só funciona em caso de perda. https://www.mql5.com/en/forum/124521/page2 E eu gostaria de saber sua opinião sobre a compreensibilidade do novo estilo de programa,
.
Tchau por enquanto,
:)
Olá Ais
Obrigado por sua resposta.
Deixe-me explicar a razão por trás de nenhum StopLoss ou TakeProfit.
Ao não inserir o SL e TP no OrderSend, o SL está dentro de um local diferente, sob a expressão
if (OrderClose >= OrderOpenPrice() + (iATR(NULL,0,20,1)))
Embora isto funcione, não é exatamente o SL adequado. O exemplo está listado I meu último post....
if (OrderClose >= OrderOpenPrice + (iATR(NULL,0,20,1))*2)
A mudança no... iATR, na expressão acima, pode mudar de uma barra para a outra. Ao usar o OrderSend com SL e TP, não posso tirar proveito da mudança de turno.
Cada função funciona neste momento, apenas que eu preciso aprender como ajustar as funções.
Obrigado por sua observação e por sua pergunta.
Abraço
É bom trabalhar sem SL e TP.
Mas ainda precisamos da condição de fechar a ordem em caso de lucro.
Por favor, dê uma olhada na função renovada "iSignalClose",
. Agora é, naturalmente, condição de SL virtual. https://www.mql5.com/en/forum/124521/page2 Mas ainda precisamos da condição de TP virtual.
Aguardando sua resposta.
:)
Eu inseri para TP virtual o similar com condição SL, mas usando outro fator.
No futuro será fácil e convincente otimizar estes parâmetros.
Para otimizar declarar parâmetros desejáveis como "externos".
Exemplo:
////////////////////////////////////////////////////////////////////< 3> // < 1.1. Data : Input > //< > // //< > // < 1.1. Input 7 = 4 i 3 d - s > //< > // < 1. Strategy 4 = 2 i 2 d - s /> //< > // < 2. Trading 3 = 2 i 1 d - s /> //< > // </1.1. Input 7 = 4 i 3 d - s > //< > // //< > // < 1. Strategy 4 >=========================================//< > int iBasePeriod = 20 ; //< > int iBaseBar = 1 ; //< > extern double dFactorTP = 2.0 ; //< > extern double dFactorSL = 2.0 ; //< > // </ 1. Strategy 4 >=========================================//< > // //< > // < 2. Trading 3 >==========================================//< > int iSlippage = 1 ; //< > int iMagic = 0 ; //< > double dLots = 0.1 ; //< > // </ 2. Trading 3 >==========================================//< > // //< > // //< > // //< > // </1.1. Data : Input > //< >
Após a otimização, alterar os valores originais dos parâmetros para os otimizados e apagar as declarações "externas".
Amostra de otimização para "A System: Edição Final do Campeonato 2008" também conhecida como "ACB6", https://www.mql5.com/en/forum/112633/page7#276861: