سکوں پھینکنے کی حکمت عملی (●''●)

مصنف:چکن کے پھلیاں، تاریخ: 2020-04-21 17:39:52
ٹیگز:

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


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

آپ کے ہزاروں کوٹیفیکیشن ساتھیوں کو سلام!

یہ ایک خصوصی تحریر کا دوسرا ایڈیشن ہے ، جس میں ہمیں بہت اعزاز حاصل ہے کہ ہم نے آپ کو اس کے بارے میں بتانے کے لئے چین کے بڑے دیوتا ((مائیکرو سگنل LE_CHIFFRE1) کو مدعو کیا ہے: کس طرح اتار چڑھاؤ کے عوامل کا استعمال کرتے ہوئے آسانی سے بی ٹی سی بڑے پیمانے پر جیتنے کے ل.

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

ذیل میں تالیاں بج رہی ہیں ، براہ کرم زینون کو اپنی اتار چڑھاؤ کی حکمت عملی کے بارے میں بتائیں۔

01

پیش لفظ

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

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

اس کے بعد ، میں نے اپنے بلاگ پر ایک پوسٹ پوسٹ کی جس میں میں نے کہا تھا کہ میں اس کے بارے میں کچھ نہیں جانتا ہوں۔

02

ایک سادہ اتار چڑھاؤ کی حکمت عملی

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

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

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

مخصوص گرافک نقطہ نظر انٹرفیس کے لئے ذیل میں پی پی ٹی کا حوالہ دیا جا سکتا ہے. یہ گرافک خود Pyecharts کے ساتھ تیار کیا گیا ہے.

img

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

img

مندرجہ ذیل گراف میں اس سال کے لئے ریویو کی کارکردگی دکھائی گئی ہے ، جس میں مخصوص کوڈ کے کچھ حصے اسکرین شاٹ ہیں:

img

یہ اعداد و شمار پڑھنے کے بعد پینڈاس کے ذریعہ اشارے کے اعداد و شمار کا حساب لگاتے ہیں۔

img

حساب کتاب مکمل ہونے کے بعد ، آپ pd.to_csv () فنکشن کے ذریعہ ڈیٹا آؤٹ پٹ کرسکتے ہیں اور مندرجہ بالا اسکرین شاٹ میں استعمال ہونے والے pyecharts (نوٹ: میں خود پرانے ورژن کے pyecharts کا استعمال کرتا ہوں) کو آؤٹ پٹ کرسکتا ہوں۔

اس کے علاوہ ، ہم نے اس کے بارے میں کچھ بھی نہیں کہا ہے۔

03

بات چیت کی مقدار

اگلا دو نکات جن پر میں بنیادی طور پر بات کروں گا۔ پہلا: بہت سارے سوالات ہیں یا یہ کہتے ہیں کہ آپ لوگ حقیقی حکمت عملی کو کیوں ظاہر کرسکتے ہیں ، کیا یہ جعلی دھوکہ دہی ہے؟ یا یہ کہ یہ واقعی عام مخلوق ہے؟ ہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہاہ

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

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

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

آخر میں ، ایک بار پھر آپ کا شکریہ۔

اگر آپ ابھی تک کوانٹیفیکیشن گروپ میں شامل نہیں ہوئے ہیں تو جلدی سے شامل ہوں اور سیکھنے کے لئے معلومات حاصل کریں!

ٹاؤن بلڈنگ!

img

وائی ٹویٹ کی صفائی اس عوامی نمبر پر توجہ


/*backtest
start: 2020-01-20 00:00:00
end: 2021-01-19 23:59:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_BitMEX","currency":"XBT_USD","fee":[0.008,0.1]}]
args: [["st",0.1]]
*/

// 初始化
exchange.SetContractType('XBTUSD')
_CDelay(100)
// 止盈止损
var TP_status = false // 是否触发追踪止盈 
var TP_HH = 0
var TP_LL = 0
var B = 1

// 获取交易所信息
function UpdateInfo() {
    account = exchange.GetAccount()
    pos = exchange.GetPosition()
    records = exchange.GetRecords()
    ticker = exchange.GetTicker()
}

// 定制本次盈亏
function Onept() {
    // 更新用户信息
    UpdateInfo()
    // 如果现在余额 大于 之前的余额, 那么 盈利次数+1, 且pt_1设为现在余额
    if (account.Stocks - pt_1 > 0) {
        pt_times = pt_times + 1
        Log('这回赚钱啦~~~~ (^U^)ノ~YO', account.Stocks - pt_1)
        B = 1
        pt_1 = account.Stocks
    }
    // 如果现在余额 小于 之前的余额, 那么 亏损次数+1, 且pt_1设为现在余额
    if (account.Stocks - pt_1 < 0) {
        st_times = st_times + 1
        Log('这回亏掉了.... /(ㄒoㄒ)/~~', account.Stocks - pt_1)
        B = B * 1.618
        pt_1 = account.Stocks
    }
}

// 画线
function PlotMA_Kline(records) {
    $.PlotRecords(records, "K")
}

// 追踪止盈 初始%, 追踪U
function TP() {
    var TP_first_long = pos[0].Price + tp_first * ticker.Last
    var TP_trailing_long = TP_HH - trailing_tp * ticker.Last
    var TP_first_short = pos[0].Price - tp_first * ticker.Last
    var TP_trailing_short = TP_LL + trailing_tp * ticker.Last
    // 当多仓时, 现价大于开仓+初始止赢价 -> 触发追踪止盈 
    if ((pos[0].Type == 0) && (ticker.Last > TP_first_long)) {
        // Log('当多仓时, 现价大于开仓+初始止赢价 -> 触发追踪止盈', TP_HH)
        TP_status = true
        // 触发追踪止盈, 未初始化开仓最大价格 -> 开仓后最大价格更新为现价
        if (TP_status === true && TP_HH == 0) {
            Log('触发追踪止盈, 未初始化开仓最大价格 -> 开仓后最大价格更新为现价', TP_HH)
            TP_HH = ticker.Last
        }
        // 触发追踪止盈, 已有开仓后最大价格, 现价大于开仓后最大价格 -> 开仓后最大价格更新为现价
        else if (TP_status === true && TP_HH != 0 && ticker.Last > TP_HH) {
            Log('触发追踪止盈, 已有开仓后最大价格, 现价大于开仓后最大价格 -> 开仓后最大价格更新为现价', TP_HH)
            TP_HH = ticker.Last
        }
        // 触发追踪止盈, 已有开仓后最大价格, 现价小于 (开仓后最大价格减 - 回撤USD) -> 开空平仓止盈
        else if (TP_status === true && TP_HH != 0 && ticker.Last < TP_trailing_long) {
            Log('触发追踪止盈, 已有开仓后最大价格, 现价小于 (开仓后最大价格减 - 回撤USD) -> 开空平仓止盈', TP_HH)
            exchange.SetDirection("closebuy")
            exchange.Sell(ticker.Buy, pos[0].Amount, "在" + ticker.Last + "止赢平多仓!! 开仓价格: " + pos[0].Price + "数量: " + pos[0].Amount)
            $.PlotFlag(new Date().getTime(), 'Sell', 'PT_BK' + ticker.Sell)
            Onept()
            TP_status = false
            TP_HH = 0
        }
    }
    // 当空仓时, 现价小于开仓-初始止赢价 -> 触发追踪止盈
    else if ((pos[0].Type == 1) && (ticker.Last < TP_first_short)) {
        // Log('当空仓时, 现价小于开仓-初始止赢价 -> 触发追踪止盈', TP_LL)
        TP_status = true
        // 触发追踪止盈, 未初始化开仓最大价格 -> 开仓后最小价格更新为现价
        if (TP_status === true && TP_LL == 0) {
            Log('触发追踪止盈, 未初始化开仓最大价格 -> 开仓后最小价格更新为现价', TP_LL)
            TP_LL = ticker.Last
        }
        // 触发追踪止盈, 已有开仓后最小价格, 现价小于开仓后最小价格 -> 开仓后最小价格更新为现价
        else if (TP_status === true && TP_LL != 0 && ticker.Last < TP_LL) {
            Log('触发追踪止盈, 已有开仓后最小价格, 现价小于开仓后最小价格 -> 开仓后最小价格更新为现价', TP_LL)
            TP_LL = ticker.Last
        }
        // 触发追踪止盈, 已有开仓后最小价格, 现价大于 (开仓后最小价格减 + 回撤USD) -> 开多平仓止盈
        else if (TP_status === true && TP_LL != 0 && ticker.Last > TP_trailing_short) {
            Log('触发追踪止盈, 已有开仓后最小价格, 现价大于 (开仓后最小价格减 + 回撤USD) -> 开多平仓止盈', TP_LL)
            exchange.SetDirection("closesell")
            exchange.Buy(ticker.Sell, pos[0].Amount, "在" + ticker.Last + "止赢平空仓!! 开仓价格: " + pos[0].Price + "数量: " + pos[0].Amount)
            $.PlotFlag(new Date().getTime(), 'Buy', 'PT_SK' + ticker.Sell)
            Onept()
            TP_status = false
            TP_LL = 0
        }
    }
}

// 止损 %
function Stoploss() {
    // 当多仓时, 现价小于开仓-止损价, 做空平多
    if ((pos[0].Type == 0) && (ticker.Last < pos[0].Price - st * ticker.Last)) {
        Log('当多仓时, 现价小于开仓-止损价, 做空平多')
        exchange.SetDirection("closebuy")
        exchange.Sell(ticker.Buy, pos[0].Amount, "在" + ticker.Last + "止损平多仓!! 开仓价格: " + pos[0].Price + "数量: " + pos[0].Amount)
        $.PlotFlag(new Date().getTime(), 'Sell', 'ST_BK' + ticker.Buy)
        Onept()
    }
    // 当空仓时, 现价大于开仓+止损价, 做多平空
    else if ((pos[0].Type == 1) && (ticker.Last > pos[0].Price + st * ticker.Last)) {
        Log('当空仓时, 现价大于开仓+止损价, 做多平空')
        exchange.SetDirection("closesell")
        exchange.Buy(ticker.Sell, pos[0].Amount, "在" + ticker.Last + "止损平空仓!! 开仓价格: " + pos[0].Price + "数量: " + pos[0].Amount)
        $.PlotFlag(new Date().getTime(), 'Buy', 'ST_SK' + ticker.Sell)
        Onept()
    }
}

// 计算凯利公式 仓位
function PriceAmount() {
    // 赢可以赢多少 
    y = tp_first
    // 输会输多少 
    s = st
    //赔率
    b = y / s
    // 赢的概率
    if (total_times < 10) {
        p = 0.382
    } else {
        p = pt_times / total_times
    }
    // 输的概率
    q = 1 - p
    // 凯莉公式
    f = (b * p - q) / b
    // 限制B最大值
    if (B > 16.18) {
        B = 16.18
    }
    //Amount = _N(Math.abs(f) * account.Stocks * ticker.Last * B, 0)
    Amount = _N(0.618 * account.Stocks * ticker.Last, 0)
    //Log(Amount)
}

// 交易逻辑
function onTick() {
    // 获取均匀分布 0-9 随机数
    ToTheMoon = Math.floor(Math.random() * 10)
    // 无仓位时
    if (pos.length == 0) {
        // Long 
        if (ToTheMoon > 5) {
            exchange.SetDirection("buy")
            exchange.Buy(ticker.Sell, Amount)
            $.PlotFlag(new Date().getTime(), 'Buy', 'BK' + ticker.Sell)
            total_times = total_times + 1
        }
        // Short 
        if (ToTheMoon < 4) {
            exchange.SetDirection("sell")
            exchange.Sell(ticker.Buy, Amount)
            $.PlotFlag(new Date().getTime(), 'Sell', 'SK' + ticker.Buy)
            total_times = total_times + 1
        }
    }
        // 多仓时
    if (pos.length > 0 && pos[0].Type == 0) {
        // 平多 
        if (ToTheMoon < 1) {
            exchange.SetDirection("closebuy")
            exchange.Sell(ticker.Buy, pos[0].Amount)
            $.PlotFlag(new Date().getTime(), 'Sell', 'PBK')
            Onept()
        }
    }
    // 空仓时
    if (pos.length > 0 && pos[0].Type == 1) {
        // 平空 
        if (ToTheMoon > 8) {
            exchange.SetDirection("closesell")
            exchange.Buy(ticker.Sell, pos[0].Amount)
            $.PlotFlag(new Date().getTime(), 'Buy', 'PSK')
            Onept()
        }
    }
}


function main() {
    UpdateInfo()
    // 统计
    pt_1 = account.Stocks
    total_times = 0
    pt_times = 0
    st_times = 0
    while (1) {
        UpdateInfo()
        PriceAmount()
        onTick()
        PlotMA_Kline(records)
        if (pos.length > 0) {
            TP()
        }
        if (pos.length > 0) {
            Stoploss()
        }
        LogStatus("总余额: " + _N(ticker.Last * account.Stocks, 2), " 下单量: " + Amount, " 下单倍数: " + B, " ToTheMoon: " + ToTheMoon, " 下单量比: " + _N(Amount * 100 / _N(ticker.Last * account.Stocks, 2), 2), "% 胜率: " + _N(p * 100, 2), "%", total_times, pos)
    }
}

مزید

علیکیا اسے بینکائن ورژن میں تبدیل کیا جا سکتا ہے؟