[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 590

 
gheka:
2012.12.07 16:14:28 tentativa141 GOLD,H1: nome do símbolo desconhecido 0 para a função OrderSend

tudo estava bem. depende do terminal ou do DC? ou algo mudou no código????

Sem o código é difícil responder... Por exemplo, antes de uma empresa de corretagem ter o gold ticker XAUUSD e ele foi explicitamente escrito na ordem de abertura. Na mesma corretora, o ticker é Gold, por isso existe um erro de abertura: o nome do símbolo desconhecido 0 para a abertura do fi... Ou talvez eles também tenham mudado algo no código... (alterado). Não depende do terminal - ele está fazendo seu trabalho e isso é tudo.

 
Desead:

Você pode informar se há algum deslize para os valores de parada e takeaway quando os pedidos são reabertos com um capotamento? E como a parada será definida se a diferença entre o preço aberto e a parada após o capotamento for menor do que o valor da parada nivelada?

Minha tarefa é a seguinte. Se eu tiver uma ordem de mercado aberta, devo verificar se ela foi aberta com o rollover e se foi, devo obter o bilhete da ordem anterior, que foi fechada. Talvez alguém me diga qual é o algoritmo de busca?

1. Eu seleciono a primeira ordem em aberto.
2. Eu olho para o horário de abertura, se for das 23:40 às 00:20 então continuo verificando esta ordem (a janela de 40 minutos é tirada por precaução, embora pareça ser possível tirá-la das 23:50 às 23:59)
3. Eu memorizo o bilhete, paro e levo
4.Eu verifico todas as ordens fechadas usando o histórico, onde os comentários contêm a palavra "swap" e os pares de moedas combinam
5. Comparo os dados sobre paradas e tomadas, se coincidirem, então aqui está o par de pedidos necessário; se não, volto ao passo 1


As ordens de Parada e de Obtenção de Lucro já estão definidas ordens pendentes, mas as estatísticas do servidor as mostrarão vinculadas a outra ordem.

Para a solução de seu problema vejahttps://www.mql5.com/ru/articles/1390 ehttps://www.mql5.com/ru/articles/1404. Acho que um destes artigos tem um exemplo para o seu caso (não me lembro exatamente, li há muito tempo, mas acho que o material ainda será útil).

 
gheka:
2012.12.07 16:14:28 tentativa141 GOLD,H1: nome do símbolo desconhecido 0 para a função OrderSend

depende do terminal ou do CD? ou tem algo alterado no código?

Try141 GOLD,H1: nome do símbolo desconhecido 0 para a função OrderSend significa que o programa tentou abrir um pedido 141 vezes, mas falhou porque não conhecia o símbolo com o nome 0.
 
É possível escrever um comentário sobre as linhas como aquele escrito quando um pedido é feito (número do bilhete e tipo de pedido)?
 
lottamer:

Por favor, diga-me o que se entende por

enquanto (verdadeiro)

no script do modificador que colei no EA?

e para que serve este estranho cheque

if(cmd===OP_BUY || cmd===OP_SELL) ?

Não seria melhor apenas verificar a presença de uma posição aberta?

if(cmd===OP_BUY || cmd===OP_SELL) Esta é uma verificação de posição aberta. while(true) é um laço que será executado se houver uma posição aberta e será executado enquanto existir ou até a condição e os seguintes operadores antes dequebrar; (ou retornar para sair da função)
 
Chiripaha:
É possível escrever um comentário sobre as linhas como aquele escrito quando um pedido é feito (número do bilhete e tipo de pedido)?

Você aprenderia a fazer as perguntas certas? Que linhas? Linhas elétricas? A maioria das pessoas não é telepática e não pode saber o que você quer dizer, a menos que você lhes diga.
 

e por que eu tenho uma série de condições

if (cmd999==OP_SELL && Stoch_1>Stoch_2 && OrderProfit()>10)

é executado como VERDADEIRO mesmo que OrderProfit seja inferior a 10 (dólares) ?

Afinal de contas, tudo o que custa menos de 10 dólares deve ser cortado?

 
rigonich:

Aprenda a fazer as perguntas certas, pelo amor de Deus. Que linhas? Linhas elétricas? A maioria das pessoas não é telepática e não pode saber o que você quer dizer, a menos que você lhes diga.


Acho que ele explicou bem :)))))))))

Eu não sei como fazer :)))

 
rigonich:

Você aprenderia a fazer as perguntas certas? Que linhas? Linhas elétricas? A maioria das pessoas não é telepática e não pode saber o que você quer dizer, a menos que você lhes diga.
Eu sou um telepata! O que está errado? :-))
 
lottamer:

e por que eu tenho uma série de condições

if (cmd999==OP_SELL && Stoch_1>Stoch_2 && OrderProfit()>10)

é executado como VERDADEIRO mesmo que OrderProfit seja inferior a 10 (dólares) ?

Afinal de contas, tudo o que custa menos de 10 dólares deve ser cortado?


Tente imprimir variáveis antes desta linha, talvez seu programa não atinja esta linha, ou os valores das variáveis não são o que você espera. Por exemplo, se você tem uma conta em centavos, a funçãoOrderProfit() em algumas corretorasretorna o valor em centavos, e em outras - em dólares.
Razão: