Fragen Sie! - Seite 45

 
majlisb:
Hallo, Profi

in Beispiel In einer Ea erhalten wir ein Signal und wir wollen eine BUYSTOP/SellStop Order in Höhe des Signalbars platzieren,

Wir sollten warten, bis ein neuer Balken geöffnet wird, um die Höhe des Signalbalkens zu finden, wie können wir das tun? (irgendein Artikel, Beitrag, EA, , , , )

Danke

Wenn Sie zählen 3bars für Signal jetzt zählen 4bars einfach ja ? Codersguru hat einen schönen Artikel über einen anderen Weg in mql4 Website

 

Ich habe eine Frage:

Dies erfordert möglicherweise eine zusätzliche Programmierung, die auf MT nicht möglich ist. Nicht sicher. Grundsätzlich habe ich einen EA, der sowohl Backtests und Forward-Tests gut in MT mit Alpari Daten. Bei den Datenfeeds anderer Broker gibt es oft eine Diskrepanz zwischen den Trades. Manchmal, wenn ein Handel bei Alpari eröffnet wird, wird er bei einem anderen Broker nicht eröffnet oder umgekehrt. Ist es möglich, eine Art Skript zu schreiben, das den Handel auf der Plattform meines Brokers ausführt, sobald ein Handel auf der Plattform von Alpari ausgeführt wurde?

Ein Beispiel: Ich erhalte ein Signal zum Kauf von 2 Lots Kabel zu 1,9450 auf Alpari. Der Handel wird ausgeführt. Derselbe Auftrag wird dann einen Sekundenbruchteil später auf der Plattform meines Live-Brokers eingegeben. Wenn ein Stop- oder T/P-Level auf Alpari erreicht und der Handel geschlossen wird, wird derselbe Handel dann auf der Plattform meines Live-Brokers geschlossen.

Es handelt sich nicht um ein Scalping-System, wenn also eine Diskrepanz von 2 Pips zwischen den beiden Kursen besteht, ist das keine große Sache. Weiß jemand, ob dies möglich ist, und wenn ja, wie gehe ich vor, um es zu tun? Ich danke Ihnen.

 

Hilfe bei MTF xpMA

Codersguru,

Können Sie bitte die MTF-Fähigkeiten von xpMA überprüfen?

Vielen Dank!

Pippt

Bitte siehe Beitrag #364 unter:

https://www.mql5.com/en/forum/173574

 

einfache Frage, aber ich kann es nicht herausfinden. welche mathematische Funktion in mql wird verwendet, um einen doppelten Wert abzurunden?

ich habe zum beispiel 0,69 und möchte, dass das ergebnis 0,70 ist. oder wenn der wert 0,63 ist und das ergebnis 0,60 wäre.

Die Funktionen mathceiling() und mathfloor() erfüllen diesen Zweck nicht.

 

Frage für Anfänger

Hallo zusammen...

Dank CodersGuru und seinem ausgezeichneten Kurs versuche ich, MQL4 zu lernen

zu lernen, indem ich einen Indikator konvertiere, den ich in MQL3 geschrieben habe.

Ich bin auf ein Problem gestoßen und wäre dankbar, wenn mir jemand sagen könnte, was ich in dem folgenden Code falsch mache.

Das Problem liegt in den 2 If-Anweisungen... in Zeile 78 & 79

//+------------------------------------------------------------------+

//| First_Indicator.mq4

//| Codersguru |

//| https://www.mql5.com/en/forum |

//+------------------------------------------------------------------+

#Eigenschaft Copyright "Codersguru"

#property link "https://www.forex-tsd.com"

#property indicator_chart_window

#Eigenschaft indicator_buffers 8

#property indicator_color1 Rot

//---- puffer

double ExtMapBuffer1[];

//----------------- Variablendeklarationen ----------------------+

int pos=0;

double Pivot_Point = 0;

double new_Pivot_Point =0;

double prev_Pivot_Point=0;

double Pivot_Factor=0;

double LastClose=0;

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Initialisierungsfunktion |

//+------------------------------------------------------------------+

int init()

{

//---- Indikatoren

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);

SetIndexPuffer(0,ExtMapPuffer1);

string short_name = "Pivot Line";

IndicatorShortName(short_name);

return(1);

}

//+------------------------------------------------------------------+

Custor Indikator-Deinitialisierungsfunktion //|

//+------------------------------------------------------------------+

int deinit()

{

return(0);

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Iterationsfunktion |

//+------------------------------------------------------------------+

int start()

{

int counted_bars=IndicatorCounted();

//---- Prüfung auf mögliche Fehler

if (gezählte_Balken<0) return(-1);

//---- zuletzt gezählte Balken werden neu gezählt

if (gezählte_Balken>0) gezählte_Balken--;

int cnt=Balken-gezählt_Balken;

//---- Hauptberechnungsschleife

while(cnt >= 0)

{

LastClose = Close[cnt];

If (LastClose > Pivot_Point) //Zeile 78

If(neuer_Pivot_Point > prev_Pivot_Point) //Zeile 79

{

prev_Pivot_Point = new_Pivot_Point;

Pivot_Point = new_Pivot_Point;

}

ExtMapBuffer1[cnt]= Pivot_Point ;

cnt--;

}

return(0);

}

Dies sind die Compiler-Meldungen -

---------------------------------------------------------------

If' - Funktion ist nicht definiert .....(78,10)

'If' - Semikolon erwartet .....(79,13)

'If' - Funktion ist nicht definiert ...(79, 13)

'{' - Semikolon erwartet ....(80, 13)

----------------------------------------------------------------

Egal, was ich tue, ich kann nicht herausfinden, was das Problem ist... Ich weiß, dass es sehr einfach ist, aber es entgeht mir...

Danke an alle, die bei dieser grundlegenden Frage helfen können....

Chef

P.S. Ein frohes, gesundes und erfolgreiches neues Jahr für ALLE

 

Bei MQL wird zwischen Groß- und Kleinschreibung unterschieden: Verwenden Sie "if" statt "If".

 

WOW... das war Fast....

Vielen Dank für die schnelle Antwort... habe es gelöst...

Ihre Antwort wird sehr geschätzt... ich wünsche Ihnen ein tolles neues Jahr...

Chef

 

MathRound

BluePearl:
Eine einfache Frage, aber ich kann sie nicht beantworten. Welche mathematische Funktion wird in Mql verwendet, um einen Doppelwert zu runden?

Sagen wir zum Beispiel, ich habe 0,69 und möchte, dass das Ergebnis 0,70 ist. Oder wenn der Wert 0,63 ist und das Ergebnis 0,60 wäre.

Die Funktionen mathceiling() und mathfloor() erfüllen den Zweck nicht.

Es gibt "MathRound(double x)", das einen Wert auf die nächste Ganzzahl rundet; dasselbe wie "MathFloor(x+0.5)", nehme ich an. Um auf eine Dezimalstelle zu runden, können Sie einen Ausdruck mit Dezimalverschiebung wie "MathRound(x*10)/10" verwenden.

 

Wie kann ich Pfeile in den Anhang einfügen, damit sie am Kreuz nach oben und unten zeigen?

Dateien:
mtf_cross.mq4  5 kb
 

Histogramm

Nun, hier ist eine weitere Frage, während ich weiterhin lerne, wie man von MQL3 zu MQL4.... konvertiert

Ich möchte einen Abschnitt des Diagramms malen, der zwischen zwei Linien liegt, der oberen und der unteren. Ich weiß nicht, ob es eine Funktion gibt, mit der man einen Bildschirmausschnitt malen kann oder nicht, also habe ich beschlossen, die Funktion "Draw_Histogram" in der Anweisung SetIndexStyle() zu verwenden. Aber ich verstehe nicht ganz, wie das funktioniert. Wenn ich sie verwende, passiert nichts.

Beispiel:

SetIndexStyle(7,DRAW_HISTOGRAM,0,1);

ExtMapBuffer8[cnt]= (Pivot_Point-(Short_Line*Point));

Print("Cnt = ",cnt," Histo = ",ExtMapBuffer8[cnt]," Calc = ",(Pivot_Point+(Short_Line*Point)));

Die Ausgabe im Journal ergibt das richtige cnt, das richtige calc, aber der Histo-Wert ist Null.

Ich habe den Code im MACD-Indikator und im Heiken-Ashi-Indikator untersucht, ohne Erfolg, und ich verstehe nicht, wie er funktioniert. Der Heiken-Ashi-Indikator scheint 4 Puffer zu verwenden, um jede Kerze zu erstellen, aber ich bin mir da nicht sicher.

Der MACD scheint eine Basislinie von Null zu verwenden, von der aus der Histogrammbalken gezeichnet wird; gibt es eine Basislinie, von der aus er startet? Wenn ja, wie kann man sie festlegen?

Könnte mir bitte jemand erklären, wie diese Funktion funktioniert, damit ich lerne, sie richtig zu programmieren. Wenn es eine Funktion gibt, die einen bestimmten Bildschirmausschnitt malt, wäre ich auch für Informationen darüber dankbar.

Vielen Dank für Ihre freundliche Unterstützung....

Mit freundlichen Grüßen,

Leiter

Grund der Beschwerde: