PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Helfen Sie mit Money Money Management Please! (Kostenloser EA)



SJME
31-12-2024 00:08,
{quote} Mehr falscher Code. . . Lesen Sie weiter:
http://forum.mql4.com/48594und dann lesen und implementieren:
http://forum.mql4.com/48352
http://forum.mql4.com/48276Vielen Dank, Raptor. Ich habe viele Ihrer Beiträge auf der MQL-Website gelesen, während Sie herumgesehen haben. Ihr Vorschlag wird geschätzt

SJME
31-12-2024 00:43,
Ich habe mir den Code nicht wirklich genau angesehen, aber Ihr Problem bei der Verwendung kleinerer Losgrößen kann durch Ersetzen von #define LOTS_PRECISION behoben werden. viele); return (NormalizeDouble (AccountBalance ()1000 * lotsPer1000, LOTS_PRECISION)); } mit doppelten CalculateLots (Bool useMM, Double LotsPer1000, Double Lots) {if (! useMM) return (Lose); Doppelschritt = MarketInfo (Symbol (), MODE_LOTSTEP); double minlot = MarketInfo (Symbol (), MODE_MINLOT); Doppellot = MathMax (MathFloor (AccountBalance ()1000 * LotsPer1000Schritt) * Schritt, Minlot); ...
Danke Gumrai ~ Ich werde es später versuchen und dich wissen lassen

ekko09
31-12-2024 01:06,
. Hallo alle und ein frohes neues Jahr! Ich füge hier in meinem Beitrag den Code für einen EA ein, den ich entwickelt habe. Ich habe es produziert mit:
http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/Mehr schlechter Code. . . Lesen Sie weiter:
http://forum.mql4.com/48594und dann lesen und implementieren:
http://forum.mql4.com/48352
http://forum.mql4.com/48276

Jtteoxnwl199
31-12-2024 01:32,
Ich habe mir den Code nicht wirklich genau angesehen, aber Ihr Problem bei der Verwendung kleinerer Losgrößen kann durch Ersetzen des eingefügten Codes #define LOTS_PRECISION behoben werden. Rückkehr (Lose); return (NormalizeDouble (AccountBalance ()1000 * lotsPer1000, LOTS_PRECISION)); } mit Inserted Code double CalculateLots (Bool useMM, DoppellosePer1000, Doppellose) {if (! useMM) return (Lose); Doppelschritt = MarketInfo (Symbol (), MODE_LOTSTEP); double minlot = MarketInfo (Symbol (), MODE_MINLOT); Doppellot = MathMax (MathFloor (AccountBalance ()1000 * LotsPer1000Schritt) * Schritt, Minlot); Rückkehr (Los); }

SJME
31-12-2024 02:17,
4 Anhänge.


Hallo alle und ein frohes neues Jahr!


Ich füge hier in meinem Beitrag den Code für einen EA ein, den ich entwickelt habe.

Ich habe es produziert mit:


http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/


Wie der Chart für EurUsd zeigt, funktioniert er für gelegentliche Scalps in den täglichen Chart-Einstellungen recht gut, wenn auch nur wenige Trades während der Laufzeit von 2 1/2 Jahren.


Es funktioniert auch gut mit einigen anderen Majors, aber nicht allen.


Ich habe es mit dem TP als Preset getestet und das TP deaktiviert, so dass der SL zu Trail to Close Trades wechselt, vorausgesetzt, dass nur wenige den TP-Level erreichen.


Ich habe Money Management hinzugefügt, wo die Dinge Spaß gemacht haben.



Das Problem, das ich habe, ist, dass ich, egal was ich mit den Eingabeeinstellungen mache, scheinbar keine Handelswerte bei weniger als 0,1 pro 1k-Kontostand auswählen kann. Interessant, dass die obigen Ergebnisse die Ergebnisse basierend auf einem Anfangssaldo von $ 1.000 und Trades ab $ 1 pro Pip zeigen !!!


Mein Wunsch ist zweifach, wobei der zweite weniger wichtig ist:


1. Damit das Money Management Microlots zulässt.

2. Damit der EA mit 5 Digit Brokers kompatibel ist.

3. Habe ich einen dritten gesagt?

Nein, aber ein Stealth Trailing Stop, der mit der Angelegenheit zu kämpfen hatte, wäre ein fantastischer Bonus
https://www.tradingintuitive.com/attachments/1529199201.png


Herr, ich fühle mich jetzt frech
https://www.tradingintuitive.com/attachments/1529199201.png
https://www.tradingintuitive.com/attachments/1529199202.png
https://www.tradingintuitive.com/attachments/1529199202.png




Wenn jemand helfen kann, wäre ich sehr dankbar und teile den EA für andere.




Danke im Voraus!


Grüße,

David (FM).



Code für EA:




