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 340

 
mal vivo:


Há um botão SRC no painel de edição, o código é colorido automaticamente ;)

Quanto ao código, se ele usa if (OrderSymbol() == Symbol()...) então se (OrderSymbol()!= Symbol()) continuar; não precisamos de um ou de outro.

para (int k = 0; k < OrderTotal(); k++) é melhor substituir isto por

para (int k = OrderTotal()-1; k >=0 ; k--), é mais seguro



Eu escrevi desta maneira


if(NumberOfPositionsSell(Symbol())==1 &&  NumberOfPositionsBay_otl(Symbol())==1  &&GetOrderLotsOtlBay(Symbol())==start_Lot*2  &&GetOrderLotsSell(Symbol())==start_Lot)
{
 
     for (int kk = OrdersTotal()-1; kk >=0 ; kk--) 
      {
      
       if (OrderSelect(kk,SELECT_BY_POS)==true) // Если есть следующий
{ // Анализ ордеров:
      
      if (OrderSymbol() == Symbol() && OrderType() == OP_BUYSTOP ) {
      

      tp_buy_otl=NormalizeDouble(b+((((2*Point)+spred+(b+Point+spred-GetOrderPriceSell(Symbol()))/Point)/2)*Point), Digits);
      sl_buy_otl=NormalizeDouble(GetOrderPriceSell(Symbol()), Digits);
      OrderModify(OrderTicket(), NormalizeDouble(b+Point+spred, Digits),sl_buy_otl,tp_buy_otl,0);
     
       Alert("tp_buy_otl = ",DoubleToStr(tp_buy_otl, Digits)+"\n"+"sl_buy_otl =  ",DoubleToStr(sl_buy_otl, Digits)+"\n"+" цена открытия бай стоп = ",  DoubleToStr(b+Point+spred, Digits)+"\n"+"OrderSymbol() =  ",OrderSymbol()+"\n"+"OrderType() = ",OrderType());
     
      
     }
      
      
      if (OrderSymbol() == Symbol() && OrderType() == OP_SELL ) {
      
      sl_sell_otl=NormalizeDouble(b+spred+Point, Digits);
      OrderModify(OrderTicket(),OrderOpenPrice(), sl_sell_otl,OrderTakeProfit(),0);
       
      }
      }
      }
      
} 

а в алерте почемуто OrderSymbol()==GBPUSD посмотрите на скин
да и открытый селл он модифицировал а отложенный нет


Assim que retirei a ordem pendente para gbpusd e retirei a EA da mesma, a ordem para o euro foi modificada imediatamente


 
max020780:

Assim que retirei a ordem pendente sobre gbpusd e retirei a EA da mesma, a ordem sobre euro foi modificada imediatamente

Use Magicky para filtrar os pedidos. E não há verificação para modificações repetidas de paradas (o que causa Erro de Modificação 1).
 

Olá a todos. Pessoal, vocês podem me dizer se este teste de um EA durante 5 anos pode ser considerado bem-sucedido. Ou é a rentabilidade pequena e o drawdown grande. Eu gostaria de ouvir minha opinião, os dados do testador são muito diferentes da conta real (testei-os no terminal Alpari)? Estou mostrando os resultados:

Período valor rentabilidade levantamento de crédito valor da transação
01.06.2012-30.05.2013 1490.63 1.7 37.08% (389.71)
213
01.06.2011-30.05.2012
1242.23 1.48 25.82% (448.34) 231
01.06.2010-30.05.2011 1677.66 1.62 53.26% (880.57)
213
01.06.2009-30.05.2010 1664.33 1.68 32.16% (560.68) 208
01.06.2008-30.05.2009 1817.72 1.48 43.73% (472.15) 233
 
alexey1979621:

Olá a todos. Pessoal, vocês podem me dizer se este teste de um EA durante 5 anos pode ser considerado bem-sucedido. Ou a rentabilidade é pequena e o drawdown é grande. Eu gostaria de ouvir minha opinião, os dados do testador são muito diferentes da conta real (testei-os no terminal Alpari)? Estou mostrando os resultados:

Período quantia rentabilidade levantamento de crédito valor da transação
01.06.2012-30.05.2013 1490.63 1.7 37.08% (389.71)
213
01.06.2011-30.05.2012
1242.23 1.48 25.82% (448.34) 231
01.06.2010-30.05.2011 1677.66 1.62 53.26% (880.57)
213
01.06.2009-30.05.2010 1664.33 1.68 32.16% (560.68) 208
01.06.2008-30.05.2009 1817.72 1.48 43.73% (472.15) 233

Isto é uma grande desvantagem e a rentabilidade não é suficiente... Qual é o valor do saque dos fundos?

Ou poderia ser:

Saque absoluto: 2 ,40 USD
Máximo: 9 ,08 USD

Relativo: 0 ,78%)

Max Money: 97,81% ))

 
evillive:

É uma grande desvantagem e a rentabilidade é um pouco baixa... Qual é o valor do saque dos fundos?

