Lewati ke isi

Metode chartshot

Panduan pengguna ini menjelaskan cara menggunakan metode TakeChartshot() saat membuat algo cTrader. Jika Anda ingin segera memulai, cukup baca ringkasan satu menit kami di bawah ini.

Metode chartshot dalam satu menit!

  • Metode TakeChartshot() memungkinkan algo cTrader untuk mengambil Chartshot dari grafik tempat mereka berjalan, tetapi hanya jika grafik ini terlihat.
  • Chartshot adalah alat yang hebat untuk berkomunikasi dengan trader lain dan berbagi analisis teknikal. Dengan metode TakeChartshot(), proses ini menjadi jauh lebih mudah.
  • Metode TakeChartshot() mengembalikan array byte, artinya Anda dapat dengan mudah membagikan Chartshot sebagai file .PNG. Anda juga dapat membagikan Chartshot di Internet menggunakan fitur akses jaringan.
  • Metode TakeChartshot() sangat penting jika Anda ingin membuat Chartshot setiap kali algo Anda melakukan sesuatu (seperti ketika cBot menempatkan order). Fitur ini memberikan bantuan visual yang bagus bagi siapa saja yang ingin mengevaluasi kinerja solusi mereka tanpa harus terus mengawasi grafik 24/7.

Menggunakan metode TakeChartshot()

Chartshot menawarkan cara cepat untuk membuat tangkapan layar grafik trading. Jika Anda membuat Chartshot secara manual melalui toolbar cTrader, tangkapan layar akan disimpan di mesin lokal Anda selain diunggah secara otomatis ke portal khusus yang menawarkan beberapa cara untuk membagikannya (misalnya, melalui kode HTML yang dapat disematkan).

Sebaliknya, API kami memungkinkan pembuatan Chartshot secara otomatis. Berbeda dengan Chartshot biasa, Chartshot yang dibuat oleh algo cTrader tidak disimpan di mana pun secara default. Sebaliknya, Chartshot tersebut dikembalikan sebagai array byte yang dapat Anda simpan di mana saja dengan menentukan tindakan tambahan dalam kode.

Metode byte[] TakeChartshot() bekerja sebagai berikut:

  • byte[] TakeChartshot(). Mengambil Chartshot dari grafik tempat algoritma berjalan dan mengembalikannya sebagai array byte.

Perhatikan bahwa metode ini hanya berfungsi jika grafik terlihat. Untuk memudahkan pemeriksaan visibilitas grafik, antarmuka Chart menyertakan properti IsVisible. Nilainya sama dengan true untuk grafik yang terlihat dan false untuk yang tidak terlihat.

Chartshot dalam backtesting dan optimisasi

  • Dalam optimisasi dan backtesting non-visual, metode TakeChartshot() selalu mengembalikan null dan memanggil penangan OnException() jika Anda telah menentukannya.
  • Dalam backtesting mode visual, metode ini berfungsi sebagaimana dimaksud.

Buat contoh cBot

Untuk mendemonstrasikan cara kerja pengambilan Chartshot, kita akan membuat cBot sederhana yang akan membuat chartshot dari grafik saat ini dan menyimpannya di sistem berkas mesin lokal Anda.

 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);

            }
        }
    }
}

Saat dimulai, berkas .PNG yang berisi chartshot dari grafik tempat kita melampirkan instance cBot akan ditambahkan ke D://examplePath/.

Ringkasan

Metode TakeChartshot() memungkinkan algo cTrader untuk membuat Chartshot yang mudah dibagikan, menjadikannya penting bagi siapa pun yang ingin berbagi informasi dengan trader lain atau melacak bagaimana solusi otomatis mereka bekerja dalam merespons kondisi tertentu. Metode ini juga dapat digunakan dalam backtesting visual, memungkinkan Anda dengan mudah mencocokkan tindakan cBot Anda dengan peristiwa yang terjadi pada grafik.