[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 263
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
No final, o compilador me mostra esses erros, e eu acho que está se referindo à definição errada da variável?Obrigado por seu feedback querido PapaYozh,mas também inseri esta função no int start(), ela ainda não altera o resultado do compilador.
Novamente:
Documentação:
int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)
Seu décimo parâmetro na cadeia "Mais novo" não é um número. É por isso que existe um erro
Então só precisa ser removido?
Você precisa passar os parâmetros corretamente para a função chamada.
Os caras ajudam, por favor
Voldemar, as pessoas estão tentando lhe dizer o que todos os documentos, tutoriais e exemplos dizem: o corpo de uma função personalizada deve ser colocado ANTES das outras funções, por exemplo, após a última linha da função Start.
Obrigadogranit77 e a todos que me deram seu precioso tempo. Eu consegui, porque acho que todos se regozijaram com o surgimento dos primeiros sucessos em alcançar o objetivo concebido.
Obrigado!!!!
...espero poder ajudar alguém aqui num futuro próximo.
Pessoal, por favor, ajudem.
Você quer que eu o segure para você? :))))
Substituir "o mais novo" por um número.
Acho que não entendi bem a questão.
Asserção 1. cada código, após o acionamento da ordem pendente, ao acessar a data de abertura dessa ordem (que se tornou comercializável no momento do acionamento) obterá a data de abertura igual à data de definição da ordem pendente - é assim que a função OrderOpenTime() funciona.
Assunção 2: Você não pode se lembrar o momento exato do acionamento da ordem pendente, sem um consultor especializado que monitore constantemente o estado das ordens na conta.
Possível solução 1. Podemos tentar correr desde a data de definição da ordem pendente até a data atual e anotar a hora da primeira travessia do preço aberto e o nível de disparo.
Este será um tempo mais ou menos exato, mas há um grande "menos": a propagação. Como não registramos o spread na história (não estou levando a história do tick com spread retirado de Dukas, por exemplo, já que não estou negociando em Dukas e precisamos coletar e registrar), a ordem pode ter disparado muito antes, quando o preço quase tocou o nível aberto mas não o cruzou, e a ordem foi aberta devido à expansão do spread, não mais tarde, quando de fato vimos o preço cruzar a linha de ajuste de ordem pendente.
A solução mais provável é criar um Expert Advisor, colocá-lo no gráfico e monitorar as ordens na conta. Não quero fazê-lo por algumas razões e também há desvantagens associadas a possíveis problemas durante as pausas na operação da EA.
As funções, às quais você se referiu. Você forneceu um link para a função OrderOpenTime(). Para as ordens atrasadas será a data de sua criação, e não a data de seu acionamento. Portanto, as funções existentes não são adequadas. E não há como combiná-los, já que ainda se referem à OrderOpenTime() para a data de abertura do pedido.
Algo me alarma em suas afirmações. Após a conversão de uma ordem pendente com o bilhete, por exemplo, 12, não haverá nenhuma ordem pendente com o bilhete 12 na história. Haverá uma posição aberta com bilhete 12, e seu tipo será OP_BUY ou OP_SELL. O momento de sua abertura é o momento da transformação de uma ordem pendente em uma ordem de mercado.
Por favor, me corrija se estiver errado.
Em qualquer caso, você precisa de um consultor especializado que fará a contabilidade do pedido para você. Em cada tick você verifica se há uma ordem pendente, memoriza seu ticket (se a ordem for encontrada) e depois compara os ticks das posições em aberto com os pendentes. Assim que você encontrar uma partida - lembre-se da hora de sua abertura. Este será o tempo que você está procurando...
Pergunta - é possível usar scripts e EAs de terceiros (da série "don't trade themselves") em uma coruja que você experimenta?
Você gostaria que eu a segurasse para você? :))))
Substituir "o mais novo" por um número.
Há algo em suas declarações que me deixa inquieto. Após a conversão de uma ordem pendente com o bilhete 12, por exemplo, não haverá nenhuma ordem pendente com o bilhete 12 na história. Haverá uma posição aberta com bilhete 12, e seu tipo será OP_BUY ou OP_SELL. O momento de sua abertura é o momento da transformação de uma ordem pendente em uma ordem de mercado.
Por favor, me corrija se estiver errado.
Em qualquer caso, você precisa de um consultor especializado que fará a contabilidade do pedido para você. Em cada tick você verifica se há uma ordem pendente, memoriza seu ticket (se a ordem for encontrada) e depois compara os ticks das posições em aberto com os pendentes. Assim que você encontrar uma partida - lembre-se da hora de sua abertura. Este será o seu desejo.
Sim, o bilhete de ordem de mercado após o acionamento da ordem pendente não é alterado (pelo menos no meu corretor).
Omomento da abertura de uma posição de mercado será o momento da modificação de uma ordem pendente. Pelo menos de acordo com os registros, comparei-a agora usando uma das ordens como exemplo.
A afirmação 1, com base nisso, está obviamente errada. Vou verificar amanhã enquanto estou fresco; estive trabalhando nele por algumas noites (não exatamente), meu cérebro já está enevoado.
Se o OrderOpenTime() de uma ordem de mercado com uma ordem pendente ainda mostra a hora de sua abertura, não temos nenhum problema e a EA não é necessária para rastrear as ordens. Tudo o que precisamos é apenas o tempo de acionamento das ordens pendentes, a fim de classificar corretamente as ordens do histórico pelo tempo aberto e pela bandeira que estão fechadas. Não importa se era apenas uma ordem de mercado pendente e não havia bandeiras mostrando que era uma ordem pendente - isto não é necessário. O importante é o fato - foi fechado por último e com a última data de abertura - nosso cliente, traga-o aqui.
É que não há como meu roteiro dar a última ordem fechada com o último tempo aberto, exatamente quando as ordens pendentes foram acionadas. De qualquer forma, vou verificar tudo. Obrigado pela dica, muito útil!