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

60 لائنوں کے ساتھ ایک خیال کو عملی جامہ پہنانا - معاہدہ نیچے ماہی گیری کی حکمت عملی

مصنف:FMZ~Lydia, تخلیق: 2022-11-08 15:30:01, تازہ کاری: 2023-09-20 09:05:08

img

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

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

پر مبنی تیز رفتار ترقی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)
    }
}

پیرامیٹر ڈیزائن بھی بہت آسان ہے:

img

صرف ان 6 پیرامیٹرز کے ساتھ.

بیک ٹسٹنگ کے نتائج کو دیکھو

بیک ٹسٹنگ وقت کی حد کو بے ترتیب ترتیب دیں:

img

بیک ٹسٹ:

img

img

img

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

حکمت عملی کا کوڈ صرف مطالعہ اور تحقیق کے مقاصد کے لیے ہے۔


متعلقہ

مزید