KimIVの便利な機能 - ページ 48

 

すなわち、定数を追加しても結果には影響しない

手っ取り早くインジケータを作りたかったのですが、うまくいきませんでした(

 
Prival писал (а)>>

不信感を持つのが鉄則です。どの数学のパッケージでもいいので、確認してみてください。その結果を掲載します。今すぐMathCadeでやってみる。

良いが、不信感を表明する前に確認する必要がある。>> 失礼します。

 
TheXpert писал (а)>>

良いことだが、不信感を表明する前に確認する必要がある。失礼しました。

疑問があれば、それを表明し、必ず実行する。結局、元に戻りたくない、エラーを探したくないということですね。すべてが正しく行われたことを確認する必要があります。しかし、同じように保証はありません。http://www.citforum.ru/programming/digest/scofdebug/。

 

こんにちは!フラクタル関数が枝分かれしまくってることが判明しました。

そのうちの2つを発見しました。

は、最後のフラクタル間の小節数を返します(BarsBetweenLastFractals(string sy="", int tf=0))。

もうひとつは、最後のフラクタルの価格水準(p.37)です。

フラクタルな主題を調和的に閉じるためには、もう一つの機能が必要である。最後のフラクタルの先頭のバー番号を返します!

イゴール! もし、あなたにとって難しいことでなければ。このような機能を作って表示できないか?

 

関数 ExistOrdersByPrice()。

与えられた設定価格での注文が存在するかどうかのフラグを返します。True- オーダーが存在する(設定されている)、False- オーダーが存在しない(設定されていない)。関数のパラメータを使用して、チェックする注文のリストを制限することができます。

  • sy- 市場商品の名前。このパラメータが指定された場合、この関数は指定された商品の注文のみをチェックします。NULLは 現在の楽器、""(デフォルト)は任意の楽器を意味します。
  • op- 取引の種類、保留中の注文の種類。有効な値:OP_BUYLIMITOP_BUYSTOPOP_SELLLIMITOP_SELLSTOP、または-1。デフォルトの値である- 1は、任意のオーダータイプを示す。
  • mn- オーダー識別子(MagicNumber)。初期値の- 1は任意のMagicNumberを意味する。
  • pp- 注文が設定される価格水準です。初期値-1 は任意の価格である。
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. 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);
}
 

ExistOrdersByPrice() 関数の使用例です。

  • セットアップ価格での注文の可否を確認する 1.4
    Message(IIFs(ExistOrdersByPrice("", -1, -1, 1.4), "Есть", "Нет"));
  • 現在のチャートで設定価格1.5の注文を確認する。
    Message(IIFs(ExistOrdersByPrice(NULL, -1, -1, 1.5), "Есть", "Нет"));
  • 任意の商品について、設定価格1.5でBuyLimit注文があるかどうかをチェックする。
    Message(IIFs(ExistOrdersByPrice("", OP_BUYLIMIT, -1, 1.5), "Есть", "Нет"));
  • EURUSDの設定価格1.4でマジックナンバー123456のSellStop注文の存在を確認する。
    Message(IIFs(ExistOrdersByPrice("EURUSD", OP_SELLSTOP, 123456, 1.4), "Есть", "Нет"));
  • USDJPYの設定価格106でマジックナンバー987の注文の有無を確認する。
    Message(IIFs(ExistOrdersByPrice("USDJPY", -1, 987, 106), "Есть", "Нет"));

追伸:ExistOrdersByPrice()関数をテストするスクリプトを添付します。

ファイル:
 
rid писал (а)>>
フラクタルテーマを調和のとれた形で「閉じる」ためには、もう一つの機能が必要です。最後のフラクタルの先頭のバー番号を返します!

2008年8月13日にGetFractalBar 関数(P.41)を掲載しました。

 

b-Orders ライブラリーを掲載しました。

 
KimIV писал (а)>>

2008年8月13日に、GetFractalBar 関数(41ページ)を掲載しました。

確かにそうですね。>> ありがとうございました

 
KimIV писал (а)>>

b-Orders ライブラリーを掲載しました。

とても便利なライブラリーですみんなを代表して「ありがとうございました!」。