ArraySetAsSeries
ArraySetAsSeries
動的配列にAS_SERIESを設定し、配列要素を
時系列配列の様にインデックス付けします。
関数書式:
bool ArraySetAsSeries(
const void& array[],
bool flag
);
■引数
引数名 |
初期値 |
I/O |
詳細 |
array[] |
- |
In/Out |
数値配列
|
flag |
- |
In |
配列のインデックス方向(trueで逆方向)
|
■戻り値
成功した場合はtrue、失敗した場合はfalseを返します。
■備考
AS_SERIESフラグは、多次元配列や静的配列に設定する事は出来ません。
時系列のインデックスは一般的な配列とは異なります。
時系列のインデックスは最新のデータから最も古いデータに向かってインデックス付けされます。
例:データウインドウにカーソルで選択したバーインデックスを表示しています。
サンプルソース:
#property strict
#property indicator_chart_window
#property indicator_buffers 1
double NumerationBuffer[];
int OnInit()
{
SetIndexBuffer(0,NumerationBuffer);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1,CLR_NONE);
ArraySetAsSeries(NumerationBuffer,true);
IndicatorSetInteger(INDICATOR_DIGITS,0);
IndicatorShortName("バーインデックス");
return(INIT_SUCCEEDED);
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
static datetime currentBarTimeOpen=0;
ArraySetAsSeries(time,true);
if ( currentBarTimeOpen != time[0]) {
for( int i=rates_total-1; i>=0 ;i--) {
NumerationBuffer[i]=i;
}
currentBarTimeOpen=time[0];
}
return(rates_total);
}
スポンサーリンク
注意事項:
当サイトはMQL4言語(MT4用プログラム言語)について紹介している初心者向けサイトです。
自動売買を行うEAや売買シグナルのソフトウェアの配布などは行っておりません。
投資助言も行っておりません、投資助言を必要としている方は投資助言業者に相談して下さい。
当サイトに掲載している情報やサンプルソース利用によって損害が生じてもサイト管理人は責任を負いませんので、全て自己責任でお願い致します。
また当サイトではFXCM MT4ベースに紹介していますが、これはFXCMを特別お勧めしているわけでは無く、単純に管理人がFXCM口座をメインに取引をしていた為です。尚、FXCMジャパン証券は楽天証券に買収されました。
FX(外国為替保証金取引)は金融商品取引法に規定される通貨関連店頭デリバティブ取引です。
元本あるいは利益を保証した金融商品ではありません。
為替変動・金利変動・アルゴリズムによる急変動・各国要人の気まぐれ発言による暴落等のリスクにより、損失が生じるおそれがあります。
FXは少ない保証金を担保として大きな金額を取引出来る為、投資金額以上の損失を被る可能性があります。
詳細は証券会社の契約締結前交付書面・約款等を熟読して下さい。