آموزش اتصال به API بایننس با سی شارپ

تاریخ: 1404/12/4 ساعت: 20:25 بازدید: 165

اتصال به API بایننس با سی شارپ؛ از صفر تا اجرا

اگر یه توسعه‌دهنده‌ی ایرانی هستی که روی پروژه‌های مرتبط با ارز دیجیتال کار می‌کنی، احتمالاً بارها با این سوال روبرو شدی: «چطور می‌تونم از سی شارپ به API بایننس وصل بشم؟»

تو این مقاله، قدم به قدم باهات می‌ریم سراغ این موضوع. از ساختن API Key گرفته تا نوشتن کد واقعی برای دریافت قیمت لحظه‌ای، موجودی حساب و ثبت سفارش. پس اگه آماده‌ای، بریم!

API بایننس چیست و چرا باید از آن استفاده کنیم؟

API بایننس (Binance API) یک رابط برنامه‌نویسی است که صرافی بایننس در اختیار توسعه‌دهندگان قرار می‌دهد. با این API می‌توانی:

  • قیمت لحظه‌ای تمام ارزهای دیجیتال را دریافت کنی
  • تاریخچه معاملات و کندل‌های قیمتی را بخوانی
  • به‌صورت خودکار سفارش خرید و فروش ثبت کنی
  • موجودی حساب و سفارش‌های باز را مدیریت کنی
  • ربات معاملاتی (Trading Bot) بسازی

بایننس دو نوع API اصلی دارد: REST API که برای درخواست‌های معمولی استفاده می‌شود و WebSocket API که برای دریافت داده‌های لحظه‌ای و استریم قیمت کاربرد دارد. در این آموزش هر دو را بررسی می‌کنیم.

پیش‌نیازهای اتصال به API بایننس

قبل از شروع کدنویسی، به چند چیز نیاز داری:

  • حساب کاربری بایننس: اگه نداری باید بسازی (یا از Binance Testnet استفاده کنی)
  • API Key و Secret Key: از پنل بایننس باید تولید کنی
  • ویژوال استودیو نسخه ۲۰۱۹ یا بالاتر (یا VS Code)
  • .NET 6 یا بالاتر روی سیستمت نصب باشه
  • آشنایی پایه با زبان برنامه‌نویسی سی شارپ

ساخت API Key در بایننس

برای ساخت API Key مراحل زیر را دنبال کن:

  1. وارد حساب بایننس خود شو
  2. به بخش Account Settings برو
  3. گزینه API Management را انتخاب کن
  4. روی Create API کلیک کن
  5. API Key و Secret Key تولیدشده را در جای امنی ذخیره کن

⚠️ هشدار مهم: Secret Key را فقط یک بار می‌توانی ببینی. اگر آن را ذخیره نکنی، باید API جدید بسازی. همچنین هیچ‌وقت این کلیدها را در کد یا گیت‌هاب قرار نده!

نصب کتابخانه‌های مورد نیاز

برای کار با API بایننس در سی شارپ، بهترین کتابخانه‌ای که وجود داره Binance.Net هست. این کتابخانه یک Wrapper قدرتمند برای API بایننس است که کار رو خیلی ساده‌تر می‌کنه.

در Package Manager Console ویژوال استودیو تایپ کن:


Install-Package Binance.Net

Install-Package CryptoExchange.Net

یا با dotnet CLI:


dotnet add package Binance.Net

dotnet add package CryptoExchange.Net

اتصال اولیه و دریافت قیمت لحظه‌ای

بریم سراغ اولین کد! این ساده‌ترین مثال برای دریافت قیمت لحظه‌ای بیت‌کوین به دلار است:


using Binance.Net.Clients;

using CryptoExchange.Net.Authentication;

class Program

