Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43251
Benutzer: 7.220
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: JosephTK
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 3 Stunden
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 3 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 265
Gesamt: 265
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 19.07.18
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard Lotsize über Margin oder Kontostand berechnen

Hallo.

Ich würde gerne den Lot-Einsatz automatisch anhand der freien Margin oder besser übers Gesamtkapital des Kontos berechnen lassen. Denn wenn er schon viele Orders geöffnet hat, schrumpft ja auch die verfügbare Margin und ich schätze mal, dass dann jede Order ne andere Lotsize hat...

z.B.

Lot = double x.x % der Free Margin

oder

Lot = double x.x % des Kontostands

oder so in der Art.

Dachte mir, man checkt erst mal, wie viel von der Konto-Währung er für ein Lot hinter legen muss. Oder vielleicht die nötige Margin in Punkten ausgeben. Oder einfach durch den Hebel teilen?

Weiß ich nicht so richtig.
  #2 (permalink)  
Alt 21.07.18
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Hallo.


Habs mal so versucht. Davon abgesehn, dass ich eigentlich selber nicht mehr durch sehe, müsste das doch eigentlich funktionieren.

extern string ALSZ="Auto_Lotsize";
extern bool Percent_of_Balance=true;
extern bool Percent_of_Free_Margin=false;

extern string BT1="if both = true";
extern string BT2="Lotsize =";
extern string BT3="Percent_of_Balance";

extern double Auto_Lotsize_Perc=0.72;
extern int Units_of_1_Lot=100000;


Lots=MathMax(MathMin(Lots,MarketInfo(Symbol(),MODE _MAXLOT)),MarketInfo(Symbol(),MODE_MINLOT));

double M_REQ=MarketInfo(Symbol(),MODE_MARGINREQUIRED);//nötige Margin für 1 Lot (100.000)
double A_FM=AccountFreeMargin();//verfügbare Margin
double A_BAL=AccountBalance();//momentaner Kontostand

double Min_L=MarketInfo(Symbol(),MODE_MINLOT);//Mindest_Lot_Einsatz
double Max_L=MarketInfo(Symbol(),MODE_MAXLOT);//Maximaler_Lot_Einsatz

//Einheiten von 1_Lot geteilt durch Mindest_Lot, um später auszurechnen, wie viel Margin für kleinst möglichstes Lot nötig ist.
double U1L_Min_L=NormalizeDouble(Units_of_1_Lot/Min_L*_Point,_Digits);

//Margin_für_1_Lot geteilt durch Ergebnis, um raus zu finden, wie viel Margin für Mindest_Lot benötigt wird.
double M_REQ_Min_L=M_REQ/U1L_Min_L;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////

if(Percent_of_Free_Margin==true&&Percent_of_Balanc e==false){

// Free_Margin / Margin_für_Min_Lot, um rauszufinden, wie viel Min_Lot mit der Free_Margin möglich sind.
double A_FM_M_REQ_Min_L=A_FM/M_REQ_Min_L;

// P_ML = "Possible_Min_Lots" geteilt durch "HP" (Hundred_Percent)
double A_FM_P_ML_HP=A_FM_M_REQ_Min_L/100.0;

Lots=A_FM_P_ML_HP*Auto_Lotsize_Perc;

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////

if((Percent_of_Balance==true)||(Percent_of_Balance ==true&&Percent_of_Free_Margin==true)){

// Kontostand geteilt durch für Min_Lot nötige Margin, um rauszufinden, wie viel Min_Lot mit Kontostand möglich sind.
double A_BAL_M_REQ_Min_L=A_BAL/M_REQ_Min_L;

// Mit Kontostand_mögliche_Mindest_Lots geteilt durch "HP" (hundred Percent)
double A_BAL_P_ML_HP=A_BAL_M_REQ_Min_L/100.0;

Lots=A_BAL_P_ML_HP*Auto_Lotsize_Perc;

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////

if(Lots<Min_L)Lots=Min_L;
if(Lots>Max_L)Lots=Max_L;
Thema geschlossen

Lesezeichen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 01:46 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------