Seite 1 von 572 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Money Mgmt-Funktion

  1. #1
    Wie würden Sie eine Geldverwaltungsfunktion in einen EA einbinden?

    zum Beispiel:

    Bei einem Kontostand von 500 USD oder weniger werden 0,1 Lots gehandelt
    Bei einem Kontostand von 1000 USD oder mehr werden 0,2 Lots gehandelt
    Bei einem Kontostand von 1500 USD oder mehr werden 0,3 Lots gehandelt
    Bei einem Kontostand von 2000 USD oder mehr werden 0,4 Lots gehandelt
    Bei einem Kontostand von 2500 USD oder mehr werden 0,5 Lots gehandelt
    Bei einem Kontostand von 3000 USD oder mehr werden 0,6 Lots gehandelt
    Bei einem Kontostand von 3500 USD oder mehr werden 0,7 Lots gehandelt
    Bei einem Kontostand von 4000 USD oder mehr werden 0,8 Lots gehandelt
    Bei einem Kontostand von 4500 USD oder mehr werden 0,9 Lots gehandelt
    Wenn der Kontostand 5000 USD oder mehr beträgt, handeln Sie mit 1,0 Lots
    Bei einem Kontostand von 5500 USD oder mehr werden 1.1 Lots gehandelt
    usw. Für jede Erhöhung des Guthabens um 500 USD werden 0,1 Lose hinzugefügt

  2. #2
    Wenn Sie Ihren EA anhängen, verschlüsselt ihn höchstwahrscheinlich jemand. Freundliche Grüße

  3. #3
    Teilen Sie einfach Ihr Guthaben durch 5000 und speichern Sie es als Losgröße.

  4. #4
    ich benutze nur ibfx, aber nachdem ich ea's und every1 mit verschiedenen Brokern geteilt hatte, brauchte ich ein Money Management, das bei allen Brokern funktionierte, ohne etwas zu ändern. Dies funktioniert mit 4 bis 5 Ziffern. Mein Money Management wurde an 3 verschiedenen Brokern getestet, einschließlich verschiedener Hebel odl, ibfx , Sparren. Dies ist ein einfaches Skript, um eine Kaufposition zu eröffnen, wenn Sie die SL-Funktion verwenden oder nicht. Die SL sind die Pips. Das Risiko ist der Prozentsatz des Kontos pro Pips. Eingefügter Code #property show_inputs double risk = 3.5; extern int stop_loss = 25; bool use_sl = false; double my_point, digits, sl; int start () {if (Punkt == 0,0001) my_point = 0,0001; if (Point == 0.00001) my_point = 0,0001; if (Point == 0.01) my_point = 0.01; if (Point == 0.001) my_point = 0.01; if (use_sl) sl = Ask-stop_loss * my_point; if (! use_sl) sl = NULL; if (MarketInfo (Symbol (), MODE_LOTSTEP) == 0,001) Ziffern = 3; if (MarketInfo (Symbol (), MODE_LOTSTEP) == 0,01) Ziffern = 2; if (MarketInfo (Symbol (), MODE_LOTSTEP) == 0.1) Ziffern = 1; if (MarketInfo (Symbol (), MODE_LOTSTEP) == 1) Ziffern = 0; Doppellose = (AccountFreeMargin ()MarketInfo (Symbol (), MODE_MARGINREQUIRED)AccountLeverage ()) * Risiko(100 * my_point)stop_loss; if (lotslt; MarketInfo (Symbol (), MODE_MINLOT)) {lots = MarketInfo (Symbol (), MODE_MINLOT);} if (lotsgt; MarketInfo (Symbol (), MODE_MAXLOT)) {lots = MarketInfo (Symbol (), MODE_MAXLOT) ;} lots = NormalizeDouble (Lose, Ziffern); OrderSend (Symbol (), OP_BUY, Lose, Fragen, 3, sl, NULL, Skript, NULL, 0, CLR_NONE); Rückkehr; } Dies ist die Zeile mit dem mathematisch eingefügten Code double lots = (AccountFreeMargin ()MarketInfo (Symbol (), MODE_MARGINREQUIRED)AccountLeverage ()) * risk(100 * my_point)stop_loss; Hier ist die Aufschlüsselung der mathematischen freien Marge geteilt durch den Betrag, der für die Eröffnung eines Loses erforderlich ist, geteilt durch die Hebelwirkung. Dies ergibt 1% des Kontos in 100 Pips. Ich habe dies hinzugefügt, um das Risiko und die Pips * risk(100 * my_point)stop_loss zu bearbeiten ;

  5. #5

    Zitat Zitat von ;
    Teilen Sie einfach Ihr Guthaben durch 5000 und speichern Sie es als Losgröße.
    TJ, das wäre zu einfach. Was ich tun möchte, ist, die Losgröße basierend auf dem aktuellen Kontostand vor jedem Trade schrittweise zu erhöhen. Wenn sich das Eigenkapital um einen festgelegten Betrag erhöht, sind in diesem Fall 500 USD pro Trade inkrementell um 0,1 Lot höher. Wenn der Saldo $ 5000 überschreitet, wird in Schritten von 1,0 bis 1,1 gehandelt und so weiter. Bei 10.000 würde es bei 2,0 Lots mit 10.500 Aktien handeln, es würde 2,5 Lots usw. handeln. Dieser Code müsste in Echtzeit verarbeitet werden, wenn Trades während des Schlafs ausgelöst wurden, würde die maximale Anzahl von Lots oder Minilots sein basierend auf dem erforderlichen Eigenkapital pro Inkrement gehandelt.

  6. #6
    1 Anhang (Anhänge) Trendchaser, danke fürs Teilen. Ich benutze ibfx und habe mich gefragt, wie das in einem Beispiel wie dem unten angehängten implementiert werden könnte, das von Metatrader erstellt und vor einigen Tagen in einem anderen Thread gepostet wurde. Ich möchte in der Lage sein, die Menge zu definieren, die für jede Losgröße von 0,1 in Dollar benötigt wird. Derzeit sind es 500 USD pro 0,1 oder Mini-Lot pro Trade. So würde beispielsweise eine freie Marge von 2450 USD einen Kauf oder Verkauf mit einer Lot-Größe von 0,4 auslösen, und 2650 USD würden einen Trade mit einer Lot-Größe von 0,5 auslösen. Die freie Margin wird vor jedem Trade in Echtzeit berechnet. Der Hauptzweck ist es natürlich, dieser Geldverwaltungsfunktion zu erlauben, den maximalen Betrag zu handeln, den ich alloiere, selbst wenn Trades im Schlaf abgefeuert werden
    .
    Zitat Zitat von ;
    ich benutze nur ibfx, aber nachdem ich ea's und every1 mit verschiedenen Brokern geteilt hatte, brauchte ich ein Money Management, das bei allen Brokern funktionierte, ohne etwas zu ändern , Sparren. Dies ist ein einfaches Skript, um eine Kaufposition zu eröffnen, wenn Sie die SL-Funktion verwenden oder nicht. Die SL sind die Pips. Das Risiko ist der Prozentsatz des Kontos pro Pips. extern int stop_loss = 25; bool use_sl = false; double my_point, digits, sl; int ...
    https://www.tradingintuitive.com/att...6329438060.mq4

  7. #7
    setzen Sie dies oben auf den Code Eingefügter Code extern double risk = 3.5; extern int stop_loss = 25; bool use_sl = false; double my_point, digits, sl; setze dies nach start () Eingefügter Code if (Point == 0,0001) my_point = 0,0001; if (Point == 0.00001) my_point = 0,0001; if (Point == 0.01) my_point = 0.01; if (Point == 0.001) my_point = 0.01; if (use_sl) sl = Ask-stop_loss * my_point; if (! use_sl) sl = NULL; if (MarketInfo (Symbol (), MODE_LOTSTEP) == 0,001) Ziffern = 3; if (MarketInfo (Symbol (), MODE_LOTSTEP) == 0,01) Ziffern = 2; if (MarketInfo (Symbol (), MODE_LOTSTEP) == 0.1) Ziffern = 1; if (MarketInfo (Symbol (), MODE_LOTSTEP) == 1) Ziffern = 0; Doppellose = (AccountFreeMargin ()MarketInfo (Symbol (), MODE_MARGINREQUIRED)AccountLeverage ()) * Risiko(100 * my_point)stop_loss; if (lotslt; MarketInfo (Symbol (), MODE_MINLOT)) {lots = MarketInfo (Symbol (), MODE_MINLOT);} if (lotsgt; MarketInfo (Symbol (), MODE_MAXLOT)) {lots = MarketInfo (Symbol (), MODE_MAXLOT) ;} lots = NormalizeDouble (Lose, Ziffern); Setzen Sie jetzt in allen Funktionen von ordersend Lose und sl (sl ist optional). Eingefügter Code OrderSend (Symbol (), OP_BUY, # 91; b # 93; Lose # 91;b # 93;, Ask, 3, # 91; b # 93; sl # 91;b # 93;, NULL, Skript, NULL, 0, CLR_NONE); überall, wo Sie Point benutzt haben, ersetzen Sie es durch my_point thats it, wenn Sie bool verlassen. use_sl = false; theres kein sl, wenn Sie es zu Bool ändern use_sl = true; Sie müssen ein wenig mit der Risikoeinstellung spielen, bis Sie das gewünschte Losinkrement erreicht haben. AccountFreeMargin () kann durch Accountequity oder Accountbalance ersetzt werden, obwohl dies keinen großen Unterschied machen würde

  8. #8
    mit einem Lesezeichen versehen

  9. #9
    1 Attachment (s) So hätte ich es gemacht. Ich habe eine kleine Funktion geschrieben, das ist die Logik, und dann habe ich sie in ein Indior gestellt, das sie aufruft, damit Sie sehen können, wie sie verwendet wird. PHP Code: <code> <span style = ”color: # 000000”> <span style = ”color: # 0000BB”> </span> <span style = ”color: # FF8000”>/Funktionstoreturnaincremntedlotamountforagivenbala ncebydollarincrements. <Br> </span> <span style = ”color: # 0000BB”> doubleLotsize </span> <span style = ”color: # 007700”> (</span> <span style = ”color: # 0000BB”> doublebleacctbalance <span> <span style = ”color: # 007700”>, </span> <span style = ”color: # 0000BB”> doubleincrement </span> <span style = ”color: # 007700”>, </span > <span style = ”color: # 0000BB”> doublebaselot </span> <span style = ”color: # 007700”>)
    {</span> <span style = ”color: # FF8000”>/AccountBalanceevery$5000.01forevery$500

    </span> <span style = ”color: # 0000BB”> intlotmultiple </span> <span style = ”color: # 007700”> = </span> < span style = ”color: # 0000BB”> Gleichgewicht </span> <span style = ”color: # 007700”></span> <span style = ”color: # 0000BB”> inkrementieren </span> <span style = ”Farbe: # 007700”>;
    </span> <span style = ”Farbe: # 0 000BB ”> Doppellots </span> <span style =” Farbe: # 007700 ”> = </span> <span style =” Farbe: # 0000BB ”> Basislot </span> <span style =” Farbe: # 007700 ” > * </span> <span style = ”color: # 0000BB”> lotmultiple </span> <span style = ”color: # 007700”>;
    return (</span> <span style = ”color : # 0000BB ”> Lose </span> <span style =” Farbe: # 007700 ”>);
    }
    </span> <span style =” Farbe: # 0000BB ”> </span > </span> </code>
    https://www.tradingintuitive.com/att...1132090665.mq4

  10. #10

    Zitat Zitat von ;
    So hätte ich es gemacht. Ich habe eine kleine Funktion geschrieben, das ist die Logik, und dann habe ich sie in ein Indior gestellt, das sie aufruft, damit Sie sehen können, wie sie verwendet wird. PHP Code: <code> <span style = ”color: # 000000”> <span style = ”color: # 0000BB”> </span> <span style = ”color: # FF8000”>/Funktionstoreturnaincremntedlotamountforagivenbala ncebydollarincrements. <Br> </span> <span style = ”color: # 0000BB”> doubleLotsize </span> <span style = ”color: # 007700”> (</span> <span style = ”color: # 0000BB”> doublebleacctbalance <span> <span style = ”color: # 007700”>, </span> <span style = ”color: # 0000BB”> doubleincrement </span> <span style = ”color: # 007700”>, </span > <span style = ”color: # 0000BB”> doublebaselot </span> <span style = ”color: # 007700”>)
    {</span> <span style = ”color: # FF8000”>/AccountBalanceevery$5000.01forevery$500

    </span> <span style = ”color: # 0000BB”> intlotmultiple </span> <span style = ”color: # 007700”> = </span> < span style = ”color: # 0000BB”> Gleichgewicht </span> <span style = ”color: # 007700”></span> <span style = ”color: # 0000BB”> inkrementieren </span> <span style = ”Farbe: # 007700”>;
    </span> <span style = ”Farbe: # 0 000BB ”> Doppellots </span> <span style =” Farbe: # 007700 ”> = </span> <span style =” Farbe: # 0000BB ”> Basislot </span> <span style =” Farbe: # 007700 ” > * </span> <span style = ”color: # 0000BB”> lotmultiple </span> <span style = ”color: # 007700”>;
    return (</span> <span style = ”color : # 0000BB ”> Lose </span> <span style =” Farbe: # 007700 ”>);
    }
    </span> <span style =” Farbe: # 0000BB ”> </span > </span> </code>
    Danke mein Herr.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Die tradingintuitive Webseite verwendet Cookies
Wir nutzen Cookies, um Ihnen das Webseitenerlebnis bestmöglich anbieten zu können. Durch weitere Nutzung der Webseite erlauben Sie die Nutzung von Cookies. Für weitere Details und wie Sie ggf. diese Einstellungen verändern können, lesen Sie bitte unsere Datenschutzbestimmung. Lesen Sie mehr