BJF Trading Group Inc. — Ontario, Kanada Kontak Zona Anggota Blog
EN DE JA AR KO ES PT ID VI CN



Untuk developer · Platform SharpTrader

Bangun di atas SharpTrader: API bot C#, konektivitas EasyFIX, dan library grafik BjfChart

SharpTrader adalah platform trading yang dibuat untuk trader, bukan broker, dan terbuka bagi orang-orang yang menulis kode untuk mereka. Tulis strategi Anda sendiri dalam C# di dalam platform, hubungkan software eksternal Anda ke mesin eksekusinya melalui EasyFIX API, atau pasang library grafik candlestick kami yang dipercepat GPU ke terminal .NET Anda sendiri.

Strategi C# dengan tick live dan sesi multi-broker
EasyFIX API: 50+ konektor FIX, bursa kripto
DLL BjfChart: 22 indikator, alat gambar, tiket order
.NET Framework 4.8 dan .NET 8

Tonton panduan grafik Kontak developer



C#bahasa strategi bawaan, dikompilasi di dalam SharpTrader 50+konektor FIX API ke broker, ditambah bursa kripto utama 22indikator di BjfChart, diverifikasi silang dengan perhitungan referensi 2target dalam satu DLL: net48 untuk aplikasi lama, net8.0-windows untuk aplikasi baru



Tiga cara membangun dengan BJF

Setiap opsi menyelesaikan masalah yang berbeda. Pilih yang sesuai dengan tempat kode Anda berada.

Di dalam platform

Modul coding: API bot C#

Tulis strategi sebagai kelas C#, kompilasi di dalam SharpTrader, dan jalankan pada broker atau bursa mana pun yang terhubung. Tick, posisi, order, dan indikator semuanya dapat diakses dengan satu panggilan.

Baca tentang API bot

Di luar platform

EasyFIX API

Tetap gunakan mesin Anda sendiri, dalam bahasa apa pun, dan jadikan SharpTrader sebagai gateway: SharpTrader mengalirkan kuotasi kepada Anda dan merutekan order Anda melalui konektor broker dan bursanya.

Baca tentang EasyFIX

Di terminal Anda sendiri

Library grafik BjfChart

Satu DLL yang memberi aplikasi .NET Anda grafik candlestick profesional, indikator, alat gambar, panel trading, dan order book, dengan feed tick live.

Lihat library grafik



Modul coding: tulis strategi dalam C#

Modul coding mengubah SharpTrader menjadi lingkungan pengembangan untuk strategi otomatis. Bot adalah kelas C# yang mewarisi kelas dasar Bot dari platform dan merespons event: inisialisasi, setiap tick yang masuk, posisi dibuka, posisi ditutup, dan pembaruan status order. Platform mengompilasinya, menampilkan input Anda di antarmuka, dan menjalankannya di akun live atau demo berdampingan dengan strategi arbitrase, berita, dan impuls bawaan.

Apa yang diberikan API

Area Yang dapat Anda lakukan
Data pasar Bid, ask, spread, dan nilai poin per simbol dan per sesi, melalui objek ticker. Sesi adalah satu akun broker atau bursa yang terhubung, sehingga satu bot dapat memantau dan bertransaksi dengan beberapa counterparty sekaligus berdasarkan indeks sesi.
Order dan posisi sendOrder untuk eksekusi pasar, modifyPositionByID untuk stop-loss dan take-profit, closePositionByID, pencarian berdasarkan ID atau komentar, serta daftar live order yang terbuka, tertutup, dan pending.
Detail posisi Setiap posisi memuat harga dan waktu buka serta tutup, volume, arah, sesi, profit, komentar, stop-loss, take-profit, serta slippage dan waktu eksekusi yang terukur untuk kedua leg. Bagian terakhir inilah yang memungkinkan bot beradaptasi dengan cara broker benar-benar mengeksekusi order Anda.
Indikator Fungsi indikator bawaan seperti EMA dan MACD pada timeframe apa pun, yang terus bertambah melalui pembaruan platform.
Input dan logging Properti publik yang ditandai dengan [PropertyInfo] muncul sebagai input yang dapat diedit di antarmuka; writeLog menulis ke log platform; stopBot menghentikan strategi dari kode.
Status akun Balance dan equity per sesi untuk aturan risiko dan penentuan ukuran posisi.

Kerangka strategi minimal

// Illustrative skeleton. Names follow the SharpTrader coding library reference.
using SharpTraderBot;

public class SpreadGuardBot : Bot
{
    [PropertyInfo(0.10, "Lot size")]
    public double Lots { get; set; }

    [PropertyInfo(20, "Max spread, points")]
    public int MaxSpreadPoints { get; set; }

    string _inFlight;                            // one order in flight per tick

    public virtual void OnInit() { writeLog("SpreadGuardBot started"); }

    public virtual void OnTick(NewTickEventArgs args)
    {
        int session = 0;                         // session index = broker account
        string symbol = args.tick.symbol;

        double point  = ticker.getPointValue(session, symbol);
        double spread = (ticker.getAsk(session, symbol) - ticker.getBid(session, symbol)) / point;

        if (spread > MaxSpreadPoints || _inFlight != null) return;

        _inFlight = sendOrder(session, symbol, Lots, OrderSide.BUY, OrderType.MARKET, 0, "spread-guard");
    }
}
Perlu diketahui sebelum Anda menulis baris pertama. Sandbox mengompilasi terhadap sekumpulan assembly tetap: System, System.Collections, System.Runtime, System.Console, dan library bot SharpTrader. LINQ tidak termasuk di dalamnya, jadi gunakan loop foreach biasa alih-alih Where, Select, atau Any. Harga dari API dinyatakan dalam poin broker; kalikan dengan nilai poin sebelum membandingkannya dengan ambang Anda sendiri. Dan jaga agar hanya ada satu order yang sedang diproses per tick, dilindungi oleh client order ID yang dikembalikan, kecuali Anda senang men-debug eksekusi ganda.

Referensi lengkap kelas, metode, dan event: dokumentasi library coding SharpTrader. Modul coding adalah add-on untuk SharpTrader Pro; lihat halaman SharpTrader Pro untuk paket terbaru.



EasyFIX API: hubungkan software Anda sendiri ke SharpTrader

Tidak semuanya harus berada di dalam platform. Jika Anda sudah menjalankan mesin sinyal, manajer risiko, front end khusus, atau pipeline riset, EasyFIX memungkinkannya berkomunikasi dengan SharpTrader melalui protokol FIX yang disederhanakan. SharpTrader menjadi gateway eksekusi Anda: SharpTrader memegang koneksi ke broker dan bursa, sementara Anda mengirim order serta menerima kuotasi dan eksekusi dari kode Anda sendiri, dalam bahasa apa pun yang Anda sukai.

Apa yang dibawa EasyFIX

  • Data pasar: kuotasi untuk simbol yang Anda langgani, dari sesi mana pun yang dibuka SharpTrader.
  • Aliran order: order baru, modifikasi, dan penutupan yang dirutekan ke sesi yang dipilih.
  • Laporan eksekusi: eksekusi, penolakan, status posisi dan order dikirim kembali ke aplikasi Anda.
  • Akses ke 50+ konektor broker FIX API dan koneksi bursa kripto utama yang sama dengan yang digunakan SharpTrader untuk strateginya sendiri.

Integrasi umum

  • Strategi eksternal yang ditulis dalam Python, Java, C++, atau bahasa apa pun yang memiliki socket dan pembuat pesan FIX.
  • Lapisan risiko tingkat perusahaan yang mengawasi beberapa instance SharpTrader.
  • GUI trading atau dasbor khusus di atas eksekusi SharpTrader.
  • Merekam kuotasi dan eksekusi untuk riset, backtesting, dan audit eksekusi broker.

EasyFIX adalah dialek FIX yang dimodifikasi: mempertahankan model pesan yang sudah dikenal developer sambil menghilangkan formalitas yang tidak diperlukan oleh koneksi ritel-ke-gateway. Spesifikasi, contoh sesi, dan koneksi uji tersedia bagi pengguna SharpTrader Pro dan Lite atas permintaan. Tulis ke support@bjftradinggroup.com dengan deskripsi singkat tentang apa yang ingin Anda hubungkan.



BjfChart: library grafik di balik grafik baru SharpTrader

Pada 2026 kami membangun ulang grafik di SharpTrader dari nol, dan mesin di baliknya tersedia bagi developer sebagai library mandiri. BjfChart adalah kontrol grafik candlestick untuk WinForms yang dipercepat GPU dan dibangun di atas SkiaSharp. BjfChart merender puluhan ribu bar pada 60 frame per detik, dan didistribusikan sebagai satu BjfChart.dll yang menargetkan net48 dan net8.0-windows, sehingga dapat dipasang baik di terminal .NET Framework lama maupun aplikasi .NET 8 baru.

Video: SharpTrader Charting, library grafik baru dan panduan trading manual

Delapan timeframe, indikator, alat Fibonacci dan tren, tiket order dengan garis stop-loss dan take-profit yang dapat diseret, serta grafik multi-broker, ditampilkan secara live di dalam SharpTrader. Buka di YouTube

Isi library

