Erfahren Sie mehr über andere "Trading-Strategien". - Seite 3

 
luenbo:

Diese Art von Strategie heißt Martingal, Sie sollten sie besser mit einemStop-Loss verwenden, sonst wird Ihr Konto früher oder später gebrochen.

Und es passt in der Regel für eine Fluktuation Markt. Wenn Sie dieseStrategie mit einerTrendfolgestrategiekombinieren können, wird sie Ihnen eine bessere Performance bieten.

Aber es ist immer eine schwierige Sache zu schätzen, ob der Markt ist flach oder Trend~

Können Sie einen EA anhängen, der dies zeigt?
 
Ubzen:

Beschreibung: Die UbzenA_20130725 ist ein System, das random_trades platziert. Es fügt negative Trades hinzu, wenn die Anzahl der -pips die bollinger_bands pips überschreitet. Ich würde es als einen Scalper betrachten. Enthält einen Stoploss mit tatsächlichen Einzahlung Währung $. Der Take-Profit ist auch tatsächliche Währung $. Die volume_size verwendet eine time_passage, um das Volumen zu erhöhen (wenn System noch negativ). Ich mag diese volume_sizing, weil Sie dial-up oder dial-down die Aggression je nach Ihrem Appetit.

  • -Vorteile: Die Fähigkeit, mehrere Jahre des Testens und der Marktbedingungen zu überleben.
  • -Gegensätze: Kein schnelles Geldverdienen. Erfordert ein relativ großes Investitionskapital.

Dieses System wurde nicht optimiert. Jeder Verbesserungsvorschlag, positiv oder negativ (nur nicht unhöflich sein).

  • Ihr System ist interessant, ich werde es mir genauer ansehen. Offensichtlich sind 30% Gewinn in 5 Jahren nicht viel, aber es ist die einzige Möglichkeit, den Drawdown zu kontrollieren.
  • Warum halten Sie es für einen Scalper? Meiner Meinung nach ist es kein Scalper.
  • Warum setzen Sie SL=0.00001 und TP=999999999.00000 auf alle Ihre Orders?
 
angevoyageur:
  • Ihr System ist interessant, ich werde es mir genauer ansehen. Natürlich sind 30% Gewinn in 5 Jahren nicht viel, aber es ist Ihre einzige Möglichkeit, den Drawdown zu kontrollieren.
  • Warum halten Sie es für einen Scalper? Meiner Meinung nach ist es kein Scalper.
  • Warum setzen Sie SL=0,00001 und TP=999999999,00000 für alle Ihre Aufträge?

1) Ich neige dazu, mich auf Draw-Downs zu konzentrieren. Die Leute bezeichnen mich oft als Grinder. Ich bevorzuge langsame, konstante Kurven im Vergleich zu wild schwankenden, unberechenbaren Kurven. Wenn der Drawdown 1500 Dollar bei 0,01 Basispartien beträgt. Es fällt mir leichter, mir vorzustellen, was bei Basispartien von 0,02 passieren würde.

2) Die SysTkePftVal von 5 wurde Pips mit einigen Versionen. Ich denke, in diesem Fall ist es $5, also sieht es nicht sehr nach Scalper aus. Mit fortschreitender Losgröße wird es sich jedoch wie ein Scalper für größere Größen verhalten.

3) Programmierung Mangel an Wissen (ich denke). Als ich mit mql5 begann, gab es immer wieder Fehlermeldungen, wenn ich versuchte, Aufträge mit sl und tp von Null zu senden. Das war mein Weg, es zu umgehen.

 
Ubzen:

1) Ich neige dazu, mich auf Draw-Downs zu konzentrieren. Die Leute bezeichnen mich oft als Grinder. Ich bevorzuge langsame, konstante Kurven im Vergleich zu wild schwankenden, erratischen Kurven. Wenn der Drawdown 1500 $ bei 0,01 Basispartien beträgt. Es fällt mir leichter, mir vorzustellen, was bei Basispartien von 0,02 passieren würde.

2) Die SysTkePftVal von 5 wurde Pips mit einigen Versionen. Ich denke, in diesem Fall ist es $5, also sieht es nicht sehr nach Scalper aus. Mit fortschreitender Losgröße wird es sich jedoch wie ein Scalper für größere Größen verhalten.

3) Programmierung Mangel an Wissen (ich denke). Als ich mit mql5 begann, gab es immer wieder Fehlermeldungen, wenn ich versuchte, Aufträge mit sl und tp von Null zu senden. Das war mein Weg, es zu umgehen.

