[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 296

 
forexnew:

Wie man es darstellt:

/

in String?

Zum Beispiel:

string path=TerminalPath()+"/logs/"+tekTime+".log";

gibt einen Fehler, und wenn Sie den Schrägstrich "/" entfernen

string path=TerminalPath()+"logs "+tekTime+".log";

- kein Fehler.




Lesen Sie hier und hier.

 
ZZZEROXXX:

vielleicht sehen, was IsTradeAllowed() noch zurückgibt?

Könnten Sie mir bitte helfen? Ich versuche, einen Trend aus zwei Punkten zu erstellen, die mit den Balken von N Balken vor dem letzten Punkt verbunden sind. D.h. eingehend - Zeitpreis des ersten und zweiten Punktes, und N ausgedrückt in Anzahl der Balken im Voraus (Kontrollkästchen Balken = false). Wenn der zweite Punkt, nehmen wir an, auf dem Balken 1 des aktuellen Balkens 0 liegt und ich von ihm 10 Balken in der Zukunft ziehen muss, wie kann ich dann die Zeit und den Preis des Balkens aus der Zukunft berechnen?

Dies funktioniert auch, wenn Sie beim Kompilieren Ihres EA zufällig auf einen belebten Handelsfaden stoßen. Ich suche nach einer Möglichkeit, in EA-Kommentaren Meldungen aus Protokollen über Anfragen anzuzeigen. Es scheint, dass praktisch nicht viele Menschen eine solche Aufgabe gestellt haben.
 
PapaYozh:


Lesen Sie hier und hier.

Ich danke Ihnen!
 

Können die geschätzten Gurus nicht helfen?

pvm117 20.10.2011 18:26

Guten Tag!

Als erste Erfahrung habe ich beschlossen, den folgenden Algorithmus zu implementieren: Ich kann eine starke Marktbewegung nach oben oder unten in einiger Zeit erwarten, nachdem die Bollinger-Linien in einem engen Korridor zusammenlaufen. In meinem Expert Advisor analysiere ich den Zustand der Bollinger-Linien, und wenn sie sich sehr stark annähern(Delta-Pips), erteilen wir einen schwebenden Verkaufsauftrag in der unteren Richtung (bei stepOpen-Pips unter der unteren Linie), in der Hoffnung, dass der Markt plötzlich in diese Richtung geht. Wenn sich der Markt in eine andere Richtung entwickelt, löschen wir diesen Auftrag einfach.

extern double Delta=800.0;              // Ширина канала, которую мы считаем достаточно узкой чтобы ожидать скоро серьезного движения в одну из сторон
extern double StepOpen=150.0;           // Отступ от линии Боллинджера  для открытия отложенного ордера
extern double TP=350.0;                 // Take Profit
extern double SL=400.0;                 // Stop Loss

int start()
  {
   double T1=iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_UPPER,0);  // верхняя линия Боллинджера
   double T2=iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_LOWER,0); // нижняя линия Боллинджера
   if ((Ask>T1+StepOpen*Point)&&OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true) OrderDelete(0); // если рынок пошел вверх – то удаляем отложенный ордер
   if (OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true) return(0); // если есть ранее открытый ордер – прекращаем выполнение текущей итерации советника
   if (T1-T2<Delta*Point) {               // если линии Боллинджера сблизились ближе чем на Delta пунктов начинаем операцию открытия ордера
      double PriceOpen=NormalizeDouble(T2-StepOpen*Point,5);  // вычисляем цену открытия
      double StopLoss=NormalizeDouble(T2-StepOpen*Point+SL*Point,5); // вычисляем StopLoss
      double TakeProfit=NormalizeDouble(T2-StepOpen*Point-TP*Point,5); // вычисляем TakeProfit
      OrderSend(Symbol(),OP_SELL,0.1,PriceOpen,5,StopLoss,TakeProfit,0,0,0,Green); //  открываем ордер на продажу
            }
   return(0);
  }
Der Algorithmus arbeitet instabil, öffnet manchmal zwei Aufträge in kurzer Zeit, gibt ständig die Fehler OrderSend Error 130 und OrderSend Error 138 aus, und das Entfernen von offenen Aufträgen im Falle von Marktbewegungen in die andere Richtung funktioniert überhaupt nicht.

Bitte, beraten Sie uns! Ich danke Ihnen!

 
pvm117:

Können die geschätzten Gurus nicht helfen?

