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

 
Rosh писал(а)>>

そのような機能はありません。オブジェクトはEAがアタッチされているチャート上でのみ作成・管理することができます。

早速のご返信ありがとうございました。メタトレーダーVer.5で使えるようになるのでしょうか?

 
KimIV、あなたのコレクションには、すべてのオープンOredarを閉じるスクリプトはありません:買い、売り、buystop、sellstop、buylimit、selllimit - 強制的に、循環的に、エラーとすべてなしに閉じるために?
 

http://forum.alpari-idc.ru/showpost.php?p=368730&postcount=24

すでにここで発見。

 
KimIVさん、このようなスクリプトをコレクションしていますか? - ByMarketBuySymbols と ByMarketSellSymbols、共通だけで、スクリプトが買い5ポジション、売り2ポジションを開くと言うように?
 
KimIVさんへ。

本当にありがとうございました。

提案: 可能であれば、最初の投稿で、あなたの機能/スクリプトのリストを、関連するブランチページへのリンクと短い説明とともに投稿・更新してください。そうすれば、スーパーツールになる!そうでなければ、誰かがどこかで何かについて「キムに送る」と、あなたは見つけるために長い間ここでスクロールする必要があります...

 

関数MovingInWL()。

オープンポジションのStopLoss 価格水準をBreakevenに移動します。関数MovingInWL() は、以下のオプションパラメータを受け付ける。

  • sy- 楽器の名前です。""- 任意のシンボル、NULL- 現在のシンボル。初期値は"" である。
  • op- 貿易業務。有効な値:-1OP_BUYOP_SELL。デフォルト値は、-1- 任意の取引です。
  • mn- 取引識別子、MagicNumber。デフォルト値-1- 任意のマジックを使用します。

また、MovingInWL() 関数は、グローバル変数(スクリプトやExpert Advisorの外部パラメータ)を持っています。

  • int LevelProfit - 損益分岐点に移動するために、ポジションが到達しなければならないポイントでの利益のレベル。
  • int LevelWLoss - 損益分岐点レベル、ポイント単位で、利益がLevelProfitレベルに達した後にストップが転送される。
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 11.09.2008                                                     |
//|  Описание : Перенос уровня стопа в безубыток                               |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ( ""  - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   ( -1  - любая позиция)                  |
//|    mn - MagicNumber                ( -1  - любой магик)                    |
//+----------------------------------------------------------------------------+
void MovingInWL(string sy="", int op=-1, int mn=-1) {
  double po, pp;
  int    i, k=OrdersTotal();

  for ( i=0; i< k; i++) {
    if (OrderSelect( i, SELECT_BY_POS, MODE_TRADES)) {
      po=MarketInfo(OrderSymbol(), MODE_POINT);
      if (OrderType()==OP_BUY) {
        if (OrderStopLoss()-OrderOpenPrice()< LevelWLoss* po) {
          pp=MarketInfo(OrderSymbol(), MODE_BID);
          if ( pp-OrderOpenPrice()> LevelProfit* po) {
            ModifyOrder(-1, OrderOpenPrice()+ LevelWLoss* po, -1);
          }
        }
      }
      if (OrderType()==OP_SELL) {
        if (OrderStopLoss()==0 || OrderOpenPrice()-OrderStopLoss()< LevelWLoss* po) {
          pp=MarketInfo(OrderSymbol(), MODE_ASK);
          if (OrderOpenPrice()- pp> LevelProfit* po) {
            ModifyOrder(-1, OrderOpenPrice()- LevelWLoss* po, -1);
          }
        }
      }
    }
  }
}

SZZ.MovingInWL() 関数の使用例を含むExpert Advisorはこちらで ご覧いただけます。

 
mamma писал(а)>>
もし可能なら、最初の投稿で、あなたの機能/スクリプトの更新リストを、ブランチページへのリンクと簡単な説明とともに載せてください。

トップページですでに無理がある...。

ここに掲載するのは...更新するための投稿がブロックされたら、再投稿します。それでは、このスレッドから目を離さないでください :-)

ファイル:
f_kimiv_1.rar  11 kb
 

SimpleTrailing()関数。

TrailingStop アルゴリズムを使って、オープンポジションのStopLoss 価格レベルを移動させます。関数SimpleTrailing() は、以下のオプションパラメータを受け付けます。

  • sy- 楽器の名前です。""- 任意のシンボル、NULL- 現在のシンボル。初期値は"" である。
  • op- 貿易業務。有効な値:-1OP_BUYOP_SELL。デフォルト値は、-1- 任意の取引です。
  • mn- 取引識別子、MagicNumber。デフォルト値-1- 任意のマジックを使用します。

さらに、SimpleTrailing() 関数はグローバル変数(スクリプトまたはExpert Advisorの外部パラメータ)を含意します。

  • bool TSProfitOnly - トロールを開始するゾーンを切り替えます。Trueの 場合、ポジションの利益がTStop.Buy/Sell+TrailingStep ポイントの値に達したときにのみ、トロールが動作し始めます。Falseの 場合、Expert Advisorは、現在の価格に対するストップポジションが常にTStop.Buy/Sell+TrailingStep pipsより遠くにならないようにするだけです。つまり、True の 場合、Expert Advisor はポジションの利益領域でのみ動作し、False の 場合、ポジションのマイナス領域で動作することになります。
  • int TStop.Buy - 買いたいトロールの大きさ(ポイント)。
  • intTStop.Sell- 売りのためのポイントでのトロールのサイズ。
  • int TrailingStep - ポイント単位の末尾ステップ.これは、販売店への頻繁な要求を避けるために必要なことです。
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 11.09.2008                                                     |
//|  Описание : Сопровождение позиций простым тралом                           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ( ""  - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   ( -1  - любая позиция)                  |
//|    mn - MagicNumber                ( -1  - любой магик)                    |
//+----------------------------------------------------------------------------+
void SimpleTrailing(string sy="", int op=-1, int mn=-1) {
  double po, pp;
  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=="") && ( op<0 || OrderType()== op)) {
        po=MarketInfo(OrderSymbol(), MODE_POINT);
        if ( mn<0 || OrderMagicNumber()== mn) {
          if (OrderType()==OP_BUY) {
            pp=MarketInfo(OrderSymbol(), MODE_BID);
            if (! TSProfitOnly || pp-OrderOpenPrice()> TStop. Buy* po) {
              if (OrderStopLoss()< pp-( TStop. Buy+ TrailingStep-1)* po) {
                ModifyOrder(-1, pp- TStop. Buy* po, -1);
              }
            }
          }
          if (OrderType()==OP_SELL) {
            pp=MarketInfo(OrderSymbol(), MODE_ASK);
            if (! TSProfitOnly || OrderOpenPrice()- pp> TStop. Sell* po) {
              if (OrderStopLoss()> pp+( TStop. Sell+ TrailingStep-1)* po || OrderStopLoss()==0) {
                ModifyOrder(-1, pp+ TStop. Sell* po, -1);
              }
            }
          }
        }
      }
    }
  }
}

SimpleTrailing() 関数の使用例を含むExpert Advisorはこちら です。

 

//------- 外部モジュールの接続 ------------------------------------------------

#include "b-Positions.mqh" // ポジションを操作する

このファイルはどこにあるのですか?

 
beginner писал(а)>>

//------- 外部モジュールの接続 ------------------------------------------------

#include "b-Positions.mqh" // ポジションを操作する

このファイルはどこにあるのですか?

これ