avatar of 发明者量化-小小梦 发明者量化-小小梦
پر توجہ دیں نجی پیغام
4
پر توجہ دیں
1271
پیروکار

آؤٹ آف دی باکس ڈیجیٹل کرنسی کے اختیارات مقداری تجارتی ٹول

میں تخلیق کیا: 2019-12-27 17:35:30, تازہ کاری: 2023-10-17 21:26:52
comments   0
hits   2907

آؤٹ آف دی باکس ڈیجیٹل کرنسی کے اختیارات مقداری تجارتی ٹول

آؤٹ آف دی باکس ڈیجیٹل کرنسی کے اختیارات مقداری تجارتی ٹول

1. ڈیجیٹل کرنسی کے اختیارات کی مقداری اور پروگرام شدہ تجارت

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

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

2. مقامی پروگرامنگ زبان کا استعمال کرتے ہوئے براہ راست ڈیریبٹ ایکسچینج تک رسائی حاصل کریں۔

آئیے مثال کے طور پر ڈیریبٹ ایکسچینج کے اختیارات کے معاہدے کو لیتے ہیں، ہم موجودہ اختیارات کے معاہدے کی انڈیکس قیمت حاصل کرنا چاہتے ہیں۔

Go میں لاگو کیا گیا:

package main 

import "net/http"
import "io/ioutil"
import "fmt"
import "encoding/json"



func main() {
    // 获取行情, 访问接口:https://www.deribit.com/api/v2/public/ticker?instrument_name=BTC-27DEC19-7250-P

    resp, err := http.Get("https://www.deribit.com/api/v2/public/ticker?instrument_name=BTC-27DEC19-7250-P")
    if err != nil {
        panic(err)
    }

    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    ret := string(body)
    fmt.Println("这只是字符串数据ticker:", ret)
    fmt.Println("需要转换为JSON格式") 

    type js struct {
        data interface{}
    }

    ticker := new(js)

    json.Unmarshal([]byte(ret), &ticker.data)

    fmt.Println("ticker:", ticker) 
    fmt.Println("ticker 中的标记价格数据index_price:", ticker.data.(map[string]interface{})["result"].(map[string]interface{})["index_price"])
}

آؤٹ آف دی باکس ڈیجیٹل کرنسی کے اختیارات مقداری تجارتی ٹول

آپ دیکھ سکتے ہیں کہ اس ڈیٹا کو حاصل کرنے کے لیے بہت سارے کوڈ لکھے گئے تھے۔

3. موجد مقداری تجارتی پلیٹ فارم کی طرف سے شامل انٹرفیس کا استعمال کریں۔

ہم اسے صرف دو جملوں میں کرنے کے لیے FMZ استعمال کرتے ہیں۔

function main() {
    exchange.IO("base", "https://test.deribit.com")   # 切换为 交易所提供的模拟盘
    exchange.SetContractType("BTC-3JAN20-7250-P")     # 设置期权合约
    var ticker = exchange.GetTicker()                 # 获取期权行情
    Log(ticker.Info.result.index_price)               # 打印需要的数据,观察
}

آؤٹ آف دی باکس ڈیجیٹل کرنسی کے اختیارات مقداری تجارتی ٹول

جیسا کہ آپ دیکھ سکتے ہیں، کوڈ کی صرف چند لائنوں کے ساتھ، مطلوبہ ڈیٹا حاصل کرنا بہت آسان ہے۔

یہ صرف ایکسچینج کے غیر دستخط شدہ عوامی API انٹرفیس تک رسائی حاصل کرنا ہے دستخط شدہ نجی انٹرفیس تک رسائی زیادہ پیچیدہ ہوگی۔

ہر انٹرفیس کو بہت سارے دستخط، پیرامیٹر اور دیگر پروسیسنگ کرنے کی بھی ضرورت ہے:

        strBody := ""
	strQuery := ""
	ts := toString(time.Now().UnixNano() / 1e6)
	nonce := toString(time.Now().UnixNano() / 1e6)
	uri := resource
	if httpMethod == "GET" {
		strQuery = encodeParams(params, false)
		uri = fmt.Sprintf("%s?%s", resource, strQuery)
	} else if httpMethod == "POST" {
		if len(raw) > 0 && len(raw[0]) > 0 {
			strBody = raw[0]
		} else {
			strBody = json_encode(params)
		}
	}

	strRequestDate := fmt.Sprintf("%s\n%s\n%s\n", httpMethod, uri, strBody)
	strToSign := fmt.Sprintf("%s\n%s\n%s", ts, nonce, strRequestDate)
	h := hmac.New(sha256.New, []byte(p.secretKey))
	h.Write([]byte(strToSign))
	strSign := hex.EncodeToString(h.Sum(nil))

	req := Request{
		Method:  httpMethod,
		Uri:     fmt.Sprintf("%s%s", p.apiBase, uri),
		Timeout: p.timeout,
		Body:    strBody,
	}

4. مزید پیچیدہ تقاضے اور افعال

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

function main(){
    exchange.IO("base", "https://test.deribit.com")
    exchange.SetContractType("BTC-27DEC19-7250-P")
    while(1){
        var records = exchange.GetRecords()
        Log(records)
        $.PlotRecords(records, "K")
        Sleep(1000)
    }
}

پلیٹ فارم کی طرف سے فراہم کردہ ٹیمپلیٹ لائبریری “ڈرائنگ لائن لائبریری” کا استعمال کرتے ہوئے، K-لائن چارٹ بنانا بہت آسان ہے: آؤٹ آف دی باکس ڈیجیٹل کرنسی کے اختیارات مقداری تجارتی ٹول

دریافت کرنے اور تیار کرنے کے لیے اور بھی بہت سی خصوصیات ہیں!

5. پوسٹ اسکرپٹ

اگر آپ اسے لاگو کرنے کے لیے اوپر کی طرح گو لینگویج (یا ازگر وغیرہ) استعمال کرتے ہیں، تو نئے طلباء کی براہ راست حوصلہ شکنی کی جا سکتی ہے >_< ڈیریبٹ کے اختیارات پر نمونہ حکمت عملی کے لیے، دیکھیں: https://www.fmz.com/strategy/179475