[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 248

 
Es geht los. Richtig.
 
Mein Bruder ist hier.
 
void IndikatorPuffer( int count)

Weist Speicher für Puffer zu, die für benutzerdefinierte Indikatorberechnungen verwendet werden. Die Anzahl der Puffer darf nicht größer als 8 und nicht kleiner als der in der Eigenschaft indicator_buffers angegebene Wert sein. Wenn der benutzerdefinierte Indikator zusätzliche Puffer zum Zählen benötigt, sollten Sie diese Funktion verwenden, um die Gesamtzahl der Puffer anzugeben.

Das heißt, ist dies korrekt?

#property indicator_buffers 9 double ind_buffer1[]; // Array für zusätzliche Berechnungen double ind_buffer2[]; double ind_buffer3[]; double ind_buffer4[]; double ind_buffer5[]; double ind_buffer6[]; double ind_buffer7[]; double ind_buffer8[];
double ind_puffer9[]; SetIndexPuffer(0,ind_puffer2); SetIndexPuffer(1,ind_puffer3); SetIndexPuffer(2,ind_puffer4); SetIndexPuffer(3,ind_puffer5);
SetIndexPuffer(4,ind_puffer6); SetIndexPuffer(5,ind_puffer7); SetIndexPuffer(6,ind_puffer8); SetIndexPuffer(7,ind_puffer9);
 

Kann mir jemand unter vier Augen erklären , wie man einen EA schreibt? Insbesondere: Wie kann ich ein Doppellot mit einem Trailing-Stop verbinden?

 
Leo59:
void IndikatorPuffer( int count)

Weist Speicher für Puffer zu, die für benutzerdefinierte Indikatorberechnungen verwendet werden. Die Anzahl der Puffer darf 8 nicht überschreiten und nicht kleiner sein als der in der Eigenschaft indicator_buffers angegebene Wert. Wenn ein benutzerdefinierter Indikator zusätzliche Puffer für die Zählung benötigt, sollten Sie diese Funktion verwenden, um die Gesamtzahl der Puffer anzugeben.

Das heißt, es ist erlaubt.

Nein.
#Eigenschaft indicator_buffers 9
"Die Anzahl der Puffer darf 8 nicht überschreiten" sind Schlüsselwörter sowohl für #property indicator_buffers als auch für IndicatorBuffers.
Die #Eigenschaft indicator_buffers gibt die Anzahl der Zeichenpuffer an, dann IndicatorBuffers = #Eigenschaft indicator_buffers+Anzahl der Nicht-Zeichenpuffer für die Berechnung. Wenn alle Puffer gezeichnet werden, dann IndicatorBuffers = #property indicator_buffers. In diesem Fall ist die Verwendung von IndicatorBuffers optional.
 

Ich bitte um die Hilfe von Experten. Ich habe diese Frage hier schon ein paar Mal gestellt, ich habe einen Job bei mql5.com/de/job aufgegeben, bis jetzt wurde viel Zeit, Geld und Mühe investiert, aber kein Ergebnis... :(

Das Ziel des Problems ist es, eine Funktion zu schreiben, die prüft, ob eine Bestellung in einem Preisbereich existiert.

Noch einfacher ist es, wenn man z. B. fragt, ob es im Bereich von 0,9995 bis 1,0005 eine Buchtordnung gibt.

Wer auch immer hier gepostet hat, hat eine funktionierende Lösung... Nun, zum Beispiel 15 Dollar...

MT4...

 
granit77:
Nein.
#Eigenschaft indicator_buffers 9
"Die Anzahl der Puffer darf 8 nicht überschreiten" sind Schlüsselwörter sowohl für #property indicator_buffers als auch für IndicatorBuffers.
Die #Eigenschaft indicator_buffers gibt die Anzahl der Zeichenpuffer an, dann IndicatorBuffers = #Eigenschaft indicator_buffers+Anzahl der zu berechnenden Nicht-Zeichenpuffer. Wenn alle Puffer gezeichnet werden, dann IndicatorBuffers = #property indicator_buffers. In diesem Fall ist die Verwendung von IndicatorBuffers optional.

Lieber granit77! Wenn es Ihnen nichts ausmacht, nehmen Sie bitte Korrekturen direkt im Code vor, falls etwas falsch ist. Sie wird klar und verständlich sein.

#property indicator_buffers 8 double ind_buffer1[]; // Array für zusätzliche Berechnungen double ind_buffer2[]; double ind_buffer3[]; double ind_buffer4[]; double ind_buffer5[]; double ind_buffer6[]; double ind_buffer7[]; double ind_buffer8[]; double ind_buffer9[];   

int init() { IndikatorPuffer(9); SetIndexPuffer(0,ind_puffer2); SetIndexPuffer(1,ind_puffer3); SetIndexPuffer(2,ind_puffer4); SetIndexPuffer(3,ind_puffer5);
SetIndexPuffer(4,ind_puffer6); SetIndexPuffer(5,ind_puffer7); SetIndexPuffer(6,ind_puffer8); SetIndexPuffer(7,ind_puffer9); return(0); }
 
w_ersoc:

Ich bitte um Expertenhilfe. Ich habe diese Frage hier schon ein paar Mal gestellt, ich habe einen Job bei mql5.com/de/job aufgegeben, bis jetzt wurde viel Zeit, Geld und Mühe investiert, aber kein Ergebnis... :(

Ziel des Problems ist es, eine Funktion zu schreiben, die prüft, ob ein Auftrag in der Preisspanne existiert.

Um es noch einfacher zu machen, kann man z.B. fragen, ob es im Bereich von 0,9995 bis 1,0005 eine Buchtordnung gibt.

Wer auch immer hier eine funktionierende Lösung gepostet hat... zum Beispiel $15...

MT4...

In der Schleife werden alle offenen Positionen durchlaufen. Wenn der ausgewählte Auftragstyp mit dem an die Funktion übergebenen übereinstimmt, wenn das Auftragssymbol mit dem an die Funktion übergebenen übereinstimmt, wenn der Eröffnungskurs des Auftrags innerhalb des angegebenen Bereichs liegt (größer oder gleich 0,9995 und kleiner oder gleich 1,0005), dann gibt die Funktion true zurück, andernfalls false.

Es handelt sich um eine einfache Aufzählung von Aufträgen mit einer Zufallskontrolle.

ZS. Für 15 Pfund bekommt eine Frau ein Eis, und die Kinder bekommen Blumen... Oder andersherum ... :)

 
artmedia70:

In der Schleife werden alle offenen Positionen durchlaufen, wenn die gewählte Auftragsart mit der an die Funktion übergebenen übereinstimmt, wenn die magische Auftragsnummer mit der an die Funktion übergebenen übereinstimmt, wenn der offene Preis des Auftrags in den angegebenen Bereich fällt (größer oder gleich 0,9995 und kleiner oder gleich 1,0005), dann gibt die Funktion true zurück, andernfalls gibt sie false zurück.

Es handelt sich um eine einfache Aufzählung von Aufträgen mit einer Zufallskontrolle.

ZS. Für 15 Pfund bekommt eine Frau ein Eis, und die Kinder bekommen Blumen... Oder andersherum ... :)

Ja, das ist elementar, aber es funktioniert nicht.

Man kann sich streiten, aber so viele Leute haben gesagt, dass es Blödsinn ist, aber am Ende nichts ((

 
w_ersoc:

Das ist elementar, aber es funktioniert nicht.

Man kann darüber streiten, aber so viele Leute haben gesagt, dass es Blödsinn ist und am Ende nichts ((


Hier ist es:

//+------------------------------------------------------------------+
//|          Function  : GetOrdersInThePrice(min,max,&tickets[])bool |
//|          Copyright © 2012, XrustSolution.  mail:xrustx@gmail.com |
//|          https://www.youtube.com/user/opmlv http://forexrust.info |
//+------------------------------------------------------------------+
//|   Description: Пишет в массив тикеты ордеров с ценою открытия    |
//| между максимальной и минимальной ценой, если ордеров нет = false |
//+------------------------------------------------------------------+
bool GetOrdersInThePrice(double pr1,double pr2,int &tickets[]){int i,ii;double min,max;
   min = MathMin(pr1,pr2);
   max = MathMax(pr1,pr2);
   ArrayResize(tickets,100);
   for(i=OrdersTotal()-1;i>=0;i--){
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
         if(OrderSymbol()!=Symbol()){continue;}
         if(OrderOpenPrice()>max){continue;}
         if(OrderOpenPrice()<min){continue;}
         tickets[ii] = OrderTicket();
         ii++;
      }
   }
   if(ii<1){return(false);}
   ArrayResize(tickets,ii);
   return(true);
}