Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 911
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Pessoal, por favor, ajudem!!!
É mais fácil fazer uma captura de tela e publicá-la aqui do que copiar o texto da EA? Você acha que alguém vai digitar manualmente em seu ME a partir de uma captura de tela e tentar descobrir isso?
Se o compilador disser que deve verificar o resultado da função, ele deve ser verificado. Não é difícil:
if(S1a == S1b && S1a<20.0000 && S1b<20.0000 )
{OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), Slippage, SL, TP, NULL, 0, 0,clrBlue);
MyOrderStateB = 1;
if(!OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), 3, SL, TP, NULL, 0, 0,clrBlue))
Print("Opening Buy error #", GetLastError());}
else Sleep(2);
Obrigado. Certo ou errado, porém... O aviso ainda vem à tona.
Olá!
Em meu consultor especializado, o castiçal anterior é verificado e, se as condições permitirem, a posição é aberta, se não, não é aberta. O problema é que a posição é aberta antes que o estado da vela anterior seja verificado. Depois vejo a abertura da posição no tronco e depois vejo que ela não deve ser aberta. Como consertá-lo?
senão Dormir(2);
E com relação a isso dá a mesma coisa(
if(S1a == S1b && S1a<20.0000 && S1b<20.0000 )
{OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), Slippage, SL, TP, NULL, 0, 0,clrBlue);
MyOrderStateB = 1;
if(!OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), 3, SL, TP, NULL, 0, 0,clrBlue))
Print("Opening Buy error #", GetLastError());}
else Sleep(2);
Obrigado. Certo ou errado, porém... O aviso ainda vem à tona.
Errado, você não precisa ligar duas vezes para OrderSend. E devemos calcular SL e TP em relação ao preço, não em pips. E devemos normalizar não os preços de Ask e Bid abertos, mas o resultado dos cálculos de SL e TP.
Em geral, "aprender, aprender e aprender de novo" ))))
Errado, não há necessidade de ligar duas vezes para OrderSend. E SL e TP devem ser calculados em relação ao preço, não em pontos. E devemos normalizar não os preços de Ask e Bid abertos, mas o resultado dos cálculos de SL e TP.
Em geral, "aprender, aprender e aprender de novo" ))))
Muito obrigado mais uma vez!
Agora há um problema, a EA abre vários pedidos seguidos, não um como eu queria(
int start()
{ S1a = NormalizeDouble(iStochastic(NULL, 0, S1_period, 3, S1_slowing, MODE_SMA, 1, MODE_MAIN, 1), 0);
S1b = NormalizeDouble(iStochastic(NULL, 0, S1_period, 3, S1_slowing, MODE_SMA, 1, MODE_SIGNAL, 1), 0);
if(MyOrderStateB == 1)Sleep(300000);
else MyOrderStateB = 0;
if(MyOrderStateS == 1)Sleep(300000);
else MyOrderStateS = 0;
if(S1a == S1b && S1a<20.0000 && S1b<20.0000 )
if(!OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), Slippage, Bid - SL * Point, Ask + TP * Point, NULL, 0, 0,clrBlue))
Print("Opening Buy error #", GetLastError());
else Sleep(2);
MyOrderStateB = 1;
if(S1a == S1b && S1a>80.0000 && S1b>80.0000 )
if(!OrderSend(Symbol(), OP_SELL, OrderValue, NormalizeDouble(Bid, Digits), Slippage, Ask + SL * Point, Bid - TP * Point , NULL, 0, 0,clrRed))
Print("Opening Sell error #", GetLastError());
else Sleep(2);
MyOrderStateS = 1;
return(0);}
Tenho visto algum comportamento estranho no testador de estratégias. Meus conjuntos EA e redes de arrasto pendentes de ordens de parada. Acontece o seguinte. O Expert Advisor estabelece uma parada de compra e venda a 30 pips do preço atual (símbolo - GbpUsd. Quatro dígitos. Nível mínimo = 3 pips). Depois de um tempo, ele os puxa para cima seguindo o mercado, se eles não acionaram. Então o que eu vejo. a modificação é bem sucedida, a modificação é bem sucedida, e então em algum momento aparece o slams e o erro nº 1. Ou seja, tudo estava bem, a EA estava fazendo as mesmas ações e de repente este erro aparece. Todos os preços foram normalizados em dígitos. Em geral, todos os valores que são passados para a função OrderModify() são normalizados!
Qual pode ser a razão para tal comportamento da EA no testador?