Pode ser que assim seja:

Saque absoluto: 2,40 USD.
Máximo: 9,08 USD

Relativo: 0,78%

Máx. de fundos: 97,81% ))

O drawdown relativo é indicado. O saque absoluto é mais ou menos o mesmo em porcentagens e dinheiro. Os dados do testador diferem muito da conta real? Então o que devo fazer com o Expert Advisor - devo colocá-lo na conta real (parece funcionar bem por 3 semanas na conta demo) ou colocá-lo na prateleira até que haja novas idéias para sua melhoria?
 
Deixe a demonstração funcionar por pelo menos meio ano. O testador não mostra o sorteio por meios, mas você pode vê-lo em tempo real. O que tenho mostrado - trabalho sem paradas, drawdowns com excesso de vista. A vida das contas anteriores - 2-3 meses, esta está viva desde agosto, vou ver quanto tempo durará ))))
 
Se você tem experiência, a partir de que parâmetros você deve começar: rentabilidade mínima e drawdown? Se a rentabilidade for inferior a 1,5% e o drawdown for superior a 50% em 5 anos, então meu consultor especializado deve ser colocado na prateleira até tempos melhores.
 
Forexman77:

Estou usando meu próprio indicador no EA, vejo visualmente durante os testes que ele está crescendo e de acordo com as condições que ele deve abrir a compra, mas isso não acontece.

Vejo os seguintes erros no registro (tenho dois tipos. Estou mostrando-os um por um):

TestGenerator: erro de dados incomparável (limite de volume 372 em 2013.12.11 21:00 excedido)

TestGenerator: erro de dados incomparável (valor baixo 1.33097 em 2013.09.12 19:45 não é alcançado a partir do menor prazo, preço baixo 1.33105 desajustes)

Talvez haja algumas peculiaridades com o funcionamento de indicadores personalizados? Há dois meses eu ando mexendo com esta EA e estou adiando indefinidamente.

Baixe o histórico completo do símbolo que está sendo testado. Não é a EA que está causando o erro, é a história "tortuosa".
 
Forexman77:

Erros 129.138 ocorrem de vez em quando em uma EA. O problema só é resolvido após o reinício do terminal.

Quero adicionar a função de Informações de Mercado para atualizar ofertas e solicitações e depois verificar.

É possível chamar artificialmente os erros 129.138?

Erro 129 - preço errado

Erro 138 - novos preços (requote)

Antes de enviar um pedido comercial, obtenha os preços mais recentes, seja atualizando o ambiente comercial usando o RefreshRates(), ou diretamente do MarketInfo()

Não se esqueça disso:

Conselheiros especializados e roteiros trabalham com sua própria cópia de dados históricos. A cópia dos dados sobre o símbolo atual é criada no primeiro lançamento do Expert Advisor ou roteiro.

Cada vez que o Expert Advisor ou roteiro é executado em seguida, a cópia inicialmente criada é atualizada. Enquanto o Expert Advisor ou roteiro estiver em execução, um ou mais tiquetaques novos podem chegar, de modo que os dados podem ficar desatualizados.

 
artmedia70:

Erro 129 - preço incorreto

Erro 138 - novos preços (requote)

Antes de enviar um pedido comercial, obtenha os preços mais recentes atualizando o ambiente comercial usando o RefreshRates(), ou diretamente do MarketInfo()

Não se esqueça disso:

Conselheiros especializados e roteiros trabalham com sua própria cópia de dados históricos. A cópia dos dados sobre o símbolo atual é criada no primeiro lançamento do Expert Advisor ou roteiro.

Cada vez que o Expert Advisor ou roteiro é executado em seguida, a cópia inicialmente criada é atualizada. Enquanto o Expert Advisor ou roteiro estiver em execução, um ou mais tiquetaques novos podem chegar, de modo que os dados podem ficar desatualizados.


Muito obrigado!

Agora eu sei qual é o problema.

Eu o usei para comprar:

if  (iClose(Symbol(),Period(),0) <= MA_6_t) 
          {                                          
          Opn_B=true;                    
          }

Tanto quanto sei, comprar é pedir, mas iClose(Symbol(),Period(),0) aceita preços de licitação. Esta pode ser a razão do erro.

Agora eu uso a seguinte combinação:

double pa=MarketInfo(Symbol(),MODE_ASK);
if  (pa <= MA_6_t) 
          {                                          
          Opn_B=true;                    
          }
Mas então tenho uma pergunta, porque a EA não é uma EA baseada em pips, o preço esteve na zona de compra por muito tempo e atualizado a cada tique.

Por que o comércio não é aberto? Acontece que a EA pende no erro e não vê mais movimento de preços?

Eu peguei o modelo para meu consultor especializado em https://c.mql5.com/mql4/book/mq4/experts/tradingexpert.mq4

Na sua opinião, devo acrescentar à função de tratamento de erros nesta EA uma verificação de 129 e 138 erros?

Se sim, como fazer isso?