Ich weiß, dass der Programmierstil eine persönliche Vorliebe ist, aber wenn man den Code öffentlich postet, ist es wohl für andere bestimmt, ihn zu lesen, also erlaube ich mir ein paar Vorschläge/Kommentare:

  • Kommentare machen
  • Vor allem wenn Sie kryptische (für andere) Funktionsnamen verwenden (ClsSymSetPos, YesLstTrdWin, YesLstTrdWin...)
  • Verwenden Sie den Styler (CTRL+,), um Ihren Code zu ordnen.
  • Leerzeichen zwischen den Codezeilen sind erlaubt.

Was ist besser lesbar?

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;}
}

oder

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;
     }
  }
 

Da Sie in der vorherigen Funktion nur BUY- und SELL-Order verarbeiten, können Sie diese Syntax in mql5 verwenden:

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:

Ich weiß, dass der Codierungsstil eine persönliche Vorliebe ist, aber wenn man den Code öffentlich postet, ist er wohl für andere lesbar, also erlaube ich mir einige Vorschläge/Bemerkungen:

  • Kommentare machen
  • Vor allem wenn Sie kryptische (für andere) Funktionsnamen verwenden (ClsSymSetPos, YesLstTrdWin, YesLstTrdWin...)
  • Verwenden Sie den Styler (CTRL+,), um Ihren Code zu ordnen.
  • Leerzeichen zwischen den Codezeilen sind erlaubt.

Was ist besser lesbar?

oder

Danke für die Vorschläge. Ich erkläre es lieber für diejenigen, die den Code verstehen wollen. Offensichtlich ist mein Stil für mich leichter zu verstehen. In Ihrem Beitrag oben haben Sie zwei verschiedene Arten von Klammern verwendet. Ich frage mich nur, warum?

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

vs

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

Das ist die Art von Fragen, mit denen ich mich auseinandersetzen muss. Manche Leute mögen Klammern ... manche hassen sie. Manche Leute mögen zeilenweise Kommentare ... Ich für meinen Teil hasse sie. Ich sehe viel lieber eine Beschreibung in der Kopfzeile jeder Funktion. Meiner Meinung nach macht das viel mehr Arbeit für etwas, das die meisten Leute nicht modifizieren würden. Für Interessierte bin ich gerne bereit, das zu erklären.

 
angevoyageur: Da Sie in der vorherigen Funktion nur BUY- und SELL-Order verarbeiten, können Sie diese Syntax in mql5 verwenden:
Cool, danke.
 
Ubzen:

Danke für die Vorschläge. Ich erkläre denjenigen, die den Code verstehen wollen, viel lieber etwas. Offensichtlich ist mein Stil für mich leichter zu verstehen. In Ihrem Beitrag oben haben Sie zwei verschiedene Arten von Klammern verwendet. Ich frage mich nur, warum?

vs

Das ist die Art von Fragen, mit denen ich mich auseinandersetzen muss. Manche Leute mögen Klammern ... manche hassen sie. Manche Leute mögen zeilenweise Kommentare ... Ich für meinen Teil hasse sie. Ich sehe viel lieber eine Beschreibung in der Kopfzeile jeder Funktion. Meiner Meinung nach macht das viel mehr Arbeit für etwas, das die meisten Leute nicht modifizieren würden. Für Interessierte bin ich gerne bereit, das zu erklären.

Für die erste sind Klammern obligatorisch, da 2 Anweisungen ausgeführt werden müssen, wenn die Bedingung wahr ist. Für die zweite sind sie nicht zwingend erforderlich (1 Anweisung), aber es ist natürlich kein Problem, Klammern hinzuzufügen.
 
angevoyageur: Für die erste sind die Klammern zwingend erforderlich, da 2 Anweisungen ausgeführt werden müssen, wenn die Bedingung wahr ist. Für die zweite sind sie nicht zwingend erforderlich (1 Anweisung), aber es ist kein Problem, Klammern auch natürlich hinzuzufügen.

Ja, das ist richtig. Ich fange einfach immer mit if(){;} an und muss mir keine Gedanken darüber machen :P ... thx again.

ps> die Leerzeichen in deinem Code machen mich wahnsinnig.

 

averaging in ist immer in Ordnung, wenn Sie riesige Losgröße haben und will zu beenden, könnte es kein Volumen für Sie zu dem Preis u wollen beenden.

wenn News Release, ich frage mich, ob dieses System wie aud überleben kann in diesen Tagen

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