バージョン

フォース インデックス インジケーター

トピックの概要

目的

このトピックでは、 IGChartView™ コントロールのフォース インデックス インジケーターの概要を説明し、フォース インデックス インジケーターをチャート ビューに追加する方法を説明するコード例を記載します。

はじめに

フォース インデックス インジケーター概要

フォース インデックス インジケーターは、株の動向が上昇または下降のいずれかであるかを判断するために財務アナリストが使用する値と出来高のオシレーターです。フォース インデックスは、今日の終値から昨日の終値を引き、その差に今日の出来高を掛けて算出されます。終値が昨日よりも今日が高い場合、強制は正になります。終値が昨日よりも今日が低い場合、強制は負になります。

IGChartView   Force Index Indicator 1.png

データ要件

IGChartView コントロールは、カスタム データ モデルにチャートを簡単にバインドすることができますが、そのシリーズが必要とするデータの適切な量とタイプを提供してください。これを行わないと、 IGChartView は何も描画しません。

必須 - データを描画するには、データ モデルに終値および出来高の数値フィールドが含まれている必要があります。

フォース インデックス インジケーターを IGChartView に追加 - コード例

説明

以下のコードは IGOHLCSeriesDataSourceHelper を使用してランダムに生成される財務価格シリーズを最初に IGChartView インスタンに提供します。次に、財務指標を IGChartView インスタンスにシリーズとして追加し、最後に IGChartView を現在の UIView のサブビューとして追加します。

前提条件

このコード実例を使用するために IGChartView フレームワークをプロジェクトに含む必要があります。フレームワークの追加の詳細については、 チャート フレームワーク ファイルの追加トピックを参照してください。

コード

C# の場合:

NSMutableArray open = new NSMutableArray();
for (int i = 0; i < 25; i++) {
      open.Add(new NSNumber((new Random((int)DateTime.Now.Ticks).Next(100))));
}
NSMutableArray high = new NSMutableArray();
for (int i = 0; i < 25; i++) {
      high.Add(new NSNumber((new Random((int)DateTime.Now.Ticks).Next(130))));
}
NSMutableArray low = new NSMutableArray();
for (int i = 0; i < 25; i++) {
      low.Add(new NSNumber((new Random((int)DateTime.Now.Ticks).Next(100))));
}
NSMutableArray close = new NSMutableArray();
for (int i = 0; i < 25; i++) {
      close.Add(new NSNumber((new Random((int)DateTime.Now.Ticks).Next(110))));
}
NSMutableArray volume = new NSMutableArray();
for (int i = 0; i < 25; i++) {
      volume.Add(new NSNumber((new Random((int)DateTime.Now.Ticks).Next(1100000))));
}
IGOHLCSeriesDataSourceHelper source = new IGOHLCSeriesDataSourceHelper();
source.OpenValues = open;
source.HighValues = high;
source.LowValues = low;
source.CloseValues = close;
source.VolumeValues = volume;
IGChartView infraChart = new IGChartView(this.View.Frame);
infraChart.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
IGCategoryXAxis xAxis = new IGCategoryXAxis("xAxis");
IGNumericYAxis yAxis = new IGNumericYAxis("yAxis");
infraChart.AddAxis(xAxis);
infraChart.AddAxis(yAxis);
IGFinancialPriceSeries financialPriceSeries = new IGFinancialPriceSeries("financialPriceSeries");
financialPriceSeries.XAxis = xAxis;
financialPriceSeries.YAxis = yAxis;
financialPriceSeries.DataSource = source;
financialPriceSeries.DisplayType = IGPriceDisplayType.IGPriceDisplayTypeCandlestick;
IGForceIndexIndicator financialIndicator = new IGForceIndexIndicator("financialIndicator");
financialIndicator.XAxis = xAxis;
financialIndicator.YAxis = yAxis;
financialIndicator.DataSource = source;
financialIndicator.Thickness = 3.0f;
infraChart.AddSeries(financialPriceSeries);
infraChart.AddSeries(financialIndicator);
(this.View).AddSubview(infraChart);

Objective-C の場合:

 NSMutableArray *open = [[NSMutableArray alloc] init];
    for (int i = 0; i < 25; i++) {
        [open addObject:[[NSNumber alloc] initWithDouble:(arc4random() % 100)]];
    }
    NSMutableArray *high = [[NSMutableArray alloc] init];
    for (int i = 0; i < 25; i++) {
        [high addObject:[[NSNumber alloc] initWithDouble:(arc4random() % 100 + 30)]];
    }
    NSMutableArray *low = [[NSMutableArray alloc] init];
    for (int i = 0; i < 25; i++) {
        [low addObject:[[NSNumber alloc] initWithDouble:(arc4random() % 100)]];
    }
    NSMutableArray *close = [[NSMutableArray alloc] init];
    for (int i = 0; i < 25; i++) {
        [close addObject:[[NSNumber alloc] initWithDouble:(arc4random() % 100 + 10)]];
    }
    NSMutableArray *volume = [[NSMutableArray alloc] init];
    for (int i = 0; i < 25; i++)
    {
        [volume addObject:[[NSNumber alloc] initWithDouble:(arc4random() % 1000000 + 100000)]];
    }
    IGOHLCSeriesDataSourceHelper *source = [[IGOHLCSeriesDataSourceHelper alloc] init];
    source.openValues = open;
    source.highValues = high;
    source.lowValues = low;
    source.closeValues = close;
    source.volumeValues = volume;
    IGChartView *infraChart = [[IGChartView alloc] initWithFrame:self.view.frame];
    [infraChart setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];
    IGCategoryXAxis *xAxis = [[IGCategoryXAxis alloc] initWithKey:@"xAxis"];
    IGNumericYAxis *yAxis = [[IGNumericYAxis alloc] initWithKey:@"yAxis"];
    [infraChart addAxis:xAxis];
    [infraChart addAxis:yAxis];
    IGFinancialPriceSeries *financialPriceSeries = [[IGFinancialPriceSeries alloc] initWithKey:@"financialPriceSeries"];
    financialPriceSeries.xAxis = xAxis;
    financialPriceSeries.yAxis = yAxis;
    financialPriceSeries.dataSource = source;
    financialPriceSeries.displayType = IGPriceDisplayTypeCandlestick;
    IGForceIndexIndicator *financialIndicator = [[IGForceIndexIndicator alloc] initWithKey:@"financialIndicator"];
    financialIndicator.xAxis = xAxis;
    financialIndicator.yAxis = yAxis;
    financialIndicator.dataSource = source;
    financialIndicator.thickness = 3.0f;
    [infraChart addSeries:financialPriceSeries];
    [infraChart addSeries:financialIndicator];
    [self.view addSubview:infraChart];

関連コンテンツ

トピック

このトピックにの追加情報については、以下のトピックも合わせてご参照ください。

トピック 目的

このトピックのコレクションは IGChartView コントロールでサポートされる各チャートについて説明します。