チャートショットメソッド

このユーザーガイドでは、cTrader アルゴリズムを作成する際に TakeChartshot() メソッドを使用する方法について説明します。すぐに始めたい場合は、以下の1分間の要約をお読みください。

Chartshot メソッドを1分で理解しよう!

  • TakeChartshot() メソッドを使用すると、cTrader のアルゴリズムが実行されているチャートのスクリーンショットを撮ることができますが、チャートが表示されている場合のみです。
  • ChartShots は、他のトレーダーとコミュニケーションを取ったり、テクニカル分析を共有するのに最適なツールです。TakeChartshot() メソッドを使うことで、このプロセスがこれまでになく簡単になります!
  • TakeChartshot() メソッドはバイトの配列を返します。つまり、Chartshots を .PNG ファイルとして簡単に共有できます。また、ネットワークアクセス機能を使ってインターネット上で ChartShot を共有することもできます。
  • TakeChartshot() メソッドは、アルゴリズムが何かを行うたびにチャートショットを作成したい場合に不可欠です(例:cBot が注文を出すとき)。この機能は、24時間チャートを見続けることなく、自分のソリューションのパフォーマンスを評価するのに役立つ視覚的な補助を提供します。

TakeChartshot() メソッドの使用方法

ChartShots は、トレーディングチャートのスクリーンショットを迅速に作成する方法を提供します。cTrader ツールバーを使用して手動で ChartShot を作成すると、スクリーンショットはローカルマシンに保存され、特別なポータルに自動的にアップロードされ、そこから共有するためのいくつかの方法が提供されます(例:埋め込み可能な HTML コードを通じて)。

一方、私たちの API は ChartShots を自動的に作成することを可能にします。通常の ChartShots と異なり、cTrader アルゴリズムによって作成された ChartShots はデフォルトではどこにも保存されません。その代わり、これらの ChartShots はバイト配列として返され、コードで追加のアクションを指定することによって任意の場所に保存することができます。

byte[] TakeChartshot() メソッドは次のように機能します。

  • byte[] TakeChartshot() メソッドは、アルゴリズムが実行されているチャートの ChartShot を撮り、それをバイト配列として返します。

このメソッドはチャートが表示されている場合にのみ機能することに注意してください。チャートの可視性を簡単に確認するために、Chart インターフェースには IsVisible プロパティが含まれています。このプロパティは、表示されているチャートに対しては true であり、表示されていないチャートに対しては false です。

バックテストおよび最適化における Chartshots

  • 最適化や非視覚的バックテストでは、TakeChartshot() メソッドは常に null を返し、指定した場合には OnException() ハンドラが呼び出されます。
  • 視覚モードのバックテストでは、このメソッドは意図したとおりに機能します。

例としての cBot の作成

ChartShots の取り扱い方法を示すために、現在のチャートのチャートショットを作成し、ローカルマシンのファイルシステムに保存する簡単な cBot を作成します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using cAlgo.API;
using cAlgo.API.Collections;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;
namespace cAlgo.Robots
{
    [Robot(AccessRights = AccessRights.FullAccess)]
    public class ChartshotTest : Robot
    {
        protected override void OnStart()
        {
            if (Chart.IsActive)
            {
                var chartshot = Chart.TakeChartshot();

                File.WriteAllBytes(@"D://examplePath/chartshot.png", chartshot);

            }
        }
    }
}

開始時に、cBot インスタンスを取り付けたチャートのチャートショットを含む .PNG ファイルが D://examplePath/ に追加されます。

概要

TakeChartshot() メソッドは、cTrader アルゴリズムが簡単に共有できる ChartShots を作成することを可能にし、他のトレーダーと情報を共有したり、自動化されたソリューションが特定の条件に対してどのように機能するかを追跡するために不可欠です。このメソッドは、視覚的バックテストでも使用可能で、cBot のアクションをチャート上で発生するイベントに簡単に一致させることができます。

目次

このページについて