مقدمه
در دنیای پویای ارزهای دیجیتال، استفاده از ربات های ترید به یک استراتژی محبوب برای معامله گران تبدیل شده است. این ربات ها با اتوماسیون فرایند خرید و فروش، به معامله گران کمک می کنند تا به طور مداوم و بدون نیاز به نظارت دستی، در بازار فعالیت کنند. صرافی Bitstamp یکی از صرافی های معتبر و با سابقه ی طولانی در این حوزه است که API قدرتمندی را برای توسعه ی ربات های ترید ارائه می دهد. در این مقاله، به شما آموزش می دهیم که چگونه با استفاده از API صرافی Bitstamp یک ربات ترید سفارشی بسازید.
قبل از شروع، مطمئن شوید که موارد زیر را آماده کرده اید:
برای شروع، باید از صرافی Bitstamp کلیدهای API خود را دریافت کنید. به حساب کاربری خود در Bitstamp وارد شوید و به بخش تنظیمات API بروید. در این بخش، می توانید یک کلید API جدید ایجاد کنید و سطح دسترسی آن را مشخص کنید. توجه داشته باشید که برای امنیت بیشتر، فقط دسترسی های ضروری را به ربات خود بدهید.
در این مرحله، باید کتابخانه های مورد نیاز برای کار با API Bitstamp را نصب کنید. برای این کار، از pip استفاده کنید:
pip install requests
pip install pyOpenSSL ndg pyasn1
اکنون می توانید شروع به نوشتن کد ربات ترید خود کنید. در اینجا یک نمونه کد ساده به زبان پایتون آورده شده است:
import requests
import hashlib
import hmac
import time
import base64
API_KEY = 'YOUR_API_KEY'
SECRET_KEY = 'YOUR_SECRET_KEY'
CLIENT_ID = 'YOUR_CLIENT_ID'
def generate_signature(api_secret, nonce, customer_id, api_key):
message = nonce + customer_id + api_key
signature = hmac.new(
api_secret.encode('utf-8'),
message.encode('utf-8'),
hashlib.sha256
).hexdigest().upper()
return signature
def get_account_balance():
nonce = str(int(time.time()))
endpoint = 'https://www.bitstamp.net/api/v2/balance/'
signature = generate_signature(SECRET_KEY, nonce, CLIENT_ID, API_KEY)
headers = {
'X-Auth': 'BITSTAMP ' + API_KEY,
'X-Auth-Signature': signature,
'X-Auth-Nonce': nonce,
'X-Auth-Timestamp': nonce,
'X-Auth-Version': 'v2',
'Content-Type': 'application/x-www-form-urlencoded'
}
data = {'nonce': nonce}
response = requests.post(endpoint, headers=headers, data=data)
return response.json()
if __name__ == '__main__':
balance = get_account_balance()
print(balance)
در این کد، ابتدا کتابخانه های مورد نیاز را import کرده ایم. سپس، کلیدهای API، کلید مخفی و Client ID خود را در متغیرهای مربوطه قرار داده ایم. تابع `generate_signature` برای تولید امضای دیجیتال برای درخواست های API استفاده می شود. تابع `get_account_balance` برای دریافت موجودی حساب کاربری شما استفاده می شود. در نهایت، در بلوک `if __name__ == '__main__':`، تابع `get_account_balance` را فراخوانی کرده و نتیجه را چاپ می کنیم.
پس از دریافت اطلاعات حساب کاربری، می توانید استراتژی معاملاتی خود را پیاده سازی کنید. برای مثال، می توانید یک استراتژی ساده بر اساس میانگین متحرک (Moving Average) پیاده سازی کنید. در این استراتژی، اگر قیمت فعلی از میانگین متحرک بالاتر باشد، خرید انجام می دهید و اگر پایین تر باشد، فروش انجام می دهید.
def get_ticker():
url = 'https://www.bitstamp.net/api/v2/ticker/btcusd/'
response = requests.get(url)
return response.json()
def place_order(amount, price, order_type='buy'):
nonce = str(int(time.time()))
endpoint = 'https://www.bitstamp.net/api/v2/' + order_type + '/btcusd/'
signature = generate_signature(SECRET_KEY, nonce, CLIENT_ID, API_KEY)
headers = {
'X-Auth': 'BITSTAMP ' + API_KEY,
'X-Auth-Signature': signature,
'X-Auth-Nonce': nonce,
'X-Auth-Timestamp': nonce,
'X-Auth-Version': 'v2',
'Content-Type': 'application/x-www-form-urlencoded'
}
data = {
'nonce': nonce,
'amount': amount,
'price': price
}
response = requests.post(endpoint, headers=headers, data=data)
return response.json()
if __name__ == '__main__':
balance = get_account_balance()
ticker = get_ticker()
last_price = float(ticker['last'])
print(f"Last Price: {last_price}")
#Simple Strategy - Buy if price is below 30000, sell if above 31000
if last_price < 30000:
print("Buying...")
buy_response = place_order(0.001, last_price, 'buy')
print(buy_response)
elif last_price > 31000:
print("Selling...")
sell_response = place_order(0.001, last_price, 'sell')
print(sell_response)
else:
print("Holding...")
این کد، دو تابع جدید `get_ticker` و `place_order` را اضافه می کند. تابع `get_ticker` برای دریافت آخرین قیمت بیت کوین از Bitstamp استفاده می شود. تابع `place_order` برای ثبت سفارش خرید یا فروش استفاده می شود. در بلوک `if __name__ == '__main__':`، ابتدا موجودی حساب کاربری و آخرین قیمت بیت کوین را دریافت می کنیم. سپس، یک استراتژی ساده را پیاده سازی می کنیم: اگر قیمت از 30000 دلار پایین تر باشد، خرید انجام می دهیم و اگر از 31000 دلار بالاتر باشد، فروش انجام می دهیم.
پس از نوشتن کد ربات، می توانید آن را اجرا کنید و عملکرد آن را زیر نظر داشته باشید. برای این کار، می توانید از ابزارهای مانیتورینگ مختلف استفاده کنید و عملکرد ربات خود را به طور مداوم ارزیابی کنید. همچنین، می توانید پارامترهای استراتژی معاملاتی خود را بهینه کنید تا عملکرد ربات خود را بهبود بخشید.
امنیت کلیدهای API شما بسیار مهم است. هرگز کلیدهای API خود را در معرض دید عموم قرار ندهید و آن ها را در یک مکان امن نگهداری کنید. همچنین، از یک رمز عبور قوی برای حساب کاربری Bitstamp خود استفاده کنید و احراز هویت دو مرحله ای (2FA) را فعال کنید.
اگر در زمینه سئو و بهینه سازی وب سایت خود نیاز به کمک دارید، با ما تماس بگیرید!
09190994063 - 09376846692