Mesin grafik

  • Rendering candlestick dengan sub-panel volume, crosshair, label harga live, dan legenda OHLC mengambang.
  • Zoom dengan roda mouse yang menjaga bar di bawah kursor tetap di tempat, geser dengan klik-seret.
  • Feed realtime: PushTick memasukkan tick ke bar terakhir, FeedTick otomatis mengelompokkan tick ke dalam candle dengan interval apa pun.
  • Overlay multi-simbol untuk perbandingan, dengan skala independen atau bersama.
  • Penyimpanan tata letak ke JSON: indikator, gambar, overlay, dan viewport disimpan dan dipulihkan.
  • Tema gelap (navy dan emas BJF) dan terang, dapat diganti saat runtime, setiap warna dapat diedit.
  • Watermark dari file logo, URL, atau teks di belakang candle.

Lapisan trading

  • TradingPanel: tiket order (beli dan jual market, limit, atau stop, kuantitas, harga, stop-loss, take-profit) dengan tampilan posisi dan P/L live.
  • Garis entri, stop-loss, take-profit, dan order aktif digambar otomatis di grafik; stop-loss dan take-profit dapat diseret dan memicu event saat dilepas.
  • Panel ini tidak mengeksekusi apa pun sendiri. Panel memicu event untuk lapisan eksekusi Anda, baik itu sesi FIX API, bridge broker, atau SharpTrader melalui EasyFIX.
  • OrderBookPanel: tangga depth-of-market dengan ukuran per level dan bar kedalaman proporsional; klik sebuah level untuk mengisi harga limit terlebih dahulu.
  • Garis harga sembarang berdasarkan ID untuk order broker, dengan opsi dapat diseret.

Indikator dan alat gambar

Kelompok Termasuk
Indikator overlay SMA, EMA, WMA, VWAP, Bollinger Bands, Keltner Channels, Donchian Channels, Envelope, dan Parabolic SAR.
Indikator sub-panel RSI, MACD dengan histogram, Stochastic, ATR, CCI, ADX / DMI, Momentum, Rate of Change, Williams %R, Awesome Oscillator, Standard Deviation, On-Balance Volume, Money Flow Index.
Akurasi Perhitungan indikator diverifikasi silang dengan implementasi referensi independen: SMA, EMA, Bollinger, RSI, ATR, Stochastic, dan CCI cocok hingga 1e-9; MACD, ADX, DI, Williams %R, MFI, dan OBV divalidasi kebenaran dan rentangnya.
Alat gambar Garis tren, ray, garis diperpanjang, garis dan ray horizontal, garis vertikal, panah, kanal paralel, persegi panjang, elips, Fibonacci retracement, Fibonacci extension, serta alat ukur yang menampilkan selisih harga, perubahan persentase, dan jumlah bar. Semuanya ditambatkan pada ruang data, sehingga tetap di tempatnya saat zoom dan geser.
Ekstensibilitas Implementasikan IIndicator (atau turunkan dari IndicatorBase), kembalikan satu atau lebih seri yang selaras dengan daftar candle, pilih overlay atau sub-panel, garis, histogram, atau titik, lalu daftarkan agar muncul di menu klik kanan dan di tata letak yang disimpan.

Sepuluh baris menuju grafik yang berfungsi

using BjfChart;
using BjfChart.Indicators;
using BjfChart.Models;

var chart = new ChartControl { Dock = DockStyle.Fill };
form.Controls.Add(chart);

chart.SetData(myCandles);                          // IEnumerable<Candle>
chart.AddIndicator("ema");
chart.AddIndicator("bb");
chart.AddIndicator("macd");                        // draws in its own sub-panel
chart.AddIndicator(new RsiIndicator(21));          // or by type, with custom parameters

chart.CandleInterval = TimeSpan.FromMinutes(15);   // enables auto-bucketing
chart.FeedTick(DateTime.UtcNow, price, volume);    // rolls a new candle at each boundary

chart.StartDrawing(DrawingKind.FibRetracement);    // next drag draws a fib retracement
chart.SaveLayout(@"C:\layouts\eurusd.json");

// Trading panel wired to your execution layer
var panel = new TradingPanel { Dock = DockStyle.Right, Symbol = "EURUSD" };
panel.AttachChart(chart);                          // draws entry / SL / TP lines on the chart
panel.OrderSubmitted += (s, req) => myExecutionEngine.Send(req);
panel.PositionModified += (s, pos) => broker.Modify(pos);   // after a drag of SL or TP

Semua yang ada di kode juga dapat diakses dari menu klik kanan pada grafik: menambah atau menghapus indikator, memilih alat gambar, mengelola overlay, mengganti tema, menyimpan atau memuat tata letak. Library ini memerlukan Windows dan .NET SDK 8.0 atau lebih baru untuk build; NuGet memulihkan SkiaSharp secara otomatis. Aplikasi demo siap jalan dengan simulasi tick live disertakan.

Menggunakan BjfChart dalam produk Anda. Library ini dilisensikan kepada developer SharpTrader, mitra white-label, dan vendor terminal pihak ketiga. Untuk pertanyaan penggunaan, ketentuan lisensi, build demo, atau bantuan mengintegrasikannya dengan feed data Anda, hubungi kami langsung melalui detail di bawah. Beri tahu kami target .NET yang Anda gunakan dan seperti apa sumber data Anda, dan kami akan menjawab dalam satu hari kerja.



Kontak developer

Semua pertanyaan developer ditangani oleh tim yang sama yang membangun platform. Untuk pertanyaan tentang API bot dan EasyFIX, sertakan versi SharpTrader dan jenis akun Anda; untuk BjfChart, sertakan target .NET dan feed data Anda.

Emailsupport@bjftradinggroup.comPaling cocok untuk contoh kode, spesifikasi, dan lisensi Telepon+1 (905) 599-5507Senin hingga Jumat, 9:00 hingga 18:00 Waktu Timur (Toronto) Telegramt.me/bjftradinggroupPertanyaan singkat dan tindak lanjut

BJF Trading Group Inc., 3397 Mistwell Crescent, Oakville, ON, L6L 0A2, Canada. Pertanyaan umum: halaman kontak.



Pertanyaan yang sering diajukan

Bahasa apa yang digunakan bot SharpTrader?
C#. Bot adalah kelas yang mewarisi kelas dasar Bot dari platform dan mengimplementasikan event handler untuk inisialisasi, tick, perubahan posisi, dan pembaruan status order. Bot dikompilasi di dalam SharpTrader dan berjalan berdampingan dengan strategi bawaan.
Bisakah satu bot bertransaksi di beberapa broker atau bursa sekaligus?
Ya. Setiap panggilan data pasar dan order menerima indeks sesi, dan sesi adalah satu akun broker atau bursa yang terhubung. Bot dapat membaca kuotasi dari satu sesi dan mengirim order ke sesi lain; begitulah logika multi-broker dan lintas bursa ditulis.
Apa itu EasyFIX API dan untuk siapa?
EasyFIX adalah protokol FIX yang disederhanakan yang memungkinkan software eksternal terhubung ke SharpTrader sebagai gateway eksekusi. Ini ditujukan bagi developer yang mempertahankan mesin mereka sendiri di luar platform dan ingin menerima kuotasi serta mengirim order melalui konektor broker dan bursa SharpTrader. Spesifikasi dan koneksi uji diberikan atas permintaan.
Apakah BjfChart tersedia terpisah dari SharpTrader?
Ya. BjfChart adalah library .NET mandiri, satu DLL yang menargetkan net48 dan net8.0-windows, dibangun di atas SkiaSharp. Library ini dilisensikan kepada developer SharpTrader, mitra white-label, dan vendor terminal. Hubungi support@bjftradinggroup.com untuk ketentuan dan build demo.
Apakah panel trading BjfChart mengeksekusi order?
Tidak. Panel memicu event (order dikirim, permintaan penutupan posisi, posisi dimodifikasi setelah garis stop-loss atau take-profit diseret) dan aplikasi host merutekannya ke lapisan eksekusinya sendiri, seperti sesi FIX API, bridge broker, atau SharpTrader melalui EasyFIX.
Bisakah saya menambahkan indikator sendiri ke BjfChart?
Ya. Implementasikan antarmuka IIndicator atau turunkan dari IndicatorBase, kembalikan satu atau lebih seri yang selaras dengan daftar candle, pilih rendering overlay atau sub-panel, lalu daftarkan indikator agar muncul di menu klik kanan dan tersimpan dalam tata letak.
Apakah kode sumber SharpTrader atau BjfChart dijual?
Tidak. BJF Trading Group melisensikan build yang sudah dikompilasi dan menyediakan akses API, dokumentasi, dan dukungan. Kode sumber tidak dijual atau diungkapkan dalam program apa pun.





Ceritakan apa yang sedang Anda bangun

Bot untuk keanehan broker tertentu, mesin eksternal yang membutuhkan gateway eksekusi, atau terminal yang membutuhkan grafik paling lambat hari Jumat. Satu email dengan detailnya, satu balasan dengan langkah berikutnya.

Email tim developer Kirim pesan di Telegram

BJF Trading Group Inc. mengembangkan alat perangkat lunak untuk trader dan developer berpengalaman. Kami bukan broker, lembaga keuangan, atau penasihat investasi, dan kami tidak mengeksekusi transaksi atau mengelola dana. Contoh kode di halaman ini bersifat ilustratif dan dapat berbeda dari referensi library terbaru; selalu periksa dokumentasi untuk versi platform Anda. Trading forex, CFD, dan mata uang kripto memiliki risiko kerugian yang tinggi dan tidak cocok untuk semua investor. Tidak ada informasi di halaman ini yang merupakan nasihat keuangan atau janji keuntungan.