
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Du verstehst das falsch.
Du kaufst immer zum (höheren) Ask, den Briefkurs, und verkaufst immer zum (niedrigeren) Bid, dem Geldkurs: https://de.wikipedia.org/wiki/Spread_(Wirtschaft)#Geld-Brief-Spanne.
Und das heißt: In dem Moment, in dem Du etwas zum Briefkurs kaufst wird diese neue Position im selben Moment zum Geldkurs, also den niedrigeren im Konto bewertet - damit kannst Du dieses erste Minus nie verhindern.
Gewinn gibt es dann, wenn der (niedrige) Geldkurs über den Einstiegs Briefkurs steigt, erst dann kannst Du mit u.U. mit Gewinn aussteigen.
PS: Wie heißt es so schön in der BWL: "There is no such thing as a free lunch!" M. Friedmann
Lieber Carl Du hat mich immer noch nicht verstanden.
Noch ein Versuch: Der Spread ist 0.5 Pip um beim eröffnen der Order sofort in die Gewinnzone zu gelangen muss der EA ab 0.6 Pip Einschalten.
Kommt ein Ping von Min. 0.5 Pip herein
Einschalten wenn der Ping höher ist als 0.5 Pip
Einschalten ab 0.6 Pip
Wie schreibt man denn "ab" im MT5?
Mein Ziel ist Täglich 20 Pip Plus zu machen was ich auch schaffe, dafür aber Stundenlang am PC sitze.
Das MQL5 ist ja sooo umfangreich und ich bin schwer von Begriff wohl das Alter aber Aufgeben ist für mich keine Option.
Tschüss
Lieber Carl Du hat mich immer noch nicht verstanden.
Noch ein Versuch: Der Spread ist 0.5 Pip um beim eröffnen der Order sofort in die Gewinnzone zu gelangen muss der EA ab 0.6 Pip Einschalten.
Kommt ein Ping von Min. 0.5 Pip herein
Einschalten wenn der Ping höher ist als 0.5 Pip
Einschalten ab 0.6 Pip
Wie schreibt man denn "ab" im MT5?
Mein Ziel ist Täglich 20 Pip Plus zu machen was ich auch schaffe, dafür aber Stundenlang am PC sitze.
Das MQL5 ist ja sooo umfangreich und ich bin schwer von Begriff wohl das Alter aber Aufgeben ist für mich keine Option.
Tschüss
Was meinst Du mit 'einschalten'???
Ein Ping ist die Frage nach der Qualität der Verbindung zum Broker Server: Paketverlust, Latenz, ...
Mach doch mal ein Bild, von dem, was Du Dir vorstellst, wie Du zeitlich wann was (Öffnen, Schließen) handeln willst.
Auf der linken Seite im MT5 kannst Du dir den Tick anzeigen.
Wenn ein wichtiger Wirtschaftsbericht herauskommt "Spinnt" der Tick extrem rauf und runter.
In dieser kurzen Phase möchte ich zusätzlich Geld verdienen.
Idee des EA:
Einschalten ab "double" 0.1 Pip
Lot ab "double" 0.01
Ausschalten mit dem Millisecond Timer
Jedes Währungspaar
Vermutlich wird das ein Schuss in den Ofen aber nur zum zusehen wäre das schon Geil, Testen im Demokonto.
Habe wieder mal ein Blackout es geht einfach nichts rein ich Lese und lese aber jeden Tag das selbe ich weiss nicht mehr was ich Gestern gelernt habe.
Auf der linken Seite im MT5 kannst Du dir den Tick anzeigen.
Wenn ein wichtiger Wirtschaftsbericht herauskommt "Spinnt" der Tick extrem rauf und runter.
In dieser kurzen Phase möchte ich zusätzlich Geld verdienen.
Idee des EA:
Einschalten ab "double" 0.1 Pip
Lot ab "double" 0.01
Ausschalten mit dem Millisecond Timer
Jedes Währungspaar
Vermutlich wird das ein Schuss in den Ofen aber nur zum zusehen wäre das schon Geil, Testen im Demokonto.
Habe wieder mal ein Blackout es geht einfach nichts rein ich Lese und lese aber jeden Tag das selbe ich weiss nicht mehr was ich Gestern gelernt habe.
Das funktioniert nicht. Es wäre nur ein weiterer Newstrader, aber die Broker stellen zB. in solchen kritischen Zeiten keine Kurse. Erst dann wieder, wenn die Action vorbei ist.
Aus dem Kurs, warum läuft der nicht?
//--- input parameters
input double Lots=0.1; // lot size for trading
//+------------------------------------------------------------------+
//| Expert Initialisierungsfunktion |
//+------------------------------------------------------------------+
int OnInit()
{
//--- Erstellen eines Timers mit der Zeitspanne von 1000 Millisekunden
EventSetMillisecondTimer(500);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Deinitialisierungsfunktion des Experten |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//--- Löschen des Timers nach dem Ende der Arbeit
EventKillTimer();
}
//+------------------------------------------------------------------+
//| Tick-Funktion des Experten |
//+------------------------------------------------------------------+
#include<Trade\Trade.mqh>
// Erstelle eine Instanz von CTrade
CTrade trade;
void OnTick()
{
// Berechne den Ask Preis
double Ask=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
// Berechne den Bid Preis
double Bid=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);
// Erstelle ein Array fuer Preisdaten
MqlRates PriceInfo[];
// Fuelle Array mit Preisdaten
int PriceData =CopyRates(_Symbol,_Period,0,0,PriceInfo);
// Erstelle Variable fuer Signal
string signal="";
// Erstelle Array fuer SMA
double myMovingAverageArray[];
// Definition der SMA Eigenschaften
int movingAverageDefinition = iMA (_Symbol,_Period,0,0,MODE_SMA,PRICE_CLOSE);
// Definierter EA,ein Buffer,aktuelle Kerze,3 Kerzen,im Array speichern
CopyBuffer(movingAverageDefinition,0,0,0,myMovingAverageArray);
// Wenn Preis ueber dem SMA
if (PriceInfo[1].close > myMovingAverageArray[1])
// und vorher unter dem SMA
if (PriceInfo[2].close < myMovingAverageArray[2])
{
signal="Kaufen";
}
// Wenn Preis unter dem SMA
if (PriceInfo[1].close < myMovingAverageArray[1])
// und vorher ueber dem SMA
if (PriceInfo[2].close > myMovingAverageArray[2])
{
signal="Verkaufen";
}
// Verkaufen 1 Microlot
if (signal =="Verkaufen" && PositionsTotal()<1)
trade.Sell(Lots,NULL,Bid,0,(Bid-150 * _Point),NULL);
// Kaufen 1 Microlot
if (signal =="Kaufen" && PositionsTotal()<1)
trade.Buy(Lots,NULL,Ask,0,(Ask+150 * _Point),NULL);
}
Aus dem Kurs, warum läuft der nicht?
//--- input parameters
input double Lots=0.1; // lot size for trading
//+------------------------------------------------------------------+
//| Expert Initialisierungsfunktion |
//+------------------------------------------------------------------+
int OnInit()
{
//--- Erstellen eines Timers mit der Zeitspanne von 1000 Millisekunden
EventSetMillisecondTimer(500);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Deinitialisierungsfunktion des Experten |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//--- Löschen des Timers nach dem Ende der Arbeit
EventKillTimer();
}
//+------------------------------------------------------------------+
//| Tick-Funktion des Experten |
//+------------------------------------------------------------------+
#include<Trade\Trade.mqh>
// Erstelle eine Instanz von CTrade
CTrade trade;
void OnTick()
{
// Berechne den Ask Preis
double Ask=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
// Berechne den Bid Preis
double Bid=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);
// Erstelle ein Array fuer Preisdaten
MqlRates PriceInfo[];
// Fuelle Array mit Preisdaten
int PriceData =CopyRates(_Symbol,_Period,0,0,PriceInfo);
// Erstelle Variable fuer Signal
string signal="";
// Erstelle Array fuer SMA
double myMovingAverageArray[];
// Definition der SMA Eigenschaften
int movingAverageDefinition = iMA (_Symbol,_Period,0,0,MODE_SMA,PRICE_CLOSE);
// Definierter EA,ein Buffer,aktuelle Kerze,3 Kerzen,im Array speichern
CopyBuffer(movingAverageDefinition,0,0,0,myMovingAverageArray);
// Wenn Preis ueber dem SMA
if (PriceInfo[1].close > myMovingAverageArray[1])
// und vorher unter dem SMA
if (PriceInfo[2].close < myMovingAverageArray[2])
{
signal="Kaufen";
}
// Wenn Preis unter dem SMA
if (PriceInfo[1].close < myMovingAverageArray[1])
// und vorher ueber dem SMA
if (PriceInfo[2].close > myMovingAverageArray[2])
{
signal="Verkaufen";
}
// Verkaufen 1 Microlot
if (signal =="Verkaufen" && PositionsTotal()<1)
trade.Sell(Lots,NULL,Bid,0,(Bid-150 * _Point),NULL);
// Kaufen 1 Microlot
if (signal =="Kaufen" && PositionsTotal()<1)
trade.Buy(Lots,NULL,Ask,0,(Ask+150 * _Point),NULL);
}
für code posten bitte den code Button verwenden.
aus welchen Kurs? das war sicherlich nix von mal, da ist ja sogst wie alles falsch
Es ist alles Sch....e, ich muss nun einfach zuerst das mql5 Lernen.
Danke für eure Mühe, Tschüss
Es ist alles Sch....e, ich muss nun einfach zuerst das mql5 Lernen.
Danke für eure Mühe, Tschüss
Richtige Erkenntnis, aber nicht genug.
Du musst auch dem Markt kennen, denn der agiert nicht wie man (Du) sich das vorstellt: "Der Markt hat immer recht" und die Instrumente, also zB. was können die Indikatoren und was nicht.
aus welchen Kurs? da ist ja sogut wie alles falsch
Das ist nur ein Beispiel EA, der ein Signal gibt und daraufhin kauft oder verkauft. Von dem darfst Du nicht erwarten, dass er zuverlässig rentabel ist. Da hast Du weniger Mühe wenn Du Dein Geld verschenkst.
Hier ist ein Artikel wie man Indikatoren in EAs verwendet getindicatorbuffer