Saiba mais sobre outras "Estratégias Comerciais". - página 3

 
luenbo:

Este tipo de estratégia nomeia martingale, é melhor usá-lo com umstop loss se não sua conta será quebrada mais cedo ou mais tarde.

E geralmente se adequa a um mercado flutuante. Se você puder combinar estaestratégia com aestratégia de acompanhamento de tendências, a mesma lhe dará um melhor desempenho.

Mas é sempre difícil estimar se o mercado é plano ou tendencial~

Você pode anexar uma EA que demonstre ser este o caso?
 
Ubzen:

Descrição: O UbzenA_20130725 é um sistema que coloca negócios_ aleatórios. Acrescenta às negociações negativas quando o número de -pips excede os pips das bollinger_bands. Eu o consideraria um escalpador. Inclui um stoploss usando a moeda de depósito real $. O take profit também é a moeda de depósito real $. O volume_medida usa uma passagem_de_tempo para aumentar o volume (se o sistema ainda for negativo). Gosto deste tamanho de volume porque você pode discar para cima ou para baixo a agressão, dependendo do seu apetite.

  • -Pros: Capacidade de sobreviver a vários anos de testes e condições de mercado.
  • -Cons: Não fique rico rapidamente. Requer um capital de investimento relativamente grande.

Não há otimização feita para este sistema. Qualquer sugestão de melhoria, positiva ou negativa (só não seja rude).

  • Seu sistema é interessante, vou dar uma olhada mais de perto nele. Obviamente, 30% de lucro em 5 anos não é muito, mas é sua única maneira de controlar seu drawdown.
  • Por que você o considera um escalpador? Na minha opinião, não é um escalpador.
  • Por que você está definindo SL=0,00001 e TP=999999999,00000 em todos os seus pedidos ?
 
angevoyageur:
  • Seu sistema é interessante, vou dar uma olhada mais de perto nele. Obviamente, 30% de lucro em 5 anos não é muito, mas é sua única maneira de controlar seu saque.
  • Por que você o considera um escalpador? Não é um escalpador, na minha opinião.
  • Por que você está definindo SL=0,00001 e TP=999999999,00000 em todos os seus pedidos ?

1) Eu tendo a me concentrar em draw-downs. As pessoas tendem a se referir a mim como um triturador. Eu prefiro curvas lentas e constantes em comparação com curvas erráticas de corda selvagem. Se o draw-downs for de US$ 1.500 em lotes base de 0,01. É mais fácil para mim imaginar o que aconteceria em lotes de base de 0,02.

2) O SysTkePftVal de 5 tem sido Pips com algumas versões. Acho que, neste caso, seus $5 não se parecem muito com escalper. Entretanto, à medida que os lotes progridem, ele vai agir como um escalper para tamanhos maiores.

3) Falta de conhecimento de programação (acho que). Quando comecei o mql5, ele continuou me dando erros ao tentar enviar pedidos com sl e tp de zero. Essa era a minha maneira de contornar isso.

 
Ubzen:

1) Eu tendo a me concentrar em draw-downs. As pessoas tendem a se referir a mim como um moedor. Eu prefiro curvas lentas e constantes em comparação com curvas erráticas de corda selvagem. Se o draw-downs for de US$ 1.500 em lotes base de 0,01. É mais fácil para mim imaginar o que aconteceria em lotes de base de 0,02.

2) O SysTkePftVal de 5 tem sido Pips com algumas versões. Acho que, neste caso, seus $5 não se parecem muito com escalper. Entretanto, à medida que os lotes progridem, ele vai agir como um escalper para tamanhos maiores.

3) Falta de conhecimento de programação (acho que). Quando comecei o mql5, ele continuou me dando erros ao tentar enviar pedidos com sl e tp de zero. Essa era a minha maneira de contornar isso.

Sei que o estilo de codificação é preferência pessoal, mas quando você publica o código publicamente, acho que cabe aos outros lê-lo, por isso me permito algumas sugestões/observações:

  • Faça comentários
  • Principalmente se você estiver usando nome de função críptico (para outras) (ClsSymSetPos, YesLstTrdWin, YesLstTrdWin...)
  • Use o modelador (CTRL+,) para organizar seu código.
  • O espaço entre linhas de código é permitido.

O que é mais legível ?

void SetTradePrices(ENUM_ORDER_TYPE Type,MqlTradeRequest& Trade){
    if(Type!=ORDER_TYPE_BUY && Type!=ORDER_TYPE_SELL){return;} double Price=0;
    if(Type==ORDER_TYPE_BUY){Price=SymbolInfoDouble(CurSetSymbol,SYMBOL_ASK);}
    if(Type==ORDER_TYPE_SELL){Price=SymbolInfoDouble(CurSetSymbol,SYMBOL_BID);}
    Trade.price=Price;//////////////////////////////////////////
    double  SymPoint=SymbolInfoDouble(CurSetSymbol,SYMBOL_POINT);
    if(Type==ORDER_TYPE_BUY){Trade.sl=SymPoint;  Trade.tp=999999999;}
    if(Type==ORDER_TYPE_SELL){Trade.tp=SymPoint; Trade.sl=999999999;}
}

ou

void SetTradePrices(ENUM_ORDER_TYPE Type,MqlTradeRequest &Trade)
  {
   if(Type!=ORDER_TYPE_BUY && Type!=ORDER_TYPE_SELL)
      return;

   double Price=0;

   if(Type==ORDER_TYPE_BUY)
      Price=SymbolInfoDouble(CurSetSymbol,SYMBOL_ASK);

   if(Type==ORDER_TYPE_SELL)
      Price=SymbolInfoDouble(CurSetSymbol,SYMBOL_BID);

   Trade.price=Price;

   double  SymPoint=SymbolInfoDouble(CurSetSymbol,SYMBOL_POINT);

   if(Type==ORDER_TYPE_BUY)
     {
      Trade.sl=SymPoint;  Trade.tp=999999999;
     }
   if(Type==ORDER_TYPE_SELL)
     {
      Trade.tp=SymPoint; Trade.sl=999999999;
     }
  }
 

Como você só processa o pedido de COMPRA e VENDA na função anterior, você pode usar esta sintaxe em mql5 :

void SetTradePrices(ENUM_ORDER_TYPE Type,MqlTradeRequest &Trade)
  {
   if(Type!=ORDER_TYPE_BUY && Type!=ORDER_TYPE_SELL)
      return;

   double SymPoint=SymbolInfoDouble(CurSetSymbol,SYMBOL_POINT);

   Trade.price    =SymbolInfoDouble(CurSetSymbol,Type==ORDER_TYPE_SELL ? SYMBOL_BID : SYMBOL_ASK);
   Trade.sl       =Type==ORDER_TYPE_BUY  ? SymPoint : 999999999;
   Trade.tp       =Type==ORDER_TYPE_BUY  ? 999999999 : SymPoint;
  }
 
angevoyageur:

Eu sei que estilo de codificação é preferência pessoal, mas quando você postar código publicamente eu acho que é para outros lerem, então eu me permito algumas sugestões/observações :

  • Faça comentários
  • Principalmente se você estiver usando nome de função críptico (para outras) (ClsSymSetPos, YesLstTrdWin, YesLstTrdWin...)
  • Use o modelador (CTRL+,) para organizar seu código.
  • O espaço entre linhas de código é permitido.

O que é mais legível ?

ou

Obrigado pelas sugestões. Prefiro explicar para aqueles que procuram entender o código. Obviamente, meu estilo é mais fácil para mim de entender. Em seu posto acima você usou dois tipos diferentes de estilos de colchetes. Eu só estou me perguntando por quê?

   if(Type==ORDER_TYPE_BUY)
     {
      Trade.sl=SymPoint;  Trade.tp=999999999;
     }

vs

   if(Type==ORDER_TYPE_BUY)
      Price=SymbolInfoDouble(CurSetSymbol,SYMBOL_ASK);

Esses são os tipos de perguntas com as quais terei que lidar. Algumas pessoas gostam de parênteses ... outras odeiam. Algumas pessoas gostam de comentários linha por linha ... Eu, por exemplo, odeio isso. Eu prefiro ver uma descrição no cabeçalho de cada função. Em minha mente, cria muito mais trabalho para algo que a maioria das pessoas não estaria modificando. Novamente para os interessados, estou mais do que disposto a explicar.

 
angevoyageur: Como você só processa o pedido de COMPRA e VENDA na função anterior, você pode usar esta sintaxe em mql5 :
Cool thx.
 
Ubzen:

Obrigado pelas sugestões. Prefiro explicar para aqueles que procuram entender o código. Obviamente, meu estilo é mais fácil para mim de entender. Em seu posto acima você usou dois tipos diferentes de estilos de colchetes. Eu só estou me perguntando por quê?

vs

Esses são os tipos de perguntas com as quais terei que lidar. Algumas pessoas gostam de parênteses ... outras odeiam. Algumas pessoas gostam de comentários linha por linha ... Eu, por exemplo, odeio isso. Eu prefiro ver uma descrição no cabeçalho de cada função. Em minha mente, cria muito mais trabalho para algo que a maioria das pessoas não estaria modificando. Novamente para os interessados, estou mais do que disposto a explicar.

Para os primeiros parênteses são obrigatórios, pois 2 instruções devem ser executadas quando a condição é verdadeira. Para a segunda, não são obrigatórias (1 instrução), mas não há problema em adicionar parênteses também, é claro.
 
angevoyageur: Para os primeiros parênteses são obrigatórios, pois 2 instruções devem ser executadas quando a condição é verdadeira. Para a segunda não são obrigatórias (1 instrução), mas não há problema em adicionar parênteses também, é claro.

Sim, isso mesmo. Eu sempre começo com if(){;} e não tenho que me preocupar com isso :P ... thx novamente.

ps> os espaços_brancos em seu código estão me enlouquecendo.

 

A média de entrada é sempre boa, quando você tem um lote enorme e quer sair, pode não haver volume para você sair pelo preço que você quer.

quando a notícia é divulgada, eu me pergunto se este sistema pode sobreviver como aud nos dias de hoje.

Documentation on MQL5: Standard Constants, Enumerations and Structures / Chart Constants / Chart Representation
Documentation on MQL5: Standard Constants, Enumerations and Structures / Chart Constants / Chart Representation
  • www.mql5.com
Standard Constants, Enumerations and Structures / Chart Constants / Chart Representation - Documentation on MQL5