Nützliche Funktionen von KimIV - Seite 48

 

D.h. das Hinzufügen einer Konstante hat keinen Einfluss auf das Ergebnis

Ich wollte einen schnellen Indikator erstellen, aber es hat nicht funktioniert (

 
Prival писал (а) >>

Es ist eine gute Faustregel, misstrauisch zu sein. Überprüfen Sie dies in einem beliebigen Mathepaket. Wir werden die Ergebnisse veröffentlichen. Ich werde es jetzt in MathCade machen.

Gut, aber Sie müssen sich vergewissern, bevor Sie Ihren Unglauben kundtun. >> Entschuldigen Sie.

 
TheXpert писал (а) >>

Ein guter Witz, aber man muss sich vergewissern, bevor man seinen Unglauben äußert. Ich bitte um Verzeihung.

Wenn Sie Zweifel haben, äußern Sie diese und seien Sie sicher, dass Sie dies tun. Schließlich wollen Sie nicht zurückgehen und nicht nach Fehlern suchen. Sie müssen sicher sein, dass alles richtig gemacht wurde. Aber dennoch gibt es keine Garantien http://www.citforum.ru/programming/digest/scofdebug/.

 

Guten Tag, es hat sich herausgestellt, dass die fraktalen Funktionen über den ganzen Zweig verteilt sind.

Wir haben zwei von ihnen gefunden:

gibt man die Anzahl der Balken zwischen den letzten Fraktalen zurück (BarsBetweenLastFractals(string sy="", int tf=0)),

das andere, das Preisniveau des letzten Fraktals (S.37).

Um das fraktale Thema harmonisch abzuschließen, benötigen wir eine weitere Funktion. Sie gibt die Taktnummer des oberen Teils des letzten Fraktals zurück!

Igor, wenn es für dich nicht zu schwierig ist. Können Sie eine solche Funktion erstellen und anzeigen?

 

Function ExistOrdersByPrice().

Gibt ein Flag für das Vorhandensein eines Auftrags zum angegebenen Preis zurück. True - Auftrag existiert (gesetzt), False - Auftrag existiert nicht (nicht gesetzt). Sie können die Liste der zu prüfenden Aufträge mit Hilfe der Funktionsparameter einschränken:

  • sy - Bezeichnung des Marktinstruments. Wenn dieser Parameter angegeben wird, prüft die Funktion nur die Aufträge des angegebenen Instruments. NULL bedeutet das aktuelle Instrument, und "" (standardmäßig) bedeutet ein beliebiges Instrument.
  • op - Art des Geschäfts, Art des schwebenden Auftrags. Gültige Werte: OP_BUYLIMIT, OP_BUYSTOP, OP_SELLLIMIT, OP_SELLSTOP oder -1. Der Standardwert -1 steht für einen beliebigen Auftragstyp.
  • mn - Kennung der Bestellung (MagicNumber). Der Standardwert von -1 bedeutet eine beliebige MagicNumber.
  • pp - Das Preisniveau, auf das der Auftrag festgelegt wird. Der Standardwert von -1 ist ein beliebiger Preis.
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 30.07.2008                                                     |
//|  Описание : Возвращает флаг существования ордеров по цене установки        |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//|    pp - цена                       (-1   - любая цена)                     |
//+----------------------------------------------------------------------------+
bool ExistOrdersByPrice(string sy="", int op=-1, int mn=-1, double pp=-1) {
  int d, 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=="") && (op<0 || OrderType()==op)) {
        if (OrderType()>1 && OrderType()<6) {
          d=MarketInfo(OrderSymbol(), MODE_DIGITS);
          pp=NormalizeDouble(pp, d);
          if (pp<0 || pp==NormalizeDouble(OrderOpenPrice(), d)) {
            if (mn<0 || OrderMagicNumber()==mn) return(True);
          }
        }
      }
    }
  }
  return(False);
}
 

Beispiele für die Verwendung der Funktion ExistOrdersByPrice().

  • Prüfung der Verfügbarkeit eines Auftrags zum Einrichtungspreis 1.4
    Message(IIFs(ExistOrdersByPrice("", -1, -1, 1.4), "Есть", "Нет"));
  • Prüfen Sie jeden Auftrag zum Setup-Preis 1,5 für das aktuelle Chart-Instrument
    Message(IIFs(ExistOrdersByPrice(NULL, -1, -1, 1.5), "Есть", "Нет"));
  • Prüfen Sie, ob für ein beliebiges Instrument ein BuyLimit-Auftrag zum Setup-Preis 1,5 vorliegt.
    Message(IIFs(ExistOrdersByPrice("", OP_BUYLIMIT, -1, 1.5), "Есть", "Нет"));
  • Prüfen Sie das Vorhandensein einer SellStop-Order zum Setup-Kurs 1,4 mit der magischen Zahl 123456 auf EURUSD
    Message(IIFs(ExistOrdersByPrice("EURUSD", OP_SELLSTOP, 123456, 1.4), "Есть", "Нет"));
  • Prüfen Sie das Vorhandensein einer Order zum Setup-Preis 106 mit der magischen Zahl 987 auf USDJPY
    Message(IIFs(ExistOrdersByPrice("USDJPY", -1, 987, 106), "Есть", "Нет"));

P.S. Im Anhang finden Sie ein Skript zum Testen der Funktion ExistOrdersByPrice().

Dateien:
 
rid писал (а) >>
Um das fraktale Thema harmonisch abzuschließen, ist eine weitere Funktion erforderlich. Rückgabe der Taktnummer des oberen Teils des letzten Fraktals!

Am 13. August 2008 habe ich die Funktion GetFractalBar veröffentlicht (S.41).

 

Die b-Orders-Bibliothek wurde veröffentlicht.

 
KimIV писал (а) >>

Am 13. August 2008 habe ich die Funktion GetFractalBar veröffentlicht (Seite 41).

Ja, in der Tat! >> Vielen Dank!

 
KimIV писал (а) >>

Die b-Orders-Bibliothek wurde veröffentlicht.

Eine sehr nützliche Bibliothek! Im Namen aller Anwesenden: "Vielen Dank!"