CustomBookAdd
銘柄の板情報の構造体を渡します。ブローカーサーバーから価格が到着したかのように板情報をブロードキャストできます。
bool CustomBookAdd(
const string symbol,
const MqlBookInfo& books[]
uint count=WHOLE_ARRAY
);
|
パラメータ
symbol
[in] カスタム銘柄名。
books[]
[in] The array of MqlBookInfo型データの配列で板情報のステータスを完全に記述します(すべての売買リクエスト)。渡された板情報は以前の者を完全に置き換えます。
count=WHOLE_ARRAY
[in] 関数に渡される'books'配列要素の数。デフォルトでは配列全体が使用されます。
戻り値
注意事項
volume=-1 && volume_real=2 — volume_real=2 will be used,
a volume=3 && volume_real=0 — volume=3 will be used.
|
板情報ステータス
|
books[]の書き込み
|

|
books[0].type=BOOK_TYPE_SELL;
books[0].price=1.14337;
books[0].volume=100;
books[1].type=BOOK_TYPE_SELL;
books[1].price=1.14330;
books[1].volume=50;
books[2].type=BOOK_TYPE_SELL;
books[2].price=1.14335;
books[2].volume=40;
books[3].type=BOOK_TYPE_SELL;
books[3].price=1.14333;
books[3].volume=10;
books[4].type=BOOK_TYPE_BUY;
books[4].price=1.14322;
books[4].volume=10;
books[5].type=BOOK_TYPE_BUY;
books[5].price=1.14320;
books[5].volume=90;
books[6].type=BOOK_TYPE_BUY;
books[6].price=1.14319;
books[6].volume=100;
books[7].type=BOOK_TYPE_BUY;
books[7].price=1.14318;
books[7].volume=10;
|
例:
//+------------------------------------------------------------------+
//| エキスパート初期化関数 |
//+------------------------------------------------------------------+
int OnInit()
{
//--- データ源となる銘柄の板情報を有効にする
MarketBookAdd(Symbol());
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| エキスパート初期化解除関数 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| ティック関数 |
//+------------------------------------------------------------------+
void OnTick(void)
{
MqlTick ticks[];
ArrayResize(ticks,1);
//--- 現在の価格を共通銘柄からカスタム銘柄にコピーする
if(SymbolInfoTick(Symbol(),ticks[0]))
{
string symbol_name=Symbol()+".SYN";
CustomTicksAdd(symbol_name,ticks);
}
}
//+------------------------------------------------------------------+
//| Book function |
//+------------------------------------------------------------------+
void OnBookEvent(const string &book_symbol)
{
//--- 現在の板情報ステータスを共通銘柄からカスタム銘柄にコピーする
if(book_symbol==Symbol())
{
MqlBookInfo book_array[];
if(MarketBookGet(Symbol(),book_array))
{
string symbol_name=Symbol()+".SYN";
CustomBookAdd(symbol_name,book_array);
}
}
}
//+------------------------------------------------------------------+
|
参照
MarketBookAdd、CustomTicksAdd、 OnBookEvent