// ------------------------------------------- -------------------
//| Diese MQL wird von Expert Advisor Builder |
//|
http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/|
//| |
//| In keinem Fall haftet der Autor für Schäden. |
//| Benutzung auf eigene Gefahr. |
//| *************** Kompiliert für DAY-Charts *************** |
//| |
//| **** Produziert von: **** |
//| **** David Coulson () **** |
//| |
------------------- DEN HEADER NICHT ENTFERNEN --------------------



#define SIGNAL_NONE 0
#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4

#property copyright Expert Advisor Builder
#property link http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/

extern int MagicNumber = 0123490;
extern bool SignalMail = False;
extern bool EachTickMode = False;
externe doppelte Lots = 0,1;
extern bool UseMM = true;
extern doppelt LotsPer1000 = 0,1;
extern int Slippage = 3;
extern bool UseStopLoss = True;
extern int StopLoss = 2000;
extern bool UseTakeProfit = True;
extern int TakeProfit = 2000;
extern bool UseTrailingStop = True;
extern int TrailingStop = 350;


int BarCount;
int aktuell;
bool TickCheck = False;
// ------------------------------------------- -------------------
//| Experteninitialisierungsfunktion |
// ------------------------------------------- -------------------
int init () {
BarCount = Bars;

if (EachTickMode) Current = 0; sonst Strom = 1;

return (0);
}
// ------------------------------------------- -------------------
//| Experten-Deinitialisierungsfunktion |
// ------------------------------------------- -------------------
int deinit () {
return (0);
}
// ------------------------------------------- -------------------
//| Expertenstartfunktion |
// ------------------------------------------- -------------------
int start () {
int Order = SIGNAL_NONE;
int Total, Ticket;
doppeltes StopLossLevel, TakeProfitLevel;



if (EachTickMode Bars! = BarCount) TickCheck = False;
Gesamt = OrdersTotal ();
Auftrag = SIGNAL_NONE;

// ------------------------------------------- -------------------
//| Variabler Anfang |
// ------------------------------------------- -------------------


double Buy1_1 = iStochastic (NULL, 0, 15, 8, 4, MODE_SMA, 0, MODE_MAIN, Current 0);
doppeltes Buy1_2 = 65;
double Buy2_1 = iStochastic (NULL, 0, 15, 8, 4, MODE_SMA, 0, MODE_MAIN, Current 1);
doppelt Buy2_2 = 65;
double Buy3_1 = iStochastic (NULL, 0, 15, 8, 4, MODE_SMA, 0, MODE_MAIN, Current 2);
doppelt Buy3_2 = 65;

double Sell1_1 = iStochastic (NULL, 0, 15, 8, 4, MODE_SMA, 0, MODE_MAIN, Current 0);
doppelt Sell1_2 = 35;
double Sell2_1 = iStochastic (NULL, 0, 15, 8, 4, MODE_SMA, 0, MODE_MAIN, Current 1);
doppelt Sell2_2 = 35;
double Sell3_1 = iStochastic (NULL, 0, 15, 8, 4, MODE_SMA, 0, MODE_MAIN, Current 2);
doppelt Sell3_2 = 35;





// ------------------------------------------- -------------------
//| Variables Ende |
// ------------------------------------------- -------------------

//Position prüfen
bool IsTrade = False;

für (int i = 0; i lt; Total; i ) {
OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
if (OrderType () lt; = OP_SELL OrderSymbol () == Symbol ()) {
IsTrade = True;
if (OrderType () == OP_BUY) {
//Schließen

// ------------------------------------------- -------------------
//| Signal Anfang (Kauf beenden) |
// ------------------------------------------- -------------------



// ------------------------------------------- -------------------
//| Signalende (Kauf beenden) |
// ------------------------------------------- -------------------

if (Bestellung == SIGNAL_CLOSEBUY ((EachTickMode! TickCheck) || (! EachTickMode (Bars! = BarCount))
OrderClose (OrderTicket (), OrderLots (), Angebot, Slippage, MediumSeaGreen)
if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Angebot, Digits) Close Buy);
if (! EachTickMode) BarCount = Bars;
IsTrade = False;
fortsetzen;
}
//Schleppstopp
if (UseTrailingStop TrailingStop gt; 0) {
if (Bid - OrderOpenPrice () gt; Point * TrailingStop) {
if (OrderStopLoss () lt; Geld - Punkt * TrailingStop)
OrderModify (OrderTicket (), OrderOpenPrice (), Geld - Punkt * TrailingStop, OrderTakeProfit (), 0, MediumSeaGreen);
if (! EachTickMode) BarCount = Bars;
fortsetzen;
}
}
}
} else {
//Schließen

// ------------------------------------------- -------------------
//| Signal Anfang (Verkauf beenden) |
// ------------------------------------------- -------------------



// ------------------------------------------- -------------------
//| Signalende (Verkauf beenden) |
// ------------------------------------------- -------------------

if (Order == SIGNAL_CLOSESELL ((EachTickMode! TickCheck) || (! EachTickMode (Bars! = BarCount))))
OrderClose (OrderTicket (), OrderLots (), Ask, Slippage, DarkOrange);
if (SignalMail) SendMail ([Signal Alarm], [ Symbol () ] DoubleToStr (Ask, Digits) Close Sell);
if (! EachTickMode) BarCount = Bars;
IsTrade = False;
fortsetzen;
}
//Schleppstopp
if (UseTrailingStop TrailingStop gt; 0) {
if ((OrderOpenPrice () - Ask) gt; (Point * TrailingStop)) {
if ((OrderStopLoss () gt; (Ask Point * TrailingStop)) || (OrderStopLoss () == 0)) {
OrderModify (OrderTicket (), OrderOpenPrice (), Ask Point * TrailingStop, OrderTakeProfit (), 0, DarkOrange);
if (! EachTickMode) BarCount = Bars;
fortsetzen;
}
}
}
}
}
}