pvm117 20.10.2011 18:26

Guten Tag!

Als erste Erfahrung habe ich beschlossen, den folgenden Algorithmus zu implementieren: Ich kann eine starke Marktbewegung nach oben oder unten in einiger Zeit erwarten, nachdem die Bollinger-Linien in einem engen Korridor zusammenlaufen. In meinem Expert Advisor analysiere ich den Zustand der Bollinger-Linien, und wenn sie sich sehr stark annähern(Delta-Pips) , erteilen wir einen schwebenden Verkaufsauftrag in der unteren Richtung (bei stepOpen-Pips unter der unteren Linie), in der Hoffnung, dass der Markt plötzlich in diese Richtung geht. Wenn sich der Markt in eine andere Richtung entwickelt, löschen wir diesen Auftrag einfach.

Der Algorithmus arbeitet instabil, öffnet manchmal zwei Aufträge in kurzen Abständen, gibt ständig die Fehler OrderSend Error 130 und OrderSend Error 138 aus, und das Entfernen von offenen Aufträgen, wenn sich der Markt in die andere Richtung bewegt, funktioniert überhaupt nicht.

Bitte, beraten Sie uns! Danke!

OrderSend(Symbol(),OP_SELL,0.1,PriceOpen,5,StopLoss,TakeProfit,0,0,0,Green); //  открываем ордер на продажу

Eshandelt sich nicht um einen schwebenden Auftrag, sondern um einen Marktauftrag .

dementsprechend muss sein Eröffnungskurs anders sein und er kann nicht gelöscht (OrderDelete), sondern nur geschlossen werden

 

Grüße an alle Kenner und einfach nur erfahrene Leser dieses Threads! Und einfach jeder, der mir helfen kann=)

Was ist der einfachste und "richtige" Weg, um Periodizität zu erreichen? Vereinfacht gesagt, möchte ich alle 15 Minuten automatisch eine Aktion durchführen.

In meinem Fall wird eine Datei mit einigen Statistiken auf der Festplatte gespeichert. Jetzt habe ich ein Skript, das genau das tut, was ich will, und es besteht buchstäblich aus 20 Zeilen Code. Wie bringe ich also diese 20 Zeilen dazu, sich in bestimmten Abständen zu wiederholen? So wie ich es verstanden habe, gibt es in MQL keine Timer... Muss ich einen EA verwenden, der bei jedem Tick irgendeine Art von Prüfung durchführt...?

Ich hoffe auf Ihre Hilfe und Tipps)

 
Hallo, können Sie mir sagen, ob es eine andere Möglichkeit gibt, den Zeitrahmen einer Multi-Währung EA andere als in den Indikator über M_30 H_1, D_1 und so weiter zu setzen?
 
skyjet:
Hallo, können Sie mir sagen, ob es eine andere Möglichkeit, den Zeitrahmen eines Multi-Währung EA andere als in den Indikator über M_30 H_1, D_1 und so weiter einstellen?

Wo liegt das Problem?
 

Hallo.

Ich habe eine Frage: Wie kann man die gelbe Linie als Momentum-Prognose und die weiße Linie als OsM-Prognose bei einem langen Aufwärtstrend im oberen Rahmen verwenden?

Es ist schwer, die Amplitude zwischen den Spitzen der Wellen zu bestimmen, also raten Sie, wo Sie als nächstes graben sollen ;)


 
Sancho77:

Wählen Sie aus den offenen Positionen die erste aus.

Sie brauchen das alles, um den Abstand in Pips zwischen der ersten offenen Position und der letzten offenen Position unter den offenen Positionen zu überprüfen.

Nur eine kurze Überarbeitung, vielleicht hilft es ja? Ich habe nicht nachgesehen...

double PriceOpenFirstPos(string sy="", int op=-1, int mn=-1) {
   datetime t=TimeCurrent();
   double   r=0;
   int      i, k=OrdersTotal();

   if (sy=="0") sy=Symbol();
   for (i=0; i<k; i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderSymbol()==sy || sy=="") {
            if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
               if (op<0 || OrderType()==op) {
                  if (mn<0 || OrderMagicNumber()==mn) {
                     if (OrderOpenTime()<t) {
                        t=OrderOpenTime();
                        r=OrderOpenPrice();
                        }
                     }
                  }
               }
            }
         }
      }
   return(r);
}

Versuchen Sie es auf diese Weise...