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

 
drems:
Können Sie mir sagen, ob es eine Möglichkeit gibt, Standardkommentare für die Bestellung festzulegen?

Welche Art von "Ordnung"? Wozu dient es? Wo und warum braucht es einen Kommentar?
 
hoz:

Ich habe etwas über einen einfachen Punkt, ein Kopfweh. Es gibt eine Funktion zur Suche nach Aufträgen.

t - Zähler für alle Aufträge.

p - Zähler der ausstehenden Aufträge.

Ich habe es von Anfang an gesagt:

In der Tat, wenn wir es öffnen, auch wenn es keine Aufträge gibt, sehen wir dies (auch wenn es keine Aufträge gibt, druckt es, als ob es welche gibt...):

Wie ist das möglich?


Da haben Sie es...
if (OrderType() > 1)
      {
          p++;
      }
      t++;
Что у нас тут? Если тип ордера больше OP_SELL, то увеличиваем p

Haben Sie jemals daran gedacht, dass die Art der Bestellung auch mehr als fünf sein könnte? Genauer gesagt sechs. Dabei handelt es sich um eine nicht handelsübliche Änderung der Einlage.

 
artmedia70:
Da haben Sie es...

Haben Sie jemals daran gedacht, dass die Art der Bestellung auch mehr als fünf sein könnte? Genauer gesagt sechs. Dabei handelt es sich um eine nicht handelsübliche Änderung der Einlage.



Nein. Das ist das erste Mal, dass ich davon höre. Wo steht das?
 
FAQ:
Pfand = Typ 6

Hmm. Auftragsart = Kaution? Was ist das?
 
artmedia70:
Da haben Sie es...

Haben Sie jemals daran gedacht, dass die Art der Bestellung auch mehr als fünf sein könnte? Genauer gesagt sechs. Dabei handelt es sich um eine nicht handelsübliche Änderung der Einlage.



Und warum 6, weil die Größe oder Anzahl der Orders im Expert Advisor unabhängig eingestellt werden kann.
 
hoz:

Hmm. Auftragsart = Kaution? Was ist das?

alle Abhebungen und Einzahlungen fallen unter diese Nummer
 
Profitov:

Und warum 6, weil die Größe oder Anzahl der Aufträge in den EA geschrieben werden kann.

Wovon reden wir hier? Es geht nicht um die Anzahl der Aufträge, sondern um die Art der Aufträge. Also: ein Auftrag des Typs 6 ist eine nicht handelsbezogene Änderung der Einlage.
 
hoz:

Nein. Das ist das erste Mal, dass ich davon höre. Wo steht das?

Dies sind nicht dokumentierte Daten.
 
FAQ:

Alle Abhebungen und Einzahlungen fallen unter diese Nummer.


Und wie kann sich diese Zahl auf die Erhebung von Auftragsstatistiken auswirken?

artmedia70:

Dies sind nicht dokumentierte Daten.

Das ist großartig! Das Interessanteste ist, dass jemand davon weiß, seltsamerweise. Wie hätte man das ahnen können?

artmedia70:

Wovon reden wir hier? Es geht nicht um die Anzahl der Bestellungen, sondern um die Art der Bestellung. Also: ein Auftrag des Typs 6 ist eine nicht handelsübliche Änderung der Einlage.

Wenn eine Eule in der Demo getestet wird, wie kann diese Reihenfolge berücksichtigt werden? D.h. der Saldo, der zunächst auf der Demo angegeben ist - wird es das... das gesuchte EINS sein? Und in der Realität - das ist das, was wir abgehoben und eingezahlt haben, richtig?

 
Sepulca:

Dies sollte funktionieren, ich habe es nicht selbst getestet, da das Terminal bisher mit der Optimierung eines anderen EA beschäftigt ist

Hallo!

Ich habe versucht, Ihren Code in die Vorlage aus dem Lernprogramm einzufügen. Ich muss nur eine Position öffnen, aber die Vorlage hat nur eine Position.

