Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 369

 
Link_x:
Hallo!
Hmmm, wie kann ich eine Linie an einen Indikator anhängen, indem ich seinen Code erstelle?
Ich habe im Referenzbuch eine Funktion gefunden, die ein Objekt definiert.
Ich habe auch herausgefunden, wie man die Eigenschaften einstellen kann.
Ich habe versucht, es zu programmieren.
Das Ergebnis: 5 Fehler.
Ich würde gerne ein Beispiel dafür sehen, wie ein OBJ_HLINE-Objekt definiert wird.
Ich danke Ihnen!


Werden wir selbst etwas suchen? Oder sind Sie es gewohnt, alles auf einem Teller präsentieren zu müssen?

hier lesen

p.s. Der Beispielcode und die Beschreibung sind unter diesen Worten falsch:

Verwendung der Schriftart Wingdings

Nun wollen wir Etiketten mit der Schriftart Wingdings erstellen. Ändern wir die Funktion start():

 
Ekburg:


Ihre Frage ist unklar... wenn Sie den Code richtig eingefügt hätten, hätten Sie die Verwirrung, die Sie haben, erklären können).

aber mal sehen, was wir tun können


Ein Einwohner von Swerlowsk, so wie es aussieht?
 
Vinin:

Schwedisch, nehme ich an?

Ja, das bin ich.)
 
SpikeOne:

Bitte helfen Sie mir, verstehe ich, wie dieser Code richtig funktioniert?

Ich habe ihn in den EA an einer bestimmten Stelle eingefügt und er beginnt, alle Aufträge zu schließen, wenn er 715 erreicht,

Ich habe nur ein Problem, an einigen Stellen, weil ich diesen Code eingefügt haben beginnt ein Chaos, vielleicht kann mir jemand sagen, was falsch ist:



Ich habe gerade begonnen, Ihren Code zu analysieren, und ich kann bereits sehen, dass Ihre Code-Architektur kaputt ist...

Nicht korrekt freiliegende geschweifte Klammern, korrigieren Sie diese, und vielleicht ist das Problem dann gelöst

P.S. Ich meine nicht eine visuelle Ausstellung, wo immer, und verwechselt öffnende und schließende Klammern ... zum Beispiel im ersten Block, wenn am Ende der Schließung Platz, Sie Fig. Klammer öffnen Sie einen anderen Block, das ist wegen dieser Verwirrung entsteht

 
SpikeOne:

Bitte helfen Sie mir, verstehe ich, wie dieser Code richtig funktioniert?

Ich habe ihn in den EA an einer bestimmten Stelle eingefügt und er beginnt, alle Aufträge zu schließen, wenn er 715 erreicht,

Ich habe noch ein Problem damit, an einigen Stellen wird es unübersichtlich, weil ich diesen Code dort eingefügt habe, vielleicht kann mir jemand sagen, was falsch ist:



Installieren Sie den neuesten Build im Terminal, es ist einfacher, dort Code zu schreiben, und es ist weniger wahrscheinlich, dass Sie Fehler machen, das rate ich Ihnen:)

Ich habe den Teil korrigiert, den ich zuerst gesendet habe, ohne den letzten Teil der Klammern, von dem nicht klar ist, warum er notwendig ist...

if ( AccountProfit()+ AccountBalance()>=715)
   {
   for(int zx=OrdersTotal(); zx+1>=0; zx--)
      {
      if(OrderSelect(zx,SELECT_BY_POS,MODE_TRADES)==true)
      OrderDelete(OrderTicket());
      }
   }
while (OrdersTotal()>0)
   {
   if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
      {
      if(OrderType()==OP_BUY) result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),MarketInfo(OrderSymbol(),MODE_DIGITS)),3,CLR_NONE);
      if(OrderType()==OP_SELL) result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),MarketInfo(OrderSymbol(),MODE_DIGITS)),3,CLR_NONE);
      if (OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELLSTOP)
      OrderDelete(OrderTicket());
      if(result!=TRUE)
         {
         er=GetLastError();
         Print("LastError = ",er, " ",Symbol());
         }
      else er=0;
      }
   else Print( "Error when order select ", GetLastError());
   }
 

Liebe Genossinnen und Genossen, liebe Freundinnen und Freunde, es fällt mir schwer auszudrücken, wie dankbar ich für eure bisherige Hilfe beim Schreiben des EA bin (am Ende der 350. Seite dieses Threads). Jetzt brauche ich wieder Ihre Hilfe, und ich hoffe, Sie werden es wieder tun.

Ich muss also Folgendes in meinen EA schreiben:

Der EA sollte mit EMA-Extremen arbeiten. Bei EMA-Hochs muss er eine offene Short-Order zu einem Preis platzieren, der dem Preis des Tiefs der Umkehrkerze abzüglich eines bestimmten Prozentsatzes dieses Preises entspricht (z. B. das Tief der Umkehrkerze * 0,99). Die schwebende Order muss auch einen Stop-Loss und einen Take-Profit als Prozentsatz dieses Tiefs der Umkehrkerze enthalten. Aber das ist noch nicht alles. Auch wenn das EMA-Maximum erreicht wird, sollte der EA Stop-Losses in allen offenen Long-Positionen für diesen Vermögenswert auf demselben Niveau platzieren, auf dem die Short-Position eröffnet werden soll. Wenn also der geschätzte Preis erreicht wird (siehe oben), sollten die bestehenden Long-Positionen geschlossen werden (unter Verwendung der zuvor vom EA festgelegten Stop-Losses) und die Short-Positionen eröffnet werden.

