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

 
solnce600:

Das ist es ja: .... Ich habe mir schon den Kopf zerbrochen.

Habe ich die ZWEITE BEDINGUNG falsch erraten?


Ich habe ein Beispiel OHNE Ihren Code geschrieben. Dies ist ein Beispiel dafür, wo geschweifte Klammern { } vorhanden sind und wo nicht... Ich habe geschrieben, welche Zeilen ausgeführt werden und wann. Ich wollte Ihnen nur zeigen, wie Sie die Logik in Ihrem Code organisieren können. SIE HABEN KEINE GESCHWEIFTEN KLAMMERN... Sehen Sie also in meinem Beispiel, was in diesem Fall passiert.

Sie brauchen nicht zu raten!!!!!!!!!!!!!! Versuchen Sie einfach zu verstehen...

 
artmedia70:

Ich habe ein Beispiel OHNE Ihren Code geschrieben. Dies ist ein Beispiel dafür, wo geschweifte Klammern { } vorhanden sind und wo nicht... Ich habe geschrieben, welche Zeilen ausgeführt werden und wann. Ich wollte Ihnen nur zeigen, wie Sie die Logik in Ihrem Code organisieren können. SIE HABEN KEINE GESCHWEIFTEN KLAMMERN... Sehen Sie also in meinem Beispiel, was in diesem Fall passiert.

Sie brauchen nicht zu raten!!!!!!!!!!!!!! Versuchen Sie einfach zu verstehen...


Vielen Dank, morgen werde ich mit klarem Kopf versuchen, die Dinge ins rechte Licht zu rücken.
 

Guten Abend, können Sie mir sagen, wie ich die folgende Aufgabe umsetzen kann?

Es gibt einen Eintrag in einem Handel zu bestimmten Bedingungen. dann kommt die Aktie, aber hier ist das Problem, wie man die Aktie nicht öffnen, wenn der Preis näher als ein bestimmter Abstand von der vorherigen Handel ist. Liegt der Kurs näher als 30 Pips an der vorherigen Eingabe (egal ob es die erste oder 5, 10 usw. war), sollte der Auftrag nicht eröffnet werden.

Vielen Dank für die Antworten.

 
teplovoz:

Guten Abend, können Sie mir sagen, wie ich die folgende Aufgabe umsetzen kann?

Es gibt einen Eintrag in einen Handel zu bestimmten Bedingungen. dann kommt die Aktie, aber hier ist das Problem, wie man die Aktie nicht öffnen, wenn der Preis näher als ein bestimmter Abstand von der vorherigen Handel ist. Liegt der Kurs näher als 30 Pips an der vorherigen Eingabe (egal ob es die erste oder 5, 10 usw. war), sollte der Auftrag nicht eröffnet werden.

Ich danke Ihnen für Ihre Antworten.

Zwischen dem Markt und der nächstgelegenen Stelle, denke ich.

Funktion

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает расстояние в пунктах между рынком и ближайшей       |
//|             позицей                                                        |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ("" или NULL - текущий символ)          |
//|    op - торговая операция          (    -1      - любая позиция)           |
//|    mn - MagicNumber                (    -1      - любой магик)             |
//+----------------------------------------------------------------------------+
int DistMarketAndPos(string sy="", int op=-1, int mn=-1) {
  double d, p;
  int i, k=OrdersTotal(), r=1000000;

  if (sy=="" || sy=="0") sy=Symbol();
  p=MarketInfo(sy, MODE_POINT);
  if (p==0) if (StringFind(sy, "JPY")<0) p=0.0001; else p=0.01;
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if ((OrderSymbol()==sy) && (op<0 || OrderType()==op)) {
        if (mn<0 || OrderMagicNumber()==mn) {
          if (OrderType()==OP_BUY) {
            d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p;
            if (r>d) r=NormalizeDouble(d, 0);
          }
          if (OrderType()==OP_SELL) {
            d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p;
            if (r>d) r=NormalizeDouble(d, 0);
          }
        }
      }
    }
  }
  return(r);
}

Rufen Sie an.

if(DistMarketAndPos()>30)
   {
//открываемся
   }
 
r772ra:
zwischen dem Markt und der nächstgelegenen Position, denke ich, ja.

Ich verstehe die Logik, aber wie berechne ich den Eröffnungskurs des letzten Handels?
 
Zusatz oben
 
Ich verstehe, dass der Preis von OrderOpenPrice() zurückgegeben wird.
Ich verstehe, dass die Bestellung mit der Funktion OrderSelect() ausgewählt werden kann, aber wie wähle ich letztere aus?
 
r772ra:
Nachtrag oben

Ich habe es nicht verstanden...
 
teplovoz:

Ich verstehe das nicht...


Was genau verstehen Sie?

 
r772ra:


Was genau?


Was meinen Sie mit dem obigen Zusatz?

Die Bedeutung ist im Allgemeinen:

if(Bid<=(N-30*Point) && andere Bedingung)

{

Eröffnen Sie einen Verkaufsauftrag;

}

N ist der offene Preis der letzten Bestellung - woher weiß ich das?

Grund der Beschwerde: