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 77
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
Trolling you)))) Você tem uma personalidade carismática))))
Acho que esta é a parte do código que pode causar o problema, muito obrigado de antemão.
Logo no topo da minha cabeça
se Work=FALSE, a EA não funcionará.
A EA não funcionará se houver pelo menos uma ordem pendente, não há verificação no MAGIC.
Você está recebendo alguma resposta?
Não funciona, porque as variáveis, que você quer fixar a um nível global, ou seja, antes da função Iniciar... Por exemplo, estes e assim por diante.... " FiksiruemUp = True; // fix " e "iksiruemUp = False; // reset"
Se você não alternar entre os prazos, deve funcionar...
Fiz isso com as variáveis, coloquei-as no nível global.
se você levar em conta o seguinte ponto:
quando o preço está acima da linha superior, ele atribui True à FiksiruemUp, após o preço ficar abaixo da linha superior e ainda acima da linha média, o que será atribuído à FiksiruemUp: True ou False?
Parece-me que nesta situação ele atribui automaticamente Falso, porque Falso foi atribuído a ele nas variáveis globais, enquanto Verdadeiro é atribuído somente quando o preço está acima da linha superior.
Logo de cara
se Work=FALSE a EA não vai funcionar.
A EA não funcionará se houver pelo menos um pedido pendente, não há verificação para o MAGIC.
Isso lhe dá algum sinal?
O assessor trabalha, ou seja, abre ordens, dá alertas sobre a abertura e acionamento de tp ou sl, também não coloca pingentes
As variáveis globais são do tipo duplo e somente o dobro. Você deve ter isto em mente quando colocar um bool nas variáveis globais.
e ainda assim, como deveria ser?
As variáveis globais são do tipo duplo e somente o dobro. Você deve ter isto em mente quando colocar um bool nas variáveis globais.
não estamos falando aqui de GlobalVariables, estamos falando de variáveis a nível global.... releia este ponto, há uma diferença....
Fiz isso com as variáveis, coloquei-as no nível global.
se você levar em conta o seguinte ponto:
quando o preço está acima da linha superior, ele atribui True à FiksiruemUp, após o preço ficar abaixo da linha superior e ainda acima da linha média, o que será atribuído à FiksiruemUp: True ou False?
Parece-me que nesta situação ele atribui automaticamente Falso, porque lhe foi atribuído Falso nas variáveis globais, enquanto que Verdadeiro só é atribuído quando o preço está acima da linha superior.
Inicialmente, se nada for especificado a nível global, o valor será Falso.... Após a variável ser definida como True, ela terá este valor até a seguinte condição se (Ask < LineS) FiksiruemUp = False; // reset.... Se a condição for cumprida, à variável será atribuído o novo valor Falso e permanecerá assim até o momento -"quando o preço estiver acima da linha superior, atribui Fiel à FiksiruemUp" e assim por diante... Espero ter explicado claramente... :)
Inicialmente, se nada for especificado a nível global, o valor será Falso.... Após a variável ser definida como True, ela terá este valor até a seguinte condição se (Ask < LineS) FiksiruemUp = False; // reset.... Se a condição for cumprida, à variável será atribuído o novo valor Falso e permanecerá assim até o momento -"quando o preço estiver acima da linha superior, atribui Fiel à FiksiruemUp" e assim por diante... Espero ter explicado claramente... :)
Agora entendo. Muito obrigado.
Amigos, ajudem-me. Preciso fechar todos os pedidos em um par de moedas selecionado. Eis o que eu escrevi (parte do código da EA):
int Zakrit_vse()
{
Total=OrdensTotal();
int Vsego;
for(int i=1; i<=OrdensTotal(); i++) // Circule os pedidos, feche todos
{
se (OrderSelect(i-1,SELECT_BY_POS)==verdadeiro)
{
se (OrderSymbol()!=Symb)continuar;
Ticket=OrderTicket();
Lot=OrderLots();
Price=OrderOpenPrice();
Vsego++;
Tip=OrderType();
Alerta(Dica);
if(Dica>1)
{
OrderDelete(Bilhete);
Prov_oshibok();
continuar;
}
if(Tip==0)
{
OrderClose( Ticket,Lot, Bid,100);
Prov_oshibok();
continuar;
}
if(Tip===1)
{
OrderClose( Ticket,Lot, Ask,100);
Prov_oshibok();
continuar;
} //
}
}
Alerta(Total", ",Vsego);
int ret=MessageBox("Operação completa com sucesso",
",MB_OK|MB_ICONQUESTION|MB_TOPMOST);
if(ret==IDOK) // se a resposta for "sim
{
Imprimir("Todos os pedidos no valor de ",Vsego", fechados com sucesso;)
}
}
Mas, por alguma razão, apenas a cada segundo pedido é fechado. Se houver 6 pedidos, 3 são fechados, se houver 8-4, etc.
O que pode ser? Qual é o erro, por favor, avise?