[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 610

 
Dimka-novitsek:

Boa tarde! Por favor, ajude-me com a modificação do pedido, ou seja, o ciclo de seleção do pedido para sua condição. Primeiro encontro uma ordem acionada na TakeProfit, é uma ordem específica com um bilhete tácito. Assim, o loop falha cerca de uma vez em cada dez, o que é indicado pela diferença de linhas verdes e azuis no testador. E visualização - parar a perda às vezes não se move.

Em geral, ajude, por favor!

Condição

if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
1 .Выполняется, если в истории термина нет ордеров, и продолжать цикл в таком случае не имеет смысла.
2. Чтобы найти ордер, сработавший именно по тейкпрофиту надо сравнить значение ТП со значением цены закрытия ордера
3.  Если вам нужен не любой ордер,закрытый по ТП, надо найти последний.
4. Еси в if(nahodka){if (OrderSelect(tucket,SELECT_BY_TICKET)) используется значение tucket, Выбранное в предыдущем цикле, ордер нельзя модифицировать, потому, что он уже закрыт. 
 

1.executado se não houver ordens no histórico do terminal e não faz sentido continuar o ciclo nesse caso.

Obrigado!!! É aí que tudo vai acontecer. Oh, meu Deus! Como ele mesmo se modificou de vez em quando?

2. Para encontrar um pedido acionado exatamente no Take Profit, devemos comparar o valor do TP com o preço de fechamento do pedido

Primeiro seleciono uma determinada ordem no loop da história e depois pareço compará-la dessa forma.

 
Para traduzir o estoque em um comentário, ao invés de continuar colando o código, você precisa no final da linha ;?
 

se (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continuar; No meu loop, é assim - se não há ordens no histórico do terminal, e não faz sentido continuar o loop nesse caso, então continue!

Então é assim, não é?

Uau, enigma!!!

 
No final da corda //comente - qualquer coisa além das duas fatias ou o que o compilador não ler.
 
Dimka-novitsek:

1.executado se não houver ordens no histórico do terminal e não faz sentido continuar o ciclo nesse caso.

Obrigado!!! É aí que tudo vai acontecer. Oh, meu Deus! Como ele mesmo se modificou de vez em quando?

2. Para encontrar um pedido acionado exatamente no Take Profit, devemos comparar o valor do TP com o preço de fechamento do pedido

Primeiro seleciono uma determinada ordem no loop da história e depois pareço compará-la dessa forma.


Se uma ordem específica, ou seja, você sabe o número do bilhete, não precisa de um ciclo, basta selecionarOrderSelect(ticket,SELECT_BY_TICKET, MODE_HISTORY)
 
Obrigado!!! Eu vou tentar!
 
Dimka-novitsek:

se (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continuar; no meu loop é assim - se não há ordens no termo histórico, e não faz sentido continuar o loop nesse caso, então continue!

Então é assim, não é?

Uau, enigma!!!


Depoisquebrar ouretornar.continuar; -- o operador da continuação do ciclo.
 
ilunga:

Então, por que você está comparando a mesma coisa um monte de vezes seguidas?

Bem, como você acha que deve ser comparado?
 
Dimka-novitsek:

if(Stoch_1>Stoch_2) { flag1=1 ; Imprimir (flag1,flag2,flag3,flag4); }


if(Stoch_1<Stoch_2 && flag1==1) flag2=1 ; Imprimir (flag1,flag2,flag3,flag4); }

if ((Stoch_1>Stoch_2) && flag1===1 && flag2====1) {flag3=1; Print (flag1,flag2,flag3,flag4);PlaySound("alert.wav");}


if(Stoch_1<Stoch_2 && flag1===1 && flag2===1 && flag3===1) flag4=1;
{Imprimir (bandeira1,bandeira2,bandeira3,bandeira4);}
if(Stoch_1>Stoch_2 && flag1===1 && flag2====1 && flag3===1 && flag4===1)
{OrderSend (Symbol( ), OP_SELL, 0,01 ,Bid, 0, 0, 0, NULL, 450, 0, CLR_NONE);
Imprimir ("OUT");}



flag1=0;
flag2=0;
flag3=0;
flag4=0;

Entendendo que você vai aprender e para aprender você escreve algo... Pelo menos arranjei seus parênteses de tal forma que, em minha opinião, eles desempenham um papel.


e mesmo que seu código tenha dado 24 erros no compilador!!! ainda obrigado até mesmo pela ajuda descuidada.... para a idéia... (funciona agora - embora eu tenha tentado fazer dessa forma em princípio, mas a pontuação foi um problema)
Razão: