[TOC] میں نے 2020 میں ایک مضمون لکھا تھا جس میں ہائی فریکوئینسی کی حکمت عملی کے بارے میں بتایا گیا تھا، اور میں نے اس کے بارے میں لکھا تھا کہ ہائی فریکوئینسی کی حکمت عملی کے بارے میں کیا خیال ہے؟https://www.fmz.com/digest-topic/6228◄ اگرچہ بہت زیادہ توجہ ملی ہے ، لیکن یہ گہرائی میں نہیں لکھا گیا ہے۔ وقت گزر گیا ، دو سال سے زیادہ ، اور مارکیٹ میں بھی تبدیلی آئی ہے۔ اس مضمون کے بعد ، میری ہائی فریکوئنسی حکمت عملی ایک طویل عرصے تک مستحکم آمدنی کرتی رہی ، لیکن آہستہ آہستہ منافع میں کمی واقع ہوئی ، یا ایک بار بھی رک گئی۔ حالیہ مہینوں میں اس میں ایک بار پھر کوشش کی گئی ہے ، اور اس وقت تھوڑا سا پیسہ کمایا جاسکتا ہے۔ یہ مضمون میری ہائی فریکوئنسی حکمت عملی کے خیالات اور کچھ آسان کوڈ کے بارے میں مزید تفصیل سے بتائے گا ، جو ایک اہم کردار ادا کرتا ہے۔ آپ کی رائے کا تبادلہ کرنے کا خیرمقدم کرتے ہیں۔
واپسی کمیشن والے اکاؤنٹس ، مثال کے طور پر ، فی الحال بنانے والا واپسی کمیشن ایک لاکھ میں سے پانچ ہے ، اگر روزانہ کی ٹرانزیکشن کی رقم 100 ملین یو ہے تو ، واپسی کمیشن 5000 یو ہے۔ یقینا taker بھی وی آئی پی کی شرح پر مبنی ہے ، لہذا اگر حکمت عملی کو کھانے کی ضرورت نہیں ہے تو ، وی آئی پی کی درجہ بندی کا اعلی تعدد کی حکمت عملی پر زیادہ اثر نہیں پڑتا ہے۔ عام طور پر تبادلوں میں مختلف درجہ بندی اور مختلف واپسی کمیشن کی شرح بھی ہوتی ہے ، جس کی وجہ سے اعلی ٹرانزیکشن کی مقدار کو برقرار رکھنے کی ضرورت ہوتی ہے۔ بہت پہلے جب کچھ کرنسیوں کی مارکیٹ میں اتار چڑھاؤ ہوتا تھا تو ، واپسی کمیشن بھی منافع بخش نہیں ہوتا تھا ، اندرونی حجم میں اضافے کے ساتھ ، واپسی منافع کا ایک بڑا حصہ بنتی ہے ، اور یہاں تک کہ مکمل طور پر واپسی کمیشن پر بھی انحصار کرتی ہے ، اعلی تعدد کے تاجروں کو اعلی فیسوں کا پیچھا کرنا پڑتا ہے۔
تیز رفتار؛ ہائی فریکوئنسی پالیسی کو تیز رفتار کی وجہ سے ہائی فریکوئنسی کہا جاتا ہے۔ ایکسچینج کلو سرور میں شمولیت ، کم سے کم تاخیر اور سب سے زیادہ مستحکم کنکشن حاصل کرنے کے لئے بھی اندرونی ورژن کی ایک شرط ہے۔ حکمت عملی کا اندرونی وقت بھی کم سے کم ہونا چاہئے۔
مناسب مارکیٹ؛ ہائی فریکوئنسی ٹریڈنگ کو مقداری تجارت کا موتی کہا جاتا ہے۔ مجھے یقین ہے کہ بہت سارے منظم تاجروں نے کوشش کی ہے ، لیکن زیادہ تر لوگوں کو اس وجہ سے رکنا چاہئے کہ وہ پیسہ نہیں کماتے ہیں اور بہتری کی کوئی سمت نہیں ڈھونڈ سکتے ہیں۔ حکمت عملی کے ابتدائی مرحلے میں نسبتا easy آسان مارکیٹ تلاش کرنا چاہئے۔ پیسہ کمانے کے لئے تجارت کرنا ، تاکہ منافع بخش فائدہ ہو اور اس میں بہتری کی رائے بھی ہو ، جو حکمت عملی کی ترقی کے لئے موزوں ہو۔ اگر شروع سے ہی سب سے زیادہ مسابقتی مارکیٹ میں ، بہت سارے ممکنہ حریفوں کے ساتھ مقابلہ کرتے ہوئے ، کوشش کرنے سے جلد ہی نقصان ہوتا ہے تو ، جلدی ہی اس پر قائم نہیں رہ سکتے ہیں۔ میں نئے مستقل معاہدے کے جوڑے کی سفارش کرتا ہوں ، جب حریف اتنے زیادہ نہیں ہوتے ہیں ، خاص طور پر نسبتا large بڑی تجارت ، جب پیسہ کمانا آسان ہوتا ہے۔ بی ٹی سی اور ای ٹی ایچ کی تجارت کا سب سے بڑا حجم ، سب سے زیادہ فعال ہے ، لیکن زندہ رہنا بھی مشکل ہے۔
مقابلہ کا سامنا کرنا پڑتا ہے۔ کسی بھی تجارت کی مارکیٹ متحرک ہوتی ہے ، تجارت کی حکمت عملی ہمیشہ کے لئے ایک بار نہیں ہوسکتی ہے ، ہائی فریکوئنسی ٹریڈنگ زیادہ واضح ہے ، اس مارکیٹ میں داخل ہونے سے براہ راست سب سے زیادہ ذہین ، سب سے زیادہ محنتی تاجروں کے ساتھ مقابلہ کرنا پڑتا ہے۔ صفر اور گیمنگ والے مارکیٹ میں ، آپ کی زیادہ رقم دوسروں کی رقم کے برابر ہوتی ہے۔ داخل ہونے میں جتنی دیر ہوتی ہے ، مشکل اتنی ہی زیادہ ہوتی ہے ، جو مارکیٹ میں پہلے سے ہی بہتر ہوتی رہتی ہے ، کسی بھی وقت ختم ہوسکتی ہے۔ تین یا چار سال پہلے بہترین موقع ہونا چاہئے تھا ، حال ہی میں ڈیجیٹل کرنسی مارکیٹ میں مجموعی طور پر سرگرمی میں کمی واقع ہوئی ہے ، اب نئے آنے والوں سے ہائی فریکوئنسی ٹریڈنگ کرنا بہت مشکل ہو گیا ہے۔
ہائی فریکوئنسی کی حکمت عملی مختلف ہوتی ہے
میری حکمت عملی رجحانات اور مارکیٹرز کا ایک مجموعہ ہے ، پہلے رجحانات کا تعین کریں ، پھر آرڈر کریں ، اور فوری طور پر فروخت کریں ، اسٹاک کی پوزیشنوں کو برقرار نہ رکھیں ، ذیل میں مشترکہ حکمت عملی کا کوڈ متعارف کرایا گیا ہے۔
مندرجہ ذیل کوڈ بائنن کے مستقل معاہدوں پر مبنی فن تعمیر ہے ، جس میں بنیادی طور پر ویب ساکٹ کی گہرائی کی گہرائی میں آرڈر کی فراہمی کی خریداری ہوتی ہے ، اور پوزیشن کی پوزیشن کی معلومات۔ چونکہ مارکیٹ اور اکاؤنٹ کی معلومات الگ الگ خریداری کی جاتی ہیں ، لہذا تازہ ترین معلومات تک رسائی کا فیصلہ کرنے کے لئے مستقل طور پر پڑھنے کی ضرورت ہوتی ہے ، یہاں ایونٹ لوپ (ایونٹ لوپ) 1000 کا استعمال کیا گیا ہے ، جس سے براہ راست موت کے حلقوں سے گریز کیا جاتا ہے ، نظام کا بوجھ کم ہوتا ہے۔ ایونٹ لوپ (ایونٹ لوپ) 1000 کو واٹس ایپ یا بیک وقت ٹاسک واپس بھیجنے میں رک جاتا ہے ، جب 1000ms سے زیادہ ہوتا ہے۔
var datastream = null
var tickerstream = null
var update_listenKey_time = 0
function ConncetWss(){
if (Date.now() - update_listenKey_time < 50*60*1000) {
return
}
if(datastream || tickerstream){
datastream.close()
tickerstream.close()
}
//需要APIKEY
let req = HttpQuery(Base+'/fapi/v1/listenKey', {method: 'POST',data: ''}, null, 'X-MBX-APIKEY:' + APIKEY)
let listenKey = JSON.parse(req).listenKey
datastream = Dial("wss://fstream.binance.com/ws/" + listenKey + '|reconnect=true', 60)
//Symbols是设定的交易对
let trade_symbols_string = Symbols.toLowerCase().split(',')
let wss_url = "wss://fstream.binance.com/stream?streams="+trade_symbols_string.join(Quote.toLowerCase()+"@aggTrade/")+Quote.toLowerCase()+"@aggTrade/"+trade_symbols_string.join(Quote.toLowerCase()+"@depth20@100ms/")+Quote.toLowerCase()+"@depth20@100ms"
tickerstream = Dial(wss_url+"|reconnect=true", 60)
update_listenKey_time = Date.now()
}
function ReadWss(){
let data = datastream.read(-1)
let ticker = tickerstream.read(-1)
while(data){
data = JSON.parse(data)
if (data.e == 'ACCOUNT_UPDATE') {
updateWsPosition(data)
}
if (data.e == 'ORDER_TRADE_UPDATE'){
updateWsOrder(data)
}
data = datastream.read(-1)
}
while(ticker){
ticker = JSON.parse(ticker).data
if(ticker.e == 'aggTrade'){
updateWsTrades(ticker)
}
if(ticker.e == 'depthUpdate'){
updateWsDepth(ticker)
}
ticker = tickerstream.read(-1)
}
makerOrder()
}
function main() {
while(true){
ConncetWss()
ReadWss()
worker()
updateStatus()
EventLoop(1000)
}
}
جیسا کہ میں نے پہلے کہا ہے کہ میری ہائی فریکوئنسی حکمت عملی میں پہلے رجحان کا تعین کرنے کی ضرورت ہوتی ہے اور پھر خرید و فروخت پر عمل درآمد ہوتا ہے۔ مختصر مدت کے رجحانات کا تعین بنیادی طور پر ہر ٹرانزیکشن کے اعداد و شمار پر مبنی ہوتا ہے ، یعنی سبسکرپشن میں ایگ ٹریڈ ، جس میں ٹرانزیکشن کی سمت ، قیمت ، مقدار ، ٹرانزیکشن کا وقت وغیرہ شامل ہوتا ہے۔ خرید و فروخت کی بنیادی حوالہ گہرائی اور ٹرانزیکشن کی مقدار ہے۔ ذیل میں تفصیل سے اشارے دیئے گئے ہیں جن پر توجہ دینے کی ضرورت ہے۔ زیادہ تر اشارے خرید و فروخت کے دو گروپوں میں تقسیم ہوتے ہیں ، اور وہ ایک خاص وقت کی ونڈو میں متحرک اعدادوشمار ہیں ، اور میری حکمت عملی کی وقت کی ونڈو 10s کے اندر ہے۔
//bull代表短期看涨,bear短期看跌
let bull = last_sell_price > avg_sell_price && last_buy_price > avg_buy_price &&
avg_buy_amount / avg_buy_time > avg_sell_amount / avg_sell_time;
let bear = last_sell_price < avg_sell_price && last_buy_price < avg_buy_price &&
avg_buy_amount / avg_buy_time < avg_sell_amount / avg_sell_time;
اگر تازہ ترین فروخت کی قیمت فروخت کی اوسط قیمت سے زیادہ ہے ، تازہ ترین خرید کی قیمت خرید کی اوسط قیمت سے زیادہ ہے ، اور فکسڈ وقفہ خرید کی قیمت فروخت کی قیمت سے زیادہ ہے تو ، اس وقت قلیل مدتی اچھال کا فیصلہ کیا جائے گا۔ اس کے برعکس ، اچھال۔
function updatePrice(depth, bid_amount, ask_amount) {
let buy_price = 0
let sell_price = 0
let acc_bid_amount = 0
let acc_ask_amount = 0
for (let i = 0; i < Math.min(depth.asks.length, depth.bids.length); i++) {
acc_bid_amount += parseFloat(depth.bids[i][1])
acc_ask_amount += parseFloat(depth.asks[i][1])
if (acc_bid_amount > bid_amount && buy_price == 0) {
buy_price = parseFloat(depth.bids[i][0]) + tick_size
}
if (acc_ask_amount > ask_amount && sell_price == 0) {
sell_price = parseFloat(depth.asks[i][0]) - tick_size
}
if (buy_price > 0 && sell_price > 0) {
break
}
}
return [buy_price, sell_price]
}
یہاں پر بھی پرانی سوچ کو لے کر، ضرورت کی مقدار تک تکرار کی گہرائی کو لے کر، یہاں فرض کیا جاتا ہے کہ 1s کے اندر 10 پونڈ کی ادائیگی کی جا سکتی ہے، نئے منسلک ہونے کی صورت میں، فروخت کی قیمت 10 پونڈ کی ادائیگی کے اثرات کی جگہ پر مقرر کی جاتی ہے.
let buy_amount = Ratio * avg_sell_amount / avg_sell_time
let sell_amount = Ratio * avg_buy_amount / avg_buy_time
Ratio ایک مقررہ تناسب کی نمائندگی کرتا ہے، جس میں خریداری کی مقدار کو حالیہ فروخت کی تعداد کا ایک مقررہ تناسب ہے۔ اس حکمت عملی کو موجودہ خرید و فروخت کی سرگرمی کے مطابق خود کو ایڈجسٹ کرنے کے لئے ترتیب دیا جاتا ہے.
if(bull && (sell_price-buy_price) > N * avg_diff) {
trade('buy', buy_price, buy_amount)
}else if(position.amount < 0){
trade('buy', buy_price, -position.amount)
}
if(bear && (sell_price-buy_price) > N * avg_diff) {
trade('sell', sell_price, sell_amount)
}else if(position.amount > 0){
trade('sell', sell_price, position.amount)
}
اس میں avg_diff اوسط حساب کتاب کا فرق ہے ، صرف اس وقت جب موجودہ حکم خرید و فروخت کا فرق ایک خاص ضرب سے زیادہ ہے اس کی قیمت ہے اور جب آپ دیکھ رہے ہو تو ادائیگی کی جائے گی ، اگر آپ خالی حکم رکھتے ہیں تو ، اس وقت بھی ہموار ہوجائیں گے ، طویل مدتی رسید سے بچیں گے۔ نیچے والے حکم کو صرف بنانے والے آرڈر کو نیچے کیا جاسکتا ہے ، اور اس بات کو یقینی بنایا جاسکتا ہے کہ آرڈر کی تجارت کو یقینی بنایا جاسکے۔ اور بائن آن کے ساتھ اپنی مرضی کے مطابق آرڈر آئی ڈی کا استعمال کیا جاسکتا ہے ، تاکہ آرڈر کی واپسی کا انتظار نہ کرنا پڑے۔
var tasks = []
var jobs = []
function worker(){
let new_jobs = []
for(let i=0; i<tasks.length; i++){
let task = tasks[i]
jobs.push(exchange.Go.apply(this, task.param))
}
_.each(jobs, function(t){
let ret = t.wait(-1)
if(ret === undefined){
new_jobs.push(t)//未返回的任务下次继续等待
}
})
jobs = new_jobs
tasks = []
}
/*
需要的任务参数写在param里
tasks.push({'type':'order','param': ["IO", "api", "POST","/fapi/v1/order",
"symbol="+symbol+Quote+"&side="+side+"&type=LIMIT&timeInForce=GTX&quantity="+
amount+"&price="+price+"&newClientOrderId=" + UUID() +"×tamp="+Date.now()]})
*/
mztcoinکیا آپ کو معلوم ہے کہ آپ کے پاس کیا ہے؟ کیا آپ کو معلوم ہے کہ آپ کے پاس کیا ہے؟ کیا آپ کو معلوم ہے کہ آپ کے پاس کیا ہے؟ کیا آپ کو معلوم ہے کہ آپ کے پاس کیا ہے؟ کیا آپ کو معلوم ہے کہ آپ کے پاس کیا ہے؟
mztcoinگھاس کے دیوتا
ڈینگوگھاس کے دیوتا
77924998کیا آپ کو معلوم ہے کہ گراسون کس AWS سرور پر کام کرتا ہے؟
چوکٹیگندی گندی
بواکسیاوکگراسون نے ایک ادا شدہ ہائی فریکوئنسی کورس پیش کیا
میرا دل اب بھیکیا یہ حکمت عملی کاپی کرنے کے لیے کام کرتی ہے؟
مصنف: ٹریڈ مینکال گراسوتھن ، زیادہ سے زیادہ تعلیم دینے کی امید ہے ، اعلی تعدد تجارت میں داخلہ سیکھنا
# ہوا میں ایک لہرزور آور
fmzeroگراس دیوتا!
اوک کوانٹائزیشنزور آور
گھاسیہ بہت مشکل ہے اور اس کا کوئی مطلب نہیں ہے۔