Multi-Timeframe-Indikatoren - Seite 1127

 
Jeaa:

Liebe alle... Ich hoffe, Sie sind sehr gut...

Ich lerne zu programmieren und tat eine einfache EA, um den niedrigen Wert in der 3 letzten Barr zu bestimmen und öffnen Sie einen Kaufauftrag... aber ich habe ein Problem, nicht die Reihenfolge... Kann mir irgendjemand helfen? Das Programm erhält den niedrigen Preis und zeigt den Alert an, aber setzt nicht den Kaufauftrag...


Vielen Dank im Voraus...

//--------------------------------------------------------------------
// NewBar_jeaa_Rev 2.mq4
//--------------------------------------------------------------------
#property copyright "Jeaa"

extern int GV_CantidadBarras=3; // Cantidad de barras
extern int Ziffern=5;
//--------------------------------------------------------------------
extern double Lots = 0.01;
extern double StopLoss = 100;
extern double TakeProfit = 100;
extern int Slippage = 3;


//--------------------------------------------------------------------
bool GV_Flag_NuevaBarra=false; // Flag de una nueva barra
//======================================================================

int start() // Sonderfunktion start()
{
double Precio; // Variable, die den Mindest- und Höchstpreis registriert
//--------------------------------------------------------------------
Fun_NuevaBarra(); // Funktionsaufruf
if (GV_Flag_NuevaBarra==false) // Si no hay nueva barra..
return; // ..return
//=========================================================================

//int IndMax =ArrayMaximum(High,GV_CantidadBarras,1);// Indice de la barra del precio maximo
int IndMin =ArrayMinimum(Low, GV_CantidadBarras,1);// Indice de la barra del precio minimo

Precio=Low[IndMin];

int ticket=OrderSend(Symbol(),OP_BUY,Lots,Precio,Slippage,StopLoss,TakeProfit, "Mein Auftragrr",16384,0,Blue);

Alert(Symbol(),": Barras= ",GV_CantidadBarras, // Mostrar mensaje de precios max y min
", Min= ",DoubleToString(Precio,digits));

zurück;
}

void Fun_NuevaBarra() // Descripción de la Funcion que detecta ..
{ // .. una nueva barra
static datetime NewTime=0; // Variable, die Datum und Uhrzeit speichert
GV_Flag_NuevaBarra=false; // Inicializa nueva barra a falso (no hay nueva barra)
if(NewTime!=Time[0]) // Si existe nueva barra el dato es distinto de cero..
{
NewTime=Time[0]; //.. y en ese caso se registra el hora y fecha de la..
GV_Flag_NuevaBarra=true; //neue Barra und Aktivierung der Flagge, die das...
//existencia de una nueva barra
}
}

Welche Fehlermeldung erhalten Sie in den Experten oder auf der Registerkarte "Journal" des Terminals?
 
mladen:
Welchen Fehler bekommst du bei den Experten oder im Journal-Tab des Terminals?

Hallo mladen... Danke für deine Antwort...

2016.09.06 11:42:06.700 NewBar_jeaa_Rev 2 USDJPY,M1: Alert: USDJPY: Barras= 3, Min= 102,11600
2016.09.06 11:41:36.561 NewBar_jeaa_Rev 2 USDJPY,M1: Alert: USDJPY: Barras= 3, Min= 102,11600
2016.09.06 11:41:36.561 NewBar_jeaa_Rev 2 USDJPY,M1: Handelsoperationen durch Einstellungen nicht erlaubt
2016.09.06 11:41:36.396 NewBar_jeaa_Rev 2 USDJPY,M1: initialisiert
2016.09.06 11:41:36.385 NewBar_jeaa_Rev 2 USDJPY,M1 Eingaben: GV_CantidadBarras=3; digits=5; Lots=0.01; StopLoss=100.0; TakeProfit=100.0; Slippage=3;
2016.09.06 11:41:35.080 Expert NewBar_jeaa_Rev 2 USDJPY,M1: erfolgreich geladen


2016.09.06 12:57:08.587 '502630': Order buy 0.01 USDJPY opening at market sl: 50.000 tp: 50.000 failed [Invalid S/L or T/P]
2016.09.06 12:57:08.268 '502630': Auftrag buy market 0.01 USDJPY sl: 50.000 tp: 50.000
2016.09.06 12:56:07.224 '502630': Order buy 0.01 USDJPY opening at market sl: 50.000 tp: 50.000 fehlgeschlagen [Invalid S/L or T/P]
2016.09.06 12:56:06.921 '502630': Auftrag buy market 0.01 USDJPY sl: 50.000 tp: 50.000
2016.09.06 12:56:04.221 Automatisierter Handel aktiviert

 
Jeaa:

Hallo mladen... Danke für deine Antwort...

2016.09.06 11:42:06.700 NewBar_jeaa_Rev 2 USDJPY,M1: Alert: USDJPY: Barras= 3, Min= 102.11600
2016.09.06 11:41:36.561 NewBar_jeaa_Rev 2 USDJPY,M1: Alert: USDJPY: Barras= 3, Min= 102.11600
2016.09.06 11:41:36.561 NewBar_jeaa_Rev 2 USDJPY,M1: trade operations not allowed by settings
2016.09.06 11:41:36.396 NewBar_jeaa_Rev 2 USDJPY,M1: initialisiert
2016.09.06 11:41:36.385 NewBar_jeaa_Rev 2 USDJPY,M1 inputs: GV_CantidadBarras=3; digits=5; Lots=0.01; StopLoss=100.0; TakeProfit=100.0; Slippage=3;
2016.09.06 11:41:35.080 Experte NewBar_jeaa_Rev 2 USDJPY,M1: erfolgreich geladen


