{"id":8075,"date":"2024-08-28T17:20:14","date_gmt":"2024-08-28T17:20:14","guid":{"rendered":"https:\/\/bjftradinggroup.com\/?page_id=8075"},"modified":"2026-09-25T15:46:18","modified_gmt":"2026-09-25T15:46:18","slug":"developers","status":"publish","type":"page","link":"https:\/\/bjftradinggroup.com\/id\/developers\/","title":{"rendered":"Untuk Developer"},"content":{"rendered":"<p><\/p>\n<div class=\"dev-page\">\n<p><!-- ============================================================ --><br \/>\n<!-- HERO                                                         --><br \/>\n<!-- ============================================================ --><\/p>\n<div class=\"dev-hero\">\n<span class=\"dev-eyebrow\">Untuk developer &middot; Platform SharpTrader<\/span><\/p>\n<h1>Bangun di atas SharpTrader: <span class=\"dev-gold\">API bot C#, konektivitas EasyFIX, dan library grafik BjfChart<\/span><\/h1>\n<p>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.<\/p>\n<div class=\"dev-chips\">\n<span class=\"dev-chip\">Strategi C# dengan tick live dan sesi multi-broker<\/span><br \/>\n<span class=\"dev-chip\">EasyFIX API: 50+ konektor FIX, bursa kripto<\/span><br \/>\n<span class=\"dev-chip\">DLL BjfChart: 22 indikator, alat gambar, tiket order<\/span><br \/>\n<span class=\"dev-chip\">.NET Framework 4.8 dan .NET 8<\/span>\n<\/div>\n<p style=\"margin-top:18px !important\"><a class=\"dev-btn\" href=\"#charting\">Tonton panduan grafik<\/a> <a class=\"dev-btn-ghost\" href=\"#contact\">Kontak developer<\/a><\/p>\n<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- KEY NUMBERS                                                  --><br \/>\n<!-- ============================================================ --><\/p>\n<table class=\"dev-stats\">\n<tbody>\n<tr>\n<td><strong>C#<\/strong><span>bahasa strategi bawaan, dikompilasi di dalam SharpTrader<\/span><\/td>\n<td><strong>50+<\/strong><span>konektor FIX API ke broker, ditambah bursa kripto utama<\/span><\/td>\n<td><strong>22<\/strong><span>indikator di BjfChart, diverifikasi silang dengan perhitungan referensi<\/span><\/td>\n<td><strong>2<\/strong><span>target dalam satu DLL: net48 untuk aplikasi lama, net8.0-windows untuk aplikasi baru<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!-- ============================================================ --><br \/>\n<!-- THREE WAYS                                                   --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"ways\">Tiga cara membangun dengan BJF<\/h2>\n<p>Setiap opsi menyelesaikan masalah yang berbeda. Pilih yang sesuai dengan tempat kode Anda berada.<\/p>\n<table class=\"dev-threecol\">\n<tbody>\n<tr>\n<td class=\"dev-col\">\n<span class=\"dev-tag\">Di dalam platform<\/span><\/p>\n<h3>Modul coding: API bot C#<\/h3>\n<p>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.<\/p>\n<p><a href=\"#bot-api\">Baca tentang API bot<\/a><\/p>\n<\/td>\n<td class=\"dev-col\">\n<span class=\"dev-tag\">Di luar platform<\/span><\/p>\n<h3>EasyFIX API<\/h3>\n<p>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.<\/p>\n<p><a href=\"#easyfix\">Baca tentang EasyFIX<\/a><\/p>\n<\/td>\n<td class=\"dev-col\">\n<span class=\"dev-tag\">Di terminal Anda sendiri<\/span><\/p>\n<h3>Library grafik BjfChart<\/h3>\n<p>Satu DLL yang memberi aplikasi .NET Anda grafik candlestick profesional, indikator, alat gambar, panel trading, dan order book, dengan feed tick live.<\/p>\n<p><a href=\"#charting\">Lihat library grafik<\/a><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!-- ============================================================ --><br \/>\n<!-- BOT API                                                      --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"bot-api\">Modul coding: tulis strategi dalam C#<\/h2>\n<p>Modul coding mengubah SharpTrader menjadi lingkungan pengembangan untuk strategi otomatis. Bot adalah kelas C# yang mewarisi kelas dasar <code>Bot<\/code> 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.<\/p>\n<h3>Apa yang diberikan API<\/h3>\n<table class=\"dev-tbl\">\n<thead>\n<tr>\n<th>Area<\/th>\n<th>Yang dapat Anda lakukan<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Data pasar<\/td>\n<td>Bid, ask, spread, dan nilai poin per simbol dan per sesi, melalui objek <code>ticker<\/code>. Sesi adalah satu akun broker atau bursa yang terhubung, sehingga satu bot dapat memantau dan bertransaksi dengan beberapa counterparty sekaligus berdasarkan indeks sesi.<\/td>\n<\/tr>\n<tr>\n<td>Order dan posisi<\/td>\n<td><code>sendOrder<\/code> untuk eksekusi pasar, <code>modifyPositionByID<\/code> untuk stop-loss dan take-profit, <code>closePositionByID<\/code>, pencarian berdasarkan ID atau komentar, serta daftar live order yang terbuka, tertutup, dan pending.<\/td>\n<\/tr>\n<tr>\n<td>Detail posisi<\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td>Indikator<\/td>\n<td>Fungsi indikator bawaan seperti EMA dan MACD pada timeframe apa pun, yang terus bertambah melalui pembaruan platform.<\/td>\n<\/tr>\n<tr>\n<td>Input dan logging<\/td>\n<td>Properti publik yang ditandai dengan <code>[PropertyInfo]<\/code> muncul sebagai input yang dapat diedit di antarmuka; <code>writeLog<\/code> menulis ke log platform; <code>stopBot<\/code> menghentikan strategi dari kode.<\/td>\n<\/tr>\n<tr>\n<td>Status akun<\/td>\n<td>Balance dan equity per sesi untuk aturan risiko dan penentuan ukuran posisi.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Kerangka strategi minimal<\/h3>\n<pre class=\"dev-code\"><span class=\"c\">\/\/ Illustrative skeleton. Names follow the SharpTrader coding library reference.<\/span>\nusing SharpTraderBot;\n\npublic class SpreadGuardBot : Bot\n{\n    [PropertyInfo(0.10, \"Lot size\")]\n    public double Lots { get; set; }\n\n    [PropertyInfo(20, \"Max spread, points\")]\n    public int MaxSpreadPoints { get; set; }\n\n    string _inFlight;                            <span class=\"c\">\/\/ one order in flight per tick<\/span>\n\n    public virtual void OnInit() { writeLog(\"SpreadGuardBot started\"); }\n\n    public virtual void OnTick(NewTickEventArgs args)\n    {\n        int session = 0;                         <span class=\"c\">\/\/ session index = broker account<\/span>\n        string symbol = args.tick.symbol;\n\n        double point  = ticker.getPointValue(session, symbol);\n        double spread = (ticker.getAsk(session, symbol) - ticker.getBid(session, symbol)) \/ point;\n\n        if (spread &gt; MaxSpreadPoints || _inFlight != null) return;\n\n        _inFlight = sendOrder(session, symbol, Lots, OrderSide.BUY, OrderType.MARKET, 0, \"spread-guard\");\n    }\n}<\/pre>\n<div class=\"dev-note\"><strong>Perlu diketahui sebelum Anda menulis baris pertama.<\/strong> 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 <code>foreach<\/code> biasa alih-alih <code>Where<\/code>, <code>Select<\/code>, atau <code>Any<\/code>. 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.<\/div>\n<p>Referensi lengkap kelas, metode, dan event: <a href=\"https:\/\/sharptrader.arbitragesoftware.net\/bot\/\">dokumentasi library coding SharpTrader<\/a>. Modul coding adalah add-on untuk SharpTrader Pro; lihat <a href=\"https:\/\/bjftradinggroup.com\/product\/sharptrader-forex-crypto-arbitrage\/\">halaman SharpTrader Pro<\/a> untuk paket terbaru.<\/p>\n<p><!-- ============================================================ --><br \/>\n<!-- EASYFIX                                                      --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"easyfix\">EasyFIX API: hubungkan software Anda sendiri ke SharpTrader<\/h2>\n<p>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.<\/p>\n<table class=\"dev-twocol\">\n<tbody>\n<tr>\n<td class=\"dev-col\">\n<h3>Apa yang dibawa EasyFIX<\/h3>\n<ul>\n<li>Data pasar: kuotasi untuk simbol yang Anda langgani, dari sesi mana pun yang dibuka SharpTrader.<\/li>\n<li>Aliran order: order baru, modifikasi, dan penutupan yang dirutekan ke sesi yang dipilih.<\/li>\n<li>Laporan eksekusi: eksekusi, penolakan, status posisi dan order dikirim kembali ke aplikasi Anda.<\/li>\n<li>Akses ke 50+ konektor broker FIX API dan koneksi bursa kripto utama yang sama dengan yang digunakan SharpTrader untuk strateginya sendiri.<\/li>\n<\/ul>\n<\/td>\n<td class=\"dev-col\">\n<h3>Integrasi umum<\/h3>\n<ul>\n<li>Strategi eksternal yang ditulis dalam Python, Java, C++, atau bahasa apa pun yang memiliki socket dan pembuat pesan FIX.<\/li>\n<li>Lapisan risiko tingkat perusahaan yang mengawasi beberapa instance SharpTrader.<\/li>\n<li>GUI trading atau dasbor khusus di atas eksekusi SharpTrader.<\/li>\n<li>Merekam kuotasi dan eksekusi untuk riset, backtesting, dan audit eksekusi broker.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>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 <a href=\"mailto:support@bjftradinggroup.com\">support@bjftradinggroup.com<\/a> dengan deskripsi singkat tentang apa yang ingin Anda hubungkan.<\/p>\n<p><!-- ============================================================ --><br \/>\n<!-- CHARTING LIBRARY                                             --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"charting\">BjfChart: library grafik di balik grafik baru SharpTrader<\/h2>\n<p>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 <code>BjfChart.dll<\/code> yang menargetkan <code>net48<\/code> dan <code>net8.0-windows<\/code>, sehingga dapat dipasang baik di terminal .NET Framework lama maupun aplikasi .NET 8 baru.<\/p>\n<div class=\"dev-video\">\n<p class=\"dev-video-title\">Video: SharpTrader Charting, library grafik baru dan panduan trading manual<\/p>\n<div class=\"dev-video-embed\">\n<iframe src=\"https:\/\/www.youtube-nocookie.com\/embed\/QBjWnSRnrxs\" title=\"SharpTrader Charting: library grafik baru dan panduan trading manual\" loading=\"lazy\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div>\n<p class=\"dev-video-caption\">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. <a href=\"https:\/\/youtu.be\/QBjWnSRnrxs\">Buka di YouTube<\/a><\/p>\n<\/div>\n<h3>Isi library<\/h3>\n<table class=\"dev-twocol\">\n<tbody>\n<tr>\n<td class=\"dev-col\">\n<h3>Mesin grafik<\/h3>\n<ul>\n<li>Rendering candlestick dengan sub-panel volume, crosshair, label harga live, dan legenda OHLC mengambang.<\/li>\n<li>Zoom dengan roda mouse yang menjaga bar di bawah kursor tetap di tempat, geser dengan klik-seret.<\/li>\n<li>Feed realtime: <code>PushTick<\/code> memasukkan tick ke bar terakhir, <code>FeedTick<\/code> otomatis mengelompokkan tick ke dalam candle dengan interval apa pun.<\/li>\n<li>Overlay multi-simbol untuk perbandingan, dengan skala independen atau bersama.<\/li>\n<li>Penyimpanan tata letak ke JSON: indikator, gambar, overlay, dan viewport disimpan dan dipulihkan.<\/li>\n<li>Tema gelap (navy dan emas BJF) dan terang, dapat diganti saat runtime, setiap warna dapat diedit.<\/li>\n<li>Watermark dari file logo, URL, atau teks di belakang candle.<\/li>\n<\/ul>\n<\/td>\n<td class=\"dev-col\">\n<h3>Lapisan trading<\/h3>\n<ul>\n<li><code>TradingPanel<\/code>: tiket order (beli dan jual market, limit, atau stop, kuantitas, harga, stop-loss, take-profit) dengan tampilan posisi dan P\/L live.<\/li>\n<li>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.<\/li>\n<li>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.<\/li>\n<li><code>OrderBookPanel<\/code>: tangga depth-of-market dengan ukuran per level dan bar kedalaman proporsional; klik sebuah level untuk mengisi harga limit terlebih dahulu.<\/li>\n<li>Garis harga sembarang berdasarkan ID untuk order broker, dengan opsi dapat diseret.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Indikator dan alat gambar<\/h3>\n<table class=\"dev-tbl\">\n<thead>\n<tr>\n<th>Kelompok<\/th>\n<th>Termasuk<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Indikator overlay<\/td>\n<td>SMA, EMA, WMA, VWAP, Bollinger Bands, Keltner Channels, Donchian Channels, Envelope, dan Parabolic SAR.<\/td>\n<\/tr>\n<tr>\n<td>Indikator sub-panel<\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td>Akurasi<\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td>Alat gambar<\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td>Ekstensibilitas<\/td>\n<td>Implementasikan <code>IIndicator<\/code> (atau turunkan dari <code>IndicatorBase<\/code>), 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.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Sepuluh baris menuju grafik yang berfungsi<\/h3>\n<pre class=\"dev-code\">using BjfChart;\nusing BjfChart.Indicators;\nusing BjfChart.Models;\n\nvar chart = new ChartControl { Dock = DockStyle.Fill };\nform.Controls.Add(chart);\n\nchart.SetData(myCandles);                          <span class=\"c\">\/\/ IEnumerable&lt;Candle&gt;<\/span>\nchart.AddIndicator(\"ema\");\nchart.AddIndicator(\"bb\");\nchart.AddIndicator(\"macd\");                        <span class=\"c\">\/\/ draws in its own sub-panel<\/span>\nchart.AddIndicator(new RsiIndicator(21));          <span class=\"c\">\/\/ or by type, with custom parameters<\/span>\n\nchart.CandleInterval = TimeSpan.FromMinutes(15);   <span class=\"c\">\/\/ enables auto-bucketing<\/span>\nchart.FeedTick(DateTime.UtcNow, price, volume);    <span class=\"c\">\/\/ rolls a new candle at each boundary<\/span>\n\nchart.StartDrawing(DrawingKind.FibRetracement);    <span class=\"c\">\/\/ next drag draws a fib retracement<\/span>\nchart.SaveLayout(@\"C:\\layouts\\eurusd.json\");\n\n<span class=\"g\">\/\/ Trading panel wired to your execution layer<\/span>\nvar panel = new TradingPanel { Dock = DockStyle.Right, Symbol = \"EURUSD\" };\npanel.AttachChart(chart);                          <span class=\"c\">\/\/ draws entry \/ SL \/ TP lines on the chart<\/span>\npanel.OrderSubmitted += (s, req) =&gt; myExecutionEngine.Send(req);\npanel.PositionModified += (s, pos) =&gt; broker.Modify(pos);   <span class=\"c\">\/\/ after a drag of SL or TP<\/span><\/pre>\n<p>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.<\/p>\n<div class=\"dev-note\"><strong>Menggunakan BjfChart dalam produk Anda.<\/strong> 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.<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- CONTACT                                                      --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"contact\">Kontak developer<\/h2>\n<p>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.<\/p>\n<table class=\"dev-contact\">\n<tbody>\n<tr>\n<td><span class=\"k\">Email<\/span><span class=\"v\"><a href=\"mailto:support@bjftradinggroup.com\">support@bjftradinggroup.com<\/a><\/span><span class=\"s\">Paling cocok untuk contoh kode, spesifikasi, dan lisensi<\/span><\/td>\n<td><span class=\"k\">Telepon<\/span><span class=\"v\"><a href=\"tel:+19055995507\">+1 (905) 599-5507<\/a><\/span><span class=\"s\">Senin hingga Jumat, 9:00 hingga 18:00 Waktu Timur (Toronto)<\/span><\/td>\n<td><span class=\"k\">Telegram<\/span><span class=\"v\"><a href=\"https:\/\/t.me\/bjftradinggroup\">t.me\/bjftradinggroup<\/a><\/span><span class=\"s\">Pertanyaan singkat dan tindak lanjut<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>BJF Trading Group Inc., 3397 Mistwell Crescent, Oakville, ON, L6L 0A2, Canada. Pertanyaan umum: <a href=\"https:\/\/bjftradinggroup.com\/contacts\/\">halaman kontak<\/a>.<\/p>\n<p><!-- ============================================================ --><br \/>\n<!-- FAQ                                                          --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"faq\">Pertanyaan yang sering diajukan<\/h2>\n<div class=\"dev-faq\">\n<details>\n<summary>Bahasa apa yang digunakan bot SharpTrader?<\/summary>\n<div class=\"a\">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.<\/div>\n<\/details>\n<details>\n<summary>Bisakah satu bot bertransaksi di beberapa broker atau bursa sekaligus?<\/summary>\n<div class=\"a\">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.<\/div>\n<\/details>\n<details>\n<summary>Apa itu EasyFIX API dan untuk siapa?<\/summary>\n<div class=\"a\">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.<\/div>\n<\/details>\n<details>\n<summary>Apakah BjfChart tersedia terpisah dari SharpTrader?<\/summary>\n<div class=\"a\">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.<\/div>\n<\/details>\n<details>\n<summary>Apakah panel trading BjfChart mengeksekusi order?<\/summary>\n<div class=\"a\">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.<\/div>\n<\/details>\n<details>\n<summary>Bisakah saya menambahkan indikator sendiri ke BjfChart?<\/summary>\n<div class=\"a\">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.<\/div>\n<\/details>\n<details>\n<summary>Apakah kode sumber SharpTrader atau BjfChart dijual?<\/summary>\n<div class=\"a\">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.<\/div>\n<\/details>\n<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- Newsletter signup                                            --><br \/>\n<!-- ============================================================ --><\/p>\n<div class=\"dev-signup\">\n<h3>Berlangganan riset trading BJF<\/h3>\n<p>Artikel baru, makalah riset, dan rilis produk, dikirimkan saat kami menerbitkannya.<\/p>\n<div class='_form_31'><\/div><script type='text\/javascript' src='https:\/\/bjftradinggroup.activehosted.com\/f\/embed.php?static=0&id=31&6AC30E686D1A3&nostyles=0&preview=0'><\/script><\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- FINAL CTA                                                    --><br \/>\n<!-- ============================================================ --><\/p>\n<div class=\"dev-cta\">\n<h2>Ceritakan apa yang sedang Anda bangun<\/h2>\n<p>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.<\/p>\n<p><a class=\"dev-btn\" href=\"mailto:support@bjftradinggroup.com\">Email tim developer<\/a> <a class=\"dev-btn-ghost\" href=\"https:\/\/t.me\/bjftradinggroup\">Kirim pesan di Telegram<\/a><\/p>\n<\/div>\n<p class=\"dev-disc\">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.<\/p>\n<\/div>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\"@type\":\"Question\",\"name\":\"Which language do SharpTrader bots use?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"C#. A bot is a class that inherits the platform's base Bot class and implements event handlers for initialization, ticks, position changes and order status updates. It is compiled inside SharpTrader and runs alongside the built-in strategies.\"}},\n    {\"@type\":\"Question\",\"name\":\"Can one SharpTrader bot trade several brokers or exchanges at the same time?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Every market data and order call takes a session index, and a session is one connected broker or exchange account. A bot can read quotes from one session and send orders to another.\"}},\n    {\"@type\":\"Question\",\"name\":\"What is the EasyFIX API and who is it for?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"EasyFIX is a simplified FIX protocol that lets external software connect to SharpTrader as an execution gateway, receiving quotes and sending orders through SharpTrader's broker and exchange connectors. The specification and a test connection are provided on request.\"}},\n    {\"@type\":\"Question\",\"name\":\"Is BjfChart available separately from SharpTrader?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. BjfChart is a standalone .NET charting library, a single DLL targeting net48 and net8.0-windows, built on SkiaSharp. It is licensed to SharpTrader developers, white-label partners and terminal vendors; contact support@bjftradinggroup.com for terms and a demo build.\"}},\n    {\"@type\":\"Question\",\"name\":\"Does the BjfChart trading panel execute orders?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. The panel raises events for order submission, position close and position modification, and the host application routes them to its own execution layer such as a FIX API session, a broker bridge or SharpTrader through EasyFIX.\"}},\n    {\"@type\":\"Question\",\"name\":\"Can I add my own indicators to BjfChart?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Implement the IIndicator interface or subclass IndicatorBase, return series aligned to the candle list, choose overlay or sub-panel rendering, and register the indicator so it appears in the menu and in saved layouts.\"}},\n    {\"@type\":\"Question\",\"name\":\"Is the source code of SharpTrader or BjfChart for sale?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. BJF Trading Group licenses compiled builds and provides API access, documentation and support. Source code is not sold or disclosed under any program.\"}}\n  ],\n  \"speakable\": {\"@type\":\"SpeakableSpecification\",\"cssSelector\":[\".dev-hero h1\",\".dev-tbl\"]}\n}\n<\/script><br \/>\n<\/p>","protected":false},"excerpt":{"rendered":"<p>Untuk developer &middot; 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&hellip;<\/p>\n","protected":false},"author":1,"featured_media":8077,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-ai-custom.php","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-8075","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.6 (Yoast SEO v28.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Untuk Developer<\/title>\n<meta name=\"description\" content=\"Tulis bot trading dalam C#, hubungkan software Anda melalui EasyFIX API, dan sematkan library grafik BjfChart (22 indikator) ke terminal .NET Anda.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bjftradinggroup.com\/id\/developers\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Untuk Developer\" \/>\n<meta property=\"og:description\" content=\"Tulis bot trading dalam C#, hubungkan software Anda melalui EasyFIX API, dan sematkan library grafik BjfChart (22 indikator) ke terminal .NET Anda.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bjftradinggroup.com\/id\/developers\/\" \/>\n<meta property=\"og:site_name\" content=\"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-25T15:46:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2024\/08\/developer.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/\",\"name\":\"Untuk Developer\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/developer.jpg\",\"datePublished\":\"2024-08-28T17:20:14+00:00\",\"dateModified\":\"2026-09-25T15:46:18+00:00\",\"description\":\"Tulis bot trading dalam C#, hubungkan software Anda melalui EasyFIX API, dan sematkan library grafik BjfChart (22 indikator) ke terminal .NET Anda.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/developer.jpg\",\"contentUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/developer.jpg\",\"width\":1024,\"height\":1024,\"caption\":\"for developers\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bjftradinggroup.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"For Developers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#website\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/\",\"name\":\"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.\",\"description\":\"FX Software pioneer since 2000\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bjftradinggroup.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#organization\",\"name\":\"BJF Trading Group Inc.\",\"legalName\":\"BJF Trading Group Inc.\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/logo.png\",\"width\":512,\"height\":512},\"foundingDate\":\"2000\",\"founder\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/about-boris-fesenko\\\/#person\"},\"address\":{\"@type\":\"PostalAddress\",\"addressRegion\":\"Ontario\",\"addressCountry\":\"CA\"},\"contactPoint\":[{\"@type\":\"ContactPoint\",\"contactType\":\"customer support\",\"email\":\"support@bjftradinggroup.com\",\"availableLanguage\":[\"English\",\"German\",\"Japanese\",\"Korean\",\"Spanish\",\"Portuguese\",\"Arabic\",\"Indonesian\",\"Vietnamese\"]}],\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/bjftradinggroup\",\"https:\\\/\\\/twitter.com\\\/BjfGroup\",\"https:\\\/\\\/www.youtube.com\\\/@bjftradinggroup\",\"https:\\\/\\\/t.me\\\/bjftradinggroup\",\"https:\\\/\\\/instagram.com\\\/bjftradinggroup\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/bjf-trading-group\\\/\"],\"knowsAbout\":[\"Forex arbitrage\",\"Cryptocurrency arbitrage\",\"Latency arbitrage\",\"News trading\",\"FIX API trading\",\"High-frequency trading\",\"Lock arbitrage\",\"Hedge arbitrage\",\"Pair trading\",\"Algorithmic trading software\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Untuk Developer","description":"Tulis bot trading dalam C#, hubungkan software Anda melalui EasyFIX API, dan sematkan library grafik BjfChart (22 indikator) ke terminal .NET Anda.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bjftradinggroup.com\/id\/developers\/","og_locale":"id_ID","og_type":"article","og_title":"Untuk Developer","og_description":"Tulis bot trading dalam C#, hubungkan software Anda melalui EasyFIX API, dan sematkan library grafik BjfChart (22 indikator) ke terminal .NET Anda.","og_url":"https:\/\/bjftradinggroup.com\/id\/developers\/","og_site_name":"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.","article_modified_time":"2026-09-25T15:46:18+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2024\/08\/developer.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Estimasi waktu membaca":"2 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/bjftradinggroup.com\/developers\/","url":"https:\/\/bjftradinggroup.com\/developers\/","name":"Untuk Developer","isPartOf":{"@id":"https:\/\/bjftradinggroup.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bjftradinggroup.com\/developers\/#primaryimage"},"image":{"@id":"https:\/\/bjftradinggroup.com\/developers\/#primaryimage"},"thumbnailUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2024\/08\/developer.jpg","datePublished":"2024-08-28T17:20:14+00:00","dateModified":"2026-09-25T15:46:18+00:00","description":"Tulis bot trading dalam C#, hubungkan software Anda melalui EasyFIX API, dan sematkan library grafik BjfChart (22 indikator) ke terminal .NET Anda.","breadcrumb":{"@id":"https:\/\/bjftradinggroup.com\/developers\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bjftradinggroup.com\/developers\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/bjftradinggroup.com\/developers\/#primaryimage","url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2024\/08\/developer.jpg","contentUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2024\/08\/developer.jpg","width":1024,"height":1024,"caption":"for developers"},{"@type":"BreadcrumbList","@id":"https:\/\/bjftradinggroup.com\/developers\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bjftradinggroup.com\/"},{"@type":"ListItem","position":2,"name":"For Developers"}]},{"@type":"WebSite","@id":"https:\/\/bjftradinggroup.com\/#website","url":"https:\/\/bjftradinggroup.com\/","name":"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.","description":"FX Software pioneer since 2000","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bjftradinggroup.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Organization","@id":"https:\/\/bjftradinggroup.com\/#organization","name":"BJF Trading Group Inc.","legalName":"BJF Trading Group Inc.","url":"https:\/\/bjftradinggroup.com\/","logo":{"@type":"ImageObject","url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/logo.png","width":512,"height":512},"foundingDate":"2000","founder":{"@id":"https:\/\/bjftradinggroup.com\/about-boris-fesenko\/#person"},"address":{"@type":"PostalAddress","addressRegion":"Ontario","addressCountry":"CA"},"contactPoint":[{"@type":"ContactPoint","contactType":"customer support","email":"support@bjftradinggroup.com","availableLanguage":["English","German","Japanese","Korean","Spanish","Portuguese","Arabic","Indonesian","Vietnamese"]}],"sameAs":["https:\/\/www.facebook.com\/bjftradinggroup","https:\/\/twitter.com\/BjfGroup","https:\/\/www.youtube.com\/@bjftradinggroup","https:\/\/t.me\/bjftradinggroup","https:\/\/instagram.com\/bjftradinggroup","https:\/\/www.linkedin.com\/company\/bjf-trading-group\/"],"knowsAbout":["Forex arbitrage","Cryptocurrency arbitrage","Latency arbitrage","News trading","FIX API trading","High-frequency trading","Lock arbitrage","Hedge arbitrage","Pair trading","Algorithmic trading software"]}]}},"_links":{"self":[{"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/pages\/8075","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/comments?post=8075"}],"version-history":[{"count":8,"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/pages\/8075\/revisions"}],"predecessor-version":[{"id":13910,"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/pages\/8075\/revisions\/13910"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/media\/8077"}],"wp:attachment":[{"href":"https:\/\/bjftradinggroup.com\/id\/wp-json\/wp\/v2\/media?parent=8075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}