Verificação da parada mínima nos EAs publicados no mercado. - página 3

 
Ihor Herasko:

Desculpe-me, mas onde em seu código está o valor da variável StopLevel discutido? No código que você citou, não há nenhuma mudança no valor desta variável. Há uma mudança nos valores de Stop e Profit. Como resultado, se você os aumentar uma vez, será impossível devolver esses valores aos valores iniciais. Assim, você perseguirá grandes paradas e lucros, enquanto o Nível de Parada diminuiu há muito tempo.

Não possuo as informações sobre muitos corretores (dezenas, centenas). Com esses corretores com os quais tenho que lidar (como os clientes têm contas lá), vejo uma figura de 2 spreads. Talvez haja um valor diferente em algum lugar.

Na minha opinião, esta é fundamentalmente a abordagem errada para que um corretor forneça informações. Existe um mecanismo padrão para obter restrições sobre as rolhas. Se recebermos 0 a pedido, mas na realidade não é zero. Em seguida, troque-a a cada tick, dependendo do valor de spread, conforme a necessidade. Meu corretor que exibe corretamente o nível de parada é o único corretor que tem o valor correto.

Eu fiz uma conclusão baseada no nome da função - OnInitLevels. Ela está associada a uma única ação.

Você está certo, nossas funções não são semelhantes, mas o sentido é o mesmo,

Quando eu mudo a variável interna, a externa permanece a mesma e quando a parada é maior ou menor - então todas as variáveis internas são rearranjadas, tudo está OK.

Mas min stop = assign spread *2 Vou tentar o que o servidor MetakvotesDemo tem a dizer.

 
Vitalii Ananev:

Eu fiz isso

O Expert Advisor tem a capacidade de ajustar a parada de 3 maneiras. Ajustar manualmente o tamanho de parada (StopLoss) ou zerá-lo.

Se StopLoss for igual a zero, seu tamanho é calculado com base nas condições de mercado, mas limitado pela variável StopLimit.

E no OnInit() estes parâmetros são verificados quanto à exatidão, pois não faz sentido colocar uma parada abaixo de 10 pontos.

Sim, mas e se a parada = 8, como no MetacvotesDemo Server?
 

Eu fiz isso.

int OnInitLevels(string symToWorkmodify)
  {
   int stoplevel;
   stoplevel=SymbolInfoInteger(symToWorkmodify,SYMBOL_TRADE_STOPS_LEVEL);
   double ask=SymbolInfoDouble(symToWorkmodify,SYMBOL_ASK);
   double bid=SymbolInfoDouble(symToWorkmodify,SYMBOL_BID);
   double point=SymbolInfoDouble(symToWorkmodify,SYMBOL_POINT);
   int SPREAD=(ask-bid)/point;
   if(stoplevel==0)stoplevel=SPREAD*2;
   if(lot<SymbolInfoDouble(symToWorkmodify,SYMBOL_VOLUME_MIN))lots=SymbolInfoDouble(symToWorkmodify,SYMBOL_VOLUME_MIN);else
   if(lot>SymbolInfoDouble(symToWorkmodify,SYMBOL_VOLUME_MAX))lots=SymbolInfoDouble(symToWorkmodify,SYMBOL_VOLUME_MAX);else lots=lot;
   if(StopLoss>0 && StopLoss<stoplevel)StopLosss=(int)stoplevel;else StopLosss=StopLoss;
   if(TakeProfit>0 && TakeProfit<stoplevel)TakeProfits=(int)stoplevel;else TakeProfits=TakeProfit;
   if(TrailingStop>0 && TrailingStop<stoplevel)TrallingStops=(int)stoplevel;else TrallingStops=TrailingStop;
   if(TakeProfitALL>0 && TakeProfitALL<stoplevel)TakeProfitsAver=(int)stoplevel;else TakeProfitsAver=(int)TakeProfitALL;
   if(TrailingStop>0 && TrailingStop<stoplevel)TrallingStops=(int)stoplevel;else TrallingStops=TrailingStop;

   return(0);
  }

Vou esperar para ouvir o que o moderador tem a dizer.

 
Vitalii Ananev:

Eu fiz isso

O Expert Advisor tem a capacidade de ajustar a parada de 3 maneiras. Ajustar manualmente o tamanho de parada (StopLoss) ou zerá-lo.

Se StopLoss for igual a zero, seu tamanho é calculado com base nas condições de mercado, mas limitado pela variável StopLimit.

E no OnInit() estes parâmetros são verificados quanto à exatidão, pois não faz sentido colocar uma parada abaixo de 10 pontos.

Você não deve sugerir isso, seus cheques não contêm nenhuma referência às condições comerciais da conta, os números estão vindo do teto
 
Alexander Bereznyak:
Você não pode sugerir isso, seus cheques não têm nenhuma referência às condições comerciais na conta, os números são do teto
Eles são do teto aqui, não vou escrever aqui todo o código do Expert Advisor. Depende de você se concorda ou não com minha abordagem, não vou impor a você.
 
Vladislav Andruschenko:
Sim, mas se parar = 8, por exemplo, como o servidor MetakwotsDemo?
Você quer dizer parar a perda = 8? No exemplo, eu estabeleço a parada mínima de perda não baseada nas condições comerciais. Mas com base no expediente e na estratégia comercial implementada na EA.
 
Vitalii Ananev:
Você quer dizer nível de parada = 8? No exemplo, eu estabeleço o tamanho mínimo de stop loss não baseado nas condições comerciais. Mas por razões de conveniência e pela estratégia comercial implementada na EA.

Sim, eu entendo, estratégia e assim por diante.

não se trata de estratégia, etc.

Quando você coloca uma EA no mercado, eles cortam sua estratégia para verificá-la, então eles colocam um fim não 100 pontos como para uma estratégia, mas 1!

acontece que é um erro de 130, era sobre isso que eu estava perguntando :-)

 
Vitalii Ananev:
Você quer dizer nível de parada = 8? No exemplo, eu estabeleço a parada mínima de perda não baseada nas condições comerciais. Baseia-se no expediente e na estratégia comercial implementada na EA.
A razoabilidade pode entrar inadvertidamente em conflito com as condições comerciais da conta
 
Vladislav Andruschenko:

Sim, eu entendo, estratégia e assim por diante.

não se trata de estratégia, etc.

Quando você coloca uma EA no mercado, eles cortam sua estratégia para verificá-la, então eles colocam um fim não 100 pontos como para uma estratégia, mas 1!

acontece que é um erro de 130, era sobre isso que eu estava perguntando :-)

É disso que eu estava falando. Se o nível de parada estiver flutuando, então ou amarre-o a um spread como sugerido por Alexander ou estabeleça algumas condições de limite abaixo das quais você não pode definir o tamanho da parada de perda.
 
Vitalii Ananev:
É disso que estou falando, se o nível de parada estiver flutuando, então ou amarre-o ao spread como Alexander sugeriu ou estabeleça algumas condições de limite abaixo das quais você não pode definir o tamanho do stop loss.

Eu verifiquei a propagação*2 - vamos ver o que eles dizem.

Razão: