Hilfe bei der Codierung - Seite 65

 

Hier ist eine Funktion, die nach offenen Aufträgen sucht und den Preis des letzten offenen Auftrags zurückgibt (wenn es keine vorherigen Aufträge gab, wird 0 zurückgegeben)

double lastOrderOpenPrice(int magicNumber=0)

{

datetime lastTime = 0;

double lastPrice = 0;

for(int i=OrdersTotal()-1; i>=0; i--)

{

if (OrderSelect(i,SELECT_BY_POS, MODE_TRADES)==false) break;

if (magicNumber!=0)

if (OrderMagicNumber() != magicNumber) continue;

if (OrderSymbol() != Symbol()) continue;

if (OrderOpenTime() <= lastTime) continue;

lastTime = OrderOpenTime();

lastPrice = OrderOpenPrice();

}

if (lastTime==0)

for(i=OrdersHistoryTotal()-1; i>=0; i--)

{

if (OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)==false) break;

if (magicNumber!=0)

if (OrderMagicNumber() != magicNumber) continue;

if (OrderSymbol() != Symbol()) continue;

if (OrderOpenTime() <= lastTime) continue;

lastTime = OrderOpenTime();

lastPrice = OrderOpenPrice();

}

return(lastPrice);

}

[/PHP]

The assumtion is that currently open orders have times more recent than the already closed orders. If you wish to avoid that assumption, comment out this line :

[PHP] if (lastTime==0)

dasio:
Hallo,

Ich brauche eine Doppelfunktion, die mir den Orderopenprice() der letzten offenen Order liefert.

Kann mir jemand helfen?

danke für die Hilfe
 

Hallo,

ich verwende diesen Code zur Berechnung der Lotsieze. Manchmal erhalte ich den Fehler 131. Ist der Code in Ordnung?

double Lotti1(double StopLoss,double Rischio_per_trade){

double MyLots,AllowedLots,MaxLots,MinLot,StopValue,TickValue;

int RightLots;

AllowedLots=(AccountFreeMargin()* Rischio_per_trade/100);

if (Digits==2 || Digits==4)

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE)/10;

else

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE);

StopValue=StopLoss*TickValue;

MinLot=MarketInfo(Symbol(),MODE_MINLOT);

MaxLots=MarketInfo(Symbol(),MODE_MAXLOT);

RightLots=MathRound(AllowedLots/StopValue);

double soldi_ora = AccountBalance()/100;

MyLots = soldi_ora*(Rischio_per_trade/10);

MyLots = NormalizeDouble(MyLots/StopLoss,2);

MyLots = NormalizeDouble(MyLots/(MarketInfo(Symbol(),MODE_TICKVALUE)/100),2);

MyLots = NormalizeDouble(MyLots/100,2);

return(MyLots);

}[/PHP]

the Stoploss is = [PHP]StopLoss= NormalizeDouble(Ask-SLbuy()-20*Point,5)*10000;

und Rischio_per_trade = 0.5.

Dankeschön

 

dasio

Versuchen Sie die Funktion aus diesem Beitrag: https: //www.mql5.com/en/forum/general

dasio:
Hallo,

Ich verwende diesen Code für die Berechnung der Lotsieze. Manchmal erhalte ich den Fehler 131. Ist der Code in Ordnung?

double Lotti1(double StopLoss,double Rischio_per_trade){

double MyLots,AllowedLots,MaxLots,MinLot,StopValue,TickValue;

int RightLots;

AllowedLots=(AccountFreeMargin()* Rischio_per_trade/100);

if (Digits==2 || Digits==4)

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE)/10;

else

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE);

StopValue=StopLoss*TickValue;

MinLot=MarketInfo(Symbol(),MODE_MINLOT);

MaxLots=MarketInfo(Symbol(),MODE_MAXLOT);

RightLots=MathRound(AllowedLots/StopValue);

double soldi_ora = AccountBalance()/100;

MyLots = soldi_ora*(Rischio_per_trade/10);

MyLots = NormalizeDouble(MyLots/StopLoss,2);

MyLots = NormalizeDouble(MyLots/(MarketInfo(Symbol(),MODE_TICKVALUE)/100),2);

MyLots = NormalizeDouble(MyLots/100,2);

return(MyLots);

}[/PHP]

the Stoploss is = [PHP]StopLoss= NormalizeDouble(Ask-SLbuy()-20*Point,5)*10000;

und Rischio_per_trade = 0.5.

vielen Dank
 

Liebe Freunde,

Ich wünsche Euch und allen Forumsmitgliedern Gesundheit und Glück für das kommende neue Jahr! Ich bin wirklich dankbar für die vielen hervorragenden und großzügigen Programmierer hier und die brillanten Ideen der Mitglieder dieses Forums. Alle helfen mir sehr bei der Verbesserung meiner Trading-Fähigkeiten (obwohl ich immer noch ein Idiot in dieser Karriere bin )

Kürzlich, bei der Überprüfung des Marktes und meines Handelsansatzes, habe ich über einen Indikator nachgedacht, der mir sehr helfen würde (und anderen vielleicht auch). Meine Idee ist ganz einfach, aber sie in Code zu übertragen, übersteigt meine Fähigkeiten. Da ich nicht weiß, ob es einen solchen Indikator gibt oder nicht, werde ich meine Idee im Detail beschreiben und hoffe, dass mir jemand helfen kann, den passenden Indikator zu finden oder zu erstellen.

- Allgemeine Idee: Ich möchte den Marktpreis kontinuierlich innerhalb eines bestimmten Bereichs von Punkten verfolgen. Der Indikator würde mir einige notwendige Informationen über das Kursgeschehen innerhalb von Kurssegmenten (festgelegte Spanne) liefern, wie z.B.: (1) oberes Niveau, (2) unteres Niveau, (3) mittleres Niveau, (4) Anzahl der Balken innerhalb der Spanne. Ich würde auch gerne das Niveau des Point of Control (POC) der Balken in der gegebenen Spanne wissen, aber vielleicht ist es zu kompliziert in der Kodierung und verbraucht viel PC-Speicher.

- Analogie: Ich fand populäre Indikatoren wie "Market Profile", "Price Channel", oder "Session HiLo", ... teilen meine Idee. Aber alle von ihnen sind durch Zeitintervalle wie Stündlich, Täglich, ... nicht auf der Grundlage der gegebenen festen Bereich oder fehlen einige Funktionen, wie ich oben erwähnt. Ich habe versucht, sie umzukodieren, um meine Idee zu adaptieren, aber bis jetzt nicht erfolgreich.

- Wunschliste zum Indikator: (1) Eingabeparameter: Fester Bereich von Punkten; Zeitintervall (in Minuten, Stunden oder Tagen) oder Balkenanzahl, die verwendet wird, um die Anzahl der innerhalb des angegebenen Bereichs geschlossenen Balken zu zählen; Alarm, wenn der Preis die Levels berührt (optional)

(2) Ausgabe auf dem Hauptchart: Anzeige der horizontalen Linie, die den Niveaus der Spanne entspricht (oberes, unteres, mittleres), und Text, der über die Anzahl der Bars informiert, die innerhalb der Spanne für die angegebene Zeit gezählt wurden.

(3) Kontinuierliche Aktualisierung: Die Informationen werden in 3 Fällen aktualisiert: (a) der Preis erreicht ein neues Hoch des aktuellen Bereichs, (b) ein neues Tief des aktuellen Bereichs, (c) immer mehr Balken konsolidieren sich innerhalb des aktuellen Bereichs.

Normalerweise muss ich all diese Dinge manuell tun. Jetzt hoffe ich, dass der Indikator meine Arbeit vereinfacht, Zeit spart und mir hilft, mich auf die Preisbewegung zu konzentrieren. Ich habe das Internet durchforstet, aber ich kann kein solches Tool finden. Wenn Sie eines kennen oder eines entwickeln, wäre ich Ihnen sehr dankbar.

Vielen Dank für Ihre Überlegungen und Ihre Hilfe!

Und nochmals, ein frohes neues Jahr für Sie!

Mit freundlichen Grüßen,

fareastol

Oh, ich habe vergessen, ein Bild anzuhängen, das zeigt, wie ich mir den Indikator vorstelle.

Dateien:
 

Ich hänge noch ein Bild an, um meine Idee zu verdeutlichen:

a) High oder Low des aktuellen Bereichs wird separat mit der eingegebenen Bar-Nummer bestimmt. High/Low ist an die gegebene Bereichsgröße und die aktuelle Marktpreisaktion angepasst.

b) Die eingegebene Balkenanzahl wird nur verwendet, um die Anzahl der innerhalb der aktuellen Spanne geschlossenen Balken zu berechnen.

c) Ich kann den Indikator mehr als einmal auf einen Chart setzen, natürlich mit unterschiedlichen Eingabeeinstellungen.

fareastol:
Liebe Freunde,

Ich wünsche Ihnen und allen Forumsmitgliedern Gesundheit und Glück für das neue Jahr! Ich bin wirklich dankbar für die vielen hervorragenden und großzügigen Programmierer hier, sowie für die brillanten Ideen der Mitglieder dieses Forums. Sie alle helfen mir sehr dabei, meine Handelsfähigkeiten zu verbessern (obwohl ich immer noch ein Idiot in dieser Karriere bin )

Kürzlich, bei der Überprüfung des Marktes und meines Handelsansatzes, habe ich über einen Indikator nachgedacht, der mir sehr helfen würde (und anderen vielleicht auch). Meine Idee ist ganz einfach, aber sie in Code zu übertragen, übersteigt meine Fähigkeiten. Da ich nicht weiß, ob es einen solchen Indikator gibt oder nicht, werde ich meine Idee im Detail beschreiben und hoffe, dass mir jemand helfen kann, den am besten geeigneten Indikator zu finden oder zu erstellen.

- Allgemeine Idee: Ich möchte den Marktpreis kontinuierlich innerhalb eines bestimmten Bereichs von Punkten verfolgen. Der Indikator würde mir einige notwendige Informationen über das Kursgeschehen innerhalb von Kurssegmenten (festgelegte Spanne) liefern, wie z.B.: (1) oberes Niveau, (2) unteres Niveau, (3) mittleres Niveau, (4) Anzahl der Balken innerhalb der Spanne. Ich würde auch gerne das Niveau des Point of Control (POC) der Balken in der gegebenen Spanne wissen, aber vielleicht ist es zu kompliziert in der Kodierung und verbraucht viel PC-Speicher.

- Analogie: Ich fand populäre Indikatoren wie "Market Profile", "Price Channel", oder "Session HiLo", ... teilen meine Idee. Aber alle von ihnen sind durch Zeitintervalle wie Stündlich, Täglich, ... nicht auf der Grundlage der gegebenen festen Bereich oder fehlen einige Funktionen, wie ich oben erwähnt. Ich habe versucht, sie umzukodieren, um meine Idee zu adaptieren, aber bis jetzt nicht erfolgreich.

- Wunschliste zum Indikator: (1) Eingabeparameter: Fester Bereich von Punkten; Zeitintervall (in Minuten, Stunden oder Tagen) oder Balkenanzahl, die verwendet wird, um die Anzahl der innerhalb des angegebenen Bereichs geschlossenen Balken zu zählen; Alarm, wenn der Preis die Levels berührt (optional)

(2) Ausgabe auf dem Hauptchart: Anzeige der horizontalen Linie, die den Niveaus der Spanne entspricht (oberes, unteres, mittleres), und Text, der über die Anzahl der Bars informiert, die innerhalb der Spanne für die angegebene Zeit gezählt wurden.

(3) Kontinuierliche Aktualisierung: Die Informationen werden in 3 Fällen aktualisiert: (a) der Preis erreicht ein neues Hoch des aktuellen Bereichs, (b) ein neues Tief des aktuellen Bereichs, (c) immer mehr Balken konsolidieren sich innerhalb des aktuellen Bereichs.

Normalerweise muss ich all diese Dinge manuell tun. Jetzt hoffe ich, dass der Indikator meine Arbeit vereinfacht, Zeit spart und ich mich auf die Preisbewegung konzentrieren kann. Ich habe das Internet durchforstet, aber ich kann kein solches Tool finden. Wenn Sie eines kennen oder eines entwickeln, wäre ich Ihnen sehr dankbar.

Vielen Dank für Ihre Überlegungen und Ihre Hilfe!

Und nochmals, ein frohes neues Jahr für Sie!

Mit freundlichen Grüßen,

