Alle EAs, die wir im allgemeinen Programm verwenden Sie eine der drei Arten von Money-management. Ich mag nicht wirklich diesen Begriff, Obwohl. Ich glaube, dass Stellung, die Dimensionierung der Formel ist in der Regel genauer.
Die Optionen sind:
- Feste Losgröße
- Verwenden Sie einen Prozentsatz der verfügbaren Marge
- Einen bestimmter Prozentsatz der Kontostand zu verlieren, wenn der Stop-Loss erreicht wird.
Die meisten MetaTrader-Benutzer sind daran gewöhnt, mit festen Partien in ihrer Forex-Money-management. Es ist bei weitem die häufigste Methode, die in kommerziellen EAs gefunden. Sie sah jeder die Videos auf dieser Seite oder mit mir gesprochen, Sie weiß, dass ich in der Regel eine geringe Meinung von den meisten kommerziellen EAs. Nur weil jeder es macht bedeutet nicht, dass es eine gute Idee ist!
Immer wenn eine Kundenbestellung erwähnt die Idee mit einem Risiko-Input steuern die Losgröße für ihre Money-management, Es bedeutet in der Regel mithilfe von ausgewählten Prozentsatz der verfügbaren Marge. Sagen, zum Beispiel, die Sie handeln ein $10,000 Konto auf 1% Marge (100:1 nutzen) und verwenden möchten 2% der verfügbaren Marge auf bestimmten Handel. Haben Sie keine offenen Stellen, dann ist die Marge zu verwenden $10,000 * 2% = $200.
Die Losgröße ist das Ergebnis der folgenden Formel:
Lose = Rand zu verwenden / Marge pro standard-Lot erforderlich
Gehen wir zurück zu unserem Beispiel, Stecken Sie einfach die Zahlen:
$200 / $1000 pro standard-lot (100:1 Marge) = 0.2 viele, Das ist 2 Mini-lose.
Der MQL4-Code dafür ist
double lots = (AccountFreeMargin() * Risk) / MarketInfo( Symbol(), MODE_MARGINREQUIRED);
Der Vorteil dieser Methode ist, dass die Losgröße konsistent Sperrung eine dramatische Veränderung verfügbar Rand bleibt. Ich sehen nicht wirklich, dass als Vorteil, aber viele Händler wie sehen die gleiche Losgröße auf die meisten Berufe.
Die Nachteile sind vielfältig. Wenn Sie möchten Handel auf hohen nutzen und Handel viele verschiedene Instrumente, Sie können sich leicht in einen Margin Call bekommen:. Wenn Ihre Strategie sieht vor, für das Inverkehrbringen einer Haltestelle auf der Grundlage von Preis-Aktion, benötigte verloren variiert je nachdem, wo die Haltestelle befindet. Einige Geschäfte gehen möglicherweise verloren $20 während andere verlieren $100.
double lots = Risk * AccountEquity() / MarketInfo(Symbol(), MODE_TICKVALUE) / Stop;
Mein Favorit Forex Geld-Methode Mein Lot-Grösse auswählen das Eigenkapital Verlust basiert auf wenn meine Station erreicht wird. Wenn ich riskieren 0.5% auf eine $10,000 Konto und mein Stop-Loss-Order ist 20 Zacken weg, dann ist der gewünschte Losgröße
viele = 0.5% * $10,000 / $10 pro Tick pro standard-lot / 20 Zacken = 0.25 viele, oder 2.5 Mini viele
Die Losgröße sinkt, wenn der Stop-Verlust-Abstand vergrößert, und umgekehrt. A 60 Bib-Stop-Loss würde eine Losgröße erfordern.
viele = 0.5% * $10,000 / $10 pro Tick pro standard-lot / 60 Zacken = 0.083 viele, oder 0.8 Mikro viele nach Berücksichtigung von Rundung.
Die unterschiedlichen Losgröße treibt die meisten Händler verrückt. Ich glaube, dass solche Begründung die Logik des Handels ignoriert. Trading ist ein statistisches Ergebnis, eine Verteilung von Ereignissen, die theoretisch einen Gewinn größer als 0 (null) zurückgibt. Wir nennen diesen Gewinn in Alltag.
Wenn Ihr Handelssystem ist X % genau und Sie wissen, der Profit-Faktor ist größer als 1, Warum auf der Erde ein Händler planlos Wette würde anderen Dollar-Betrag an jedem Handelstag über mir. Der Effekt ist nichts anderes als Wetten nach dem Zufallsprinzip auswählen $10 auf diesen Handel und $100 auf der nächsten. Die zufällige, System-weniger Money-Management des Wählens Positionsgrößen für Ihr Handelssystem würde die schöne überwältigen., gleichmäßige Verteilung, die Sie von den Signalen erwarten.
mperk sagt
Hallo,
Das Problem, das ich habe ist, dass ich zur Losgröße basierend auf einem festgelegten Prozentsatz der eingesetzte MARGIN Berechnung. Das Grund-Wesen, das ich den Handel 12 Währungspaare mit einem Recovery-system. Ich habe eine schwierige Zeit rückwärts, aus irgendeinem Grund. Mit den folgenden Eingaben wird wie Losgröße basierend auf einem festgelegten Prozentsatz der eingesetzte MARGIN berechnet:
Standard-Lot = 100,000
Hebel = 50
Eigenkapital-Konto = $10,000
Verwendet Marge Risiko pro Trade max = 5% = $500
AUDUSD = $10.00
Stop-Loss = 20 Zacken = $200
Lot-Größe = ???
Vielen Dank
Shaun-Overton sagt
Vielen Dank für die Frage. Die Losgröße ist
gebrauchte Marge * nutzen
$500 * 50 = 25,000 Einheiten, oder 2.5 Mini-lose (0.25 viele in MetaTraders Standardnotation).
Swiz sagt
Hallo,
Du kannst MM wie folgt schreiben:
Risiko = 5 bedeutet stop-Loss = 5% der Kontostand
Danke
Shaun-Overton sagt
Hallo Swiz,
Ja, Dies ist möglich. Sie sind mir etwas bestimmtes Fragen? Ich habe das Gefühl, dass vielleicht ich verstand Sie nicht korrekt.
Milton-Pang sagt
erinnern Sie John Burch von Forex-Werkzeuge-Cafe? Er schuf Trademan v4, sah den letzten höchsten high-und low und legen Sie diese als sl und Handel Positionsgröße geben die Anzahl der lose für den Handel. Ich denke, er der könnte, weitergegeben aber seiner Website noch vorhanden ist und die Software verkauft, für ein cooles $18 US-Dollar.
BTW Ihre Begeisterung für das was Sie lieber tun infektiöse.
Milt
Shaun-Overton sagt
Vielen Dank, Milton!
Thomas Ng sagt
Gespräch über diese Linie: “Meine Lieblings Forex Geld-Management-Methode soll wählen meine Losgröße, basierend auf dem Eigenkapital Verlust wenn meine Station erreicht wird.” Wie würdest du es in MQL4 obwohl bezeichnen?
Danke Shaun….hoffe, dass Sie nichts dagegen haben, den Code zu teilen
PS du hast eine gute EA gibt, aber es ist sehr bedauerlich, dass Sie nur ein MAM oder PAMM-Konto eröffnen
Shaun-Overton sagt
Vielen Dank, Thomas. Der Code ist bereits in der Mitte der Artikel in einer anderen Schriftart. Bitte schauen Sie wieder.
David sagt
Hallo Shaun,
I’m trying to figure out how to calculate below figures with a ratio of $500:0.01micro lot
Account Balance = $500
Hebel = 200
Risiko % = 10
can you please give me a formula with every $500 increase, lot size increase by 0.01 micro lot?
Shaun-Overton sagt
Hallo David,
Thanks for asking. You’re making it more complicated than it needs to be. Leverage and risk are extraneous variables for the equation that you’ve proposed.
The formula is:
$500 (Konto Eigenkapital) * 0.01 viele / $500 = 0.01 viele.
If your account equity grew to $1,200, the formula gives you:
$1,200 * 0.01 viele / $500 = 0.02 viele (I rounded down).
I hope that helps.
MOHAMMED sagt
Well is educative
Shaun-Overton sagt
I’m glad you learned something.
Sam Trinston sagt
Your formula (and weakness in MT4) is that one alwats needs to calculate LOTS – which doesn’t help when trading a multi-instrument portfolio. Zum Beispiel 1 lot of EURUSD isn’t the same as 1 lot of GBPJPY – Das heißt, they expose different quantities of USD$ to the market. So if you are looking to create a system that ensures you expose USD$x then the formula becomes a lot more complex
Shaun-Overton sagt
Tatsächlich, that’s not the true. The formulae provided use MarketInfo, which returns the values in terms of the account currency. It already compensates for multiple instruments and currencies.
regani sagt
thankq .. more use ful infomormation.. use full to me thankqs
Shaun-Overton sagt
I appreciate you letting me know. It’s feedback like that that keeps me going.
Andrea sagt
i try your formula
viele = 0.5% * $10,000 / $10 pro Tick pro standard-lot / 20 Zacken = 0.25 viele, oder 2.5 Mini-lose
but if i calculate it
0.5*10.000/10/20 = 25 nicht 0.25
it’s wrong, how i can correct?
Shaun-Overton sagt
0.5% needs to be 0.005.
Philipp sagt
Hallo Herr Shaun Overton,
ich habe auch ein Problem. Vielleicht könnten sie mir beim Code helfen:
Gehandelt wird auf der Dax.
Long Trade: 3% Risiko pro Trade – Position sollte auf 0,10lot auf / abgerundet werden. SL ist -15Pips
Short Trade: 4% Risiko pro Trade – Position sollte auf 0,10lot auf / abgerundet werden. SL ist -20 Pips.
Danke für Ihre Hilfe!
Shaun-Overton sagt
Make sure that your stop loss is a positive number. You wrote a negative number in your post.
The formulas should work on the DAX or any instrument. It’s not FX specific.
Andrew Coles sagt
It is often easier to specify Stop Loss as a Rate difference, dh. from the current Ask or Bid Rate to a Support or Resistance Level respectively, rather than in Pips. This is typically how an EA would form the Stop Loss Value, or alternatively as some (sub one) multiple of Average True Range.
Here is a minimal EA, to demonstrate Lot size Calculation. It includes normalization of the raw Lot size formed into Lot Step sizes the Server will accept, within minimum and maximum Lot sizes also.
Example Balance Risk and Stop Loss are provided as input Statements, for ease:
#property strict
input double StopLossRate = 0.00500; // Stop Loss with 50 Zacken (Non JPY)
input double Balance_Risk = 0.012; // 1.2% of Account Balance risked
//+——————————————————————+
//| Expert initialization function |
//+——————————————————————+
void OnInit()
{
double tickVal;
double powTerm;
double rawLots;
double stpLots;
double lotSize;
double maxLots;
tickVal = MarketInfo (NULL, MODE_TICKVALUE);
Print (“TICKVALUE = “, tickVal);
rawLots = (Balance_Risk * AccountEquity() * Punkt) / (tickVal * StopLossRate);
Print (“rawLots = “, rawLots);
stpLots = MarketInfo (NULL, MODE_LOTSTEP);
lotSize = stpLots * NormalizeDouble (rawLots / stpLots, 0);
Print (“Normalized lotSize = “, lotSize);
if (lotSize maxLots)
{
lotSize = maxLots;
}
}
Print (“Trade lotSize = “, lotSize);
}
//+——————————————————————+
//| Expert deinitialization function |
//+——————————————————————+
void OnDeinit(const int reason)
{
//—
}
//+——————————————————————+
//| Expert tick function |
//+——————————————————————+
void OnTick()
{
//—
Shaun-Overton sagt
Thanks for adding this!
Andrew Coles sagt
[Private Note]
It seems as though the .LT. sign on the minimum Lot Size stripped out some of the submitted code.
It might be easier to send you the MQ4 File, if you think it might be helpful to post, or expand your already very helpful Page.
Die “powTerm” Variable can be removed. This was just a Test-bed for an EA written, that runs on M15 Time Frame. Very challenging to get into profit. I wanted a lot of Trades, for rapid Equity growth.
I had considerable problems getting the MT4 Back-tester to work. Eventually achieved a Profit Factor of 1.29 über eine 7 Month Back-test with a few combinations of Parameters.
I could not get a Break Even Stop Loss to work in the Back-test EA Version. The operational EA is radically differently coded (written for real-time, with fault tolerance).
Expect to go Live shortly, if forward Demo Test is consistent with the Back-test Results. Currently migrating the Entry Filters proven in the Back-test EA, into the Operational EA. The latter has already run (with minor Bugs), at a small loss on Demo.
Calvin sagt
Please do share your code snippet. Vielen Dank!
Ilan Tree sagt
I added a post in my recent blog discussing some useful MQl4 functions when verifying and calculating lot size based on currency and risk parameters – http://www.ilantree.com/useful-mql4-lot-size-functions/, happy to exchange ideas with you.