সম্পূর্ণরূপে টি-শান পাবলিক নাম্বার। নীচে একটি ট্রান্সক্রিপশন রয়েছে। দয়া করে "হাজার হাজার গুণিত বিশ্ব" এর উপর আরও বেশি মনোযোগ দিন এবং আরও কৌশলগত সোর্স কোড পান! আর নিজের জন্য একটা বিজ্ঞাপনও তৈরি করে ফেললেন। জনসাধারণের জন্য 'কোয়ান্টিফাইড ডায়েরি অফ সাইজিং পনির' অনলাইন কুইন্টিফাইড দেউলিয়াদের প্রতিদিন প্রকাশ্যে শাস্তি দিন। আরও বেশি সুবিধার জন্য আপনি এখানে এসেছেন।
এটি খুব সহজ যে আপনি একটি ভাল অস্থিরতার হার দিয়ে বিটিসি বাজারে দৌড়াতে পারেন! মূলধারার ওয়ান ওয়ান ওয়ান ওয়ান ওয়ান ওয়ান ওয়ান ওয়ান কোয়ালিফাইড ওয়ার্ল্ড তামাক পরিমাণগত কৌশল গবেষণা এবং উন্নয়ন আসলে একটি দ্বি-পাক্ষিক, যারা সবে শুরু করছেন তাদের পক্ষে এটি খুব কঠিন, এটি কেবল তামাকের স্তরের কোডই নয়, তামাকের স্তরের কৌশলগত যুক্তিসঙ্গত চিন্তাভাবনাও সমানভাবে কঠিন। উভয়ই গুরুত্বপূর্ণ এবং কোনও পক্ষপাতিত্ব করা উচিত নয়।
হ্যালো, হাজার হাজার ক্যাটাগরি বন্ধুরা!
এই লেখাটি হল এই বিশেষ লেখার দ্বিতীয় সংস্করণ, এবং আমরা আপনাকে জানাতে চাই যে কীভাবে আপনি বিটিসি বাজারকে সহজেই জয় করতে পারেন এবং কীভাবে আপনি এইচডিএক্স-এর বিরুদ্ধে লড়াই করতে পারেন।
নীচে একটি কণ্ঠস্বর রয়েছে, যার অর্থ হ'ল, 'আপনি যদি এই হারের সাথে লড়াই করতে চান তবে আপনি এই হারের সাথে লড়াই করতে পারেন।
01
—
প্রারম্ভ
আসসালামু আলাইকুম, আজকে আমার সৌভাগ্য হয়েছে যে আমি হাজার হাজার সংখ্যক ক্যাটাগরিতে একটি নিবন্ধ প্রকাশ করেছি এবং একই সাথে টি-র মালিককে (এক হাজার হাজার সংখ্যার একজন) ধন্যবাদ জানাই। প্রথমবারের মতো টি-র মালিককে একটি নিবন্ধ লিখুন, সম্পূর্ণ স্বাধীনতা নিয়ে খেলুন, কাজের পরে অতিরিক্ত সময়, গুণমান এবং ত্রুটিগুলিও ধার নিন।
টি-র মালিক বলেছেন যে আপনি একটি পরিমাণযুক্ত লিখতে পারেন, তবে কোনও পরিসীমা না দিয়ে, আপনি কোথায় লিখবেন তা সত্যই জানেন না। তাহলে আপনার পছন্দের বিষয়গুলি থেকে শুরু করুন। পরিমাণযুক্ত সূচক এবং কৌশল (এটি সহায়ক হতে পারে তবে এটি স্বয়ংক্রিয়ও হতে পারে), অবশ্যই, শেষ পর্যন্ত আমরা এমন একটি কথা যুক্ত করব যা পুরানো লোকেরা প্রায়শই বলে থাকেঃ বিনিয়োগের ঝুঁকি রয়েছে, বাজারে প্রবেশের জন্য সতর্কতা অবলম্বন করা দরকার, কৌশলটি কেবলমাত্র আপনাকে চিন্তাভাবনা এবং পাঠ্য সরবরাহ করে, লাভ এবং ক্ষতির জন্য আত্মসমর্পণ করে। এই কৌশলটি ব্যবহারের সমস্ত লাভ এবং ক্ষতির সাথে আমার নিজের এবং হাজার হাজার পরিমাণযুক্ত বিশ্বজুড়ে শীর্ষস্থানীয় জনসাধারণের সাথে কোনও সম্পর্ক নেই।
এই বিনাশের বিবৃতি শেষ হলে, নিচে আসল প্রশ্নটি শুরু করা হল।
02
—
একটি সহজ অস্থিরতার কৌশল
যারা আমাকে চেনে তারা জানে যে আমি ব্যক্তিগতভাবে আলফা গেমটি খুব বেশি পছন্দ করি না, আমি তুলনামূলকভাবে বেটাতে বিশ্বাস করি, বেটা নিয়ে আরও গবেষণা করি। কেন, e.........mmmmm, জানি না আপনি কি উত্তর দিয়েছেন, আপনারা নিজেরাই চিন্তা করুন। যদি আগ্রহী হন তবে আপনি ব্যক্তিগতভাবে লিখতে পারেন, এই পাবলিক নম্বরের লেখকের কাছে একটি বার্তা লিখুন, যুক্তি স্পষ্টভাবে বৈশিষ্ট্যযুক্ত, লেখক নিজেই একটি ছোট লাল প্যাকেজ পাঠাবেন।
পরিমাণগত কৌশল গবেষণা এবং উন্নয়ন আসলে একটি দ্বি-পাক্ষিক, যারা সবে শুরু হয়েছে তাদের জন্য এটি খুব কঠিন, এটি কেবলমাত্র কোড নয়, তবে কৌশলগত যুক্তিগত চিন্তাভাবনাও সমানভাবে কঠিন। উভয়ই গুরুত্বপূর্ণ এবং পক্ষপাতিত্ব করা উচিত নয়। আজকে আপনাদের কাছে উপস্থাপিত কৌশলটি আসলে অনেক বছর আগে হুয়াওয়েতে একটি গবেষণা পত্রিকায় অনুপ্রাণিত হয়েছিল, আমরা সাবধানে দেখি কেবল অনুপ্রাণিত করি, তাই এটি বলা হয় কারণ কৌশলগত যুক্তিটি গবেষণা পত্রিকায় উল্লিখিত বিষয়বস্তু নয়, বিশেষত গবেষণা পত্রিকাটি সবাই ব্যক্তিগতভাবে চ্যাট করে।
এই কৌশল অ্যালগরিদম ল্যাগারিটেড দামের নির্দিষ্ট চক্রের পতনের রোলিং রিটার্ন হরফের নীতি ব্যবহার করে, নির্দিষ্ট চক্রের রোলিং সর্বোচ্চ এবং সর্বনিম্ন মান অনুসন্ধান করে, সর্বোচ্চ মানটি উপরের পাইপ হিসাবে, সর্বনিম্ন মানটি নীচের পাইপ হিসাবে, উপরের পাইপটি ভাঙ্গুন, ট্রেড খুলুন।
নির্দিষ্ট গ্রাফিকাল ভিজ্যুয়ালাইজেশন ইন্টারফেসটি নিচের পিপিটি-তে পাওয়া যাবে। এই গ্রাফিকটি আমি পাইচার্টস দিয়ে আঁকেছি।
প্রকৃতপক্ষে, এই কৌশলটি আমার আগে ব্রড-বেস ইটিএফ করার কৌশলটি ছিল, অবশ্যই সূচক নির্বাচন করার সময় শেয়ার কেনা বেচা করার জন্যও ব্যবহৃত হয়েছিল, পরে সরাসরি মুদ্রার বৃত্তে স্থানান্তরিত হয়েছিল, এবং অবাক হয়ে দেখলাম যে এটি সত্যই হ্রাস করা হয়েছে, কোনও পরামিতি পরিবর্তন করার দরকার নেই।
নীচে প্রদর্শিত চিত্রটি সেই বছরের রিটার্নিংয়ের ফলাফল, যার জন্য নির্দিষ্ট কোডের অংশগুলির একটি লজিক স্ক্রিনশট রয়েছেঃ
উপরের ছবিটি আসলে ডাটা পড়ার পর পান্ডা দিয়ে সূচক ডেটা গণনা করা।
গণনা শেষ হলে, আপনি pd.to_csv () ফাংশন ব্যবহার করে ডেটা আউটপুট করতে পারেন এবং উপরের স্ক্রিনশটে ব্যবহৃত pyecharts (দ্রষ্টব্যঃ আমি পুরানো সংস্করণের pyecharts ব্যবহার করছি) আউটপুটটি ভিজ্যুয়ালাইজ করতে পারেন।
এই ভিডিওতে, আমি আমার বন্ধুদের সাথে কথা বলতে চাই। আমি তাদের সাথে কথা বলতে চাই।
03
—
ক্যাটাগরি
প্রথমত, ভাল কৌশলটি সর্বজনীন? হা হা হা। প্রথমত, ভাল কৌশলটি সর্বজনীন হতে ভয় পায় না, এটি কোনও যুদ্ধ-স্তরের প্রতিদ্বন্দ্বিতার অস্ত্র বিকাশ নয়, যা জীবন-মৃত্যুর সিদ্ধান্ত নেবে, তাই আমি এবং অন্যান্য সংস্থাগুলি বা ব্যক্তিরা, কোনও তথাকথিত কৌশলগত গোপনীয়তারও ভয় পাই না, কারণ আমার মতে সিটিএতে কোনও গোপনীয়তা নেই।
দ্বিতীয়ত, নতুন বা পুরনো খেলোয়াড়দের মধ্যে অনেকেরই অনুপ্রেরণার প্রয়োজন হয়, যার মধ্যে রয়েছে স্টক ফ্যাক্টর এক্সপ্লোরেশন, টাইমিং কৌশল সম্পর্কিত ধারণা ইত্যাদি। এগুলি প্রায়শই বিষয়ভিত্তিক অভিজ্ঞতা, গবেষণা রিপোর্ট, চক্রের মধ্যে যোগাযোগের বিনিময় ইত্যাদি থেকে আসে।
শেষ পর্যন্ত, সংক্ষিপ্তভাবে বলতে গেলে, কোয়ালিফাইং একটি প্রচলিত পণ্য ছিল, প্রোগ্রাম্যাটিক লেনদেন কোয়ালিফাইংয়ের অন্তর্গত একটি উপসেট ছিল, ইতিমধ্যে আমার বিশ্ববিদ্যালয়ের সময় (প্রায় ২০০৯) তখন টিবি, পিরামিড ইত্যাদির মতো প্রোগ্রাম্যাটিকরণের সাথে জড়িত ছিল, যদি এটি আজ অব্যাহত থাকে তবে এটি বলা যেতে পারে যে এই অংশটি প্রথম ভবিষ্যদ্বাণীকারীরা 10 বছর আগে ছিল, যার মধ্যে ওয়াল স্ট্রিট ব্রেক থেকে ফিরে আসা হাই-ফ্রিকোয়েন্সি কৌশল এবং সিস্টেমগুলি অন্তর্ভুক্ত ছিল না। সুতরাং, কোয়ালিফাইং কৌশল বা প্রোগ্রাম্যাটিক কৌশল চীনে কিছু সময়ের জন্য অব্যাহত রয়েছে, তবে বর্তমান বাজারের অংশ এবং অভিনেতা এবং নীতিগত সমর্থনের ক্ষেত্রে, কোয়ালিফাইং এখনও একটি ছোট অংশ, যদিও বহু-বিশ্লেষণ এবং কৌশলগত মডেল তৈরির গবেষণায় প্রচুর পরিমাণে রয়েছে।
অবশেষে, আমার পেশাগত বিশ্বাস এবং লেখার আমন্ত্রণের জন্য হাজার হাজার কোয়ালিফাইং জনসাধারণকে ধন্যবাদ। আপনার কোন নির্দিষ্ট কোড এবং কৌশলগত সমস্যা আছে, আমাকে বা টি-ডায়নকে ব্যক্তিগতভাবে ইমেইল করুন, আমি টি-ডায়ন গ্রুপে আছি।
শেষ পর্যন্ত আবারও ধন্যবাদ জানাই আপনার চমৎকার ব্যাখ্যাটির জন্য।
যারা এখনও এই গ্রুপে যোগ দেননি তারা দ্রুত যোগদান করুন।
হাজার হাজার ভবন!
উইকএমেন্ডে মুছে ফেলা এই জনসমাগমের প্রতি মনোযোগ দিন
/*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) } }
আলিআপনি কি এটাকে বিনয় সংস্করণে রূপান্তর করতে পারবেন?