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
stevenpun Sie sagen, dass der Kauf 0,1 Lot + 0,2 Lot hat und der Verkauf 0,4 Lot sein sollte. Könnten Sie das bitte klarstellen?
Hallo mladen , sorry für die späte Antwort .
Weil habe krank für einige Tage .
Ich habe ein Bild gemacht
Zum Beispiel, wenn der Kauf haben 2 offene Bestellung (0,1 Lot + 0,2 Lot ), aber plötzlich der Zug haben Änderung zu verkaufen .
Die Ea öffnet einen Verkauf um 0.1 Lot, aber ich möchte, dass sie für 0.4 Lot öffnet.
Ist das möglich, es zu ändern ?
Hallo noch einmal,
Ich habe versucht, die obige Funktion mit einem Kommentar zu verwenden, aber es wurde nur der Max angezeigt. Können Sie vielleicht mit zwei Funktionen helfen. Eine, die den unmittelbaren Zeilenpreis über Bid anzeigt und die zweite die Zeile unter Bid. Ich danke Ihnen.
Hier ist der Code.
//+------------------------------------------------------------------+
//| SimpleGrid.mq4+
//+------------------------------------------------------------------+
#include
#include
#property strict
// exportierte Variablen
extern string GridStartingPrice = " Startpreis zum Platzieren von Linien ";
extern double GSP = 0.0;
extern int GR = 5;
extern double GridStep = 5;
externe Farbe CGL = Gold;
externe Farbe BGL = Grün;
externe Farbe SGL = Rot;
extern bool ClearAllObjects = False;
// lokale Variablen
double PipValue=1; // diese Variable dient der Unterstützung von 5-stelligen Brokern
bool Terminated = false;
string LF = "\n"; // zu verwenden in benutzerdefinierten oder Utility-Blöcken, in denen Zeilenvorschübe benötigt werden
int NDigits = 4; // wird meist für NormalizeDouble in Flex-Blöcken verwendet
int ObjCount = 0; // Zählung aller im Diagramm erstellten Objekte, ermöglicht die Erstellung von Objekten mit eindeutigen Namen
int aktuell = 0;
int init()
{
NDigits = Digits;
if (false) ObjectsDeleteAll(); // Löschen des Diagramms
Comment(""); // Löschen des Diagramms
return(0);
}
// Expertenstart
int start()
{
if (Balken < 10)
{
Kommentar("Nicht genug Balken");
return (0);
}
if (Terminated == true)
{
Comment("EA Terminated.");
return (0);
}
OnEveryTick7();
return (0);
}
void OnEveryTick7()
{
PipValue = 1;
if (NDigits == 3 || NDigits == 5) PipValue = 10;
CentreGridLine();
}
void CentreGridLine()
{ if (ObjectFind("CGL")) == (-1) )
{
{
string objName = "CGL" ;
ObjectCreate(objName, OBJ_HLINE, 0, Time[0],GSP);
ObjectSet(objName, OBJPROP_PRICE1, GSP);
ObjectSet(objName, OBJPROP_COLOR,CGL);
}
TradeLine();
UprBnd();
LwrBnd();
}
}
void TradeLine()
{
int i;
double GridStep1= (GridStep*2);
double BGSP= (GSP+((GridStep/2)*PipValue*Point)) ;
double SGSP= (GSP-((GridStep/2)*PipValue*Point));
double BBGSP= (BGSP-((GridStep*(GR))*PipValue*Point)) ;
double SSGSP= (SGSP+((GridStep*(GR))*PipValue*Point));
{
for(i=0; i<GR;i++)
{
SGL("Verkaufen "+i,BBGSP+GridStep1*i*PipValue*Point);
}
}
{
for(i=0; i<GR;i++)
{
BGL("Kaufen "+i,SSGSP-GridStep1*i*PipValue*Point);
}
}
}
void BGL(string objName, double price)
{
ObjectCreate(objName, OBJ_HLINE, 0, 0, price);
ObjectSet(objName, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(objName, OBJPROP_WIDTH, 1);
ObjectSet(objName, OBJPROP_COLOR, BGL);
}
void SGL(string objName, double price)
{
ObjectCreate(objName, OBJ_HLINE, 0, 0, price);
ObjectSet(objName, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(objName, OBJPROP_WIDTH, 1);
ObjectSet(objName, OBJPROP_COLOR, SGL);
}
void UprBnd()
{ if (ObjectFind("UPRBND")) == (-1) )
{
double BGSP= (GSP+((GridStep/2)*PipValue*Point)) ;
double price= (BGSP+((GridStep*(GR))*PipValue*Point)) ;
string objName = "UPRBND" ;
ObjectCreate(objName, OBJ_HLINE, 0, Time[0], price );
ObjectSet(objName, OBJPROP_PRICE1,price);
ObjectSet(objName, OBJPROP_COLOR, DodgerBlue);
ObjectSet(objName, OBJPROP_WIDTH,3);
}
}
void LwrBnd()
{ if (ObjectFind("LWRBND") == (-1) )
{
double SGSP= (GSP-((GridStep/2)*PipValue*Point));
double price= (SGSP-((GridStep*(GR))*PipValue*Point));
string objName = "LWRBND" ;
ObjectCreate(objName, OBJ_HLINE, 0, Time[0], price );
ObjectSet(objName, OBJPROP_PRICE1,price);
ObjectSet(objName, OBJPROP_COLOR, Tomate);
ObjectSet(objName, OBJPROP_WIDTH, 3);
}
}
int deinit()
{
if (ClearAllObjects) ObjectsDeleteAll();
return (0);
}
//+------------------------------------------------------------------+Hermes
Können Sie die mq4-Datei anhängen?
Hermes Können Sie die mq4-Datei anhängen?
Hier ist sie. Danke
Hallo,
ich brauche Hilfe mit einer Ea, die ich gemacht habe, ist es auf 2 gleitenden Durchschnitt und 2 verschiedene Zeitrahmen, um Trend zu filtern, würde ich gerne einen RSI-Indikator hinzufügen, um die Trades zu filtern, Setup zum Beispiel RSI Periode 8 Stufe 50, wenn höher als RSI Stufe 50 bei der Kreuzung öffnen wir nur verkaufen, Markt, um zu bestellen, wenn niedriger als RSI Stufe 50 bei der Kreuzung öffnen wir nur kaufen, Markt Aufträge. Ich füge die Ea, auf den ersten war realted zu keltnerchannels, aber jetzt möchte ich nur als Ma1 und Ma2 verwendet werden.
Kann mir jemand mit diesen Änderungen helfen?
Dankeschön
Hier ist es. Danke
Hermes
Probieren Sie dies aus: simpleg_1.mq4
Hallo!
Ich brauche Hilfe mit einer Ea, die ich gemacht habe, ist es auf 2 gleitenden Durchschnitt und 2 verschiedene Zeitrahmen, um Trend zu filtern, würde ich gerne einen RSI-Indikator hinzufügen, um die Trades zu filtern, Setup zum Beispiel RSI Periode 8 Stufe 50, wenn höher als RSI Stufe 50 bei der Kreuzung öffnen wir nur verkaufen, um Markt, wenn niedriger als RSI Stufe 50 bei der Kreuzung öffnen wir nur kaufen, um Markt. Ich füge die Ea, auf den ersten war realted zu keltnerchannels, aber jetzt möchte ich nur als Ma1 und Ma2 verwendet werden.
Kann mir jemand mit diesen Änderungen helfen?
vielen Dank!daniel1983
Es ist fast sicher, dass Sie nie Kreuze von mas und rsis zur gleichen Zeit bekommen werden (d.h. Sie werden fast nie Signale bekommen). Probieren Sie es aus: Erstellen Sie einen einfachen Indikator, der das tut, was Sie beschreiben, und Sie werden sehen, wie selten diese Bedingungen gleichzeitig auftreten
daniel1983 Es ist fast sicher, dass Sie nie Kreuzungen von mas und rsis zur gleichen Zeit erhalten werden (d.h. Sie werden fast nie Signale erhalten). Probieren Sie es aus: Erstellen Sie einen einfachen Indikator, der das tut, was Sie beschreiben, und Sie werden sehen, wie selten diese Bedingungen gleichzeitig auftreten
Hallo Mladen,
ich meine
- bei einem Level zwischen 0 und 50 nur verkaufen
- bei einem Niveau zwischen 50 und 100 nur kaufen,
nicht an diesem gleichen Schnittpunkt, Kreuzung kann auf jedem Niveau (43, 41, 18, 25) für den Kauf von Marktaufträgen, die Bestätigung mit höheren Zeitrahmen Trend. Ich habe dies getestet und ca. 80% der geöffneten Orders sehen so aus, dass mit diesem Filter nicht in die entgegengesetzte Richtung geöffnet wird.
Im Moment öffnet die Ea Kaufauftrag, wenn die Kreuzung einen Abwärtstrend beginnt, mit diesem Filter in 80% der Fälle wird es diese Kreuzung ohne Eingabe der Reihenfolge an diesem Punkt zu filtern. wo diese Ma Kreuze.
In dieser Ea habe ich highertimeframe eingegeben, aber ich habe Test mit besseren Ergebnissen mit niedrigeren Zeitrahmen für die Filterung Trend gemacht.
Ich füge ein Bild von einem Beispiel für einen Test konfiguriert:
Für EURUSD
In diesem Fall bin ich mit EMA 2 und EMA 67, und RSI (8) timeframe 1min und Hitimeframe 5min, in diesem Fall haben Sie einen Kauf Markt Ordnung, die unrentabel ist, dieser Kauf Markt Ordnung geschieht bei der Kreuzung von EMa's aber mit RSI auf einem Niveau unter 50.
Dann haben Sie eine Verkaufsorder, die bei der Kreuzung der EMa's eröffnet wird, aber mit einem RSI unter 50, und diese Order ist die richtige Marktorder, die ich aus allen Signalen herausfiltern möchte.
Ist es möglich, dies zu tun?
Vielen Dank!
Daniel
Hermes Probieren Sie es aus: simpleg_1.mq4
Hallo Mladen,
Endlich funktioniert es damit. Dankeschön
void LoopBS()
{
double max =(ObjectGet("UPRBND",OBJPROP_PRICE1));
double min =(ObjectGet("LWRBND",OBJPROP_PRICE1));
for (int i =ObjectsTotal()-1; i>=0; i--)
{
string name = ObjectName(i);
if (StringSubstr(name,0,3)=="Kaufen")
{
double BS=ObjectGet(name,OBJPROP_PRICE1);
if ((Ask<BS) && (BSmin))
{
max = ObjectGet(name,OBJPROP_PRICE1);
{
Comment(DoubleToStr(BS,Digits)," ");
}
}
}
}
}
Unpräzise Signale
Ungenaue Signale
Liebe Handwerker! Könntet Ihr besser signalisieren, was zu tun ist. M1, M5, M15
Ungenaue Signale Liebe,Handwerker! Könnten Sie besser signalisieren, zu tun. M1, M5, M15
Es wird lediglich angezeigt, ob die letzten 3 Schlusskurse größer oder kleiner sind als die letzten 3 Eröffnungen. Daran gibt es nichts zu verbessern