{

static async Task Main(string[] args)

{

// ساخت کلاینت بایننس

var client = new BinanceRestClient();

// دریافت قیمت لحظه‌ای بیت‌کوین

var result = await client.SpotApi.ExchangeData

.GetPriceAsync(“BTCUSDT”);

if (result.Success)

{

Console.WriteLine($“قیمت بیت‌کوین: {result.Data.Price} USDT”);

}

else

{

Console.WriteLine($“خطا: {result.Error?.Message}”);

}

}

}

اگه کد بالا رو اجرا کنی، قیمت لحظه‌ای BTC/USDT رو توی کنسول می‌بینی. این اولین قدم موفقیت‌آمیز توئه!

احراز هویت با API Key برای دسترسی به حساب

برای دسترسی به اطلاعات حساب کاربری مثل موجودی یا ثبت سفارش، باید API Key خودت رو تنظیم کنی. این کار رو می‌توانی با Dependency Injection یا به‌صورت مستقیم انجام بدی:


using Binance.Net.Clients;

using CryptoExchange.Net.Authentication;

class Program

{

static async Task Main(string[] args)

{

// تنظیم API Key - هیچ‌وقت در کد هاردکد نکن!

// از appsettings.json یا Environment Variables استفاده کن

string apiKey = “YOUR_API_KEY_HERE”;

string secretKey = “YOUR_SECRET_KEY_HERE”;

var client = new BinanceRestClient(options =>

{

options.ApiCredentials = new ApiCredentials(apiKey, secretKey);

});

// دریافت موجودی حساب

var accountInfo = await client.SpotApi.Account

.GetAccountInfoAsync();

if (accountInfo.Success)

{

Console.WriteLine(“=== موجودی حساب ===”);

foreach (var balance in accountInfo.Data.Balances)

{

if (balance.Available > 0)

{

Console.WriteLine($"{balance.Asset}: " +

$"موجود = {balance.Available}, " +

$“قفل‌شده = {balance.Locked}”);

}

}

}

else

{

Console.WriteLine($“خطا: {accountInfo.Error?.Message}”);

}

}

}

ذخیره امن API Key با appsettings.json

هیچ‌وقت API Key رو مستقیم توی کد ننویس! از appsettings.json استفاده کن:


// appsettings.json

{

“BinanceSettings”: {

“ApiKey”: “your_api_key”,

“SecretKey”: “your_secret_key”

}

}

// Program.cs

using Microsoft.Extensions.Configuration;

var config = new ConfigurationBuilder()

.AddJsonFile(“appsettings.json”)

.Build();

string apiKey = config[“BinanceSettings:ApiKey”]!;

string secretKey = config[“BinanceSettings:SecretKey”]!;

دریافت تاریخچه قیمت و کندل‌های شمعی

یکی از پرکاربردترین عملیات‌ها در تحلیل تکنیکال، دریافت کندل‌های قیمتی (Candlestick) است. با کد زیر می‌تونی این داده‌ها رو بگیری:


using Binance.Net.Enums;

// دریافت کندل‌های ۱ ساعته بیت‌کوین (۱۰۰ کندل آخر)

var klines = await client.SpotApi.ExchangeData

.GetKlinesAsync(

“BTCUSDT”,

KlineInterval.OneHour,

limit: 100

);

if (klines.Success)

{

Console.WriteLine(“=== کندل‌های قیمتی BTC/USDT ===”);

foreach (var kline in klines.Data)

{

Console.WriteLine(

$"زمان: {kline.OpenTime:yyyy-MM-dd HH:mm} | " +

$"باز: {kline.OpenPrice} | " +

$"بالا: {kline.HighPrice} | " +

$"پایین: {kline.LowPrice} | " +

$"بسته: {kline.ClosePrice} | " +

$“حجم: {kline.Volume}”

);

}

}

ثبت سفارش خرید و فروش

حالا می‌ریم سراغ بخش هیجان‌انگیزتر: ثبت سفارش واقعی. بایننس چند نوع سفارش دارد که مهم‌ترین آن‌ها عبارتند از:

  • Market Order: خرید یا فروش فوری با قیمت بازار
  • Limit Order: ثبت سفارش در قیمت مشخص
  • Stop-Limit Order: ترکیب استاپ و لیمیت برای مدیریت ریسک

using Binance.Net.Enums;

// ⚠️ این کد سفارش واقعی ثبت می‌کند - با احتیاط استفاده کنید!

// ثبت سفارش خرید Limit

var orderResult = await client.SpotApi.Trading

.PlaceOrderAsync(

symbol: “BTCUSDT”,

side: OrderSide.Buy,

type: SpotOrderType.Limit,

quantity: 0.001m, // مقدار

price: 40000m, // قیمت هدف

timeInForce: TimeInForce.GoodTillCanceled

);

if (orderResult.Success)

{

Console.WriteLine($“سفارش ثبت شد!”);

Console.WriteLine($“شناسه سفارش: {orderResult.Data.Id}”);

Console.WriteLine($“وضعیت: {orderResult.Data.Status}”);

}

else

{

Console.WriteLine($“خطا در ثبت سفارش: {orderResult.Error?.Message}”);

}

// لغو سفارش

var cancelResult = await client.SpotApi.Trading

.CancelOrderAsync(“BTCUSDT”, orderResult.Data.Id);

if (cancelResult.Success)

Console.WriteLine(“سفارش با موفقیت لغو شد.”);

استفاده از WebSocket برای دریافت داده‌های لحظه‌ای

اگه نیاز داری قیمت‌ها رو به‌صورت لحظه‌ای و پیوسته دریافت کنی (مثلاً برای ساخت داشبورد لایو)، باید از WebSocket استفاده کنی:


using Binance.Net.Clients;

var socketClient = new BinanceSocketClient();

// سابسکرایب به استریم قیمت لحظه‌ای BTC

var subscription = await socketClient.SpotApi

.SubscribeToTickerUpdatesAsync(

“BTCUSDT”,

data =>

{

Console.WriteLine(

$"[{DateTime.Now:HH:mm:ss}] " +

$"BTC/USDT = {data.Data.LastPrice:N2} | " +

$“تغییر: {data.Data.PriceChangePercent:N2}%”

);

}

);

if (subscription.Success)

{

Console.WriteLine(“اتصال WebSocket برقرار شد. Ctrl+C برای خروج…”);

Console.ReadLine();

}

// قطع اتصال

await socketClient.UnsubscribeAllAsync();

استریم همزمان چند جفت‌ارز


// دریافت قیمت چندین ارز به‌صورت همزمان

var symbols = new[] { “BTCUSDT”, “ETHUSDT”, “BNBUSDT” };

var multiSub = await socketClient.SpotApi

.SubscribeToTickerUpdatesAsync(

symbols,

data =>

{

Console.WriteLine(

$“{data.Data.Symbol}: {data.Data.LastPrice:N2}”

);

}

);

🚀 آیا می‌خواهید سایت شما هم در صفحه اول گوگل باشد؟

همین‌طور که داری این مقاله رو می‌خونی، رقبای شما دارن با سئوی حرفه‌ای مشتریان بیشتری جذب می‌کنن. سئوی سایت شما یک سرمایه‌گذاری مطمئن برای افزایش فروش است. سئوی سایت خود را به متخصصان ما بسپارید.

📞 همین حالا برای مشاوره رایگان با ما تماس بگیرید:

09190994063  |  09376846692

مدیریت خطاها و Retry Logic

در یک پروژه واقعی، مدیریت خطا خیلی مهمه. بایننس محدودیت‌های نرخ (Rate Limit) داره و گاهی اتصال قطع می‌شه. یه کلاس کمکی برای این کار:


public class BinanceService

{

private readonly BinanceRestClient _client;

private readonly ILogger _logger;

public BinanceService(string apiKey, string secretKey,

ILogger logger)

{

_logger = logger;

_client = new BinanceRestClient(options =>

{

options.ApiCredentials =

new ApiCredentials(apiKey, secretKey);

// تنظیم Timeout

options.RequestTimeout = TimeSpan.FromSeconds(30);

});

}

public async Task GetPriceWithRetryAsync(

string symbol, int maxRetries = 3)

{

for (int attempt = 1; attempt <= maxRetries; attempt++)

{

try

{

var result = await _client.SpotApi

.ExchangeData.GetPriceAsync(symbol);

if (result.Success)

return result.Data.Price;

_logger.LogWarning(

$"تلاش {attempt}/{maxRetries} ناموفق: " +

$“{result.Error?.Message}”);

// اگه Rate Limit بود کمی صبر کن

if (result.Error?.Code == 429)

await Task.Delay(TimeSpan.FromSeconds(60));

else

await Task.Delay(TimeSpan.FromSeconds(attempt * 2));

}

catch (Exception ex)

{

_logger.LogError(

$“خطای استثنا در تلاش {attempt}: {ex.Message}”);

await Task.Delay(TimeSpan.FromSeconds(attempt * 2));

}

}

return null;

}

}

استفاده از Binance Testnet برای تست بدون ریسک

قبل از اینکه با پول واقعی کار کنی، حتماً روی Testnet بایننس تست کن. Testnet یه محیط شبیه‌سازی‌شده‌ست که پول مجازی بهت می‌ده:


// اتصال به Testnet به‌جای بازار واقعی

var testnetClient = new BinanceRestClient(options =>

{

options.ApiCredentials =

new ApiCredentials(testnetApiKey, testnetSecretKey);

// این خط مهم است - تنظیم محیط Testnet

options.Environment = BinanceEnvironment.Testnet;

});

Console.WriteLine(“متصل به Testnet - پول واقعی در خطر نیست!”);

برای دریافت API Key مربوط به Testnet، به آدرس testnet.binance.vision برو و یه حساب جداگانه بساز.

ساخت یک ربات ساده معاملاتی با سی شارپ

حالا بریم همه چیزی که یاد گرفتیم رو ترکیب کنیم و یه ربات ساده بسازیم که اگر قیمت از یه حد مشخص پایین‌تر رفت، خرید کنه:


public class SimpleTradingBot

{

private readonly BinanceRestClient _client;

private readonly decimal _buyThreshold;

private readonly string _symbol;

public SimpleTradingBot(BinanceRestClient client,

string symbol, decimal buyThreshold)

{

_client = client;

_symbol = symbol;

_buyThreshold = buyThreshold;

}

public async Task RunAsync(CancellationToken ct)

{

Console.WriteLine($“ربات برای {_symbol} شروع به کار کرد.”);

Console.WriteLine($“حد خرید: {_buyThreshold:N2} USDT”);

while (!ct.IsCancellationRequested)

{

var price = await _client.SpotApi.ExchangeData

.GetPriceAsync(_symbol);

if (!price.Success)

{

await Task.Delay(5000, ct);

continue;

}

decimal currentPrice = price.Data.Price;

Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] " +

$“قیمت: {currentPrice:N2}”);

// منطق خرید

if (currentPrice <= _buyThreshold)

{

Console.WriteLine($"🟢 سیگنال خرید! " +

$“قیمت {currentPrice} به حد {_buyThreshold} رسید.”);

// اینجا می‌تونی سفارش ثبت کنی

// await PlaceMarketBuyOrder(_symbol, 0.001m);

}

// بررسی هر ۱۰ ثانیه یک بار

await Task.Delay(10000, ct);

}

}

}

// استفاده از ربات

var cts = new CancellationTokenSource();

var bot = new SimpleTradingBot(client, “BTCUSDT”, 40000m);

await bot.RunAsync(cts.Token);

نکات مهم امنیتی که باید رعایت کنی

  • هیچ‌وقت API Key را در GitHub، Gitlab یا کد commit‌شده قرار نده. از فایل .gitignore استفاده کن.
  • محدودیت IP را فعال کن: در تنظیمات API بایننس، فقط IP سرور خودت را مجاز کن.
  • فقط دسترسی‌های لازم را فعال کن: اگه فقط می‌خونی، گزینه Withdraw را غیرفعال بذار.
  • از Environment Variables استفاده کن: در سرور از متغیرهای محیطی به‌جای فایل کانفیگ استفاده کن.
  • Rate Limit را رعایت کن: بایننس محدودیت ۱۲۰۰ درخواست در دقیقه دارد.

💡 نکته حرفه‌ای

اگه می‌خوای ربات معاملاتی تو همیشه آنلاین باشه، باید اون رو روی یه سرور ابری (VPS) دیپلوی کنی. سرویس‌هایی مثل Azure، AWS یا حتی سرورهای ایرانی برای این کار مناسبند. کد سی شارپ رو می‌تونی به‌صورت یه Windows Service یا Docker Container روی سرور اجرا کنی.

خلاصه و جمع‌بندی

در این مقاله جامع یاد گرفتیم:

  • ✅ نحوه ساخت و تنظیم API Key بایننس
  • ✅ نصب و پیکربندی کتابخانه Binance.Net
  • ✅ دریافت قیمت لحظه‌ای و تاریخچه کندل‌ها
  • ✅ دسترسی به موجودی حساب
  • ✅ ثبت و لغو سفارش خرید و فروش
  • ✅ استفاده از WebSocket برای داده‌های استریم
  • ✅ مدیریت خطا و Retry Logic حرفه‌ای
  • ✅ ساخت یک ربات معاملاتی ساده
  • ✅ نکات امنیتی ضروری

اتصال به API بایننس با سی شارپ دریچه‌ای به دنیای خودکارسازی معاملات باز می‌کنه. با تسلط بر این مهارت می‌تونی ربات‌های معاملاتی پیشرفته، سیستم‌های تحلیل بازار و داشبوردهای لایو بسازی.

📈 می‌خواهید رقبایتان را پشت سر بگذارید؟

همان‌طور که یک ربات معاملاتی هوشمند می‌تواند سود شما را چند برابر کند، سئوی حرفه‌ای سایت نیز می‌تواند ترافیک ارگانیک و فروش شما را به‌طور چشمگیری افزایش دهد. این یک سرمایه‌گذاری با بازده بلندمدت است، نه هزینه! آیا می‌خواهید سایت شما هم مثل رقبا در صفحه اول گوگل باشد و زنگ‌خورهایتان چند برابر شود؟ سئوی سایت خود را به متخصصان ما بسپارید.

📞 همین حالا برای مشاوره رایگان با ما تماس بگیرید:

09190994063  |  09376846692

سوالات متداول (FAQ)

۱. آیا برای اتصال به API بایننس به VPN نیاز دارم؟

بله، بایننس در ایران فیلتر است. برای استفاده از API بایننس در ایران، باید از یک VPN یا پروکسی معتبر استفاده کنید. در کد سی شارپ می‌توانید با تنظیم Proxy در HttpClient این مشکل را حل کنید. البته اگه برنامه شما روی یک سرور خارج از ایران اجرا شود، نیازی به VPN ندارید.

۲. بهترین کتابخانه سی شارپ برای API بایننس کدام است؟

Binance.Net ساخته JKorf بهترین و محبوب‌ترین کتابخانه است که فعالانه نگهداری می‌شود. این کتابخانه هم REST API و هم WebSocket را پشتیبانی می‌کند، تایپ‌سیف است و مستندات خوبی دارد. گزینه دوم استفاده مستقیم از HttpClient و پیاده‌سازی دستی است که انعطاف بیشتری می‌دهد اما زمان بیشتری می‌برد.

۳. Rate Limit بایننس چقدر است و چطور از آن تجاوز نکنیم؟

بایننس محدودیت ۱۲۰۰ درخواست در دقیقه برای REST API دارد. برای مدیریت این محدودیت: از WebSocket به‌جای Polling استفاده کنید، درخواست‌ها را Batch کنید، و بین درخواست‌های مکرر Delay اضافه کنید. کتابخانه Binance.Net به‌صورت خودکار Rate Limit را مدیریت می‌کند.

۴. آیا می‌توانم با API بایننس فیوچرز (Futures) هم کار کنم؟

بله! کتابخانه Binance.Net از بخش‌های مختلف بایننس پشتیبانی می‌کند: SpotApi برای معاملات اسپات، UsdFuturesApi برای فیوچرز USDT-M و CoinFuturesApi برای فیوچرز Coin-M. هر بخش API‌های مخصوص خودش را دارد.

۵. چطور خطای «Timestamp for this request is outside of the recvWindow» را رفع کنم؟

این خطا به دلیل اختلاف ساعت سیستم با سرور بایننس ایجاد می‌شود. راه‌حل: تنظیم recvWindow به مقدار بیشتر (مثلاً ۱۰۰۰۰ میلی‌ثانیه) یا هماهنگ‌سازی ساعت سیستم با NTP. در کتابخانه Binance.Net می‌توانید با تنظیم options.TimestampRecalculationInterval این مشکل را حل کنید.

۶. آیا Binance Testnet کاملاً شبیه محیط واقعی است؟

Binance Testnet از نظر ساختار API کاملاً شبیه محیط واقعی است، اما قیمت‌ها ممکن است کمی متفاوت باشند. برای تست منطق برنامه عالی است. نکته مهم: Testnet یک API Key جداگانه می‌خواهد که از testnet.binance.vision باید دریافت کنید. از این محیط قبل از هر استقرار در محیط واقعی حتماً استفاده کنید.

نظرات کاربران


حامد لطفی
تاریخ 1404/12/7 ساعت 6:7

توضیحات مربوط به Rate Limit و Retry Logic بسیار حرفه‌ای بود. این مسائل در پروژه‌های واقعی اهمیت زیادی دارند. ممنون بابت به اشتراک گذاشتن این نکات ارزشمند.

سایت اینجا:

مدیریت خطاها و محدودیت‌های Rate Limit بخش جدایی‌ناپذیری از توسعه هر سیستمی است که با API‌های خارجی کار می‌کند. خوشحالیم که برایتان مفید بود. اگر سوالی دارید یا به مشاوره نیاز دارید: 09190994063 | 09376846692

علی رضاپور
تاریخ 1404/12/6 ساعت 16:39

مطالب امنیتی بسیار مهم و حیاتی بودند، مخصوصاً درباره ذخیره نکردن API Key در کد. آیا راهنمایی بیشتری برای دیپلوی کردن ربات روی VPS و مدیریت امن API Key در آن محیط دارید؟

سایت اینجا:

نکات امنیتی از مهمترین بخش‌های کار با API هستند. برای دیپلوی روی VPS، استفاده از Environment Variables (متغیرهای محیطی) به جای فایل کانفیگ توصیه می‌شود. همچنین فعال‌سازی IP Whitelist در بایننس را جدی بگیرید. برای جزئیات بیشتر با ما در تماس باشید: 09190994063 | 09376846692

مریم سعیدی
تاریخ 1404/12/6 ساعت 10:56

قسمت مربوط به Testnet حیاتی‌ترین بخش بود. حتما قبل از هر کاری روی تست‌نت امتحان می‌کنم. آیا امکان دریافت API Key تست‌نت از طریق خود API وجود دارد یا باید دستی از سایت بگیریم؟

سایت اینجا:

بسیار خوب که به اهمیت Testnet توجه دارید. API Key تست‌نت باید به‌صورت دستی از testnet.binance.vision دریافت شود و متفاوت از کلیدهای محیط واقعی است. برای راهنمایی در پروژه‌هایتان با ما تماس بگیرید: 09190994063 | 09376846692

زهرا محمدی
تاریخ 1404/12/6 ساعت 0:41

این مقاله بهترین منبع فارسی برای اتصال به API بایننس با سی شارپ است. واقعا از صفر تا صد همه چیز رو پوشش دادید. خیلی ممنون از تلاش شما.

سایت اینجا:

از بازخورد مثبت شما سپاسگزاریم. هدف ما ارائه محتوای کاربردی و کامل برای جامعه توسعه‌دهندگان ایرانی است. برای پروژه‌های سئو و دیجیتال مارکتینگ نیز می‌توانید با ما در تماس باشید: 09190994063 | 09376846692

سارا کریمی
تاریخ 1404/12/5 ساعت 21:28

استفاده از کتابخانه Binance.Net واقعاً کار رو راحت می‌کنه. قبلش فکر می‌کردم باید خودم امضا و هدرها رو مدیریت کنم. بخش WebSocket هم عالی بود برای دریافت قیمت‌های لحظه‌ای. دستتون درد نکنه.

سایت اینجا:

بله، کتابخانه Binance.Net کار توسعه‌دهندگان را بسیار ساده می‌کند. انتخاب ابزار مناسب، سرعت و کیفیت پروژه را افزایش می‌دهد. برای دریافت مشاوره در خصوص پروژه‌های خود با ما تماس بگیرید: 09190994063 | 09376846692

رضا مقدم
تاریخ 1404/12/5 ساعت 15:44

خطای «Timestamp for this request is outside of the recvWindow» واقعاً آزاردهنده است. توضیحات شما برای رفع آن خیلی مفید بود. آیا خود کتابخانه Binance.Net قابلیت تنظیم خودکار ساعت را دارد؟

سایت اینجا:

این خطا رایج است و دلیل آن اختلاف ساعت سیستم شما با سرور بایننس است. Binance.Net می‌تواند با تنظیم options.TimestampRecalculationInterval تا حدی آن را مدیریت کند. اطمینان از همگام‌سازی ساعت سیستم با NTP بهترین راه‌حل است. برای راهنمایی بیشتر تماس بگیرید: 09190994063 | 09376846692

محسن حسینی
تاریخ 1404/12/5 ساعت 2:17

مقاله بسیار جامع و کاربردی بود. ممنون از توضیحات قدم به قدمتون. در مورد نیاز به VPN برای اتصال از ایران، آیا راهی هست که بدون VPN به API وصل شد (مثلاً از طریق تنظیمات پروکسی در کد)؟

سایت اینجا:

خوشحالیم که مقاله برایتان مفید بوده است. بله، در کد سی شارپ می‌توانید تنظیمات پروکسی را برای HttpClient اعمال کنید تا درخواست‌ها از طریق پروکسی ارسال شوند. برای مشاوره بیشتر می‌توانید با ما تماس بگیرید: 09190994063 | 09376846692

فاطمه احمدی
تاریخ 1404/12/4 ساعت 20:33

ربات معاملاتی ساده‌ای که معرفی کردید نقطه شروع خوبی برای علاقه‌مندان است. آیا می‌توانیم این ربات را برای فیوچرز هم استفاده کنیم؟ تفاوت‌های اصلی در کدنویسی فیوچرز چیست؟

سایت اینجا:

بسیار عالی. بله، کتابخانه Binance.Net از فیوچرز هم پشتیبانی می‌کند. تفاوت اصلی در استفاده از کلاینت‌های مربوط به فیوچرز (مثل UsdFuturesApi) و انواع سفارشات مخصوص فیوچرز است. برای توسعه پیشرفته‌تر می‌توانید با ما مشورت کنید: 09190994063 | 09376846692