وسائل لوڈ ہو رہے ہیں... لوڈنگ...

[بائننس چیمپئن شپ] بائننس ترسیل معاہدے کی حکمت عملی 3 - تتلی ہیجنگ

مصنف:FMZ~Lydia, تخلیق: 2022-11-11 18:17:46, تازہ کاری: 2023-09-14 20:32:10

img

حال ہی میں ، بائننس فیوچر نے دوسرا بائننس چیمپئن شپ (ایڈریس:https://www.binancezh.com/cn/futures/activity/anniversary-competition/129-38599440) ۔ ایف ایم زیڈ کوانٹ کے سرکاری پلیٹ فارم نے بھی ایک ٹیم کا اہتمام کیا ہے ، جسے براہ راست ایف ایم زیڈ کوانٹ کی تلاش کرکے پایا جاسکتا ہے۔ فی الحال ، 100 سے زیادہ افراد ہیں۔ ہمارے ساتھ شامل ہونے کا خیرمقدم کرتے ہیں۔ اس کے بعد ، آپ ٹیم لیڈر کا وی چیٹ شامل کرسکتے ہیں: fmz_zhangchao ، جواب Binance ، اور ہم آپ کو وی چیٹ گروپ میں شامل ہونے کی دعوت دیں گے۔

بائننس چیمپئن شپ کے لئے تیار کردہ حکمت عملی فراہمی کے معاہدے کی تتلی ہیجنگ ہے۔ یہ مضمون حکمت عملی کی تحقیقاتی رپورٹ ہے۔ توجہ: حکمت عملی صرف حوالہ کے لئے ہیں۔ آپ اس بنیاد پر اصلاح کے ل your اپنے خیالات پیش کرسکتے ہیں۔ آپ کا اشتراک کرنے کا بھی خیرمقدم ہے۔ رپورٹ کو براہ راست ایف ایم زیڈ کی ویب سائٹ کے تحقیقی ماحول میں استعمال کیا جاسکتا ہے (ڈاؤن لوڈ کرنے کے لئے اوپری دائیں کونے پر کلک کریں ، اور تجزیہ میں اپ لوڈ کریں) ۔

img

1. اسٹریٹجک وجوہات

ہیجنگ کو مستحکم قیمت کا فرق تلاش کرنے کی ضرورت ہے۔ جب قیمت کا فرق بہت بڑا ہو تو ، قیمت کا فرق مختصر کرنا۔ جب قیمت کا فرق بہت چھوٹا ہو تو ، قیمت کا فرق طویل ہوجائیں۔ جب قیمت کا فرق پوزیشن کو بند کرنے کے لئے واپس آجائے تو ، آپ قیمت کا فرق کمائیں گے۔ اگر فیوچر اور اسپاٹ ہیجنگ کر رہے ہیں تو ، جب ناقابل فراہمی فیوچر کی قیمت اسپاٹ قیمت سے بہت زیادہ ہو تو ، آپ فیوچر کنٹریکٹ کو مختصر کرسکتے ہیں اور قیمت کے فرق کو مختصر کرنے کے لئے اسپاٹ قیمت کو طویل کرسکتے ہیں۔ مختلف ترسیل کے اوقات کے ساتھ معاہدوں کے مابین وقتی ہیجنگ بھی ہیں ، فیوچر اور اسپاٹ ہیجنگ کے ساتھ ، وہ قیمت کے فرق کو بھی طویل کرسکتے ہیں۔ فیوچر اور اسپاٹ اور کراس فیوچر شدید مقابلہ کے ساتھ عام حکمت عملی ہیں۔ جب مارکیٹ نہیں ہوتی ہے تو ، قیمت کا فرق نسبتا stable مستحکم ہوتا ہے۔ اگرچہ یہ ایک طویل مدتی مارکیٹ ہوسکتا ہے ، بہت کم مواقع ہیں ، اور دستی آپریشن بھی دیکھ رہا ہے۔ چونکہ وہ سبھی فرق ہیں ، جب قیمت کی قیمت کا موازنہ کیا جاتا ہے

2. حکمت عملی کے اصول

بائننس کرنسی کے معیاری معاہدوں ، جیسے بی ٹی سی اور ای ٹی ایچ ، میں ایک ہی وقت میں تین معاہدے ہوتے ہیں ، یعنی ، مستقل بی ٹی سی یو ایس ڈی_ پی ای آر پی ، موجودہ سہ ماہی کا بی ٹی سی یو ایس ڈی_200925 ، اگلے سہ ماہی کا بی ٹی سی یو ایس ڈی_ 201225۔ مستقل معاہدوں کو اسپاٹ کے طور پر استعمال کیا جاسکتا ہے۔ عام طور پر ، دو معاہدوں کی ہیجنگ کے لئے تین قیمت کے فرق ہوتے ہیں: موجودہ سہ ماہی مستقل ، اگلی سہ ماہی مستقل ، اور اگلی سہ ماہی موجودہ سہ ماہی۔ تیتلی ثالثی کے لئے تین معاہدوں کی ضرورت ہوتی ہے۔ فرق (اگلی سہ ماہی - موجودہ سہ ماہی) - (موجودہ سہ ماہی - مستقل) ہے ، یعنی ، فرق = اگلی سہ ماہی + مستقل - 2 * موجودہ سہ ماہی کی قیمت۔ فرق کو طویل کرنے کے ل you ، آپ کو اگلی سہ ماہی اور مستقل معاہدوں کے لئے ایک طویل پوزیشن کا معاہدہ کھولنے کی ضرورت ہے ، اور موجودہ سہ ماہی کے لئے دو مختصر معاہدوں کی ضرورت ہے۔

3. ہیجنگ اسپیس

میں نے بائننس کی 5 منٹ کی لائن کے اعداد و شمار کو 14 اگست سے 14 ستمبر تک کراؤ کیا ہے ، جسے براہ راست پڑھا جاسکتا ہے (وقت کے فرق کی وجہ سے ، دکھایا گیا وقت کا فرق 8h ہے) ۔

[4] میں:

# Libraries to be imported
import pandas as pd
import requests
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import time
%matplotlib inline

میں [12]:

#Read the data, you can also upload the data to the FMZ forum, which can be referenced in the "Analyze" directly
df = pd.read_csv('https://www.fmz.com/upload/asset/1420b2081ecd122522d.csv',index_col = 0)
df.index = pd.to_datetime(df.index)
df.tail(3)

آؤٹ [1]:

img

سب سے پہلے ، آئیے بٹ کوائن معاہدوں کے مابین قیمت کے فرق پر ایک نظر ڈالیں۔ 17 اگست کو ، بٹ کوائن کی قیمت میں تیزی سے 500u کا اضافہ ہوا۔ عام طور پر ، سپلائی شدہ معاہدہ اسپاٹ قیمت کے مقابلے میں پریمیم پر تھا ، اور اسپاٹ قیمت میں اضافہ ہوا۔ مستقبل کی توقع زیادہ پرامید ہوگی۔ ناقابل تسلی بخش معاہدے اور دائمی کے درمیان قیمت کا فرق زیادہ ہو جائے گا۔ مثال کے طور پر ، اگلی سہ ماہی اور دائمی کے درمیان قیمت کا فرق 700u ہوگا۔ ستمبر میں بٹ کوائن کی قیمت میں کمی کے ساتھ ، لوگوں کی توقعات تیزی سے خراب ہو جائیں گی ، اگلی سہ ماہی اور دائمی کے درمیان قیمت کا فرق تقریبا 150u تک گر گیا ، اور موجودہ سہ ماہی اور دائمی کے درمیان قیمت کا فرق تقریبا almost کوئی نہیں تھا۔ اگر اگلی سہ ماہی اور دائمی کے درمیان ہیجنگ کی گئی تو ، صرف طویل مدتی قیمت کی واپسی ہی کی جاسکتی ہے۔ اگر اگست میں 400-600 کے درمیان فرق کو انجام دینے کا فیصلہ کیا گیا تو ، اب ظاہر ہے کہ یہ ایک ریاست میں مقفل ہے۔

[18] میں:

#Perpetual price
df['BTCUSD_PERP'].dropna().plot(figsize=(15,6),grid=True);

باہر [1]:

img

[15] میں:

# Price difference of next quarter - perpetual
(df['BTCUSD_201225']-df['BTCUSD_PERP']).dropna().plot(figsize=(15,6),grid=True);

باہر[15]:

img

[16] میں:

# Price difference of current quarter - perpetual
(df['BTCUSD_200925']-df['BTCUSD_PERP']).dropna().plot(figsize=(15,6),grid=True);

باہر[16]:

img

[17] میں:

# Price difference of next quarter - current quarter
(df['BTCUSD_201225']-df['BTCUSD_200925']).dropna().plot(figsize=(15,6),grid=True);

باہر [1]:

img

تو اس وقت قیمت کا فرق کیسے بدلتا ہے؟ جیسا کہ نیچے دیئے گئے اعداد و شمار سے دیکھا جاسکتا ہے ، حالیہ قیمت کا فرق ایک طویل عرصے سے 100-200u پر مستحکم رہا ہے۔ یہاں تک کہ ستمبر کے آغاز میں شدید کمی نے بھی زیادہ اثر نہیں ڈالا ، جس سے ہمیں بار بار ثالثی کے لئے بہت زیادہ گنجائش ملتی ہے۔ فی الحال ، اگر قیمت کا فرق 100u تک گر جاتا ہے تو ، دستی طور پر طویل عرصے تک جانا ٹھیک ہے۔

جب اسپاٹ قیمت میں اتار چڑھاؤ ہوتا ہے تو ، دونوں غیر ختم ہونے والے معاہدوں میں ایک ہی وقت میں مستقبل کی توقع کی عکاسی ہوتی ہے۔ قیمت کے فرق کو کم کرنے کا عمل اس اتار چڑھاو کو بڑی حد تک معاوضہ دے سکتا ہے ، اور کارکردگی نسبتا stable مستحکم ہے۔ ای ٹی ایچ کا تیتلی ثالثی پھیلاؤ اسی طرح کی کارکردگی کا مظاہرہ کرتا ہے۔

[19] میں:

#(next quarter - current quarter)-(current quarter - perpetual)
(df['BTCUSD_201225']-df['BTCUSD_200925']-(df['BTCUSD_200925']-df['BTCUSD_PERP'])).dropna().plot(figsize=(15,6),grid=True);

باہر [1]:

img

[22] میں:

#The price difference of ETH
(df['ETHUSD_201225']+df['ETHUSD_PERP']-2*df['ETHUSD_200925']).dropna().plot(figsize=(15,6),grid=True);

باہر[22]:

img

4. حکمت عملی کا بیک ٹسٹ

وقت کی بچت (صرف تنگی) کے لئے ، بیک ٹیسٹ اب بھی آخری بائننس چیمپئن شپ حکمت عملی کے یو ایس ڈی ٹی معیاری انجن کا استعمال کرتا ہے۔ اگرچہ کچھ غلطیاں ہوسکتی ہیں ، لیکن یہ مسئلے کی وضاحت بھی کرسکتی ہے۔ بیک ٹیسٹنگ انجن اس رپورٹ کے آخر میں رکھا گیا ہے۔ کوڈ چلانے پر ، آپ کو مضمون کا اختتام دیکھنا چاہئے۔ اگر آپ یو ایس ڈی ٹی کمانا چاہتے ہیں تو کرنسی کی معیاری حکمت عملی ہیجنگ پر غور کرسکتی ہے ، اور یہ پیچیدہ نہیں ہے۔

قیمت کے فرق کی وسط لائن کو ای ایم اے کے ذریعہ ٹریک کیا جاتا ہے ، اور پوزیشن کو گرڈ کے ذریعہ کنٹرول کیا جاتا ہے ، یعنی ، جب بھی فرق کھولا جاتا ہے (جیسے 30) ، N حصص کو مختصر کریں ، اور اس کے برعکس۔ اگر قیمت کے فرق کی وسط لائن 100u ہے ، جب قیمت کا فرق 90 ہے تو ، 3 حصص کو مختصر کریں ، اور قیمت کا فرق 60 ہوجاتا ہے۔ ایک شیئر بند کریں۔ گرڈ کا سائز ایک اہم پیرامیٹر ہے۔

مندرجہ ذیل مخصوص بی ٹی سی اور ای ٹی ایچ بیک ٹیسٹنگ کوڈز اور نتائج ہیں۔ کارکردگی توقعات کے مطابق ہے۔ چونکہ ای ٹی ایچ اور لنک میں زیادہ اتار چڑھاؤ ہے اور قیمت کا فرق زیادہ مستحکم ہے ، لہذا کارکردگی بہتر ہے۔ نوٹ کریں کہ یہاں سروس چارج 0.02٪ ہے ، اور بائننس میں ڈیفالٹ وی آئی پی 0 لینے والے سروس چارج 0.04٪ ہے۔ سروس چارج بہت اہم ہے ، اور مندرجہ ذیل ابواب اس کا تجزیہ کریں گے۔

[39] میں:

trade_symbols = ['BTCUSD_201225', 'BTCUSD_200925', 'BTCUSD_PERP']
account = []
diff = df['BTCUSD_201225']+df['BTCUSD_PERP']-2*df['BTCUSD_200925']
diff_mean = diff.ewm(alpha=0.001).mean()
e = Exchange(trade_symbols,initial_balance=10000,taker_fee=0.0002)
for row in df[trade_symbols].dropna().iterrows():
    date = row[0]
    prices = row[1]
    e.Update(date, trade_symbols, prices)
    account.append([e.account['USDT']['margin'],e.account['USDT']['realised_profit']+e.account['USDT']['unrealised_profit']])
    aim_amount = -round((diff[date] - diff_mean[date])/30,1)
    now_amount = e.account['BTCUSD_PERP']['amount']
    if aim_amount - now_amount < -1:
        trade_amount = now_amount - aim_amount
        e.Buy('BTCUSD_200925',prices['BTCUSD_200925'],2*trade_amount)
        e.Sell('BTCUSD_201225',prices['BTCUSD_201225'],trade_amount)
        e.Sell('BTCUSD_PERP',prices['BTCUSD_PERP'],trade_amount)
    if aim_amount - now_amount > 1:
        trade_amount = aim_amount - now_amount
        e.Sell('BTCUSD_200925',prices['BTCUSD_200925'],2*trade_amount)
        e.Buy('BTCUSD_201225',prices['BTCUSD_201225'],trade_amount)
        e.Buy('BTCUSD_PERP',prices['BTCUSD_PERP'],trade_amount)
    
e.df = pd.DataFrame(index=df[trade_symbols].dropna().index,columns=['margin','profit'],data=account)
e.df['profit'].plot(figsize=(15,6),grid=True);

باہر [1]:

img

[59] میں:

symbol = 'ETH'
trade_symbols = [symbol+'USD_201225', symbol+'USD_200925', symbol+'USD_PERP']
fee = 0.0002
account = []
diff = df[trade_symbols[0]]+df[trade_symbols[2]]-2*df[trade_symbols[1]]
diff_mean = diff.ewm(alpha=0.001).mean()
e = Exchange(trade_symbols,initial_balance=10000,taker_fee=fee)
for row in df[trade_symbols].dropna().iloc[30:].iterrows():
    date = row[0]
    prices = row[1]
    e.Update(date, trade_symbols, prices)
    account.append([e.account['USDT']['margin'],e.account['USDT']['realised_profit']+e.account['USDT']['unrealised_profit']])
    aim_amount = -round((diff[date] - diff_mean[date])/(15*prices[trade_symbols[2]]*fee),1)
    now_amount = e.account[trade_symbols[2]]['amount']
    if aim_amount - now_amount < -1:
        trade_amount = 1
        e.Buy(trade_symbols[1],prices[trade_symbols[1]],2*trade_amount)
        e.Sell(trade_symbols[0],prices[trade_symbols[0]],trade_amount)
        e.Sell(trade_symbols[2],prices[trade_symbols[2]],trade_amount)
    if aim_amount - now_amount > 1:
        trade_amount = 1
        e.Sell(trade_symbols[1],prices[trade_symbols[1]],2*trade_amount)
        e.Buy(trade_symbols[0],prices[trade_symbols[0]],trade_amount)
        e.Buy(trade_symbols[2],prices[trade_symbols[2]],trade_amount)
e.df = pd.DataFrame(index=df[trade_symbols].dropna().iloc[30:].index,columns=['margin','profit'],data=account)
e.df['profit'].plot(figsize=(15,6),grid=True);

آؤٹ [59]:

img

[60] میں:

symbol = 'LINK'
trade_symbols = [symbol+'USD_201225', symbol+'USD_200925', symbol+'USD_PERP']
fee = 0.0002
account = []
diff = df[trade_symbols[0]]+df[trade_symbols[2]]-2*df[trade_symbols[1]]
diff_mean = diff.ewm(alpha=0.001).mean()
e = Exchange(trade_symbols,initial_balance=10000,taker_fee=fee)
for row in df[trade_symbols].dropna().iloc[30:].iterrows():
    date = row[0]
    prices = row[1]
    e.Update(date, trade_symbols, prices)
    account.append([e.account['USDT']['margin'],e.account['USDT']['realised_profit']+e.account['USDT']['unrealised_profit']])
    aim_amount = -round((diff[date] - diff_mean[date])/(15*prices[trade_symbols[2]]*fee),1)
    now_amount = e.account[trade_symbols[2]]['amount']
    if aim_amount - now_amount < -1:
        trade_amount = 1
        e.Buy(trade_symbols[1],prices[trade_symbols[1]],2*trade_amount)
        e.Sell(trade_symbols[0],prices[trade_symbols[0]],trade_amount)
        e.Sell(trade_symbols[2],prices[trade_symbols[2]],trade_amount)
    if aim_amount - now_amount > 1:
        trade_amount = 1
        e.Sell(trade_symbols[1],prices[trade_symbols[1]],2*trade_amount)
        e.Buy(trade_symbols[0],prices[trade_symbols[0]],trade_amount)
        e.Buy(trade_symbols[2],prices[trade_symbols[2]],trade_amount)
e.df = pd.DataFrame(index=df[trade_symbols].dropna().iloc[30:].index,columns=['margin','profit'],data=account)
e.df['profit'].plot(figsize=(15,6),grid=True);

باہر[60]:

img

5.کمشن حساسیت

چونکہ ایک ہی وقت میں 3 معاہدوں کو چلانے کی ضرورت ہے ، لہذا کھلنے کے بعد پوزیشن کو بند کرنے کے لئے 8 سروس چارجز کی ضرورت ہوتی ہے ، لہذا سروس چارجز کا حکمت عملی پر بہت اثر پڑتا ہے۔ اگر 0.01٪ کی سروس چارج ہے تو ، قیمت کے فرق کے گرڈ کے مابین فرق کو مزید کم کیا جاسکتا ہے۔ بی ٹی سی کی بیک ٹیسٹنگ کے نتائج مندرجہ ذیل شبیہہ میں دکھائے گئے ہیں:

img

اگر کمیشن 0.03٪ ہے تو ، بی ٹی سی بیک ٹیسٹ کے نتائج مندرجہ ذیل ہیں:

img

ETH کے بیک ٹیسٹ کے نتائج:

img

نئے رجسٹرڈ صارفین کے لئے وی آئی پی 0 کی وصول کنندہ شرح 0.0004 ہے ، دعوت دینے کے پہلے مہینے میں 10٪ کم کی جائے گی ، 30٪ واپس کردی جائے گی ، اور بی این بی کی کھپت کے لئے 10٪ کم کی جائے گی۔ اس طرح ، حتمی ہینڈلنگ فیس 0.0002268 ہے۔ بائننس ڈیلیوری کنٹریکٹ کی حالیہ بڑی ٹرانزیکشن رقم کے لئے بھی براہ راست انعام ہوگا۔ اس کے علاوہ ، بل کا ایک حصہ رکھا جاسکتا ہے اور بل کا ایک حصہ لیا جاسکتا ہے ، اور حتمی جامع شرح کو 0.02٪ تک کم کیا جاسکتا ہے۔ اس کے علاوہ ، ایف ایم زیڈ کے عہدیدار بائننس کے ساتھ سروس چارج ڈسکاؤنٹ کے معاملے پر بھی تبادلہ خیال کر رہے ہیں۔ آپ اس کے منتظر رہ سکتے ہیں۔

خلاصہ

ثالثی کا مقصد مستحکم قیمت کا فرق تلاش کرنا ہے۔ قیمت کے فرق کا قیمت کا فرق زیادہ مستحکم ہے۔ لہذا ، تتلی ثالثی کراس مدت اور مستقبل کے مقام سے بہت کم خطرناک ہے ، اور اسے دستی طور پر بھی چلایا جاسکتا ہے۔ یہ حکمت عملی صرف تعارف کے طور پر کام کرتی ہے۔ اصلی بوٹ میں لکھتے وقت بہت سارے معاملات پر غور کرنے کی ضرورت ہے۔ آپ سب کو بات چیت کرنے کا خیرمقدم کرتے ہیں۔

[23] میں:

class Exchange:
    
    def __init__(self, trade_symbols, leverage=20, maker_fee=0.0002,taker_fee=0.0004,log='',initial_balance=10000):
        self.initial_balance = initial_balance #Initial assets
        self.taker_fee = taker_fee
        self.maker_fee = maker_fee
        self.leverage = leverage
        self.trade_symbols = trade_symbols
        self.date = ''
        self.log = log
        self.df = pd.DataFrame()
        self.account = {'USDT':{'realised_profit':0, 'margin':0, 'unrealised_profit':0, 
                                'total':initial_balance, 'leverage':0, 'fee':0,'maker_fee':0,'taker_fee':0}}
        for symbol in trade_symbols:
            self.account[symbol] = {'amount':0, 'hold_price':0, 'value':0, 'price':0, 'realised_profit':0,
                                    'margin':0, 'unrealised_profit':0,'fee':0}
            
    def Trade(self, symbol, direction, price, amount, msg='', maker=True):
        
        if (self.date and symbol == self.log) or self.log == 'all':
            print('%-26s%-15s%-5s%-10.8s%-8.6s %s'%(str(self.date)[:24], symbol, 'buy' if direction == 1 else 'sell', price, amount, msg))

        cover_amount = 0 if direction*self.account[symbol]['amount'] >=0 else min(abs(self.account[symbol]['amount']), amount)
        open_amount = amount - cover_amount
        if maker:
            self.account['USDT']['realised_profit'] -= price*amount*self.maker_fee #Deduct service charge
            self.account['USDT']['maker_fee'] += price*amount*self.maker_fee
            self.account['USDT']['fee'] += price*amount*self.maker_fee
            self.account[symbol]['fee'] += price*amount*self.maker_fee
        else:
            self.account['USDT']['realised_profit'] -= price*amount*self.taker_fee #Deduct service charge
            self.account['USDT']['taker_fee'] += price*amount*self.taker_fee
            self.account['USDT']['fee'] += price*amount*self.taker_fee
            self.account[symbol]['fee'] += price*amount*self.taker_fee

        
        
        if cover_amount > 0: #Close the position first
            self.account['USDT']['realised_profit'] += -direction*(price - self.account[symbol]['hold_price'])*cover_amount  #Profit
            self.account['USDT']['margin'] -= cover_amount*self.account[symbol]['hold_price']/self.leverage #Release margin
            
            self.account[symbol]['realised_profit'] += -direction*(price - self.account[symbol]['hold_price'])*cover_amount
            self.account[symbol]['amount'] -= -direction*cover_amount
            self.account[symbol]['margin'] -=  cover_amount*self.account[symbol]['hold_price']/self.leverage
            self.account[symbol]['hold_price'] = 0 if self.account[symbol]['amount'] == 0 else self.account[symbol]['hold_price']
            
        if open_amount > 0:
            total_cost = self.account[symbol]['hold_price']*direction*self.account[symbol]['amount'] + price*open_amount
            total_amount = direction*self.account[symbol]['amount']+open_amount
            
            self.account['USDT']['margin'] +=  open_amount*price/self.leverage            
            self.account[symbol]['hold_price'] = total_cost/total_amount
            self.account[symbol]['amount'] += direction*open_amount
            self.account[symbol]['margin'] +=  open_amount*price/self.leverage
            
        self.account[symbol]['unrealised_profit'] = (price - self.account[symbol]['hold_price'])*self.account[symbol]['amount']
        self.account[symbol]['price'] = price
        self.account[symbol]['value'] = abs(self.account[symbol]['amount'])*price
        
    
    def Buy(self, symbol, price, amount, msg='', maker=False):
        self.Trade(symbol, 1, price, amount, msg, maker)
        
    def Sell(self, symbol, price, amount, msg='', maker=False):
        self.Trade(symbol, -1, price, amount, msg,maker)
        

    def Update(self, date, symbols, close_price): #Update the assets
        self.date = date
        self.close = close_price
        self.account['USDT']['unrealised_profit'] = 0
        for symbol in symbols:
            self.account[symbol]['unrealised_profit'] = (close_price[symbol] - self.account[symbol]['hold_price'])*self.account[symbol]['amount']
            self.account[symbol]['price'] = close_price[symbol]
            self.account[symbol]['value'] = abs(self.account[symbol]['amount'])*close_price[symbol]
            
            self.account['USDT']['unrealised_profit'] += self.account[symbol]['unrealised_profit']
        self.account['USDT']['total'] = round(self.account['USDT']['realised_profit'] + self.initial_balance + self.account['USDT']['unrealised_profit'],6)
        self.account['USDT']['leverage'] = round(self.account['USDT']['margin']*self.leverage/self.account['USDT']['total'],4)

[ ] میں:


متعلقہ

مزید