گرڈ کی حکمت عملی، مارٹنگیل کی حکمت عملی، جو مارکیٹ میں اتار چڑھاؤ کو ترجیح دیتے ہیں، ان کے اپنے نقصانات ہیں، اور وہ کچھ وقت کے لئے ETH معاہدے کی مارکیٹ میں تجربہ کیا گیا ہے.FMZ.COMتجربات کا اشتراک کرنے کے لئے۔ اس طرح کی حکمت عملی کے بارے میں ایک بات میں ایک دوست کے ساتھ بہت اتفاق کرتا ہوں، یہ ہے کہ معاہدوں کے بارے میں، طویل عرصے سے جانے سے ڈیجیٹل کرنسی مارکیٹ میں مختصر ہونے سے کم خطرہ ہوتا ہے۔ یا آسان کرنے کے لئے، بدترین صفر تک کم ہو رہا ہے، لیکن اضافہ لامحدود ہے.
تو ، کیا مارٹنگیل ، گرڈ اور دیگر حکمت عملی صرف لمبی لمبی نہیں جائیں گی ، اور طویل فاصلے پر نیچے کی ماہی گیری کے خطرے کو پھیلانے کے لئے دوطرفہ پوزیشن سے بہتر ہوگی؟ یہ خیال بہت اچھا لگتا ہے ، لیکن کوئی نہیں جانتا ہے کہ کیا اسے عملی جامہ پہنا جاسکتا ہے۔ لیکن ، کم از کم ، ہم اسے آسانی سے بیک ٹیسٹ کرسکتے ہیں۔ لہذا ہمارے پاس آج کا مضمون موضوع ہے
اس خیال کو نافذ کرنے کا کوڈ واقعی آسان ہے ، پلیٹ فارم کی لچک ، انٹرفیس انکیپسولیشن ، طاقتور بیک ٹیسٹنگ سسٹم وغیرہ کی بدولت۔ مکمل کوڈ میں صرف 60 لائنیں ہیں (کوڈ لکھنے کی تفصیلات کے ل many ، ان میں سے بہت سے مختصر نہیں ہیں) ۔
حکمت عملی کا ڈیزائن خیال بہت آسان ہے۔ منطق کے آغاز میں ابتدائی قیمت کے مطابق وقفے وقفے سے خریداری کا آرڈر نیچے رکھیں اور اگر قیمت میں کمی جاری ہے تو ، ہم خریداری کا آرڈر جاری رکھیں گے ، اور نیچے کی ماہی گیری جاری رکھیں گے۔ پھر ہم پوزیشن کی قیمت میں ایک خاص منافع کے مارجن میں اضافے کی بنیاد پر اختتامی پوزیشن آرڈر رکھیں گے ، اور پوزیشن بند ہونے کا انتظار کریں۔ اگر پوزیشن بند ہوجائے تو ، مذکورہ بالا منطق موجودہ قیمت کو ابتدائی قیمت کے طور پر دہرائی جائے گی۔ حکمت عملی پوزیشن کو برقرار رکھنے کے لئے مختصر نہیں ہوگی ، بلکہ صرف لمبی ہوگی۔
حکمت عملی کا ماخذ کوڈ:
function cancelAll() {
while (true) {
var orders = _C(exchange.GetOrders)
if (orders.length == 0) {
break
}
for (var i = 0 ; i < orders.length ; i++) {
exchange.CancelOrder(orders[i].Id, orders[i])
Sleep(interval)
}
}
}
function getLong(arr, kind) {
var ret = null
for (var i = 0 ; i < arr.length ; i++) {
if (arr[i].Type == (kind == "pos" ? PD_LONG : ORDER_TYPE_BUY)) {
ret = arr[i]
}
}
return ret
}
function pendingBidOrders(firstPrice) {
var index = 0
var amount = baseAmount
while (true) {
var pos = _C(exchange.GetPosition)
var price = firstPrice - index * baseSpacing
amount *= ratio
index++
exchange.SetDirection("buy")
exchange.Buy(price, amount)
if (pos.length != 0) {
var longPos = getLong(pos, "pos")
if (longPos) {
exchange.SetDirection("closebuy")
exchange.Sell(longPos.Price + profitTarget, longPos.Amount)
}
}
while (true) {
Sleep(interval)
if (!getLong(_C(exchange.GetOrders), "orders")) {
cancelAll()
break
}
if (!getLong(_C(exchange.GetPosition), "pos")) {
cancelAll()
return
}
}
}
}
function main() {
exchange.SetContractType(symbol)
while (true) {
pendingBidOrders(_C(exchange.GetTicker).Last)
}
}
پیرامیٹر ڈیزائن بھی بہت آسان ہے:
صرف ان 6 پیرامیٹرز کے ساتھ.
بیک ٹسٹنگ وقت کی حد کو بے ترتیب ترتیب دیں:
بیک ٹسٹ:
یہ گرڈ کی حکمت عملی کی طرح لگتا ہے ، مارٹنگیل کی حکمت عملی بہت زیادہ ~۔ ابتدائی طلباء عام طور پر طویل کوڈ والی حکمت عملی سے ڈرتے ہیں ، جس سے قائل ہونا آسان ہے۔ شروع کرنے کے لئے ایک مختصر اور جامع حکمت عملی حکمت عملی کے خیالات کو سمجھنے اور منطقی ڈیزائن سیکھنے کے لئے آسان اور زیادہ مناسب ہے۔
حکمت عملی کا کوڈ صرف مطالعہ اور تحقیق کے مقاصد کے لیے ہے۔