Bei einem niedrigen EMA ist das Gegenteil der Fall: Es gibt eine Kerze, bei der die Bewegung nach oben gedreht hat. Bei der nächsten Kerze sollte der EA beginnen, dem Kurs zu folgen, und wenn dieser das folgende Niveau überschreitet: das Hoch der Umkehrkerze + einen bestimmten Prozentsatz (z. B. das Hoch der Umkehrkerze * 1,01), sollten die bestehenden offenen Short-Positionen einen Stop-Loss zu diesem Preis (das Hoch der Umkehrkerze + einen bestimmten Prozentsatz) und einen ausstehenden Auftrag zur Eröffnung einer Long-Position zum gleichen Preis (mit einem Stop-Loss und Take-Profit in % des Hochs der Umkehrkerze) platzieren.

So, der Berater bei einer Umkehrung der muvning (wir meinen eine abgeschlossene Umkehrung, dh die Umkehrung der beiden vorangegangenen Kerzen, die aktuelle Kerze wird nicht berücksichtigt, die muvning kann auf der aktuellen Bar umgekehrt werden, aber es wird nicht um auf sie, diese Umkehrungen während der aktuellen muvning, wenn das Ergebnis der Schließung der Bar Umkehrung ist nicht - nicht zählen).

Befindet sich die Bewegung also auf einem Maximum, sollte der Expert Advisor einen Stop-Loss für bestehende Long-Positionen auf einem bestimmten Niveau setzen (siehe oben) und eine schwebende Order zur Eröffnung einer Short-Position auf demselben Niveau eröffnen (mit Stop-Loss und Take-Profit).

Wenn der Muving niedrig ist, ist es umgekehrt - der EA platziert einen Stop-Loss in den offenen Shorts auf einem bestimmten Niveau (siehe oben) und platziert eine Pending Order, um eine Long-Position auf dem gleichen Niveau zu eröffnen (mit Stop-Loss und Take-Profit).

Es wird also nicht möglich sein, in die Kasse zu gehen, wir werden immer entweder in einer Long-Position oder in einer Short-Position sein. Wenn wir eine Long-Position schließen, eröffnen wir gleichzeitig eine Short-Position und andersherum.

Ich habe versucht, mit meinem funktionierenden EA zu spielen (er funktioniert, indem er zwei EMAs kreuzt) und ihn in der richtigen Weise zu modifizieren. Aber meine mangelnden C++-Kenntnisse und meine Abneigung gegen das Programmieren ließen mich scheitern. Hier ist der Link zu dem Expert Advisor, den ich versucht habe, in den gewünschten zu ändern: https://www.mql5.com/ru/code/8463?source=terminal4_codebase

Ich verstehe, dass ich eine Menge Hilfe brauche, es ist keine leichte Aufgabe, so als Bonus werde ich meine Forschungsergebnisse von BTC/USD (bitcoins/dollars) Austausch btc-e für diejenigen, die mir geholfen geben. Ich habe den am besten geeigneten gleitenden Durchschnitt (um weniger Fehlsignale zu haben und gute Bewegungen auszulösen), die besten Parameter dafür (den Prozentsatz der Hochs/Tiefs der Umkehrkerze) und die am besten geeigneten Take-Profits bestimmt. Ich habe es in Excel berechnet. Diese Excel-Datei ist von mir, als Zeichen der Dankbarkeit. Vielleicht ist es für Sie nützlich.

Ich möchte nicht nur mit diesem Expert Advisor handeln. Ich brauche es, um den Markt zu überwachen, wenn ich ihn nicht verfolge (weil ich ihn nicht 24 Stunden am Tag verfolgen kann). Wenn ich am Monitor bin, handele ich nach Unterstützungs-/Widerstandslinien gemäß einer bestimmten Methodik, aber das EMA-System hilft mir auch - um Ausbruchspunkte von Niveaus zu bestimmen und Stopps zu setzen.

Ich warte auf Hilfe bei der Erstellung eines EA und verlasse mich auf sie.

 
okidoki543:

Liebe Genossinnen und Genossen, liebe Freundinnen und Freunde, es ist schwer auszudrücken, wie dankbar ich für eure bisherige Hilfe beim Schreiben des EA bin (am Ende der 350. Seite dieses Threads). Jetzt brauche ich wieder Ihre Hilfe, und ich hoffe, Sie werden sie mir wieder geben.

Ohhhh!?:) Nur ein Auftrag zum Schreiben)
 
okidoki543:

Ich muss also im EA Folgendes vorschreiben:

Die Aufgabe ist durchaus machbar, im Prinzip muss nicht einmal viel Code geschrieben werden... wenn man nur die Zeit dazu hätte...:)
 
Ich weiß nicht, wie man ein normales Zitat einfügt, ich habe es so formuliert, manuell: [quote]Die Aufgabe ist durchaus machbar, im Prinzip muss man nicht einmal viel Code schreiben... es wäre Zeit dafür... :)[/quote] Ich wäre dankbar, wenn Sie helfen könnten.
 
okidoki543:
Ich weiß nicht, wie man ein normales Zitat einfügen, setzen Sie es auf diese Weise, manuell: [quote]Die Aufgabe ist durchaus machbar, im Prinzip nicht einmal eine Menge Code zu schreiben, die Zeit, es zu tun wäre...:)[/quote] Ich wäre dankbar, wenn Sie helfen.


Wenn ich kann, werde ich den Code heute überspringen... Ich bin nicht sicher, ob es funktionieren wird, da ich auf der Arbeit bin und keine Zeit habe, ein debugged Programm zu schreiben... Aber es wird sicher ein Ausgangspunkt sein)

Aber ich kann nicht versprechen... wie sich die Umstände heute entwickeln werden)

Grund der Beschwerde: