[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 66

 
mas na verdade, normalmente tento usar GetLastError() mais extensivamente em tais casos. Claro, não sou um profissional.
 
pepsi писал(а) >>
De fato, em tais casos eu geralmente tento usar GetLastError() mais amplamente. Claro, não sou um profissional.

Eu entendo que GetLastError() deve dizer porque algo não é feito, por exemplo, se um fio está ocupado, mas eu não tenho nada acontecendo!

 
Skydiver >> :

Acho que você só precisa de 3 pedidos para abrir para diferentes instrumentos? Por que não fazer uma variável de bandeira, por exemplo

Em variáveis globais criar

int flag=0;
string Symb;

///////////////

então

int start()
{
if (условие открытия)
{flag=1;}

if (flag==1)
{
Symb="EURUSD";
OrderSend(Symb,...)///Открываем, переносим флаг во 2 состояние для открытия след ордера и
flag=2; ///выходим тк больше мы ни чего не можем сделать
return(0);
}

if (flag==2)
{
Symb="AUDUSD";
OrderSend(Symb,...)
flag=3;
return(0);
}

if (flag==3)
{
Symb="USDJPY";
OrderSend(Symb,...)
flag=0;//Возвращаем флаг в начальное состояние..
return(0);
}
return(0);}


Também seria bom acrescentar a verificação da abertura e somente depois que a verificação for bem sucedida mover a bandeira.

Muito obrigado! Vou tentar!

 
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Imprimir ("posição longa aberta a preço",OrderOpenPrice( ));
}

senão Imprimir ("Error opening long position:",GetLastError()));


retorna um erro se OrderSelect() falhar.


if(OrderSend(Symbol(), OP_SELLSTOP, getLots, Bid, 0, 0, 0, WindowExpertName(),
Magic, 0, Red) < 0)
Print("Error Open Sellstop = ",GetLastError());


Retorna um erro se a OrderSend() falhar.
 
há uma teoria de que é OrderSend() que falha
 
Estimados especialistas, quem tem um indicador que mostraria em cada período de tempo os níveis máximos de 25 e 50 barras e se o preço recuperou deste nível em qualquer período de tempo neste local permaneceu uma linha e permaneceu até o preço quebrá-lo?
 
pepsi писал(а) >>
há uma versão que é OrderSend() que não funciona

Alguma idéia de por que funciona com o testador?

 
sten1981 >> :

Alguma idéia de por que funciona com o testador?

Mas o que estou dizendo é que ao utilizar a função de impressão de forma mais ampla (mesmo que sem o GetLastError subseqüente),

você pode ver muito melhor como a EA está negociando.

 

por exemplo, como este:




if(MA1>MA2 && StochPrev<StohCur && StochPrev<SignPrev )

{

print("A condição para uma ordem de compra é satisfeita");

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,",16895,0,DeepSkyBlue);

if(bilhete>0)

}

 
então a demonstração do diário de bordo mostrará tudo mais claramente. É mais claro onde procurar o erro. Por sua conta...
Razão: