[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
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.
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?
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!
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!
}
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 versão que é OrderSend() que não funciona
Alguma idéia de por que funciona com o testador?
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)
}