Die Ticket-Variable hat einen anderen Namen, da die Vorlage bereits einen Namen hat und sie statisch ist, so dass das Kriterium für die Rücknahme von Daten aus ihr erhalten würde, wenn die Position am nächsten Tag bestehen bleibt.

Alles ist gut, aber es ist ein Problem mit der Schleife aufgetreten. Im Strategy Tester zum Beispiel verlässt der Expert Advisor eine Position bei Take Profit oder Close sell und das Kriterium des Einstiegs ist immer noch aktiv, so dass sich herausstellt, dass der Expert Advisor ständig eine Position öffnet und schließt.

Dieses Problem wurde früher durch Hinzufügen einer statischen Datetime-Variable t gelöst, aber jetzt

 if(Maximum>0 && Flag) {
   signal = Maximum - Bid;    
   if (signal > 0.005 ) { // к примеру если ниже максимума на 12 пунктов, в этом случае откроем SELL 
      Opn_S = true;
      tickett= Opn_S; 
      t=Time[0];  
      if(tickett>=0) Flag=false;// Ордер открылся, сегодня больше не открываем.       
   }  
}
 
if(tickett>=0) 
    {
double stop = iHigh(Symbol(),Period(),0) - iHigh(Symbol(),Period(),1);
if (stop > 0.0012)
     {
       if (Time[0]>t)
            {
             Cls_S=true;   
             tickett=-1;          
            }
      }
     }

verkaufen funktioniert nicht mehr.

Es funktioniert, aber es schleift:

#define magic 123456789
StartHour=14;
StartMinute=1;// Время 08:01
StopHour=16;
StopMinute=30; // Время 23:58
StartTime=StartHour*60+StartMinute;
StopTime=StopHour*60+StopMinute;
static int tickett=-1;
static double Maximum=-1;
static datetime t;
if(StopTime<=StartTime) {Print("ERROR: Неправильные времена"); return(0);}
 CurrentMinutesFromDayStart=Hour()*60+Minute();// Текущее время в минутах от начала дня
 datetime td=iTime(Symbol(),PERIOD_D1,0);// Время открытия дневного бара в секундах от 01.01.1970
 if(CurrentMinutesFromDayStart<StartTime) {Maximum=-1;Flag=true;}// Если StartTime еще не настало, то после StopTime нужно пересчитать Maximum и можно открывать ордер
if(CurrentMinutesFromDayStart>StopTime && Maximum<0) {// если максимум ещё не посчитан
  datetime ts=td+StartTime*60;// начало временного диапазона в секундах от 01.01.1970
  start= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
  ts=td+StopTime*60;// конец временного диапазона в секундах от 01.01.1970
  count= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
  count=start-count;// Сколко баров длится временной интервал
  Maximum=iHigh(Symbol(),PERIOD_M1,iHighest(Symbol(),PERIOD_M1,MODE_HIGH,count,start));//Находим максимум на заданном временном интервале
 }
 if(Maximum>0 && Flag) {
   signal = Maximum - Bid;    
   if (signal > 0.005 ) { // к примеру если ниже максимума на 12 пунктов, в этом случае откроем SELL 
      Opn_S = true;
      tickett= Opn_S;   
      if(tickett>=0) Flag=false;// Ордер открылся, сегодня больше не открываем.       
   }  
}
 
if(tickett>=0) 
    {
double stop = iHigh(Symbol(),Period(),0) - iHigh(Symbol(),Period(),1);
if (stop > 0.0012)
            {
             Cls_S=true;   
             tickett=-1;          
            }
      }

Was könnte das Problem sein? Ich habe alles versucht, was mir einfiel, aber ich bin nicht so gut in mql .

Ich hänge den Expert Advisor an, es ist nicht möglich, den gesamten Text zu platzieren.

Dateien:
svhrvrsa.mq4  14 kb