無料でロボットをダウンロードする方法を見る
Telegram上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
ライブラリ

CArrayRing256リングバッファの簡易化されたクラス - MetaTrader 5のためのライブラリ

ビュー:
646
評価:
(30)
パブリッシュ済み:
2016.08.08 16:02
\MQL5\Include\IncOnRingBuffer\
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

説明

CArrayRing256クラスはCArrayRingリングバッファの簡易版ですが、より高速で、 エキスパートアドバイザーや指標内で中間ストリームデータを格納するためのミニ時系列、指標ミニバッファや短いバッファを整理することができます。 

簡素化は配列のインデックスとして使用されているuchar変数のプロパティに基づいています。例えばコードで

double array[UCHAR_MAX+1];  // リングバッファデータ
uchar  index=0;             // バッファ要素インデックス

while(!IsStopped())
  {
   array[++index];          // バッファの次の要素に行く
   ...
  }

配列のインデックスは常に0~255の値をとり、配列次元の範囲を越えることはありません。これは、すべてのメソッド自体を簡素化してパフォーマンスを増加させることにより、配列の終わりを越えたインデックスの可能な出口を関連したメソッドでチェックし削除することができます。しかし、バッファサイズは常に一定で、256の要素のサイズを有します。多くのタスクについては、これは通常のCArrayRingクラスの受け入れ可能な代案です。

宣言

сlass CArrayRing256

タイトル

#include <IncOnRingBuffer\CArrayRing256.mqh>

CArrayRing256.mqh IncOnRingBufferクラスファイルはMQL5\Include\に作成されたIncOnRingBufferフォルダに配置されます。

クラスメソッド 

//--- バッファ初期化メソッド:
void Init(
   double volue=EMPTY_VALUE // 空の位置バッファの値
   );
//--- 新しい要素をバッファに加えるメソッド
void Add(
   const double element     // 追加された要素の値
   ); 

//--- このメソッドは、設定されたインデックスを持つ要素の値を書き換える
void Update(                // エラーならfalse、成功ならtrueを返す
   const double element,    // 要素の新しい値
   const uchar  index=0     // 要素インデックス
   );  

//--- このメソッドは指定されたインデックスを持つ要素の値を返す
double At(                  // 要素の値を返す
   const uchar index        // 要素インデックス
   ) const;

//--- このメソッドはバッファ要素に書き込まれた最後の値を返す
double Last() const;

//--- このメソッドはバッファ要素に書き込まれた最後の値を上書きする:
void Last(
   const double element     // 要素の新しい値
   );  

//--- このメソッドはリングバッファのサイズを返す:
int Size();

注意事項:

  • リングバッファのサイズは、常に一定と256の要素に等しいです。
  • このりングバッファの実装では索引付けは時系列すなわち通常の反対です。 

例示

このクラスの使用法はCArrayRingに似ています。2,3の違いもあります:

  • Init()メソッドは、確定値によるバッファの初期化に使用されます。
  • バッファのサイズは常に一定であるのでResize()メソッドは存在しません。

MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/1379

Breakout Bars Trend v2 Breakout Bars Trend v2

極値からの距離とブレイクスルーバーに基づいたトレンド定義のための代替指標の2番目(編集され追加された)のバージョン。以前のトレンドのブレイクスルーのレベルと大きさが追加されます。

リングバッファを使用してAMAを描画するクラス リングバッファを使用してAMAを描画するクラス

このクラスはリングバッファを使用した適応移動平均(Adaptive Moving Average、AMA)の計算のために設計されています。

テーブルと同様なCSVファイルでの作業の例 テーブルと同様なCSVファイルでの作業の例

CSVファイルは、経済ニュースを書くために書かれましたが、CSVファイルで作業する場合、ターミナルが正確にその行の数を区別していないという問題点がありました。これが私がこの問題に私の解決策を共有することを決めた理由です。

X-バーフラクタル X-バーフラクタル

X-バーフラクタル指標はフラクタルの左右のバーの数を設定することができます。これは、ローカルとグローバル極値のために使用できます。