fareastol

Oh, ich habe vergessen, ein Bild anzuhängen, was ich mir vom Indikator vorstelle
Dateien:
 

Ich glaube, ich habe doch noch etwas selbst gemacht. Jetzt teilen mit Ihnen.

Wie im Indikator angegeben, habe ich nichts erfunden, sondern nur zwei verwandte Indikatoren gemischt, die ich habe. Vielleicht ist es nicht gut "gemischt"

Bitte schauen Sie es sich an und verbessern Sie es, wenn Sie denken, dass es nützlich ist!

 

Zeichnen mehrerer Rechteckobjekte

Hallo,

ich versuche, mehrere Rechtecke zu zeichnen, die die letzte n Kerze überprüfen.

Der Punkt haben eine einfache Regel.

Beigefügt ist ein Beispiel.

Das große Rechteck ohne Hintergrund definiert die Regel (überprüfen Sie Preis von Punkt 1 bis Punkt 2 mit gleitenden Durchschnitt enthalten).

Der Punkt für das Zeichnen des Rechtecks ist das Hoch und das Tief des Balkens mit dem höchsten Wert des Bereichs.

Wie kann ich das codieren?

Vielen Dank für Ihre Antwort.

Entschuldigung,

ich kann jetzt kein Bild anhängen. Punkt 1 ist die Kreuzung des schnellen MA mit dem langsamen MA nach oben und Punkt 2 ist die Kreuzung des schnellen MA mit dem langsamen MA nach unten.

 

Könnte mir jemand helfen, den beigefügten RSI-Chart-Balken-Indikator zu ändern?

Dieser Indikator zeigt blaue Balken an, wenn der RSi über 50 liegt, und rote Balken, wenn er darunter liegt.

Eigentlich ist die 50er-Marke die mittlere Stufe des RSI. Es wäre sehr nützlich, wenn zwei weitere Niveaus bei 70 und 30 hinzugefügt würden, die die wirklichen überkauften und überverkauften Niveaus sind. und wenn der RSI diese beiden Niveaus 70/30 durchläuft, sollten die Kerzen auch ihre Farbe ändern. Ich wäre wirklich dankbar für jede Hilfe und danke im Voraus.

Dateien:
 

Laszlo,

Probieren Sie diese Version aus. Es funktioniert immer noch mit 2 Ebenen, aber es zeigt (oder besser gesagt, nicht zeigen) 3 Staaten. Er färbt die Balken ein, wenn die Niveaus nach oben oder unten durchbrochen werden, und wenn der RSI-Wert zwischen den 2 Niveaus liegt, lässt er die Balken so, wie sie sind (also einfache, nicht vom Indikator gefärbte Balken) Hier ist ein Beispiel, wie es aussieht und wie es im Vergleich zum "normalen" RSI aussieht:

Laszlo:
Kann mir jemand helfen, den beigefügten rsi chart bars indicator zu modifizieren?

Dieser Indikator zeigt blaue Balken an, wenn der RSi über 50 liegt, und rote Balken, wenn er unter diesem Wert liegt.

Eigentlich ist die 50er-Marke die mittlere Stufe des RSI. Es wäre sehr nützlich, wenn zwei weitere Niveaus bei 70 und 30 hinzugefügt würden, die die wirklichen überkauften und überverkauften Niveaus sind. und wenn der RSI diese beiden Niveaus 70/30 überschreitet, sollten die Kerzen auch ihre Farbe ändern. Ich wäre wirklich dankbar für jede Hilfe und danke im Voraus.
 
fareastol:
Ich denke, ich habe selbst etwas gemacht, nachdem alle. Jetzt teilen mit Ihnen.

Wie im Indikator angegeben, erfinde ich nichts, sondern mische nur zwei verwandte Indikatoren, die ich habe. Vielleicht ist es nicht gut "gemischt"

Bitte schauen Sie es sich an und verbessern Sie es, wenn Sie denken, dass es nützlich ist!

Fareastol, ich mag deinen Bereichsindikator und ich denke, dass es cool wäre, wenn du einen "Startpunkt" (den du hast) und einen "Endpunkt" hinzufügen könntest, und dann wird der Bereich automatisch für diesen Zeitraum gezeichnet.