2016.09.06 12:57:08.587 '502630': order buy 0.01 USDJPY opening at market sl: 50.000 tp: 50.000 failed [Invalid S/L or T/P]
2016.09.06 12:57:08.268 '502630': order buy market 0.01 USDJPY sl: 50.000 tp: 50.000
2016.09.06 12:56:07.224 '502630': order buy 0.01 USDJPY opening at market sl: 50.000 tp: 50.000 failed [Invalid S/L or T/P]
2016.09.06 12:56:06.921 '502630': order buy market 0.01 USDJPY sl: 50.000 tp: 50.000
2016.09.06 12:56:04.221 Automated trading enabled

Wie Sie sehen können, sind Ihr Stop Loss und Take Profit falsch

Sie berechnen diese falsch: Stop-Loss und Take-Profit werden als offener Preis der Order +- Stop-Loss und/oder Take-Profit berechnet (das + oder - hängt von der Art der Order ab), aber nicht als 50 (wie in Ihrem Fall), sondern als offener Preis der Order +- 50*_Point (für Punkte) oder 50*_Point*MathPow(10,MathMod(_Digits,2)) für Pips Abstand vom offenen Preis der Order

 
mladen:

Wie Sie sehen können, sind Ihr Stop Loss und Take Profit falsch

Sie berechnen diese falsch: Stop-Loss und Take-Profit werden als offener Preis der Order +- Stop-Loss und/oder Take-Profit berechnet (das + oder - hängt von der Art der Order ab), aber nicht als 50 (wie in Ihrem Fall), sondern es wäre der offene Preis der Order +- 50*_Point (für Punkte) oder 50*_Point*MathPow(10,MathMod(_Digits,2)) für Pips Abstand vom offenen Preis

Liebe mladen...


Danke für deine Hilfe... Ich habe für geändert:


double SL=NormalizeDouble(Kurs - StopLoss*Point,Digits);
double TP=NormalizeDouble(Kurs + TakeProfit*Punkt,Digits);

int ticket=OrderSend(Symbol(),OP_BUY,Lots,Precio,Slippage,SL,TP, "Jeaa",0,0,Blue);


Und es funktioniert einwandfrei.


Mit freundlichen Grüßen.


Jesús

 
Jeaa:

Liebe mladen...


Danke für deine Hilfe... Ich habe für geändert:


double SL=NormalizeDouble(Kurs - StopLoss*Punkt,Digits);
double TP=NormalizeDouble(Kurs + TakeProfit*Punkt,Digits);

int ticket=OrderSend(Symbol(),OP_BUY,Lots,Precio,Slippage,SL,TP, "Jeaa",0,0,Blue);


Und es funktioniert einwandfrei.


Beste Grüße.


Jesús

Gut! Viel Spaß beim Handeln :)
 

Hallo Leute,

Könnt ihr bitte den Zeitrahmen in der Warnmeldung in der angehängten Datei hinzufügen?

Ich danke Ihnen vielmals :)

 

Lieber Mladen,

Ich bitte um Entschuldigung, dass ich diese Anfrage hier poste, da ich nicht weiß, wo sie hingehört.

Ist es möglich, eine Option "Nur aktuelles Symbol" in den beigefügten Indikator einzufügen.

Wenn Sie das könnten, wäre es wirklich sehr hilfreich :)

Vielen Dank!

Sameer

Dateien:
 
DRADIS33:

Hallo Leute,

Könnt ihr bitte den Zeitrahmen in der Warnmeldung in der angehängten Datei hinzufügen?

Ich danke Ihnen vielmals :)

Hier ist eine Version mit diesem Zusatz


 
sameermehta74:

Lieber Mladen,

Ich bitte um Entschuldigung, dass ich diese Anfrage hier poste, da ich nicht weiß, wo sie hingehört.

Ist es möglich, eine Option "Nur aktuelles Symbol" in den beigefügten Indikator einzufügen.

Wenn Sie das könnten, wäre es wirklich sehr hilfreich :)

Vielen Dank.

Sameer

Sie haben eine sehr einfache Lösung. Fügen Sie diese Zeile ein:

      StringReplace(Symbols,"current",_Symbol);

vor Zeile 64, und geben Sie dann in der Symbolliste "current" an einer beliebigen Stelle der Zeichenfolge ein (ohne das ""), und es wird durch das aktuelle Symbol ersetzt. Oder verwenden Sie das beigefügte :) (es gelten die gleichen Regeln wie für das aktuelle Symbol: wenn nur das aktuelle Symbol angezeigt werden soll, geben Sie nur "current" in die Symbolliste ein)

Dateien:
 
mladen:

Sie haben eine sehr einfache Lösung. Fügen Sie diese Zeile :

vor Zeile 64 ein, und geben Sie dann in der Symbolliste "current" an einer beliebigen Stelle der Zeichenfolge ein (ohne das ""), und es wird durch das aktuelle Symbol ersetzt. Oder verwenden Sie das beigefügte :) (es gelten die gleichen Regeln wie für das aktuelle Symbol: wenn nur das aktuelle Symbol angezeigt werden soll, geben Sie nur "current" in die Symbolliste ein)

Vielen Dank :) Ich bin Ihnen sehr dankbar.