// ------------------------------------------- -------------------
//| Signal Anfang (Eintrag) |
// ------------------------------------------- -------------------

if (Buy1_1 gt; Buy1_2 Buy2_1 lt; Buy2_2 Buy3_1 lt; Buy3_2) Auftrag = SIGNAL_BUY;

if (Sell1_1 lt; Sell1_2 Sell2_1 gt; Sell2_2 Sell3_1 gt; Sell3_2) Reihenfolge = SIGNAL_SELL;


// ------------------------------------------- -------------------
//| Signalende |
// ------------------------------------------- -------------------

//Kaufen
if (Order == SIGNAL_BUY ((EachTickMode! TickCheck) || (! EachTickMode (Bars! = BarCount)))))
if (! IsTrade) {
//Überprüfen Sie den freien Rand
if (AccountFreeMargin () lt; (1 * Lots)) {
Drucken (Wir haben kein Geld. Free Margin =, AccountFreeMargin ());
return (0);
}

if (UseStopLoss) StopLossLevel = Ask - StopLoss * Punkt; else StopLossLevel = 0,0;
if (UseTakeProfit) TakeProfitLevel = Ask TakeProfit * Point; else TakeProfitLevel = 0.0;

Ticket = OrderSend (Symbol (), OP_BUY, CalculateLots (UseMM, LotsPer1000, Lots), Ask, Slippage, StopLossLevel, TakeProfitLevel, Buy (# MagicNumber ), MagicNumber, 0, DodgerBlue);
if (Ticket gt; 0) {
if (OrderSelect (Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Drucken (Kaufauftrag geöffnet:, OrderOpenPrice ());
if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Ask, Digits) Open Buy);
} else {
Print (Fehler beim Öffnen der Bestellung BUY:, GetLastError ());
}
}
if (EachTickMode) TickCheck = True;
if (! EachTickMode) BarCount = Bars;
return (0);
}
}

//Verkaufen
if (Order == SIGNAL_SELL ((EachTickMode! TickCheck) || (! EachTickMode (Bars! = BarCount)))))
if (! IsTrade) {
//Überprüfen Sie den freien Rand
if (AccountFreeMargin () lt; (1 * Lots)) {
Drucken (Wir haben kein Geld. Free Margin =, AccountFreeMargin ());
return (0);
}

if (UseStopLoss) StopLossLevel = Angebot StopLoss * Punkt; else StopLossLevel = 0,0;
if (UseTakeProfit) TakeProfitLevel = Geld - TakeProfit * Punkt; else TakeProfitLevel = 0.0;

Ticket = OrderSend (Symbol (), OP_SELL, CalculateLots (UseMM, LotsPer1000, Lots), Angebot, Slippage, StopLossLevel, TakeProfitLevel, Sell (# MagicNumber ), MagicNumber, 0, DeepPink);
if (Ticket gt; 0) {
if (OrderSelect (Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print (SELL Bestellung geöffnet:, OrderOpenPrice ());
if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Geld, Digits) Verkauf verkaufen);
} else {
Print (Fehler beim Öffnen der SELL-Bestellung:, GetLastError ());
}
}
if (EachTickMode) TickCheck = True;
if (! EachTickMode) BarCount = Bars;
return (0);
}
}

if (! EachTickMode) BarCount = Bars;

return (0);
}
// ------------------------------------------- -------------------


#define LOTS_PRECISION 1

doppelte CalculateLots (bool useMM, doppelte LotsPer1000, doppelte Lots)
{
if (! useMM) return (Lose);

return (NormalizeDouble (AccountBalance ()1000 * lotsPer1000, LOTS_PRECISION));

}










.

https://www.tradingintuitive.com/crypto-trading/270-trend-lines-execute-orders.html

https://www.tradingintuitive.com/crypto-trading/348-2-accounts-dealer-ea.html

https://www.tradingintuitive.com/forex-market-analysis/467-choros-system.html

https://www.tradingintuitive.com/crypto-trading/284-good-trade-copier.html