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

TypeToBytes - MetaTrader 5のためのライブラリ

ビュー:
820
評価:
(40)
パブリッシュ済み:
2016.12.15 10:02
アップデート済み:
2017.07.17 17:21
\MQL5\Include\ \MQL5\Scripts\
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

このクロスプラットフォームライブラリを使うと、構造体や標準データ型でのバイト単位の操作が便利に実行できます。

特徴:

  • 構造体と標準データ型同士のバイト単位の比較(==と!=)(MQLでは、構造体を比較する演算子はデフォルトでは存在しません)
  • 構造体フィールドの名前によるバイトシフトの決定
  • ソースデータのバイトシフトによる任意の標準型の値の読み取り
  • ソースデータのバイトシフトによる構造体と標準型の記述
  • 構造体と標準データ型のバイト配列への変換
上記は単純構造体に当てはまります。

ライブラリの機能を示すために、詳細なコメントを持つスクリプトが添付されています。

// MQL4&5-コード

#property strict

#include <TypeToBytes.mqh>

#define PRINT(A) ::Print(#A + " = " + (string)A);

void OnStart( void )
{
  MqlTick Tick;
  ::SymbolInfoTick(::Symbol(), Tick);

  MqlTick CloneTick = Tick;

// 構造体の操作
  if (_R(Tick) == CloneTick)             // 構造体の比較が可能になる
    ::Print("Equal");

// シフトによって必要な型の結果を取得する
  PRINT(_R(Tick)[(datetime)0])           // 'datetime'値をMqlTick構造体のオブジェクトのゼロシフトで確認する - Tick.time

// 構造体フィールドのシフトを取得する
  const int Offset = _OFFSET(Tick, bid); // MqlTickオブジェクトのbidフィールドでバイトシフトが検出される

  PRINT(Tick.bid)                        // Tick.bidの値を確認する
  _W(Tick, Offset, (double)1.23456);     // 検出されたシフトで (double)1.098765 を書く
  PRINT(Tick.bid)                        // Tick.bid が1.098765に等しいと確認する

  PRINT(_R(Tick)[(double)Offset])        // シフトオフセットでの 'double' 値を出力 - それは再びTick.bidである

  PRINT(_R(Tick).Bytes[8])               // MqlTick構造体オブジェクトで8のシフトでバイト値を確認する
  PRINT(_R(Tick)[(uchar)8])              // 違う方法で同じことをする

  PRINT(CloneTick.bid)                   // CloneTick.bidの値を確認する
  _W(CloneTick, 0, Tick);                // Tick構造体オブジェクトの値をシフトなしでCloneTickに書く
  PRINT(CloneTick.bid)                   // CloneTick.bid == Tick.bidだと確認する

// 標準型の操作
  color Color = C'241,248,255';

  PRINT(_R(Color)[(uchar)1])             // 色の緑成分 - 248 

  _W(Color, 2, (uchar)230);              // シフト2で (uchar)230 を書く
  PRINT(Color)                           // Colorが C'241,248,230'だと確認する

// 混合した型での同時操作
  if (_R(Tick) != Color)                 // 構造体と標準型の比較も可能
    ::Print("Not equal");

  return;
}

 

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

PriceLines PriceLines

価格マークを描くためのスクリプト。

StochasticDiff_HTF StochasticDiff_HTF

入力パラメータでの時間枠選択オプションを持つStochasticDiff指標

Monthly Weekly Levels Monthly Weekly Levels

このスクリプトは、チャートの月ごとおよび週ごとのレベルを表示します。

ローソク足、任意の秒 ローソク足、任意の秒

これは、任意の秒でシミュレートされたデータを生成する指標です。