پچھلے مضامین میں ہم نے اصل اسپاٹ ورژن لیکس ریپر کی ہائی فریکوئنسی حکمت عملی کے خیال اور کوڈ پر عمل درآمد کا تجزیہ کیا ہے۔
لیکس ریپر حکمت عملی تجزیہhttps://www.fmz.com/bbs-topic/9725) لیکس ریپر اسٹریٹجی تجزیہ (2)https://www.fmz.com/bbs-topic/9733)
ڈیجیٹل کرنسی کے بہت سے صارفین پرنٹ منی لیڈر کی حکمت عملی پر زیادہ توجہ دیتے ہیں۔ پرنٹ منی لیڈر کی حکمت عملی بائننس یو ایس ڈی ٹی معاہدے میں تجارت کی جاتی ہے۔ بہت سے پیروکاروں کے مشاہدے اور تجزیے سے یہ دیکھا جاسکتا ہے کہ یہ اعلی تعدد حکمت عملی لیکس ریپر کے اصول سے ملتی جلتی ہے (لیڈر شیاؤ کاؤ نے بھی کہا کہ اعلی تعدد حکمت عملی کا اصول بھی اسی طرح کا ہے) ۔ لیکن مستحکم جیت کی شرح اور مناسب منافع اور نقصان کا تناسب حاصل کرنے کے لئے کچھ ٹھیک ٹھیک ہونا ضروری ہے۔
لہذا ، میں مدد نہیں کرسکتا لیکن جادو کی تبدیلی کرسکتا ہوں۔ اگرچہ جادو کی تبدیلی کا حکمت عملی کا اثر رہنماؤں کی حکمت عملیوں سے کہیں زیادہ خراب تھا۔ یہ اعلی تعدد کی حکمت عملیوں کے لئے بھی سیکھنے کی مشق ہے۔ ایف ایم زیروں میں دلچسپی رکھنے والوں کو مل کر تبادلہ خیال اور سیکھنا چاہئے۔
var TickInterval = 100
function LeeksReaper() {
var self = {}
self.numTick = 0
self.lastTradeId = 0
self.vol = 0
self.askPrice = 0
self.bidPrice = 0
self.orderBook = {
Asks: [],
Bids: []
}
self.prices = []
self.tradeOrderId = 0
self.account = null
self.buyPrice = 0
self.sellPrice = 0
self.state = 0
self.depth = null
self.updateTrades = function() {
var trades = _C(exchange.GetTrades)
if (self.prices.length == 0) {
while (trades.length == 0) {
trades = trades.concat(_C(exchange.GetTrades))
}
for (var i = 0; i < 15; i++) {
self.prices[i] = trades[trades.length - 1].Price
}
}
self.vol = 0.7 * self.vol + 0.3 * _.reduce(trades, function(mem, trade) {
// Huobi not support trade.Id
if ((trade.Id > self.lastTradeId) || (trade.Id == 0 && trade.Time > self.lastTradeId)) {
self.lastTradeId = Math.max(trade.Id == 0 ? trade.Time : trade.Id, self.lastTradeId)
mem += trade.Amount
}
return mem
}, 0)
}
self.updateOrderBook = function() {
var orderBook = _C(exchange.GetDepth)
self.depth = orderBook
self.buyPrice = orderBook.Bids[pendingLevel].Price
self.sellPrice = orderBook.Asks[pendingLevel].Price
self.orderBook = orderBook
if (orderBook.Bids.length < 3 || orderBook.Asks.length < 3) {
return
}
self.bidPrice = orderBook.Bids[0].Price * 0.618 + orderBook.Asks[0].Price * 0.382 + 0.01
self.askPrice = orderBook.Bids[0].Price * 0.382 + orderBook.Asks[0].Price * 0.618 - 0.01
self.prices.shift()
self.prices.push(_N((orderBook.Bids[0].Price + orderBook.Asks[0].Price) * 0.15 +
(orderBook.Bids[1].Price + orderBook.Asks[1].Price) * 0.1 +
(orderBook.Bids[2].Price + orderBook.Asks[2].Price) * 0.1 +
(orderBook.Bids[3].Price + orderBook.Asks[3].Price) * 0.075 +
(orderBook.Bids[4].Price + orderBook.Asks[4].Price) * 0.05 +
(orderBook.Bids[5].Price + orderBook.Asks[5].Price) * 0.025))
}
self.updateAccount = function() {
var account = exchange.GetAccount()
if (!account) {
return
}
self.account = account
LogProfit(parseFloat(account.Info.totalWalletBalance), account)
}
self.CancelAll = function() {
while (1) {
var orders = _C(exchange.GetOrders)
if (orders.length == 0) {
break
}
for (var i = 0; i < orders.length; i++) {
exchange.CancelOrder(orders[i].Id)
}
Sleep(100)
}
}
self.poll = function() {
self.numTick++
self.updateTrades()
self.updateOrderBook()
var pos = _C(exchange.GetPosition)
var burstPrice = self.prices[self.prices.length - 1] * burstThresholdPct
var bull = false
var bear = false
LogStatus(_D(), "\n", 'Tick:', self.numTick, 'self.vol:', self.vol, ', lastPrice:', self.prices[self.prices.length - 1], ', burstPrice: ', burstPrice)
if (self.numTick > 2 && (
self.prices[self.prices.length - 1] - _.max(self.prices.slice(-6, -1)) > burstPrice ||
self.prices[self.prices.length - 1] - _.max(self.prices.slice(-6, -2)) > burstPrice && self.prices[self.prices.length - 1] > self.prices[self.prices.length - 2]
)) {
bull = true
} else if (self.numTick > 2 && (
self.prices[self.prices.length - 1] - _.min(self.prices.slice(-6, -1)) < -burstPrice ||
self.prices[self.prices.length - 1] - _.min(self.prices.slice(-6, -2)) < -burstPrice && self.prices[self.prices.length - 1] < self.prices[self.prices.length - 2]
)) {
bear = true
}
if (pos.length != 0) {
if (pos[0].Type == PD_LONG) {
self.state = 1
} else {
self.state = 2
}
} else {
self.state = 0
}
if ((!bull && !bear)) {
return
}
if (bull) {
var price = (self.state == 0 || self.state == 1) ? self.buyPrice : self.depth.Bids[coverPendingLevel].Price
var amount = (self.state == 0 || self.state == 1) ? pendingAmount : pos[0].Amount
exchange.SetDirection("buy")
exchange.Buy(price, amount)
} else if (bear) {
var price = (self.state == 0 || self.state == 2) ? self.sellPrice : self.depth.Asks[coverPendingLevel].Price
var amount = (self.state == 0 || self.state == 2) ? pendingAmount : pos[0].Amount
exchange.SetDirection("sell")
exchange.Sell(price, amount)
}
self.numTick = 0
Sleep(TickInterval)
self.CancelAll()
self.updateAccount()
}
while (!self.account) {
self.updateAccount()
Sleep(500)
}
Log("self.account:", self.account)
return self
}
function main() {
LogProfitReset()
exchange.SetPrecision(pricePrecision, amountPrecision)
exchange.SetContractType("swap")
var reaper = LeeksReaper()
while (true) {
reaper.poll()
Sleep(100)
}
}
حکمت عملی بائننس یو ایس ڈی ٹی کنٹریکٹ مارکیٹ میں تجارت کرنے کا ارادہ رکھتی ہے ، جو ایک طرفہ پوزیشنوں کی حمایت کرتی ہے۔ لہذا ، حکمت عملی کو ایک طرفہ پوزیشن کی خصوصیات کے مطابق تبدیل کیا جاتا ہے (ایک طرفہ پوزیشن حکمت عملی کو تبدیل کرنے کے لئے زیادہ آسان ہے) ، ہم پوزیشن کو بند کرنے پر غور نہیں کرتے ہیں ، ہم صرف فروخت اور خریداری پر غور کرتے ہیں۔ خیال لیکس ریپر کے اسپاٹ ورژن سے قریب ہے۔
یہ حکمت عملی بنیادی طور پر قلیل مدتی قیمت کے رجحان کی خرابی کے اصل معیار کو برقرار رکھتی ہے، جو پیرامیٹر کی طرف سے کنٹرول کیا جاتا ہے.burstThresholdPCT
، جس کے مطابق یہ فیصلہ کیا جائے کہ آیا قلیل مدتی قیمتbull
یاbear
.
حکمت عملی میں کچھ اصل ماڈیولز جیسے بیلنس ماڈیول کو ختم کردیا گیا ہے۔ بڑی تبدیلی آرڈر بک میں بنانے والے ہیں ، جو لین دین کے منتظر ہیں۔ توقع کی جاتی ہے کہ ایک افراتفری طویل / مختصر کھیل میں کم قیمت پر پوزیشن کھولیں، مختصر مدت کے رجحان کی پیروی کریں، اور مختصر مدت کے رجحان کو تبدیل کرنے پر پوزیشن بند کریں اور پوزیشن کھولنے کے ساتھ جاری رکھیں.
حکمت عملی مختصر اور آسان ہے کیونکہ اس نے دوسرے بیکار کوڈ کو ہٹا دیا ہے۔ اگرچہ حکمت عملی ایک ایسی حکمت عملی ہے جو پیسہ نہیں بناتی ہے ، یا پیسہ بھی نہیں کھاتی ہے ، لیکن ایف ایم زیروں کی حیثیت سے جو اعلی تعدد کی حکمت عملی سیکھ رہے ہیں ، اعلی تعدد کی حکمت عملی کے رویے کا مشاہدہ کرتے ہوئے ، مارکیٹ کے مائیکرو قوانین کا مشاہدہ کرتے ہوئے ایک ایسا ماڈل ہے جس کا استعمال کیا جاسکتا ہے۔ پروگرام ٹریڈنگ اور مقداری تجارت کی بنیاد کے طور پر بہت ساری مشق ، تجربہ ، نظریہ کی ضرورت ہے۔
فی الحال، اصلاح کے لیے کوئی اچھی سمت نہیں ملی ہے۔ کوئی دلچسپی رکھنے والا آپ کے تبصرے چھوڑ سکتا ہے اور آپ کے ساتھ بحث کر سکتا ہے۔
حکمت عملی:https://www.fmz.com/strategy/260806
یہ حکمت عملی صرف سیکھنے کے لئے ہے، حقیقی بوٹ کو نقصان ہوسکتا ہے جب مارکیٹ بہت پرامید نہیں ہے.