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

 
Dimka-novitsek:

Eu li o post de ivandurak e imediatamente percebi que depois de cada tick apenas o início é acionado, então se você abrir a variável globalmente, parece que economiza o valor.

Portanto, deve ser assim.

Portanto, o compilador não aceita categoricamente a linha em KolBars=Bars; diz 'Barras' - inicialização esperada C:\Program Files (x86)\Alpari ÌÒ4\experts\Áëù.mq4 (8, 13)

Espantoso!!!!! Declaração de variável normal. Mas não importa.

Vou perguntar o principal - como depurar uma EA no fim de semana, se os carrapatos não forem?????


//| Бред.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
int KolBars=Bars;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
KolBars=Bars;

return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{int r;
r=Bars- KolBars
//----
for( r>0 )
int k;

KolBars=Bars;

//----
return(0);
}
//+------------------------------------------------------------------+ 
Para que serve o testador?
 

SOBRE O ALGORITMO GENÉTICO!!!

No meu caso, os pesos para a rede neural são selecionados. Se você executar a otimização sem algoritmo genético, isso levará MUITO tempo.

Não há pseudo-aleatória no código.

Embora o algoritmo genético também tente muitas variantes, ele também atua de acordo com um determinado programa (em um mesmo intervalo e sob as mesmas condições). Por que então obtemos resultados diferentes, eu não SUBSTANDO.

A propósito, ninguém fez a pergunta para testar o trabalho do GEN ALGORITHM. Exatamente: executar duas vezes a otimização e comparar resultados.... Tente.

 
Stepan241:

SOBRE O ALGORITMO GENÉTICO!!!

No meu caso, os pesos para a rede neural são selecionados. Se você executar a otimização sem algoritmo genético, isso levará MUITO tempo.

Não há pseudo-aleatória no código.

Embora o algoritmo genético também tente muitas variantes, ele também atua de acordo com um determinado programa (em um mesmo intervalo e sob as mesmas condições). Por que então obtemos resultados diferentes, eu não SUBSTANDO.

A propósito, ninguém fez a pergunta para testar o trabalho do GEN ALGORITHM. Exatamente: execute a otimização duas vezes e compare os resultados....A experimente-o.


Sirva-se à vontade.

https://www.mql5.com/ru/articles/1409https://www.mql5.com/ru/articles/1408 https://www.mql5.com/ru/articles/1511

 

Caros Especialistas! Você poderia sugerir uma função que altera o lote e o número de pedidos, dependendo do valor do saldo?

 
Stepan241:

SOBRE O ALGORITMO GENÉTICO!!!

A propósito, ninguém fez a pergunta para TESTAR o trabalho do GENE ALGORITHM. Exatamente: execute a otimização duas vezes e compare os resultados....A experimente-o.

Você vem trabalhando com mql há muito tempo, como eu entendo, o gen. alg. usa números pseudo-aleatórios para rastrear os pacotes de configuração inicial, e só então começa a considerar por determinadas definições onde e o que procurar.

https://www.mql5.com/ru/articles/1408

O esquema de funcionamento do algoritmo genético

1. iniciar o momento inicial t=0. Forma aleatoriamente uma população inicial, composta por k indivíduos. B0 = {A1,A2,...,Ak)

2. ...

 
fanat:

Caros Especialistas! Por favor, diga-me a função que muda o lote e o número de pedidos, dependendo do valor do saldo.


https://www.mql5.com/ru/code/8192

O autor utiliza o lote dinâmico e o número máximo de opções.

MaxOrders_Desc = "se 0 o número de posições abertas simultaneamente não estiver limitado a 1-3";
MaxOrders = 1;

Lots_Desc = "Se 0 Aplicar Lote Dinâmico";

Lotes = 1;

 

Favor informar se é possível abrir ordens de diferentes pares de moedas em um ciclo, enquanto após verificar a condição de entrada, um erro 4051 continua aparecendo.

enquanto (verdadeiro)

{
if (Total==0 && Opn_B===verdadeiro && Total1==0 && Opn_S1==verdadeiro) // não há ordens abertas para o primeiro e segundo pares de moedas + há um critério aberto
{

RefreshRates(); // Atualizar dados
double bid = MarketInfo(Symb2,MODE_BID);
Alert("Trying to open Buy and Sell. Waiting for reply.");
Ticket=OrderSend(Symb1,OP_BUY,Lts,Ask,2,0,0); //open Buy
Ticket1=OrderSend(Symb2,OP_SELL,Lts,bid,2,0,0);
if (Ticket > 0 && Ticket1 > 0) // Funcionou :)
{
Alerta ("Buy and Sell order opened ",Ticket,Ticket1);
return; // Sair início()
}
if (Fun_Error(GetLastError())==1) // Tratamento de erros
continue; // Retry
return; // Sair início()
}

 
Dimka-novitsek:

Portanto, o compilador não aceita categoricamente a linha em KolBars=Bars; diz 'Barras' - inicialização esperada C:\Program Files (x86)\Alpari ÌÒ4\experts\Áåë.mq4 (8, 13)

Vou perguntar o principal - como depurar uma EA no fim de semana, se os carrapatos não vão?????

1.
//| Бред.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
int KolBars;//=барс нельзя переменную присвоить вне функций




//| expert initialization function 
|

int init()
{
KolBars=Bars; //один раз при инициализ.

return(0);
}
...
2. Sobre o teste de estratégia ;).
 

Boa tarde!!! LOL!!!!!! C:\Program Files (x86)\Alpari MT4 Experts\bred.mq4 (34, 1)

C:Arquivos de Programas (x86)Alpari ??4\Peritos ??13.mq4 (34, 1)

É possível depurar um EA em modo de teste durante o fim de semana, da mesma forma que ao receber carrapatos na plataforma, recebendo respostas do Comentário,Alerta,funções?

 
xxxslavaxxx:

Favor informar se é possível abrir ordens de diferentes pares de moedas em um ciclo, enquanto após verificar a condição de entrada, um erro 4051 continua aparecendo.

enquanto (verdadeiro)

{
se (Total==0 && Opn_B===verdadeiro && Total1==0 && Opn_S1==verdadeiro) // não há ordens abertas para o primeiro e segundo pares de moedas + existem critérios abertos
{

RefreshRates(); // Atualização de dados
double bid = MarketInfo(Symb2,MODE_BID);
Alerta("Tentando abrir Compra e Venda. Aguardando resposta...");
Ticket=OrderSend(Symb1,OP_BUY,Lts,Ask,2,0,0);//open Buy
if(GetLastError()==4051)Alerta("Symb1"+Symb1+" Lts "+Lts+" Pergunta "+Ask);
//if(Ticket>0)Sleep(50);else continue;

Ticket1=OrderSend(Symb2,OP_SELL,Lts,bid,2,0,0);
if(GetLastError()==4051)Alerta("Symb2"+Symb2+" Lts "+Lts+" lance "+bid);


if (Ticket > 0 && Ticket1 > 0) // Funcionou :)
{
Alerta ("Pedido de Compra ou Venda Aberto",Ticket,Ticket1);
retorno; // Saída
}
if (Fun_Error(GetLastError())==1) // Tratamento de erros
continuar; // tentar novamente
retornar; // Sair do início()
}