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

 

Ajuda, pessoal, estou perdido, como escolho na lista ativa (não na história) é com essa ordem para que o mágico?

O problema é que eu sempre tenho 8-12 mandados com diferentes feitiços na lista


hh=OrdersTotal();
for(i=0; i<hh; i++)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if(OrderMagicNumber()==mg)

cc=i;}

esta é a minha consideração não operacional))))

 
gheka:

Ajuda, pessoal, estou perdido, como escolho na lista ativa (não na história) é com essa ordem para que o mágico?

Tenho sempre 8-12 mandados com feiticeiros diferentes na lista


hh=OrdersTotal();
for(i=0; i<hh; i++)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if(OrderMagicNumber()==mg)

cc=i;}

esta é a minha consideração não funcional))))


Se você quiser consertá-la, é assim:

hh=OrdersTotal()-1;
 for(i=hh; i>=0; i--)
 {if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) 
 if(OrderMagicNumber()==mg)

 cc=i;}

somente a linha cc=i não é clara ????

se você quiser memorizar a ordem, não é certo que no próximo tick ela estará com este número na lista de ordens do mercado, você deve memorizar o ticket da ordem

 
IgorM:


se isto tiver que ser corrigido, deve ser assim:

somente a linha cc=i ???? não é clara

se você quiser memorizar a ordem, não é garantido que no próximo tick ela terá o mesmo número na lista de ordens do mercado, o ticket da ordem deve ser memorizado

então como? em vez de cc=i; devo fazer cc=OrderTicket ?

Eu só quero fechar um pedido com o mágico

 
gheka:
Então, como? ao invés de cc=i; eu deveria fazer cc=OrderTicket ?


Acho que não sei o que você quer, mas tenha em mente que os números dos bilhetes também podem mudar, mas se você procurar seu pedido, se lembrar do bilhete e fizer as ações necessárias com o pedido, acho que tudo vai dar certo,

Normalmente todas as manipulações com a ordem requerida são feitas em um loop - chamando as funções necessárias

verifique este ramo https://www.mql5.com/ru/forum/107476/page49, há muitas coisas interessantes lá

 
IgorM:


Eu não sei o que você quer, mas note que os números dos bilhetes também podem mudar, mas se você procurar seu pedido, se lembrar de seu bilhete, e fizer as ações necessárias com o pedido, eu acho que vai funcionar,

Normalmente todas as manipulações com a ordem requerida são feitas em um loop - chamando as funções necessárias

verifique este tópico https://www.mql5.com/ru/forum/107476/page49, tem um monte de coisas interessantes

De qualquer forma, aqui está,

se (pb>MA_3&&Fact_Up==verdadeiro)
{
Fato_Dn = verdadeiro;
Fact_Up = falso;
int hh=OrdensTotal()-1,i;
for(i=hh; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderMagicNumber()==mg_3)

int cc=OrderTicket();
}
}

OrderClose(cc,Lots_3,pa,3,Green);

}


Alguns pedidos não são fechados por alguma razão, na história da conta eu olhei que há quatro dias atrás alguns estavam abertos,

só a fechou hoje???????????? embora devesse ter fechado mais cedo

tentei fechar uma posição com um magik que estava abaixo do MA quando ele cruzou acima do MA

qual é o meu problema aqui?

 

Boa tarde!

Você pode aumentar a velocidade do testador de estratégia em MT4: leva de 5 a 7 minutos por mês, e ainda mais por mais anos? Processador 4,4 GB (dois núcleos 2,2 GB) durante os testes é carregado até 95%, memória - 4 GB - até 55%.

 
volshebnik:

Boa tarde!

Você pode aumentar a velocidade do testador de estratégia em MT4: leva de 5 a 7 minutos por mês, e ainda mais por mais anos? Processador 4,4 GB (dois núcleos 2,2 GB) durante os testes é carregado até 95%, memória - 4 GB - até 55%.


É possível otimizar a EA para uma operação mais rápida, mas o testador ... não sei
 

E como é que o testador da EA, com parâmetros completamente diferentes, tem resultados completamente iguais em muitas linhas, e vice-versa, com parâmetros minimamente diferentes, resultados radicalmente diferentes!? Por exemplo

lucro total de passagem expectativa de lucratividade drawdown% drawdown
comércios

1901 58632,60 128 1,58 458,07 9289,02 32,57% BandsPeriod=22 BandsDeviations=3 Lots=3,9 TakeProfit=92 stoploss=31 i=1 BandsShift=0

1903 58632,60 128 1,58 458,07 9289,02 32,57% BandsPeriod=23 BandsDeviations=4 Lots=3,9 TakeProfit=92 stoploss=31 i=1 BandsShift=0

1905 58632,60 128 1,58 458,07 9289,02 32,57% BandsPeriod=17 BandsDeviations=4 Lots=3,9 TakeProfit=92 stoploss=31 i=1 BandsShift=0

1906 58632,60 128 1,58 458,07 9289,02 32,57% BandsPeriod=33 BandsDeviations=4 Lots=3,9 TakeProfit=92 stoploss=31 i=1 BandsShift=0







 
Alexandr24:
Por favor, me diga por que o indicador não é atualizado datatime some_time=iTime(NULL,PERÍODO_H1,0); ele é deslocado da barra atual 0, mas o indicador só é atualizado se você pressionar compilar - como fazê-lo auto-calculado?


Bem, a terceira vez que você ler seu post, você terá uma resposta com certeza! ;)

Embora os telepatas estejam de férias, suspeito que parte de sua capacidade de ver o código sem o código em si é transferida para mim :)

OK, já terminei com a letra, de fato:

1. Onde está o código?

2. suspeito que a área problemática reside na função init()

 

Olá a todos.

Pergunta: é possível alterar o parâmetro de desvio no indicador bolinger_bands_stop para números não inteiros (por exemplo, 0,38)

Eu não sei o código, se alguém pode ajudar

Arquivos anexados:
Razão: