{"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\/ko\/developers\/","title":{"rendered":"\uac1c\ubc1c\uc790\ub97c \uc704\ud55c \uc548\ub0b4"},"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\">\uac1c\ubc1c\uc790\uc6a9 &middot; SharpTrader \ud50c\ub7ab\ud3fc<\/span><\/p>\n<h1>SharpTrader \uae30\ubc18 \uac1c\ubc1c: <span class=\"dev-gold\">C# \ubd07 API, EasyFIX \uc5f0\uacb0, BjfChart \ucc28\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac<\/span><\/h1>\n<p>SharpTrader\ub294 \ube0c\ub85c\ucee4\uac00 \uc544\ub2cc \ud2b8\ub808\uc774\ub354\ub97c \uc704\ud574 \ub9cc\ub4e4\uc5b4\uc9c4 \ud2b8\ub808\uc774\ub529 \ud50c\ub7ab\ud3fc\uc774\uba70, \ud2b8\ub808\uc774\ub354\ub97c \uc704\ud574 \ucf54\ub4dc\ub97c \uc791\uc131\ud558\ub294 \uac1c\ubc1c\uc790\uc5d0\uac8c\ub3c4 \uc5f4\ub824 \uc788\uc2b5\ub2c8\ub2e4. \ud50c\ub7ab\ud3fc \uc548\uc5d0\uc11c C#\uc73c\ub85c \uc790\uccb4 \uc804\ub7b5\uc744 \uc791\uc131\ud558\uac70\ub098, EasyFIX API\ub97c \ud1b5\ud574 \uc678\ubd80 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uc2e4\ud589 \uc5d4\uc9c4\uc5d0 \uc5f0\uacb0\ud558\uac70\ub098, GPU \uac00\uc18d \uce94\ub4e4\uc2a4\ud2f1 \ucc28\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc790\uccb4 .NET \ud130\ubbf8\ub110\uc5d0 \ud0d1\uc7ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<div class=\"dev-chips\">\n<span class=\"dev-chip\">\uc2e4\uc2dc\uac04 \ud2f1\uacfc \uba40\ud2f0 \ube0c\ub85c\ucee4 \uc138\uc158\uc744 \uc9c0\uc6d0\ud558\ub294 C# \uc804\ub7b5<\/span><br \/>\n<span class=\"dev-chip\">EasyFIX API: 50\uac1c \uc774\uc0c1\uc758 FIX \ucee4\ub125\ud130, \uc554\ud638\ud654\ud3d0 \uac70\ub798\uc18c<\/span><br \/>\n<span class=\"dev-chip\">BjfChart DLL: 22\uac1c \uc9c0\ud45c, \ub4dc\ub85c\uc789 \ub3c4\uad6c, \uc8fc\ubb38 \ud2f0\ucf13<\/span><br \/>\n<span class=\"dev-chip\">.NET Framework 4.8 \ubc0f .NET 8<\/span>\n<\/div>\n<p style=\"margin-top:18px !important\"><a class=\"dev-btn\" href=\"#charting\">\ucc28\ud2b8 \uae30\ub2a5 \uc18c\uac1c \uc601\uc0c1 \ubcf4\uae30<\/a> <a class=\"dev-btn-ghost\" href=\"#contact\">\uac1c\ubc1c\uc790 \uc5f0\ub77d\ucc98<\/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>SharpTrader \ub0b4\ubd80\uc5d0\uc11c \ucef4\ud30c\uc77c\ub418\ub294 \ub124\uc774\ud2f0\ube0c \uc804\ub7b5 \uc5b8\uc5b4<\/span><\/td>\n<td><strong>50+<\/strong><span>\ube0c\ub85c\ucee4 FIX API \ucee4\ub125\ud130 \ubc0f \uc8fc\uc694 \uc554\ud638\ud654\ud3d0 \uac70\ub798\uc18c \uc5f0\uacb0<\/span><\/td>\n<td><strong>22<\/strong><span>\ub808\ud37c\ub7f0\uc2a4 \uc218\uc2dd\uacfc \uad50\ucc28 \uac80\uc99d\ub41c BjfChart \uc9c0\ud45c<\/span><\/td>\n<td><strong>2<\/strong><span>\ud558\ub098\uc758 DLL\uc5d0 \ub450 \uac00\uc9c0 \ud0c0\uae43: \ub808\uac70\uc2dc \uc571\uc6a9 net48, \uc2e0\uaddc \uc571\uc6a9 net8.0-windows<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!-- ============================================================ --><br \/>\n<!-- THREE WAYS                                                   --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"ways\">BJF\ub85c \uac1c\ubc1c\ud558\ub294 \uc138 \uac00\uc9c0 \ubc29\ubc95<\/h2>\n<p>\uac01 \uc635\uc158\uc740 \uc11c\ub85c \ub2e4\ub978 \ubb38\uc81c\ub97c \ud574\uacb0\ud569\ub2c8\ub2e4. \ucf54\ub4dc\uac00 \uc704\uce58\ud55c \uacf3\uc5d0 \ub9de\ub294 \ubc29\ubc95\uc744 \uc120\ud0dd\ud558\uc138\uc694.<\/p>\n<table class=\"dev-threecol\">\n<tbody>\n<tr>\n<td class=\"dev-col\">\n<span class=\"dev-tag\">\ud50c\ub7ab\ud3fc \ub0b4\ubd80<\/span><\/p>\n<h3>\ucf54\ub529 \ubaa8\ub4c8: C# \ubd07 API<\/h3>\n<p>\uc804\ub7b5\uc744 C# \ud074\ub798\uc2a4\ub85c \uc791\uc131\ud558\uace0 SharpTrader \uc548\uc5d0\uc11c \ucef4\ud30c\uc77c\ud55c \ub4a4, \uc5f0\uacb0\ub41c \ubaa8\ub4e0 \ube0c\ub85c\ucee4\ub098 \uac70\ub798\uc18c\uc5d0\uc11c \uc2e4\ud589\ud558\uc138\uc694. \ud2f1, \ud3ec\uc9c0\uc158, \uc8fc\ubb38, \uc9c0\ud45c \ubaa8\ub450 \ud638\ucd9c \ud55c \ubc88\uc73c\ub85c \uc774\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><a href=\"#bot-api\">\ubd07 API\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf4\uae30<\/a><\/p>\n<\/td>\n<td class=\"dev-col\">\n<span class=\"dev-tag\">\ud50c\ub7ab\ud3fc \uc678\ubd80<\/span><\/p>\n<h3>EasyFIX API<\/h3>\n<p>\uc5b4\ub5a4 \uc5b8\uc5b4\ub85c \uc791\uc131\ub41c \uac83\uc774\ub4e0 \uc790\uccb4 \uc5d4\uc9c4\uc744 \uadf8\ub300\ub85c \uc720\uc9c0\ud558\uace0 SharpTrader\ub97c \uac8c\uc774\ud2b8\uc6e8\uc774\ub85c \uc0ac\uc6a9\ud558\uc138\uc694. SharpTrader\uac00 \ud638\uac00\ub97c \uc2a4\ud2b8\ub9ac\ubc0d\ud558\uace0, \ube0c\ub85c\ucee4 \ubc0f \uac70\ub798\uc18c \ucee4\ub125\ud130\ub97c \ud1b5\ud574 \uc8fc\ubb38\uc744 \ub77c\uc6b0\ud305\ud569\ub2c8\ub2e4.<\/p>\n<p><a href=\"#easyfix\">EasyFIX\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf4\uae30<\/a><\/p>\n<\/td>\n<td class=\"dev-col\">\n<span class=\"dev-tag\">\uc790\uccb4 \ud130\ubbf8\ub110 \ub0b4\ubd80<\/span><\/p>\n<h3>BjfChart \ucc28\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac<\/h3>\n<p>\ub2e8\uc77c DLL\ub85c .NET \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc804\ubb38\uc801\uc778 \uce94\ub4e4\uc2a4\ud2f1 \ucc28\ud2b8, \uc9c0\ud45c, \ub4dc\ub85c\uc789 \ub3c4\uad6c, \ud2b8\ub808\uc774\ub529 \ud328\ub110, \ud638\uac00\ucc3d\uc744 \uc2e4\uc2dc\uac04 \ud2f1 \ud53c\ub4dc\uc640 \ud568\uaed8 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<p><a href=\"#charting\">\ucc28\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac \uc0b4\ud3b4\ubcf4\uae30<\/a><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!-- ============================================================ --><br \/>\n<!-- BOT API                                                      --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"bot-api\">\ucf54\ub529 \ubaa8\ub4c8: C#\uc73c\ub85c \uc804\ub7b5 \uc791\uc131<\/h2>\n<p>\ucf54\ub529 \ubaa8\ub4c8\uc740 SharpTrader\ub97c \uc790\ub3d9\ub9e4\ub9e4 \uc804\ub7b5 \uac1c\ubc1c \ud658\uacbd\uc73c\ub85c \ubc14\uafd4 \uc90d\ub2c8\ub2e4. \ubd07\uc740 \ud50c\ub7ab\ud3fc\uc758 \uae30\ubcf8 <code>Bot<\/code> \ud074\ub798\uc2a4\ub97c \uc0c1\uc18d\ud558\ub294 C# \ud074\ub798\uc2a4\ub85c, \ucd08\uae30\ud654, \ubaa8\ub4e0 \uc218\uc2e0 \ud2f1, \ud3ec\uc9c0\uc158 \uc9c4\uc785, \ud3ec\uc9c0\uc158 \uccad\uc0b0, \uc8fc\ubb38 \uc0c1\ud0dc \uc5c5\ub370\uc774\ud2b8 \ub4f1\uc758 \uc774\ubca4\ud2b8\uc5d0 \ubc18\uc751\ud569\ub2c8\ub2e4. \ud50c\ub7ab\ud3fc\uc774 \uc774\ub97c \ucef4\ud30c\uc77c\ud558\uace0, \uc785\ub825\uac12\uc744 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \ud45c\uc2dc\ud558\uba70, \ub0b4\uc7a5\ub41c \uc544\ube44\ud2b8\ub9ac\uc9c0, \ub274\uc2a4, \uc784\ud384\uc2a4 \uc804\ub7b5\uacfc \ub098\ub780\ud788 \uc2e4\uacc4\uc88c \ub610\ub294 \ub370\ubaa8 \uacc4\uc88c\uc5d0\uc11c \uc2e4\ud589\ud569\ub2c8\ub2e4.<\/p>\n<h3>API\ub85c \ud560 \uc218 \uc788\ub294 \uac83<\/h3>\n<table class=\"dev-tbl\">\n<thead>\n<tr>\n<th>\uc601\uc5ed<\/th>\n<th>\uac00\ub2a5\ud55c \uc791\uc5c5<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\uc2dc\uc7a5 \ub370\uc774\ud130<\/td>\n<td><code>ticker<\/code> \uac1d\uccb4\ub97c \ud1b5\ud574 \uc2ec\ubcfc\ubcc4, \uc138\uc158\ubcc4 \ub9e4\uc218\ud638\uac00, \ub9e4\ub3c4\ud638\uac00, \uc2a4\ud504\ub808\ub4dc, \ud3ec\uc778\ud2b8 \uac12\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc138\uc158\uc740 \uc5f0\uacb0\ub41c \ube0c\ub85c\ucee4 \ub610\ub294 \uac70\ub798\uc18c \uacc4\uc88c \ud558\ub098\ub97c \uc758\ubbf8\ud558\ubbc0\ub85c, \ud558\ub098\uc758 \ubd07\uc774 \uc138\uc158 \uc778\ub371\uc2a4\ub97c \uc0ac\uc6a9\ud574 \uc5ec\ub7ec \uac70\ub798 \uc0c1\ub300\ubc29\uc744 \ub3d9\uc2dc\uc5d0 \ubaa8\ub2c8\ud130\ub9c1\ud558\uace0 \uac70\ub798\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td>\uc8fc\ubb38 \ubc0f \ud3ec\uc9c0\uc158<\/td>\n<td>\uc2dc\uc7a5\uac00 \uccb4\uacb0\uc6a9 <code>sendOrder<\/code>, \uc190\uc808 \ubc0f \uc774\uc775\uc2e4\ud604\uc6a9 <code>modifyPositionByID<\/code>, <code>closePositionByID<\/code>, ID \ub610\ub294 \ucf54\uba58\ud2b8 \uae30\uc900 \uc870\ud68c, \uadf8\ub9ac\uace0 \uc9c4\uc785, \uccad\uc0b0, \ub300\uae30 \uc8fc\ubb38\uc758 \uc2e4\uc2dc\uac04 \ubaa9\ub85d\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td>\ud3ec\uc9c0\uc158 \uc0c1\uc138 \uc815\ubcf4<\/td>\n<td>\uac01 \ud3ec\uc9c0\uc158\uc5d0\ub294 \uc9c4\uc785 \ubc0f \uccad\uc0b0 \uac00\uaca9\uacfc \uc2dc\uac04, \uac70\ub798\ub7c9, \ubc29\ud5a5, \uc138\uc158, \uc190\uc775, \ucf54\uba58\ud2b8, \uc190\uc808, \uc774\uc775\uc2e4\ud604, \uadf8\ub9ac\uace0 \uc591\ucabd \ub808\uadf8\uc758 \uce21\uc815\ub41c \uc2ac\ub9ac\ud53c\uc9c0\uc640 \uccb4\uacb0 \uc2dc\uac04\uc774 \ud3ec\ud568\ub429\ub2c8\ub2e4. \uc774 \ub9c8\uc9c0\ub9c9 \ud56d\ubaa9 \ub355\ubd84\uc5d0 \ubd07\uc740 \ube0c\ub85c\ucee4\uac00 \uc2e4\uc81c\ub85c \uc5b4\ub5bb\uac8c \uccb4\uacb0\ud558\ub294\uc9c0\uc5d0 \ub9de\ucdb0 \uc801\uc751\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td>\uc9c0\ud45c<\/td>\n<td>\ubaa8\ub4e0 \ud0c0\uc784\ud504\ub808\uc784\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 EMA, MACD \ub4f1 \ub0b4\uc7a5 \uc9c0\ud45c \ud568\uc218\ub97c \uc81c\uacf5\ud558\uba70, \ud50c\ub7ab\ud3fc \uc5c5\ub370\uc774\ud2b8\uc640 \ud568\uaed8 \uc9c0\uc18d\uc801\uc73c\ub85c \ud655\uc7a5\ub429\ub2c8\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td>\uc785\ub825\uac12 \ubc0f \ub85c\uae45<\/td>\n<td>\uacf5\uac1c \uc18d\uc131 \uc911 <code>[PropertyInfo]<\/code> \ud2b9\uc131\uc774 \uc9c0\uc815\ub41c \uc18d\uc131\uc740 \uc778\ud130\ud398\uc774\uc2a4\uc5d0\uc11c \ud3b8\uc9d1 \uac00\ub2a5\ud55c \uc785\ub825\uac12\uc73c\ub85c \ud45c\uc2dc\ub429\ub2c8\ub2e4. <code>writeLog<\/code>\ub294 \ud50c\ub7ab\ud3fc \ub85c\uadf8\uc5d0 \uae30\ub85d\ud558\uace0, <code>stopBot<\/code>\uc740 \ucf54\ub4dc\uc5d0\uc11c \uc804\ub7b5\uc744 \uc911\uc9c0\ud569\ub2c8\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td>\uacc4\uc88c \uc0c1\ud0dc<\/td>\n<td>\ub9ac\uc2a4\ud06c \uaddc\uce59\uacfc \ud3ec\uc9c0\uc158 \uc0ac\uc774\uc9d5\uc744 \uc704\ud55c \uc138\uc158\ubcc4 \uc794\uace0\uc640 \uc5d0\ud034\ud2f0\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>\ucd5c\uc18c \uc804\ub7b5 \uace8\uaca9<\/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>\uccab \uc904\uc744 \uc791\uc131\ud558\uae30 \uc804\uc5d0 \uc54c\uc544 \ub450\uba74 \uc88b\uc740 \uc810.<\/strong> \uc0cc\ub4dc\ubc15\uc2a4\ub294 \uace0\uc815\ub41c \uc5b4\uc148\ube14\ub9ac \uc138\ud2b8(System, System.Collections, System.Runtime, System.Console, SharpTrader \ubd07 \ub77c\uc774\ube0c\ub7ec\ub9ac)\ub97c \ub300\uc0c1\uc73c\ub85c \ucef4\ud30c\uc77c\ud569\ub2c8\ub2e4. LINQ\ub294 \ud3ec\ud568\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc73c\ubbc0\ub85c <code>Where<\/code>, <code>Select<\/code>, <code>Any<\/code> \ub300\uc2e0 \uc77c\ubc18 <code>foreach<\/code> \ub8e8\ud504\ub97c \uc0ac\uc6a9\ud558\uc138\uc694. API\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \uac00\uaca9\uc740 \ube0c\ub85c\ucee4 \ud3ec\uc778\ud2b8 \ub2e8\uc704\uc774\ubbc0\ub85c, \uc790\uccb4 \uc784\uacc4\uac12\uacfc \ube44\uad50\ud558\uae30 \uc804\uc5d0 \ud3ec\uc778\ud2b8 \uac12\uc744 \uacf1\ud558\uc138\uc694. \ub610\ud55c \uc911\ubcf5 \uccb4\uacb0\uc744 \ub514\ubc84\uae45\ud558\uace0 \uc2f6\uc9c0 \uc54a\ub2e4\uba74, \ubc18\ud658\ub41c \ud074\ub77c\uc774\uc5b8\ud2b8 \uc8fc\ubb38 ID\ub85c \ud655\uc778\ud558\uc5ec \ud2f1\ub2f9 \ud558\ub098\uc758 \uc8fc\ubb38\ub9cc \ucc98\ub9ac \uc911\uc774\ub3c4\ub85d \uc720\uc9c0\ud558\uc138\uc694.<\/div>\n<p>\uc804\uccb4 \ud074\ub798\uc2a4, \uba54\uc11c\ub4dc, \uc774\ubca4\ud2b8 \ub808\ud37c\ub7f0\uc2a4: <a href=\"https:\/\/sharptrader.arbitragesoftware.net\/bot\/\">SharpTrader \ucf54\ub529 \ub77c\uc774\ube0c\ub7ec\ub9ac \ubb38\uc11c<\/a>. \ucf54\ub529 \ubaa8\ub4c8\uc740 SharpTrader Pro\uc758 \uc560\ub4dc\uc628\uc785\ub2c8\ub2e4. \ud604\uc7ac \ubc88\ub4e4 \uad6c\uc131\uc740 <a href=\"https:\/\/bjftradinggroup.com\/product\/sharptrader-forex-crypto-arbitrage\/\">SharpTrader Pro \ud398\uc774\uc9c0<\/a>\uc5d0\uc11c \ud655\uc778\ud558\uc138\uc694.<\/p>\n<p><!-- ============================================================ --><br \/>\n<!-- EASYFIX                                                      --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"easyfix\">EasyFIX API: \uc790\uccb4 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c SharpTrader\uc5d0 \uc5f0\uacb0<\/h2>\n<p>\ubaa8\ub4e0 \uac83\uc774 \ud50c\ub7ab\ud3fc \uc548\uc5d0 \uc788\uc5b4\uc57c \ud558\ub294 \uac83\uc740 \uc544\ub2d9\ub2c8\ub2e4. \uc774\ubbf8 \uc2dc\uadf8\ub110 \uc5d4\uc9c4, \ub9ac\uc2a4\ud06c \ub9e4\ub2c8\uc800, \ub9de\ucda4\ud615 \ud504\ub7f0\ud2b8\uc5d4\ub4dc \ub610\ub294 \ub9ac\uc11c\uce58 \ud30c\uc774\ud504\ub77c\uc778\uc744 \uc6b4\uc601 \uc911\uc774\ub77c\uba74, EasyFIX\ub97c \ud1b5\ud574 \uac04\uc18c\ud654\ub41c FIX \ud504\ub85c\ud1a0\ucf5c\ub85c SharpTrader\uc640 \ud1b5\uc2e0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. SharpTrader\uac00 \uc2e4\ud589 \uac8c\uc774\ud2b8\uc6e8\uc774\uac00 \ub418\uc5b4 \ube0c\ub85c\ucee4 \ubc0f \uac70\ub798\uc18c\uc640\uc758 \uc5f0\uacb0\uc744 \uc720\uc9c0\ud558\uace0, \uc0ac\uc6a9\uc790\ub294 \uc6d0\ud558\ub294 \uc5b4\ub5a4 \uc5b8\uc5b4\ub85c\ub4e0 \uc790\uccb4 \ucf54\ub4dc\uc5d0\uc11c \uc8fc\ubb38\uc744 \ubcf4\ub0b4\uace0 \ud638\uac00\uc640 \uccb4\uacb0 \uc815\ubcf4\ub97c \ubc1b\uc2b5\ub2c8\ub2e4.<\/p>\n<table class=\"dev-twocol\">\n<tbody>\n<tr>\n<td class=\"dev-col\">\n<h3>EasyFIX\uac00 \uc804\ub2ec\ud558\ub294 \uc815\ubcf4<\/h3>\n<ul>\n<li>\uc2dc\uc7a5 \ub370\uc774\ud130: SharpTrader\uc5d0 \uc5f4\ub824 \uc788\ub294 \ubaa8\ub4e0 \uc138\uc158\uc5d0\uc11c \uad6c\ub3c5\ud55c \uc2ec\ubcfc\uc758 \ud638\uac00.<\/li>\n<li>\uc8fc\ubb38 \ud750\ub984: \uc120\ud0dd\ud55c \uc138\uc158\uc73c\ub85c \ub77c\uc6b0\ud305\ub418\ub294 \uc2e0\uaddc \uc8fc\ubb38, \uc218\uc815, \uccad\uc0b0.<\/li>\n<li>\uccb4\uacb0 \ubcf4\uace0: \uccb4\uacb0, \uac70\ubd80, \ud3ec\uc9c0\uc158 \ubc0f \uc8fc\ubb38 \uc0c1\ud0dc\uac00 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc73c\ub85c \uc804\ub2ec\ub429\ub2c8\ub2e4.<\/li>\n<li>SharpTrader\uac00 \uc790\uccb4 \uc804\ub7b5\uc5d0 \uc0ac\uc6a9\ud558\ub294 \uac83\uacfc \ub3d9\uc77c\ud55c 50\uac1c \uc774\uc0c1\uc758 FIX API \ube0c\ub85c\ucee4 \ucee4\ub125\ud130 \ubc0f \uc8fc\uc694 \uc554\ud638\ud654\ud3d0 \uac70\ub798\uc18c \uc5f0\uacb0\uc5d0 \uc811\uadfc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/td>\n<td class=\"dev-col\">\n<h3>\ub300\ud45c\uc801\uc778 \ud1b5\ud569 \uc0ac\ub840<\/h3>\n<ul>\n<li>Python, Java, C++ \ub610\ub294 \uc18c\ucf13\uacfc FIX \uba54\uc2dc\uc9c0 \ube4c\ub354\ub97c \uac16\ucd98 \ubaa8\ub4e0 \uc5b8\uc5b4\ub85c \uc791\uc131\ub41c \uc678\ubd80 \uc804\ub7b5.<\/li>\n<li>\uc5ec\ub7ec SharpTrader \uc778\uc2a4\ud134\uc2a4\ub97c \uac10\ub3c5\ud558\ub294 \uc804\uc0ac\uc801 \ub9ac\uc2a4\ud06c \ub808\uc774\uc5b4.<\/li>\n<li>SharpTrader \uc2e4\ud589 \uc704\uc5d0 \uad6c\ucd95\ud55c \ub9de\ucda4\ud615 \ud2b8\ub808\uc774\ub529 GUI \ub610\ub294 \ub300\uc2dc\ubcf4\ub4dc.<\/li>\n<li>\ub9ac\uc11c\uce58, \ubc31\ud14c\uc2a4\ud305, \ube0c\ub85c\ucee4 \uccb4\uacb0 \uac10\uc0ac\ub97c \uc704\ud55c \ud638\uac00 \ubc0f \uccb4\uacb0 \uae30\ub85d.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>EasyFIX\ub294 \uc218\uc815\ub41c FIX \ubc29\uc5b8\uc785\ub2c8\ub2e4. \uac1c\ubc1c\uc790\uc5d0\uac8c \uc775\uc219\ud55c \uba54\uc2dc\uc9c0 \ubaa8\ub378\uc740 \uc720\uc9c0\ud558\uba74\uc11c, \ub9ac\ud14c\uc77c-\uac8c\uc774\ud2b8\uc6e8\uc774 \uc5f0\uacb0\uc5d0 \ud544\uc694 \uc5c6\ub294 \ubc88\uac70\ub85c\uc6b4 \uc808\ucc28\ub294 \uc0dd\ub7b5\ud588\uc2b5\ub2c8\ub2e4. \uc0ac\uc591\uc11c, \uc0d8\ud50c \uc138\uc158, \ud14c\uc2a4\ud2b8 \uc5f0\uacb0\uc740 \uc694\uccad \uc2dc SharpTrader Pro \ubc0f Lite \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc81c\uacf5\ub429\ub2c8\ub2e4. \uc5f0\uacb0\ud558\ub824\ub294 \ub300\uc0c1\uc5d0 \ub300\ud55c \uac04\ub2e8\ud55c \uc124\uba85\uacfc \ud568\uaed8 <a href=\"mailto:support@bjftradinggroup.com\">support@bjftradinggroup.com<\/a>\uc73c\ub85c \ubb38\uc758\ud558\uc138\uc694.<\/p>\n<p><!-- ============================================================ --><br \/>\n<!-- CHARTING LIBRARY                                             --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"charting\">BjfChart: \uc0c8\ub85c\uc6b4 SharpTrader \ucc28\ud2b8\ub97c \uad6c\ub3d9\ud558\ub294 \ucc28\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac<\/h2>\n<p>2026\ub144\uc5d0 \ub2f9\uc0ac\ub294 SharpTrader\uc758 \ucc28\ud2b8 \uae30\ub2a5\uc744 \ucc98\uc74c\ubd80\ud130 \ub2e4\uc2dc \uad6c\ucd95\ud588\uc73c\uba70, \uadf8 \uc5d4\uc9c4\uc744 \uac1c\ubc1c\uc790\uc6a9 \ub3c5\ub9bd \ub77c\uc774\ube0c\ub7ec\ub9ac\ub85c \uc81c\uacf5\ud569\ub2c8\ub2e4. BjfChart\ub294 SkiaSharp \uae30\ubc18\uc758 WinForms\uc6a9 GPU \uac00\uc18d \uce94\ub4e4\uc2a4\ud2f1 \ucc28\ud2b8 \ucee8\ud2b8\ub864\uc785\ub2c8\ub2e4. \uc218\ub9cc \uac1c\uc758 \ubc14\ub97c \ucd08\ub2f9 60\ud504\ub808\uc784\uc73c\ub85c \ub80c\ub354\ub9c1\ud558\uba70, <code>net48<\/code>\uacfc <code>net8.0-windows<\/code>\ub97c \ubaa8\ub450 \ub300\uc0c1\uc73c\ub85c \ud558\ub294 \ub2e8\uc77c <code>BjfChart.dll<\/code>\ub85c \uc81c\uacf5\ub418\ubbc0\ub85c \ub808\uac70\uc2dc .NET Framework \ud130\ubbf8\ub110\uacfc \uc2e0\uaddc .NET 8 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ubaa8\ub450\uc5d0 \ubc14\ub85c \uc801\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<div class=\"dev-video\">\n<p class=\"dev-video-title\">\uc601\uc0c1: SharpTrader Charting, \uc0c8 \ucc28\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc640 \uc218\ub3d9 \uac70\ub798 \uc0ac\uc6a9\ubc95<\/p>\n<div class=\"dev-video-embed\">\n<iframe src=\"https:\/\/www.youtube-nocookie.com\/embed\/QBjWnSRnrxs\" title=\"SharpTrader Charting: \uc0c8 \ucc28\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc640 \uc218\ub3d9 \uac70\ub798 \uc0ac\uc6a9\ubc95\" 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\">8\uac1c\uc758 \ud0c0\uc784\ud504\ub808\uc784, \uc9c0\ud45c, \ud53c\ubcf4\ub098\uce58 \ubc0f \ucd94\uc138 \ub3c4\uad6c, \ub4dc\ub798\uadf8 \uac00\ub2a5\ud55c \uc190\uc808 \ubc0f \uc774\uc775\uc2e4\ud604 \ub77c\uc778\uc774 \uc788\ub294 \uc8fc\ubb38 \ud2f0\ucf13, \uba40\ud2f0 \ube0c\ub85c\ucee4 \ucc28\ud2b8\ub97c SharpTrader \uc548\uc5d0\uc11c \uc2e4\uc2dc\uac04\uc73c\ub85c \ubcf4\uc5ec\ub4dc\ub9bd\ub2c8\ub2e4. <a href=\"https:\/\/youtu.be\/QBjWnSRnrxs\">YouTube\uc5d0\uc11c \ubcf4\uae30<\/a><\/p>\n<\/div>\n<h3>\ub77c\uc774\ube0c\ub7ec\ub9ac \uad6c\uc131 \uc694\uc18c<\/h3>\n<table class=\"dev-twocol\">\n<tbody>\n<tr>\n<td class=\"dev-col\">\n<h3>\ucc28\ud2b8 \uc5d4\uc9c4<\/h3>\n<ul>\n<li>\uac70\ub798\ub7c9 \ud558\uc704 \ud328\ub110, \uc2ed\uc790\uc120, \uc2e4\uc2dc\uac04 \uac00\uaca9 \ud0dc\uadf8, \ud50c\ub85c\ud305 OHLC \ubc94\ub840\ub97c \uac16\ucd98 \uce94\ub4e4\uc2a4\ud2f1 \ub80c\ub354\ub9c1.<\/li>\n<li>\ucee4\uc11c \uc544\ub798\uc758 \ubc14\ub97c \uace0\uc815\ud55c \ucc44 \ub9c8\uc6b0\uc2a4 \ud720\ub85c \ud655\ub300\/\ucd95\uc18c, \ud074\ub9ad \ud6c4 \ub4dc\ub798\uadf8\ub85c \uc774\ub3d9.<\/li>\n<li>\uc2e4\uc2dc\uac04 \ud53c\ub4dc: <code>PushTick<\/code>\uc740 \ud2f1\uc744 \ub9c8\uc9c0\ub9c9 \ubc14\uc5d0 \ubc18\uc601\ud558\uace0, <code>FeedTick<\/code>\uc740 \ud2f1\uc744 \uc6d0\ud558\ub294 \uac04\uaca9\uc758 \uce94\ub4e4\ub85c \uc790\ub3d9 \ubd84\ub958\ud569\ub2c8\ub2e4.<\/li>\n<li>\ube44\uad50\ub97c \uc704\ud55c \uba40\ud2f0 \uc2ec\ubcfc \uc624\ubc84\ub808\uc774, \ub3c5\ub9bd \ub610\ub294 \uacf5\uc720 \uc2a4\ucf00\uc77c \uc9c0\uc6d0.<\/li>\n<li>JSON\uc73c\ub85c \ub808\uc774\uc544\uc6c3 \uc800\uc7a5: \uc9c0\ud45c, \ub4dc\ub85c\uc789, \uc624\ubc84\ub808\uc774, \ubdf0\ud3ec\ud2b8\ub97c \uc800\uc7a5\ud558\uace0 \ubcf5\uc6d0\ud569\ub2c8\ub2e4.<\/li>\n<li>\ub2e4\ud06c(BJF \ub124\uc774\ube44 \ubc0f \uace8\ub4dc) \ud14c\ub9c8\uc640 \ub77c\uc774\ud2b8 \ud14c\ub9c8\ub97c \uc2e4\ud589 \uc911\uc5d0 \uc804\ud658\ud560 \uc218 \uc788\uc73c\uba70, \ubaa8\ub4e0 \uc0c9\uc0c1\uc744 \ud3b8\uc9d1\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li>\ub85c\uace0 \ud30c\uc77c, URL \ub610\ub294 \ud14d\uc2a4\ud2b8\ub85c \uce94\ub4e4 \ub4a4\uc5d0 \uc6cc\ud130\ub9c8\ud06c \ud45c\uc2dc.<\/li>\n<\/ul>\n<\/td>\n<td class=\"dev-col\">\n<h3>\ud2b8\ub808\uc774\ub529 \ub808\uc774\uc5b4<\/h3>\n<ul>\n<li><code>TradingPanel<\/code>: \uc2e4\uc2dc\uac04 \ud3ec\uc9c0\uc158 \ubc0f \uc190\uc775 \ud45c\uc2dc\uac00 \uc788\ub294 \uc8fc\ubb38 \ud2f0\ucf13(\uc2dc\uc7a5\uac00, \uc9c0\uc815\uac00 \ub610\ub294 \uc2a4\ud1b1 \ub9e4\uc218\/\ub9e4\ub3c4, \uc218\ub7c9, \uac00\uaca9, \uc190\uc808, \uc774\uc775\uc2e4\ud604).<\/li>\n<li>\uc9c4\uc785, \uc190\uc808, \uc774\uc775\uc2e4\ud604, \ub300\uae30 \uc8fc\ubb38 \ub77c\uc778\uc774 \ucc28\ud2b8\uc5d0 \uc790\ub3d9\uc73c\ub85c \ud45c\uc2dc\ub418\uba70, \uc190\uc808 \ubc0f \uc774\uc775\uc2e4\ud604 \ub77c\uc778\uc740 \ub4dc\ub798\uadf8\ud560 \uc218 \uc788\uace0 \ub193\uc744 \ub54c \uc774\ubca4\ud2b8\uac00 \ubc1c\uc0dd\ud569\ub2c8\ub2e4.<\/li>\n<li>\ud328\ub110 \uc790\uccb4\ub294 \uc544\ubb34\uac83\ub3c4 \uc2e4\ud589\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. FIX API \uc138\uc158\uc774\ub4e0, \ube0c\ub85c\ucee4 \ube0c\ub9ac\uc9c0\ub4e0, EasyFIX\ub97c \ud1b5\ud55c SharpTrader\ub4e0 \uc0ac\uc6a9\uc790\uc758 \uc2e4\ud589 \ub808\uc774\uc5b4\ub85c \uc774\ubca4\ud2b8\ub97c \uc804\ub2ec\ud569\ub2c8\ub2e4.<\/li>\n<li><code>OrderBookPanel<\/code>: \ub808\ubca8\ubcc4 \uc218\ub7c9\uacfc \ube44\ub840 \uae4a\uc774 \ubc14\ub97c \ud45c\uc2dc\ud558\ub294 \ud638\uac00\ucc3d(DOM) \ub798\ub354\uc774\uba70, \ub808\ubca8\uc744 \ud074\ub9ad\ud558\uba74 \uc9c0\uc815\uac00\uac00 \ubbf8\ub9ac \uc785\ub825\ub429\ub2c8\ub2e4.<\/li>\n<li>\ube0c\ub85c\ucee4 \uc8fc\ubb38\uc744 \uc704\ud55c ID \uae30\ubc18 \uc784\uc758 \uac00\uaca9 \ub77c\uc778, \uc120\ud0dd\uc801 \ub4dc\ub798\uadf8 \uc9c0\uc6d0.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>\uc9c0\ud45c \ubc0f \ub4dc\ub85c\uc789 \ub3c4\uad6c<\/h3>\n<table class=\"dev-tbl\">\n<thead>\n<tr>\n<th>\uadf8\ub8f9<\/th>\n<th>\ud3ec\ud568 \ud56d\ubaa9<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\uc624\ubc84\ub808\uc774 \uc9c0\ud45c<\/td>\n<td>SMA, EMA, WMA, VWAP, Bollinger Bands, Keltner Channels, Donchian Channels, Envelope, Parabolic SAR.<\/td>\n<\/tr>\n<tr>\n<td>\ud558\uc704 \ud328\ub110 \uc9c0\ud45c<\/td>\n<td>RSI, \ud788\uc2a4\ud1a0\uadf8\ub7a8 \ud3ec\ud568 MACD, 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>\uc815\ud655\ub3c4<\/td>\n<td>\uc9c0\ud45c \uacc4\uc0b0\uc740 \ub3c5\ub9bd\uc801\uc778 \ub808\ud37c\ub7f0\uc2a4 \uad6c\ud604\uacfc \uad50\ucc28 \uac80\uc99d\ub418\uc5c8\uc2b5\ub2c8\ub2e4. SMA, EMA, Bollinger, RSI, ATR, Stochastic, CCI\ub294 1e-9\uae4c\uc9c0 \uc77c\uce58\ud558\uba70, MACD, ADX, DI, Williams %R, MFI, OBV\ub294 \uc815\ud655\uc131\uacfc \ubc94\uc704\uac00 \uac80\uc99d\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td>\ub4dc\ub85c\uc789 \ub3c4\uad6c<\/td>\n<td>\ucd94\uc138\uc120, \ub808\uc774, \ud655\uc7a5\uc120, \uc218\ud3c9\uc120 \ubc0f \uc218\ud3c9 \ub808\uc774, \uc218\uc9c1\uc120, \ud654\uc0b4\ud45c, \ud3c9\ud589 \ucc44\ub110, \uc0ac\uac01\ud615, \ud0c0\uc6d0, \ud53c\ubcf4\ub098\uce58 \ub418\ub3cc\ub9bc, \ud53c\ubcf4\ub098\uce58 \ud655\uc7a5, \uadf8\ub9ac\uace0 \uac00\uaca9 \ucc28\uc774, \ubcc0\ub3d9\ub960, \ubc14 \uac1c\uc218\ub97c \ud45c\uc2dc\ud558\ub294 \uce21\uc815 \ub3c4\uad6c. \ubaa8\ub450 \ub370\uc774\ud130 \uacf5\uac04\uc5d0 \uace0\uc815\ub418\ubbc0\ub85c \ud655\ub300\/\ucd95\uc18c\uc640 \uc774\ub3d9 \uc2dc\uc5d0\ub3c4 \uc81c\uc790\ub9ac\uc5d0 \uc720\uc9c0\ub429\ub2c8\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td>\ud655\uc7a5\uc131<\/td>\n<td><code>IIndicator<\/code>\ub97c \uad6c\ud604\ud558\uac70\ub098 <code>IndicatorBase<\/code>\ub97c \uc0c1\uc18d\ud558\uace0, \uce94\ub4e4 \ubaa9\ub85d\uc5d0 \ub9de\ucdb0 \uc815\ub82c\ub41c \ud558\ub098 \uc774\uc0c1\uc758 \uc2dc\ub9ac\uc988\ub97c \ubc18\ud658\ud558\uba70, \uc624\ubc84\ub808\uc774 \ub610\ub294 \ud558\uc704 \ud328\ub110, \uc120, \ud788\uc2a4\ud1a0\uadf8\ub7a8 \ub610\ub294 \uc810 \uc911\uc5d0\uc11c \uc120\ud0dd\ud55c \ub4a4 \ub4f1\ub85d\ud558\uba74 \uc6b0\ud074\ub9ad \uba54\ub274\uc640 \uc800\uc7a5\ub41c \ub808\uc774\uc544\uc6c3\uc5d0 \ud45c\uc2dc\ub429\ub2c8\ub2e4.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>10\uc904\ub85c \uc644\uc131\ud558\ub294 \ucc28\ud2b8<\/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>\ucf54\ub4dc\uc758 \ubaa8\ub4e0 \uae30\ub2a5\uc740 \ucc28\ud2b8\uc758 \uc6b0\ud074\ub9ad \uba54\ub274\uc5d0\uc11c\ub3c4 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4: \uc9c0\ud45c \ucd94\uac00 \ub610\ub294 \uc81c\uac70, \ub4dc\ub85c\uc789 \ub3c4\uad6c \uc120\ud0dd, \uc624\ubc84\ub808\uc774 \uad00\ub9ac, \ud14c\ub9c8 \uc804\ud658, \ub808\uc774\uc544\uc6c3 \uc800\uc7a5 \ub610\ub294 \ubd88\ub7ec\uc624\uae30. \ub77c\uc774\ube0c\ub7ec\ub9ac \ube4c\ub4dc\uc5d0\ub294 Windows\uc640 .NET SDK 8.0 \uc774\uc0c1\uc774 \ud544\uc694\ud558\uba70, NuGet\uc774 SkiaSharp\ub97c \uc790\ub3d9\uc73c\ub85c \ubcf5\uc6d0\ud569\ub2c8\ub2e4. \uc2dc\ubbac\ub808\uc774\uc158\ub41c \uc2e4\uc2dc\uac04 \ud2f1\uc73c\ub85c \uc2e4\ud589\ub418\ub294 \ub370\ubaa8 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<div class=\"dev-note\"><strong>\uadc0\uc0ac \uc81c\ud488\uc5d0\uc11c BjfChart \uc0ac\uc6a9\ud558\uae30.<\/strong> \uc774 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 SharpTrader \uac1c\ubc1c\uc790, \ud654\uc774\ud2b8 \ub77c\ubca8 \ud30c\ud2b8\ub108, \uc11c\ub4dc\ud30c\ud2f0 \ud130\ubbf8\ub110 \ubca4\ub354\uc5d0\uac8c \ub77c\uc774\uc120\uc2a4\uac00 \uc81c\uacf5\ub429\ub2c8\ub2e4. \uc0ac\uc6a9 \uad00\ub828 \uc9c8\ubb38, \ub77c\uc774\uc120\uc2a4 \uc870\uac74, \ub370\ubaa8 \ube4c\ub4dc \ub610\ub294 \ub370\uc774\ud130 \ud53c\ub4dc \ud1b5\ud569 \uc9c0\uc6d0\uc774 \ud544\uc694\ud558\uc2dc\uba74 \uc544\ub798 \uc5f0\ub77d\ucc98\ub85c \uc9c1\uc811 \ubb38\uc758\ud558\uc138\uc694. \uc0ac\uc6a9 \uc911\uc778 .NET \ud0c0\uae43\uacfc \ub370\uc774\ud130 \uc18c\uc2a4 \ud615\ud0dc\ub97c \uc54c\ub824 \uc8fc\uc2dc\uba74 \uc601\uc5c5\uc77c \uae30\uc900 1\uc77c \uc774\ub0b4\uc5d0 \ub2f5\ubcc0\ub4dc\ub9bd\ub2c8\ub2e4.<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- CONTACT                                                      --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"contact\">\uac1c\ubc1c\uc790 \uc5f0\ub77d\ucc98<\/h2>\n<p>\ubaa8\ub4e0 \uac1c\ubc1c\uc790 \ubb38\uc758\ub294 \ud50c\ub7ab\ud3fc\uc744 \uac1c\ubc1c\ud558\ub294 \ud300\uc774 \uc9c1\uc811 \ub2f5\ubcc0\ud569\ub2c8\ub2e4. \ubd07 API \ubc0f EasyFIX \uad00\ub828 \ubb38\uc758 \uc2dc\uc5d0\ub294 SharpTrader \ubc84\uc804\uacfc \uacc4\uc815 \uc720\ud615\uc744, BjfChart \uad00\ub828 \ubb38\uc758 \uc2dc\uc5d0\ub294 .NET \ud0c0\uae43\uacfc \ub370\uc774\ud130 \ud53c\ub4dc\ub97c \ud568\uaed8 \uc54c\ub824 \uc8fc\uc138\uc694.<\/p>\n<table class=\"dev-contact\">\n<tbody>\n<tr>\n<td><span class=\"k\">\uc774\uba54\uc77c<\/span><span class=\"v\"><a href=\"mailto:support@bjftradinggroup.com\">support@bjftradinggroup.com<\/a><\/span><span class=\"s\">\ucf54\ub4dc \uc0d8\ud50c, \uc0ac\uc591\uc11c, \ub77c\uc774\uc120\uc2a4 \ubb38\uc758\uc5d0 \uc801\ud569<\/span><\/td>\n<td><span class=\"k\">\uc804\ud654<\/span><span class=\"v\"><a href=\"tel:+19055995507\">+1 (905) 599-5507<\/a><\/span><span class=\"s\">\uc6d4\uc694\uc77c~\uae08\uc694\uc77c, \ub3d9\ubd80 \uc2dc\uac04(\ud1a0\ub860\ud1a0) 9:00~18:00<\/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\">\uac04\ub2e8\ud55c \uc9c8\ubb38 \ubc0f \ud6c4\uc18d \ubb38\uc758<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>BJF Trading Group Inc., 3397 Mistwell Crescent, Oakville, ON, L6L 0A2, Canada. \uc77c\ubc18 \ubb38\uc758: <a href=\"https:\/\/bjftradinggroup.com\/contacts\/\">\ubb38\uc758 \ud398\uc774\uc9c0<\/a>.<\/p>\n<p><!-- ============================================================ --><br \/>\n<!-- FAQ                                                          --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"faq\">\uc790\uc8fc \ubb3b\ub294 \uc9c8\ubb38<\/h2>\n<div class=\"dev-faq\">\n<details>\n<summary>SharpTrader \ubd07\uc740 \uc5b4\ub5a4 \uc5b8\uc5b4\ub97c \uc0ac\uc6a9\ud558\ub098\uc694?<\/summary>\n<div class=\"a\">C#\uc785\ub2c8\ub2e4. \ubd07\uc740 \ud50c\ub7ab\ud3fc\uc758 \uae30\ubcf8 Bot \ud074\ub798\uc2a4\ub97c \uc0c1\uc18d\ud558\uace0 \ucd08\uae30\ud654, \ud2f1, \ud3ec\uc9c0\uc158 \ubcc0\uacbd, \uc8fc\ubb38 \uc0c1\ud0dc \uc5c5\ub370\uc774\ud2b8\uc5d0 \ub300\ud55c \uc774\ubca4\ud2b8 \ud578\ub4e4\ub7ec\ub97c \uad6c\ud604\ud558\ub294 \ud074\ub798\uc2a4\uc785\ub2c8\ub2e4. SharpTrader \uc548\uc5d0\uc11c \ucef4\ud30c\uc77c\ub418\uba70 \ub0b4\uc7a5 \uc804\ub7b5\uacfc \ud568\uaed8 \uc2e4\ud589\ub429\ub2c8\ub2e4.<\/div>\n<\/details>\n<details>\n<summary>\ud558\ub098\uc758 \ubd07\uc73c\ub85c \uc5ec\ub7ec \ube0c\ub85c\ucee4\ub098 \uac70\ub798\uc18c\uc5d0\uc11c \ub3d9\uc2dc\uc5d0 \uac70\ub798\ud560 \uc218 \uc788\ub098\uc694?<\/summary>\n<div class=\"a\">\ub124. \ubaa8\ub4e0 \uc2dc\uc7a5 \ub370\uc774\ud130 \ubc0f \uc8fc\ubb38 \ud638\ucd9c\uc740 \uc138\uc158 \uc778\ub371\uc2a4\ub97c \ubc1b\uc73c\uba70, \uc138\uc158\uc740 \uc5f0\uacb0\ub41c \ube0c\ub85c\ucee4 \ub610\ub294 \uac70\ub798\uc18c \uacc4\uc88c \ud558\ub098\ub97c \uc758\ubbf8\ud569\ub2c8\ub2e4. \ubd07\uc740 \ud55c \uc138\uc158\uc5d0\uc11c \ud638\uac00\ub97c \uc77d\uace0 \ub2e4\ub978 \uc138\uc158\uc73c\ub85c \uc8fc\ubb38\uc744 \ubcf4\ub0bc \uc218 \uc788\uc73c\uba70, \uc774\uac83\uc774 \uba40\ud2f0 \ube0c\ub85c\ucee4 \ubc0f \ud06c\ub85c\uc2a4 \uac70\ub798\uc18c \ub85c\uc9c1\uc744 \uc791\uc131\ud558\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4.<\/div>\n<\/details>\n<details>\n<summary>EasyFIX API\ub294 \ubb34\uc5c7\uc774\uba70 \ub204\uad6c\ub97c \uc704\ud55c \uac83\uc778\uac00\uc694?<\/summary>\n<div class=\"a\">EasyFIX\ub294 \uc678\ubd80 \uc18c\ud504\ud2b8\uc6e8\uc5b4\uac00 SharpTrader\ub97c \uc2e4\ud589 \uac8c\uc774\ud2b8\uc6e8\uc774\ub85c \uc5f0\uacb0\ud560 \uc218 \uc788\uac8c \ud574 \uc8fc\ub294 \uac04\uc18c\ud654\ub41c FIX \ud504\ub85c\ud1a0\ucf5c\uc785\ub2c8\ub2e4. \ud50c\ub7ab\ud3fc \uc678\ubd80\uc5d0\uc11c \uc790\uccb4 \uc5d4\uc9c4\uc744 \uc6b4\uc601\ud558\uba74\uc11c SharpTrader\uc758 \ube0c\ub85c\ucee4 \ubc0f \uac70\ub798\uc18c \ucee4\ub125\ud130\ub97c \ud1b5\ud574 \ud638\uac00\ub97c \ubc1b\uace0 \uc8fc\ubb38\uc744 \ubcf4\ub0b4\ub824\ub294 \uac1c\ubc1c\uc790\ub97c \uc704\ud55c \uac83\uc785\ub2c8\ub2e4. \uc0ac\uc591\uc11c\uc640 \ud14c\uc2a4\ud2b8 \uc5f0\uacb0\uc740 \uc694\uccad \uc2dc \uc81c\uacf5\ub429\ub2c8\ub2e4.<\/div>\n<\/details>\n<details>\n<summary>BjfChart\ub97c SharpTrader\uc640 \ubcc4\ub3c4\ub85c \uc774\uc6a9\ud560 \uc218 \uc788\ub098\uc694?<\/summary>\n<div class=\"a\">\ub124. BjfChart\ub294 SkiaSharp \uae30\ubc18\uc758 \ub3c5\ub9bd\ud615 .NET \ub77c\uc774\ube0c\ub7ec\ub9ac\ub85c, net48\uacfc net8.0-windows\ub97c \ub300\uc0c1\uc73c\ub85c \ud558\ub294 \ub2e8\uc77c DLL\uc785\ub2c8\ub2e4. SharpTrader \uac1c\ubc1c\uc790, \ud654\uc774\ud2b8 \ub77c\ubca8 \ud30c\ud2b8\ub108, \ud130\ubbf8\ub110 \ubca4\ub354\uc5d0\uac8c \ub77c\uc774\uc120\uc2a4\uac00 \uc81c\uacf5\ub429\ub2c8\ub2e4. \ub77c\uc774\uc120\uc2a4 \uc870\uac74\uacfc \ub370\ubaa8 \ube4c\ub4dc\ub294 support@bjftradinggroup.com\uc73c\ub85c \ubb38\uc758\ud558\uc138\uc694.<\/div>\n<\/details>\n<details>\n<summary>BjfChart \ud2b8\ub808\uc774\ub529 \ud328\ub110\uc774 \uc8fc\ubb38\uc744 \uc2e4\ud589\ud558\ub098\uc694?<\/summary>\n<div class=\"a\">\uc544\ub2c8\uc694. \ud328\ub110\uc740 \uc774\ubca4\ud2b8(\uc8fc\ubb38 \uc81c\ucd9c, \ud3ec\uc9c0\uc158 \uccad\uc0b0 \uc694\uccad, \uc190\uc808 \ub610\ub294 \uc774\uc775\uc2e4\ud604 \ub4dc\ub798\uadf8 \ud6c4 \ud3ec\uc9c0\uc158 \uc218\uc815)\ub97c \ubc1c\uc0dd\uc2dc\ud0a4\uace0, \ud638\uc2a4\ud2b8 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc774\ub97c FIX API \uc138\uc158, \ube0c\ub85c\ucee4 \ube0c\ub9ac\uc9c0 \ub610\ub294 EasyFIX\ub97c \ud1b5\ud55c SharpTrader \ub4f1 \uc790\uccb4 \uc2e4\ud589 \ub808\uc774\uc5b4\ub85c \ub77c\uc6b0\ud305\ud569\ub2c8\ub2e4.<\/div>\n<\/details>\n<details>\n<summary>BjfChart\uc5d0 \uc790\uccb4 \uc9c0\ud45c\ub97c \ucd94\uac00\ud560 \uc218 \uc788\ub098\uc694?<\/summary>\n<div class=\"a\">\ub124. IIndicator \uc778\ud130\ud398\uc774\uc2a4\ub97c \uad6c\ud604\ud558\uac70\ub098 IndicatorBase\ub97c \uc0c1\uc18d\ud558\uace0, \uce94\ub4e4 \ubaa9\ub85d\uc5d0 \ub9de\ucdb0 \uc815\ub82c\ub41c \ud558\ub098 \uc774\uc0c1\uc758 \uc2dc\ub9ac\uc988\ub97c \ubc18\ud658\ud558\uba70, \uc624\ubc84\ub808\uc774 \ub610\ub294 \ud558\uc704 \ud328\ub110 \ub80c\ub354\ub9c1\uc744 \uc120\ud0dd\ud55c \ub4a4 \uc9c0\ud45c\ub97c \ub4f1\ub85d\ud558\uba74 \uc6b0\ud074\ub9ad \uba54\ub274\uc5d0 \ud45c\uc2dc\ub418\uace0 \ub808\uc774\uc544\uc6c3\uc5d0 \uc800\uc7a5\ub429\ub2c8\ub2e4.<\/div>\n<\/details>\n<details>\n<summary>SharpTrader \ub610\ub294 BjfChart\uc758 \uc18c\uc2a4 \ucf54\ub4dc\ub97c \uad6c\ub9e4\ud560 \uc218 \uc788\ub098\uc694?<\/summary>\n<div class=\"a\">\uc544\ub2c8\uc694. BJF Trading Group\uc740 \ucef4\ud30c\uc77c\ub41c \ube4c\ub4dc\uc5d0 \ub300\ud55c \ub77c\uc774\uc120\uc2a4\ub97c \uc81c\uacf5\ud558\uba70 API \uc811\uadfc, \ubb38\uc11c, \uc9c0\uc6d0\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc18c\uc2a4 \ucf54\ub4dc\ub294 \uc5b4\ub5a4 \ud504\ub85c\uadf8\ub7a8\uc73c\ub85c\ub3c4 \ud310\ub9e4\ub418\uac70\ub098 \uacf5\uac1c\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/div>\n<\/details>\n<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- Newsletter signup                                            --><br \/>\n<!-- ============================================================ --><\/p>\n<div class=\"dev-signup\">\n<h3>BJF \ud2b8\ub808\uc774\ub529 \ub9ac\uc11c\uce58 \uad6c\ub3c5\ud558\uae30<\/h3>\n<p>\uc0c8\ub85c\uc6b4 \uae00, \ub9ac\uc11c\uce58 \ub17c\ubb38, \uc81c\ud488 \ucd9c\uc2dc \uc18c\uc2dd\uc744 \uac8c\uc2dc\ud558\ub294 \uc989\uc2dc \uc804\ud574 \ub4dc\ub9bd\ub2c8\ub2e4.<\/p>\n<div class='_form_31'><\/div><script type='text\/javascript' src='https:\/\/bjftradinggroup.activehosted.com\/f\/embed.php?static=0&id=31&6AB7EB715C464&nostyles=0&preview=0'><\/script><\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- FINAL CTA                                                    --><br \/>\n<!-- ============================================================ --><\/p>\n<div class=\"dev-cta\">\n<h2>\ubb34\uc5c7\uc744 \uac1c\ubc1c\ud558\uace0 \uacc4\uc2e0\uc9c0 \uc54c\ub824 \uc8fc\uc138\uc694<\/h2>\n<p>\ud2b9\uc815 \ube0c\ub85c\ucee4\uc758 \ud2b9\uc774\uc810\uc5d0 \ub300\uc751\ud558\ub294 \ubd07, \uc2e4\ud589 \uac8c\uc774\ud2b8\uc6e8\uc774\uac00 \ud544\uc694\ud55c \uc678\ubd80 \uc5d4\uc9c4, \ub610\ub294 \uae08\uc694\uc77c\uae4c\uc9c0 \ucc28\ud2b8\uac00 \ud544\uc694\ud55c \ud130\ubbf8\ub110. \uc0c1\uc138 \ub0b4\uc6a9\uc744 \ub2f4\uc740 \uc774\uba54\uc77c \ud55c \ud1b5\uc774\uba74, \ub2e4\uc74c \ub2e8\uacc4\ub97c \ub2f4\uc740 \ub2f5\uc7a5 \ud55c \ud1b5\uc744 \ub4dc\ub9bd\ub2c8\ub2e4.<\/p>\n<p><a class=\"dev-btn\" href=\"mailto:support@bjftradinggroup.com\">\uac1c\ubc1c\ud300\uc5d0 \uc774\uba54\uc77c \ubcf4\ub0b4\uae30<\/a> <a class=\"dev-btn-ghost\" href=\"https:\/\/t.me\/bjftradinggroup\">Telegram\uc73c\ub85c \uba54\uc2dc\uc9c0 \ubcf4\ub0b4\uae30<\/a><\/p>\n<\/div>\n<p class=\"dev-disc\">BJF Trading Group Inc.\ub294 \uc219\ub828\ub41c \ud2b8\ub808\uc774\ub354\uc640 \uac1c\ubc1c\uc790\ub97c \uc704\ud55c \uc18c\ud504\ud2b8\uc6e8\uc5b4 \ub3c4\uad6c\ub97c \uac1c\ubc1c\ud569\ub2c8\ub2e4. \ub2f9\uc0ac\ub294 \ube0c\ub85c\ucee4, \uae08\uc735\uae30\uad00 \ub610\ub294 \ud22c\uc790 \uc790\ubb38\uc0ac\uac00 \uc544\ub2c8\uba70, \uac70\ub798\ub97c \uc2e4\ud589\ud558\uac70\ub098 \uc790\uae08\uc744 \uc6b4\uc6a9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774 \ud398\uc774\uc9c0\uc758 \ucf54\ub4dc \uc0d8\ud50c\uc740 \uc608\uc2dc\uc774\uba70 \ud604\uc7ac \ub77c\uc774\ube0c\ub7ec\ub9ac \ub808\ud37c\ub7f0\uc2a4\uc640 \ub2e4\ub97c \uc218 \uc788\uc73c\ubbc0\ub85c, \ud56d\uc0c1 \uc0ac\uc6a9 \uc911\uc778 \ud50c\ub7ab\ud3fc \ubc84\uc804\uc758 \ubb38\uc11c\ub97c \ud655\uc778\ud558\uc138\uc694. \uc678\ud658, CFD, \uc554\ud638\ud654\ud3d0 \uac70\ub798\ub294 \ub192\uc740 \uc190\uc2e4 \uc704\ud5d8\uc744 \uc218\ubc18\ud558\uba70 \ubaa8\ub4e0 \ud22c\uc790\uc790\uc5d0\uac8c \uc801\ud569\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774 \ud398\uc774\uc9c0\uc758 \uc5b4\ub5a4 \ub0b4\uc6a9\ub3c4 \uae08\uc735 \uc870\uc5b8\uc774\ub098 \uc218\uc775 \ubcf4\uc7a5\uc774 \uc544\ub2d9\ub2c8\ub2e4.<\/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>\uac1c\ubc1c\uc790\uc6a9 &middot; SharpTrader \ud50c\ub7ab\ud3fc SharpTrader \uae30\ubc18 \uac1c\ubc1c: C# \ubd07 API, EasyFIX \uc5f0\uacb0, BjfChart \ucc28\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac SharpTrader\ub294 \ube0c\ub85c\ucee4\uac00 \uc544\ub2cc \ud2b8\ub808\uc774\ub354\ub97c \uc704\ud574 \ub9cc\ub4e4\uc5b4\uc9c4 \ud2b8\ub808\uc774\ub529 \ud50c\ub7ab\ud3fc\uc774\uba70, \ud2b8\ub808\uc774\ub354\ub97c \uc704\ud574 \ucf54\ub4dc\ub97c \uc791\uc131\ud558\ub294 \uac1c\ubc1c\uc790\uc5d0\uac8c\ub3c4 \uc5f4\ub824 \uc788\uc2b5\ub2c8\ub2e4. \ud50c\ub7ab\ud3fc \uc548\uc5d0\uc11c C#\uc73c\ub85c \uc790\uccb4 \uc804\ub7b5\uc744 \uc791\uc131\ud558\uac70\ub098, EasyFIX API\ub97c \ud1b5\ud574 \uc678\ubd80 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uc2e4\ud589 \uc5d4\uc9c4\uc5d0 \uc5f0\uacb0\ud558\uac70\ub098, GPU \uac00\uc18d \uce94\ub4e4\uc2a4\ud2f1 \ucc28\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc790\uccb4 .NET \ud130\ubbf8\ub110\uc5d0 \ud0d1\uc7ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc2e4\uc2dc\uac04 \ud2f1\uacfc \uba40\ud2f0 \ube0c\ub85c\ucee4 \uc138\uc158\uc744 \uc9c0\uc6d0\ud558\ub294 C# \uc804\ub7b5 EasyFIX API: 50\uac1c \uc774\uc0c1\uc758 FIX \ucee4\ub125\ud130, \uc554\ud638\ud654\ud3d0 \uac70\ub798\uc18c BjfChart DLL: 22\uac1c \uc9c0\ud45c,&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.5 (Yoast SEO v28.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>\uac1c\ubc1c\uc790\uc6a9<\/title>\n<meta name=\"description\" content=\"C# \ud2b8\ub808\uc774\ub529 \ubd07 \uc791\uc131, EasyFIX API \uc5f0\uacb0, BjfChart \ucc28\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c .NET \ud130\ubbf8\ub110\uc5d0 \ub0b4\uc7a5\ud558\ub294 \ubc29\ubc95\uc744 \uc548\ub0b4\ud569\ub2c8\ub2e4.\" \/>\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\/ko\/developers\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\uac1c\ubc1c\uc790\uc6a9\" \/>\n<meta property=\"og:description\" content=\"C# \ud2b8\ub808\uc774\ub529 \ubd07 \uc791\uc131, EasyFIX API \uc5f0\uacb0, BjfChart \ucc28\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c .NET \ud130\ubbf8\ub110\uc5d0 \ub0b4\uc7a5\ud558\ub294 \ubc29\ubc95\uc744 \uc548\ub0b4\ud569\ub2c8\ub2e4.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bjftradinggroup.com\/ko\/developers\/\" \/>\n<meta property=\"og:site_name\" content=\"BJF Trading Group Inc - Software for Forex Traders\" \/>\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=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data1\" content=\"2\ubd84\" \/>\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\":\"\uac1c\ubc1c\uc790\uc6a9\",\"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\":\"C# \ud2b8\ub808\uc774\ub529 \ubd07 \uc791\uc131, EasyFIX API \uc5f0\uacb0, BjfChart \ucc28\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c .NET \ud130\ubbf8\ub110\uc5d0 \ub0b4\uc7a5\ud558\ub294 \ubc29\ubc95\uc744 \uc548\ub0b4\ud569\ub2c8\ub2e4.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@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\":\"BJF Trading Group Inc - Software for Forex Traders\",\"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\":\"ko-KR\"},{\"@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":"\uac1c\ubc1c\uc790\uc6a9","description":"C# \ud2b8\ub808\uc774\ub529 \ubd07 \uc791\uc131, EasyFIX API \uc5f0\uacb0, BjfChart \ucc28\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c .NET \ud130\ubbf8\ub110\uc5d0 \ub0b4\uc7a5\ud558\ub294 \ubc29\ubc95\uc744 \uc548\ub0b4\ud569\ub2c8\ub2e4.","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\/ko\/developers\/","og_locale":"ko_KR","og_type":"article","og_title":"\uac1c\ubc1c\uc790\uc6a9","og_description":"C# \ud2b8\ub808\uc774\ub529 \ubd07 \uc791\uc131, EasyFIX API \uc5f0\uacb0, BjfChart \ucc28\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c .NET \ud130\ubbf8\ub110\uc5d0 \ub0b4\uc7a5\ud558\ub294 \ubc29\ubc95\uc744 \uc548\ub0b4\ud569\ub2c8\ub2e4.","og_url":"https:\/\/bjftradinggroup.com\/ko\/developers\/","og_site_name":"BJF Trading Group Inc - Software for Forex Traders","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":{"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"2\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/bjftradinggroup.com\/developers\/","url":"https:\/\/bjftradinggroup.com\/developers\/","name":"\uac1c\ubc1c\uc790\uc6a9","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":"C# \ud2b8\ub808\uc774\ub529 \ubd07 \uc791\uc131, EasyFIX API \uc5f0\uacb0, BjfChart \ucc28\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c .NET \ud130\ubbf8\ub110\uc5d0 \ub0b4\uc7a5\ud558\ub294 \ubc29\ubc95\uc744 \uc548\ub0b4\ud569\ub2c8\ub2e4.","breadcrumb":{"@id":"https:\/\/bjftradinggroup.com\/developers\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bjftradinggroup.com\/developers\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@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":"BJF Trading Group Inc - Software for Forex Traders","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":"ko-KR"},{"@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\/ko\/wp-json\/wp\/v2\/pages\/8075","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bjftradinggroup.com\/ko\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bjftradinggroup.com\/ko\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/ko\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/ko\/wp-json\/wp\/v2\/comments?post=8075"}],"version-history":[{"count":8,"href":"https:\/\/bjftradinggroup.com\/ko\/wp-json\/wp\/v2\/pages\/8075\/revisions"}],"predecessor-version":[{"id":13910,"href":"https:\/\/bjftradinggroup.com\/ko\/wp-json\/wp\/v2\/pages\/8075\/revisions\/13910"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/ko\/wp-json\/wp\/v2\/media\/8077"}],"wp:attachment":[{"href":"https:\/\/bjftradinggroup.com\/ko\/wp-json\/wp\/v2\/media?parent=8075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}