[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 266

 
ScioMe:


PF é o Fator de Lucro, eu vejo. E o que é FF? É possível fazer o testador emitir estes valores, como se emitisse o MO?

Se eu lhe der o MO, a rentabilidade, o número de negócios, a data, o saque máximo, você pode dizer alguma coisa sobre a qualidade da EA?


FS é fator de recuperação = lucro líquido/desembolso máximo.

ver. "qualidade de uma EA"...:-)))

 
ScioMe:

Se eu lhe der o MO, a rentabilidade, o número de negócios, a data, o saque máximo, você pode dizer alguma coisa sobre a qualidade da EA?


É mais fácil do que o cabeçalho do relatório de um testador. E tudo o mais: é muito importante saber como o resultado foi obtido, uma coisa é conhecer o melhor resultado de otimização, e outra coisa é conhecer os princípios básicos do Expert Advisor. E só então, com alguma experiência, podemos diagnosticar o especialista com a probabilidade de sucesso maior do que um palpite (digamos 7-8 em cada 10 casos).
 
Perdoe minha ignorância, mas o que é um avanço?
 

Dê uma olhada no artigo "Testando e otimizando Expert Advisors".

Ali está descrito em detalhes - o que é, um teste de avanço.

 

Por favor, ajude. acabou de começar a programar em mql

Preciso fazer uma coisa dessas.

Eu não preciso escrever nenhum código, embora o objetivo deste trabalho seja

se 1 pedido já foi aberto e fechado, o especialista não trabalhará nesse dia.

Se uma ordem for aberta e fechada com um saldo negativo, o Consultor Especialista deixará de trabalhar por um dia.

 

Dê uma olhada em https://www.mql5.com/ru/forum/131859

As funções da página 4 serão (muito provavelmente) úteis para você aqui:

isTradeToDay - Bandeira de retorno do comércio hoje

isLossLastPos - Retorna a bandeira de perda da última posição.

isCloseLastPosByStop - Retorna a bandeira para fechar a última posição por stop
isCloseLastPosByTake - Retorna uma bandeira para fechar a última posição por Take.

NumberOfBarCloseLastPos - Retorna o número de fechamento da barra da última posição ou -1. (=0 no tfD - para o fechamento de hoje)

NumberOfLossPosToday - Retorna o número de posições perdidas fechadas hoje.

etc.

 

Boa tarde a todos! Envie-me para onde você pode ver (ler) como refazer o indicador regular MACD, para que ele mostre os valores H4 no H1, ou seja, durante as 4 horas no H1 para desenhar os mesmos valores do período de barras H4

Obrigado!

 

Olá. Por favor, poderia me ajudar com a operação While. Eu fiz um roteiro que deveria desenhar linhas horizontais entre os níveis, mas ele só desenha a primeira linha e depois fica pendurado. O que eu estou fazendo de errado?

O código está anexado.

//+------------------------------------------------------------------+

//| H_LINES.mq4

//| Copyright © 2011, MetaQuotes Software Corp.

//| http://www.metaquotes.net |

//+------------------------------------------------------------------+

#direitos autorais "Copyright © 2011, MetaQuotes Software Corp.

#link da propriedade "http://www.metaquotes.net"


//+------------------------------------------------------------------+

//| função de início do programa de script |

//+------------------------------------------------------------------+

duplo Nível_Mín = 1.40000; //Baixo limite

dobro do nível_máximo = 1.60000; //limite mais alto

Passo duplo = 200; // Passo (distância entre linhas) em pips

int Lines_Width = 2; // Largura da linha

cor Linhas_Cor = Verde; //Cor das linhas

variável dupla i; //formal


int start()

{

//----

i=Nível_Min_Level;

enquanto ( i < Nível_Máximo )

{

ObjectCreate ("H_LINE",OBJ_HLINE,0,0,i);

ObjectSet ("H_LINE",OBJPROP_COLOR,Lines_Color);

ObjectSet ("H_LINE",OBJPROP_WIDTH,LINE_Width);

i = Min_Nível + (Passo/10000);

}

//----

retorno(0);

}

//+------------------------------------------------------------------+

Obrigado.

 
Gerkl:

Olá. Por favor, poderia me ajudar com a operação While. Eu fiz um roteiro que deveria desenhar linhas horizontais entre os níveis, mas ele só desenha a primeira linha e depois fica pendurado. O que eu estou fazendo de errado?

O código está anexado.

//+------------------------------------------------------------------+

//| H_LINES.mq4

//| Copyright © 2011, MetaQuotes Software Corp.

//| http://www.metaquotes.net |

//+------------------------------------------------------------------+

#direitos autorais "Copyright © 2011, MetaQuotes Software Corp.

#link da propriedade "http://www.metaquotes.net"


//+------------------------------------------------------------------+

//| função de início do programa de script |

//+------------------------------------------------------------------+

duplo Nível_Mín = 1.40000; //Baixo limite

dobro do nível_máximo = 1.60000; //limite mais alto

Passo duplo = 200; // Passo (distância entre linhas) em pips

int Lines_Width = 2; // Largura da linha

cor Linhas_Cor = Verde; //Cor das linhas

variável dupla i; //formal


int start()

{

//----

i=Nível_Min_Level;

enquanto ( i < Nível_Máximo )

{

ObjectCreate ("H_LINE",OBJ_HLINE,0,0,i);

ObjectSet ("H_LINE",OBJPROP_COLOR,Lines_Color);

ObjectSet ("H_LINE",OBJPROP_WIDTH,LINE_Width);

i = Min_Nível + (Passo/10000);

}

//----

retorno(0);

}

//+------------------------------------------------------------------+

Obrigado.

antes de mais nada:

i = Min_Nível + (Passo/10000);

seu i não muda


em segundo lugar

ObjectCreate ("H_LINE",OBJ_HLINE,0,0,i);

cada objeto deve ter seu próprio nome único

 

Ajuda pdz.... Continuando a estudar o tutorial - encontrei algo que não está claro para mim, não consigo entender

//--------------------------------------------------------------------
// callindicator.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
extern int Period_MA = 21;            // Период расчётной МА
bool Fact_Up = true;                  // Факт сообщения, что цена..
bool Fact_Dn = true;                  //..находится выше или ниже МА
//--------------------------------------------------------------------
int start()                           // Спец. функция start  {
   double MA;                         // Значение МА на 0 баре    
//--------------------------------------------------------------------
                                      // Обращение к функции техн.инд.
   MA=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0); 
//--------------------------------------------------------------------
   if (Bid > MA && Fact_Up == true)   // Проверка прохода вверх     {
      Fact_Dn = true;                 // Сообщать о цене выше МА
      Fact_Up = false;                // Не сообщать о цене ниже МА
      Alert("Цена находится выше MA(",Period_MA,").");// Сообщение      }
//--------------------------------------------------------------------
   if (Bid < MA && Fact_Dn == true)   // Проверка прохода вниз     {
      Fact_Up = true;                 // Сообщать о цене ниже МА
      Fact_Dn = false;                // Не сообщать о цене выше МА
      Alert("Цена находится ниже MA(",Period_MA,").");// Сообщение      }
//--------------------------------------------------------------------
   return;                            // Выход из start()  }
//--------------------------------------------------------------------

Uma função simples que me diz se o preço está acima ou abaixo do EMA. Mas essa não é nem mesmo a questão.

por que quando Fact_Dn e Fact_UP tomam valores verdadeiros ou falsos em função, esses valores também são tomados por variáveis globais? Não é como se utilizássemos retorno(Fact_Up) por exemplo... pouco claro... ou podemos não usá-lo?