Conselheiro Ivan - o melhor de ilan - página 7

 

E imediatamente um teste:

Ivan 1.004 USDJPY, M15, período 2016.01.01 a 2017.02.13

Ivan 1.004 USDJPY, M15, período 2016.01.01 a 2017.02.13

 
Vladimir Karputov:

Vou fazer assim por enquanto:versão Ivan "1.003":

  • Lógica para definir o nível de Stop Loss:
    • há um recuo mínimo - 50 pontos de modo antigo.
    • Stopp Loss toma o valor de iMA(36) MODE_SMMA em barra zero (o período de cálculo da média é escrito nos parâmetros de entrada).
    • se o nível de Stop Loss estiver mais próximo do preço atual do que o declive mínimo, a abertura da posição não ocorrerá
  • O Virtual Stop Loss foi substituído por posições de fuga.

O trabalho está fervendo - bom!

Entretanto, ainda não posso ver o trabalho - não tenho uma conta de câmbio - apenas da bolsa, e a EA não trabalha lá.

 
-Aleks-:

O trabalho está fervendo - bom!

Entretanto, ainda não consigo ver o trabalho - não tenho uma conta de divisas - apenas da bolsa, e o assessor não trabalha lá.

E eu tenho o oposto: nenhuma conexão com a troca no momento. E será como nessa canção:

Você é um marinheiro, eu sou um marinheiro.

Você é uma pescadora, eu sou um pescador.

Você está em terra, eu estou no mar.

Nunca nos encontraremos.

Adicionado:

Negociar na bolsa é netting e meu conselheiro é apenas para hedging (como informado pela impressão de erro ao tentar se conectar a uma conta de câmbio):

2017.02.26 14:04:05.291 2016.04.22 00:00:00   Hedging only!

). Portanto, a troca está passando com um apito de compensado em Paris.

 
Vladimir Karputov:

Eu tenho o oposto: não há conexão na troca neste momento. E será como nessa canção:

Você é um marinheiro, eu sou um marinheiro.

Você é um pescador, eu sou um pescador.

Você está em terra, eu estou no mar.

Nunca nos encontraremos.

Adicionado:

Negociar na bolsa é netting e meu conselheiro é apenas para hedging (como informado pela impressão de erro ao tentar se conectar a uma conta de câmbio):

2017.02.26 14:04:05.291 2016.04.22 00:00:00   Hedging only!

). Assim, a troca voa com um assobio de compensado em Paris.

Sim, eu entendo, eu só tenho Forex com menos de 4 anos - talvez mais tarde eu abra em demonstração - eu vou deixar idéias se for interessante.

 
Ensine-me alguém com um profissional como usar o testador mt5, não posso levar muito tempo no modo de voz.
 
Vitaly Muzichenko:
Ensine-me alguém com um profissional como usar o testador mt5, não posso levar muito tempo no modo de voz.
Chamada...
 
Vladimir Karputov:

Não, não acho que seja uma boa abordagem: há muitas pessoas, todos gostam de pares diferentes e prazos diferentes. Prefiro prescrevê-lo diretamente nos parâmetros de entrada:


Versão Ivan "1.004":

  • variáveis introduzidas
    • "Distância mínima do preço para parar a perda (em pips)" - a distância mínima entre o preço e o nível de Stop Loss - se essa distância for menor, nenhuma posição será aberta
    • "Trailing Step(em pips)- o passo para o trailing
  • proteção na abertura de posição:
    • para COMPRAR - se uma das posições COMPRARaberta tiver um preço de abertura inferior ao preço atual - a posição COMPRAR não será aberta
    • para a posição de VENDA - se uma das posições de VENDA tiver um preço de abertura superior ao preço atual - então a posição de VENDA não será aberta
Sim, isso é muito melhor. Eu otimizei com suas recomendações, consegui até 50% para 2 semanas de otimização, mas quando fiz o teste por um mês, perdi a mesma quantidade ))
 
-Aleks-:

O trabalho está fervendo - bom!

Entretanto, ainda não posso olhar para o trabalho - não tenho conta no Forex - apenas da bolsa de valores, e o assessor não trabalha lá.

É simplesmente horrível. Para abrir uma demonstração no servidor MetaQuotes-Demo, é necessário um minuto e meio))
 

Versão Ivan "1.005":

  • Função fixa "FindPosition" para encontrar a posição mínima/máxima de um determinado tipo (busca de preço):
  •                if(mode==MODE_LOW)
                     {
                      if(m_position.PriceOpen()<price)
                         price=m_position.PriceOpen();
                     }
                  }
       if(price==DBL_MIN || price==DBL_MAX)
          price=0;

       return(price);
      }
    agora se nenhuma posição de um determinado tipo foi especificada, um preço de "0" será devolvido - anteriormente era possível devolver um valor DBL_MIN ou DBL_MAX.
  • Fixou a função para abrir uma posição de compra. Uma variante desfavorável foi possível antes - quando várias posições de compra consecutivas foram abertas e cada uma delas consecutiva foi aberta a um preço pior do que a anterior - no caso de atingir a inversão da tendência, ela causou perdas apreciáveis:
    más compras

    isto agora foi corrigido (sim, sim, sim - o erro estava no sinal de condição - anteriormente era um sinal "<":
  •       return;
         }
    //--- the position of BUY can't be open below the lowest
       double price_open_low=FindPosition(POSITION_TYPE_BUY,MODE_LOW);
       if(price_open_low!=0)
          if(price_open_low> m_symbol.Ask())
             return;

       sl=m_symbol.NormalizePrice(sl);
       double tp=0.0;
  • Adicionado:

    Ivan 1.005

Arquivos anexados:
Ivan.mq5  45 kb
 

Versão Ivan "1.006":

  • Foi introduzida a proteção do lucro:
    • novo parâmetro de entrada"InpCoefProtectionProfit" - calculado como m_account.Equity()/m_account.Balance() (Fundos divididos por Saldo).
    • Quando a equidade excede o saldo por um fator de "InpCoefProtectionProfit" fechamos todas as posições - protegendo assim o lucro:
      //--- we work only at the time of the birth of new bar
         static datetime dtPrevBars=0;
      //--- protection of profit
         if(m_account.Equity()/m_account.Balance()>InpCoefProtectionProfit)
            bCloseAll=true;

      //--- trailing stop (at every tick)
         if(!RefreshRates())
            return;
         TrailingStop();
Arquivos anexados:
Ivan.mq5  46 kb