[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

 
Valdemar:


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.

No final, o compilador me mostra esses erros, e eu acho que está se referindo à definição errada da variável?

Voldemar, as pessoas estão tentando lhe dizer o que todos os documentos, tutoriais e exemplos dizem: o corpo de uma função do usuário deve estar fora de outras funções, por exemplo, após a última linha da função Start.
 
ilunga:

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 você só tem que removê-lo?
 
Pyxlik2009:
Então só precisa ser removido?

Você precisa passar os parâmetros corretamente para a função chamada.
 

Os caras ajudam, por favor

 
granit77:
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.



 
Pyxlik2009:

Pessoal, por favor, ajudem.

Você quer que eu o segure para você? :))))

Substituir "o mais novo" por um número.

 
Starting:


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?

 
artmedia70:

Você gostaria que eu a segurasse para você? :))))

Substituir "o mais novo" por um número.

Já descobrimos isso. Obrigado).
 
artmedia70:

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!

Razão: