Type/to search
2
Follow
494
Followers
Polymarket বহু-ভূমিকা বুদ্ধিমান বিশ্লেষণ ট্রেডিং সিস্টেমের ডিজাইন ও বাস্তবায়ন
Discussions
Created 2026-04-03 17:54:27  Updated 2026-04-13 16:31:58
 0
 371

img

কৌশলের পটভূমি

এই বছরের শুরুতে, সম্প্রদায়ে একটি গুজব ছড়িয়ে পড়ে যে কেউ পলিমার্কেটে রাতারাতি একটি বাড়ির মূল্য উপার্জন করেছে। কৌতূহলবশত আমি নির্দিষ্ট ট্রেডিং ফ্রেমওয়ার্ক খোঁজার চেষ্টা করি, কিন্তু সবই ছিল ক্লিকবেট, কোনো কোডের লাইন ছিল না। বাধ্য হয়ে নিজেই করতে হলো।

img

শুরুতে কিছুটা হতবুদ্ধি ছিলাম। পলিমার্কেট বর্তমানে বৃহত্তম বিকেন্দ্রীভূত ভবিষ্যদ্বাণী বাজার প্ল্যাটফর্ম, যেখানে রাজনীতি, খেলাধুলা, সামষ্টিক অর্থনীতি সহ প্রায় সব ভবিষ্যদ্বাণীযোগ্য ইভেন্ট কভার করে ৬০,০০০-এর বেশি লিস্টেড সিকিউরিটি রয়েছে। প্রতিটি সিকিউরিটি মূলত একটি বাইনারি অপশন কন্ট্রাক্ট – ফলাফল ঘটলে দাম ১-এ পৌঁছায়; না ঘটলে শূন্য হয়। সবচেয়ে লাভজনক জিনিস অবশ্যই ইনসাইডার তথ্য। কিন্তু সাধারণ মানুষ জানে না এলন মাস্ক পরের সপ্তাহে কয়টি টুইট করবেন, ফেডারেল রিজার্ভ পরবর্তীতে সুদের হার কমাবে কিনা, এবং বাজার পর্যবেক্ষণ, বিশ্লেষণ ও সিদ্ধান্ত নেওয়ার সময় বা শক্তিও তাদের নেই।

তাই ভাবলাম, একটি ভিন্ন কোণ থেকে চেষ্টা করা যায়: তথ্য না ধরে, টাকা ধরা। তথ্য সুবিধা সম্পন্ন ব্যক্তিরা আগেই অবস্থান নেবে, এবং ক্রয় কার্যকলাপ দাম ও ভলিউমে ছাপ ফেলবেই। যদিও 'ভেতরের খবর' না জানি, তবুও আর্থিক আচরণ পর্যবেক্ষণ করে推断 করা যায় যে কেউ চুপিসারে পজিশন নিচ্ছে কিনা। এই চিন্তাধারা অনুসরণ করে, একটি মাল্টি-রোল ইন্টেলিজেন্ট অ্যানালাইসিস ট্রেডিং সিস্টেম তৈরি করলাম, যা K-লাইন সিগন্যাল খোঁজা, জনমত যাচাই, AI বিচার, এবং স্বয়ংক্রিয় অর্ডার ও ঝুঁকি নিয়ন্ত্রণকে একটি সম্পূর্ণ পাইপলাইনে সংযুক্ত করে।

img


সিস্টেম আর্কিটেকচার

পুরো সিস্টেমটি FMZ ওয়ার্কফ্লোতে চলে, যা প্রধান থ্রেড ও সাব-থ্রেড নামে দুটি সমান্তরাল শিডিউলিং পাথে বিভক্ত, সম্পূর্ণরূপে ডিকাপল্ড এবং একে অপরকে ব্লক করে না।

শিডিউলিং পাথট্রিগার ফ্রিকোয়েন্সিদায়িত্বপূর্ণ মডিউলমূল কাজ
ট্রেডিং প্রধান থ্রেডপ্রতি ১০ মিনিটসিকিউরিটি ফিল্টারিং → লুপ প্রসেসিং → AI এজেন্ট → ট্রেড এক্সিকিউশনসুযোগ খোঁজা, পজিশন খোলা
ট্রেডিং সাব-থ্রেডপ্রতি ৩০ সেকেন্ডস্টপ প্রফিট/স্টপ লসপজিশন মনিটরিং, ট্রেইলিং স্টপ লস, ম্যাচিউরিটি রিডিম্পশন

প্রধান থ্রেড 'সুযোগ খোঁজা ও পজিশন খোলা'-র দায়িত্বে থাকে, প্রতিটি রাউন্ডে চারটি ধারাবাহিক পর্যায় রয়েছে: প্রাথমিক ফিল্টারিং → K-লাইন অস্বাভাবিকতা সনাক্তকরণ → নিউজ সার্চ → AI মাল্টি-রোল অ্যানালাইসিস, শেষে একটি ক্রয় সিগন্যাল আউটপুট ও অর্ডার এক্সিকিউশনে প্রবেশ করে। সাব-থ্রেড শুধুমাত্র 'বিদ্যমান পজিশন' পর্যবেক্ষণ করে, ৩০ সেকেন্ডের চক্রে ক্রমাগত চলে, প্রধান থ্রেডের চলমান টাস্ক থাকুক বা না থাকুক, সাব-থ্রেড থামে না।

এই পৃথকীকরণ ডিজাইন একটি বাস্তব সমস্যা সমাধান করে: ভবিষ্যদ্বাণী বাজারে দামের পরিবর্তন ধারাবাহিক, কিন্তু স্টক নির্বাচন বিশ্লেষণ ভারী গণনা ও উচ্চ লেটেন্সির। যদি স্টপ লস মনিটরিং প্রধান থ্রেডে রাখা হয়, AI বিশ্লেষণ ধীর হলে স্টপ লস প্রতিক্রিয়া গুরুতরভাবে পিছিয়ে যাবে। স্বাধীন শিডিউলিং একটি প্রয়োজনীয় ইঞ্জিনিয়ারিং ট্রেড-অফ।


মডিউল বিস্তারিত ব্যাখ্যা

প্রাথমিক ফিল্টারিং: প্রথমে আবর্জনা সিকিউরিটি বাদ দিন

৬০,০০০ সিকিউরিটি একে একে বিশ্লেষণ করা সম্ভব নয়, তাই প্রথম ধাপটি সম্পূর্ণ নিয়ম-ভিত্তিক ফিল্টারিং। উদ্দেশ্য শুধু একটি: দ্রুত স্পষ্টতই মূল্যহীন সিকিউরিটি বাদ দেওয়া, পরবর্তী গণনা সম্পদ সত্যিই মূল্যবান সিকিউরিটিগুলোর জন্য সংরক্ষণ করা।

ফিল্টারিং শর্তগুলির মধ্যে রয়েছে: লিকুইডিটির নিম্নসীমা (অতিরিক্ত কম হলে কেনাবেচা কঠিন), ২৪ ঘন্টার ট্রেডিং ভলিউমের নিম্নসীমা (মূলত কোনো ট্রেডিং নেই এমন সিকিউরিটি মূল্যহীন), বিড-আস্ক স্প্রেডের ঊর্ধ্বসীমা (অতিরিক্ত বড় স্প্রেড মানে স্লিপেজের উচ্চ খরচ), প্রতিযোগিতার মাত্রার ঊর্ধ্বসীমা, এবং দামের পরিসর – শুধুমাত্র বাজার-নির্দেশিত সম্ভাবনা ৫% থেকে ৫০% এর মধ্যে থাকা সিকিউরিটিগুলিতে ফোকাস করা। খুব বেশি হলে ইতিমধ্যে সঠিক মূল্য নির্ধারিত, দাম বাড়ার স্থান সীমিত; খুব কম হলে বিশ্বাসযোগ্যতা সন্দেহজনক, আর্বিট্রেজ সুযোগের চেয়ে লটারির কাছাকাছি।

ফিল্টারিংয়ের পর, একই ইভেন্টে সাধারণত Yes এবং No উভয় দিকই লিস্টেড থাকে। কৌশল শুধুমাত্র কম দামের দিকটি রাখে, কারণ কম দামের প্রান্তে প্রতিকূলতার স্থিতিস্থাপকতা বেশি ও সম্ভাব্য রিটার্ন বেশি।

javascript
let truePrice = parseFloat(outcomePrices[outcomeIndex] || 0) if (truePrice < CONFIG.MIN_TRUE_PRICE || truePrice > CONFIG.MAX_TRUE_PRICE) continue let isActive = ( info.active === true && info.approved === true && info.closed === false && info.archived === false && info.acceptingOrders === true && info.pendingDeployment === false ) if (!isActive) continue let spreadPct = (ask - bid) / ask if (spreadPct > CONFIG.MAX_SPREAD_PCT) continue // একই ইভেন্টের শুধুমাত্র কম মূল্যের দিকটি রাখুন if (!marketMap[baseSymbol]) { marketMap[baseSymbol] = entry } else if (truePrice < marketMap[baseSymbol].price) { marketMap[baseSymbol] = entry }

সব ফিল্টারিং থ্রেশহোল্ড $vars ভেরিয়েবলের মাধ্যমে বাহ্যিক প্যারামিটার হিসেবে প্রকাশিত হয়, যা নিজের ঝুঁকি পছন্দ ও মূলধনের আকার অনুযায়ী স্বাধীনভাবে সামঞ্জস্য করা যায়, কোড পরিবর্তনের প্রয়োজন নেই।

img

K-লাইন অস্বাভাবিকতা সনাক্তকরণ: টাকা রেখে যাওয়া চিহ্ন খোঁজা

মোটা ফিল্টারিংয়ের পর, প্রতিটি পাস করা সিকিউরিটির জন্য ৬০ মিনিটের টাইমফ্রেমের সর্বশেষ ২৪০টি K-লাইন টেনে পাঁচ ধরনের অস্বাভাবিকতা সনাক্তকরণ চালানো হয়। এটি কৌশলের মূল সিগন্যাল লেয়ার এবং পুরো সিস্টেমটিকে 'সরাসরি ইভেন্ট AI বিশ্লেষণে দেওয়া' থেকে সবচেয়ে মৌলিক পার্থক্য – আমরা ইভেন্টের ফলাফল অনুমান করি না, আমরা আর্থিক আচরণ খুঁজি।

ধীরে ধীরে ঊর্ধ্বগতি: গত ১২০টি K-লাইনের মোট বৃদ্ধি ৫% এর বেশি, কিন্তু একক সর্বোচ্চ বৃদ্ধি ১.৫% এর কম। এই বৈশিষ্ট্যটি সচেতনভাবে গতি নিয়ন্ত্রণ করে, মনোযোগ এড়ানোর জন্য পজিশন তৈরির কৌশল বর্ণনা করে।

ভলিউমের রৈখিক বৃদ্ধি: সর্বশেষ ৬০টির ভলিউম সিরিজে লিনিয়ার রিগ্রেশন চালানো হয়, ঢাল ধনাত্মক এবং R² ০.৫ এর বেশি। এটি নির্দেশ করে ভলিউম ধারাবাহিকভাবে ও স্থিতিশীলভাবে বাড়ছে, এলোমেলো স্পন্দনের পরিবর্তে। R² মূল চাবিকাঠি, এটি 'একটি ক্যান্ডেলে বিশাল ভলিউম, বাকি সময় নীরবতা'-র মতো নয়েজ ফিল্টার করে।

রিসেশন সংকীর্ণকরণ: ঐতিহাসিক সর্বোচ্চের পর প্রতিটি রিসেশনের সর্বোচ্চ গভীরতা গণনা করা হয়। যদি সাম্প্রতিক গড় রিসেশন প্রাথমিকের ৬০% এর কম হয়, তাহলে বিক্রির চাপ কমছে, শেয়ার স্থিতিশীল হচ্ছে এবং কেউ ধরে নিচ্ছে। প্রতিটি রিসেশন সময়কালে ক্রমাগত সর্বনিম্ন মূল্য ট্র্যাক করে, সম্পূর্ণ রিসেশন প্রশস্ততা গণনার ভিত্তি হিসেবে।

রেঞ্জ ব্রেকআউট: MA60 এবং MA120-এর বিচ্যুতি ২% এর কম (রেঞ্জ ট্রেডিং), যখন বর্তমান মূল্য MA60-কে ৩% ছাড়িয়ে গেছে, পূর্ববর্তী প্রতিরোধ স্তর ভেঙেছে বলে নির্ধারিত হয়।

ভলিউম হঠাৎ বৃদ্ধি: সাম্প্রতিক ৫টি ক্যান্ডেলের গড় ভলিউম গত ৬০টির বেসলাইন ভলিউমের ২.৫ গুণের বেশি হলে, টাকার ত্বরান্বিত প্রবেশ বলে নির্ধারিত হয়।

javascript
function linearRegression(values) { let n = values.length let sumX = 0, sumY = 0, sumXY = 0, sumX2 = 0 for (let i = 0; i < n; i++) { sumX += i; sumY += values[i] sumXY += i * values[i]; sumX2 += i * i } let slope = (n * sumXY - sumX * sumY) / (n * sumX2 - sumX * sumX) let intercept = (sumY - slope * sumX) / n let meanY = sumY / n let ssTot = 0, ssRes = 0 for (let i = 0; i < n; i++) { ssTot += Math.pow(values[i] - meanY, 2) ssRes += Math.pow(values[i] - (slope * i + intercept), 2) } let r2 = ssTot === 0 ? 0 : 1 - ssRes / ssTot return { slope, intercept, r2 } } function detectAnomaly(closes, volumes) { if (closes.length < 60) return null let anomalies = [], score = 0 let slice120 = closes.slice(-Math.min(120, closes.length)) // ── 异常1:缓慢爬升 ────────────────────────────────────── let totalChange = (slice120[slice120.length - 1] - slice120[0]) / slice120[0] let maxSingle = 0 for (let i = 1; i < slice120.length; i++) { let change = Math.abs(slice120[i] - slice120[i - 1]) / slice120[i - 1] if (change > maxSingle) maxSingle = change } if (totalChange > 0.05 && maxSingle < 0.015) { score++ anomalies.push(`缓慢爬升 总涨${(totalChange * 100).toFixed(1)}% 单根最大${(maxSingle * 100).toFixed(2)}%`) } // ── 异常2:成交量线性增长 ───────────────────────────────── let volSlice = volumes.slice(-60) let volReg = linearRegression(volSlice) if (volReg.slope > 0 && volReg.r2 > 0.5) { score++ anomalies.push(`成交量线性增长 斜率${volReg.slope.toFixed(4)} R²${volReg.r2.toFixed(2)}`) } // ── 异常3:回调收窄(追踪每次回调最低价,计算完整深度)──── let pullbacks = [], localHigh = closes[0] let inPullback = false, pullbackLow = closes[0] for (let i = 1; i < slice120.length; i++) { if (closes[i] > localHigh) { if (inPullback) { pullbacks.push((localHigh - pullbackLow) / localHigh) inPullback = false } localHigh = closes[i] } else if (closes[i] < localHigh * 0.99) { if (!inPullback) { inPullback = true; pullbackLow = closes[i] } else if (closes[i] < pullbackLow) { pullbackLow = closes[i] } } } if (pullbacks.length >= 3) { let first = pullbacks.slice(0, Math.floor(pullbacks.length / 2)) let last = pullbacks.slice(Math.floor(pullbacks.length / 2)) let firstAvg = first.reduce((a, b) => a + b, 0) / first.length let lastAvg = last.reduce((a, b) => a + b, 0) / last.length if (lastAvg < firstAvg * 0.6) { score++ anomalies.push(`回调收窄 早期${(firstAvg * 100).toFixed(2)}% 近期${(lastAvg * 100).toFixed(2)}%`) } } // ── 异常4:横盘突破 ─────────────────────────────────────── let ma60 = closes.slice(-60).reduce((a, b) => a + b, 0) / 60 let ma120 = closes.length >= 120 ? closes.slice(-120).reduce((a, b) => a + b, 0) / 120 : ma60 let currentPrice = closes[closes.length - 1] if (Math.abs(ma60 - ma120) / ma120 < 0.02 && currentPrice > ma60 * 1.03) { score++ anomalies.push(`横盘突破 MA60=${ma60.toFixed(3)} MA120=${ma120.toFixed(3)} 当前=${currentPrice.toFixed(3)}`) } // ── 异常5:成交量突增 ───────────────────────────────────── let recentVol = volumes.slice(-5).reduce((a, b) => a + b, 0) / 5 let baseVol = volumes.slice(-65, -5).reduce((a, b) => a + b, 0) / 60 if (baseVol > 0 && recentVol > baseVol * 2.5) { score++ anomalies.push(`成交量突增 近5根均量是基准${(recentVol / baseVol).toFixed(1)}倍`) } return { score, anomalies } }

প্রতিটি অস্বাভাবিকতা শনাক্ত হলে এক পয়েন্ট যোগ হয়, সর্বোচ্চ ৫ পয়েন্ট। শুধুমাত্র মোট স্কোর ২ বা তার বেশি হলেই পরবর্তী পর্যায়ে যাওয়া যায়। একক সংকেত এলোমেলো শব্দ হতে পারে, কিন্তু একাধিক সংকেত একসাথে আসলে তা অর্থের চলাচলের বিশ্বাসযোগ্যতা নির্দেশ করে — এটি পুরো K-লাইন শনাক্তকরণ যুক্তির মূল অনুমান।

সংবাদ অনুসন্ধান: অস্বাভাবিকতার জন্য একটি মৌলিক ব্যাখ্যা খোঁজা

K-লাইন সংকেত প্রমাণ দেয় যে "অর্থ চলছে", কিন্তু অর্থ কেন চলছে এবং সেই চলাচলের কোনো ভিত্তি আছে কিনা, তা যাচাই করার জন্য তথ্যের প্রয়োজন। এই ধাপে প্রতিটি K-লাইন অস্বাভাবিকতার জন্য সংবাদ অনুসন্ধান করে দেখা হয় যে এর পেছনে কোনো ঘটনা সমর্থন আছে কিনা।

এখানে Brave Search API ব্যবহার করা হয়, যা মাসে ২০০০ বিনামূল্যে অনুসন্ধানের সুযোগ দেয়। প্রতি ১০ মিনিটের মূল লাইন চক্রের জন্য এটি যথেষ্ট। অনুসন্ধানের কীওয়ার্ড symbol থেকে বের করা হয়, দিকনির্দেশক প্রত্যয় ও বিভাজক সরিয়ে পঠনযোগ্য ঘটনা বর্ণনায় রূপান্তর করা হয়।

javascript
const q = item.symbol .replace("_USDC.No", "") .replace("_USDC.Yes", "") .replace(/-/g, "+") const rawResponse = HttpQuery( "https://api.search.brave.com/res/v1/web/search?q=" + q, { method: "GET", headers: { "X-Subscription-Token": CONFIG.BRAVE_API_KEY } } ) // সমস্ত রিটার্ন করা সেকশন (ওয়েব, নিউজ ইত্যাদি) ট্রাভার্স করে, ইউনিফর্মভাবে স্ট্রাকচার্ড ফিল্ড এক্সট্র্যাক্ট করে Object.keys(data).forEach(key => { const section = data[key] if (section && section.results && Array.isArray(section.results)) { section.results.forEach(r => { news.push({ type: key, title: r.title, description: r.description, age: r.age }) }) } })

অনুসন্ধান করা খবর এবং K-লাইন ডেটা একসাথে প্যাকেজ করে পরবর্তী AI বিশ্লেষণে পাঠানো হয়—দুটি লাইন একসাথে যাচাই করা, শুধু একদিকে দেখার চেয়ে অনেক বেশি নির্ভরযোগ্য।

AI বহু-ভূমিকা বিশ্লেষণ: চারটি দৃষ্টিভঙ্গি, স্ব-প্রত্যয় রোধ

ডেটা প্রস্তুত হওয়ার পর AI বিশ্লেষণ নোডে প্রবেশ করে, মডেল নিজের প্রয়োজন অনুসারে নির্বাচন করে। প্রম্পটে চারটি স্বাধীন ভূমিকা সংজ্ঞায়িত করা আছে, এটি পুরো সিস্টেমের সবচেয়ে মৌলিক ডিজাইন সিদ্ধান্ত, এটি আলাদাভাবে বলার মতো।

যদি একটি AI কে একই সাথে K-লাইন এবং খবর দেখতে দেওয়া হয়, তাহলে এটি সহজেই দুটির মধ্যে পারস্পরিক নিশ্চিতকরণের মাধ্যমে একটি আপাতদৃষ্টিতে যুক্তিযুক্ত কিন্তু প্রকৃতপক্ষে স্বাধীন যাচাইয়ের অভাবযুক্ত উপসংহারে পৌঁছাতে পারে—তহবিল সংকেত দিয়ে খবরকে সমর্থন করা, এবং আবার খবর দিয়ে তহবিল সংকেতকে সমর্থন করা, শেষ পর্যন্ত একটি "আমি মনে করি কেনা যাবে" এর মতো স্ব-শক্তিশালী ফলাফল আউটপুট করা। ভূমিকা বিচ্ছিন্নতা তথ্য উৎসের স্বাধীনতা বাধ্যতামূলক করে: প্রতিটি ভূমিকা শুধু নিজের ডেটা দেখে, শুধু নিজের মাত্রার উপসংহার আউটপুট করে, এবং চূড়ান্ত সিদ্ধান্ত গ্রহণের ভূমিকা শুধু উপসংহার দেখে, প্রক্রিয়া দেখে না।

ভূমিকা এক: K-লাইন তহবিল বিশ্লেষক, খবর দেখে না, শুধু দাম এবং ভলিউমের অস্বাভাবিকতা দেখে, প্রকৃত তহবিল ক্রমাগত কিনছে কিনা তা বিচার করে, তহবিল সংকেত শক্তি আউটপুট করে (শক্তিশালী/মাঝারি/বেস)।

ভূমিকা দুই: খবর জনমত বিশ্লেষক, K-লাইন দেখে না, শুধু তথ্যের দিক মূল্যায়ন করে, বাজারে এখনও দাম ধরা পড়েনি এমন কোনো ইতিবাচক ঘটনা আছে কিনা তা বিচার করে, খবর সমর্থন স্তর আউটপুট করে (শক্তিশালী/দুর্বল/নেই)।

ভূমিকা তিন: মূল্য মূল্যায়ন বিশ্লেষক, আগের দুটি ভূমিকার উপসংহার একত্রিত করে, ঘটনার প্রকৃত সম্ভাবনার ব্যবধান অনুমান করে, বর্তমান বাজার মূল্যের সাথে তুলনা করে, কম মূল্যায়িত/যুক্তিসঙ্গত/অধিক মূল্যায়িত মূল্যায়ন দেয়। এই ভূমিকায় মেয়াদ উত্তীর্ণের তারিখের ওজন নিয়ম অন্তর্নির্মিত: বাকি ৭ দিনের বেশি থাকলে স্বাভাবিক অনুমান; ৩ দিনের কম এবং বাজার মূল্য ০.১৫-এর বেশি হলে, জোর করে সম্ভাবনার ব্যবধান সংকুচিত করে, "গুরুতরভাবে কম মূল্যায়িত" আউটপুট নিষিদ্ধ করে। যুক্তি স্পষ্ট—মেয়াদ শেষ হওয়ার কাছাকাছি, বাজারের অংশগ্রহণকারীদের কাছে AI-এর প্রশিক্ষণ ডেটার চেয়ে বেশি আপ-টু-ডেট তথ্য থাকে, তখন AI-এর বিচার বাজার মূল্যের কাছে ছাড় দেওয়া উচিত।

ভূমিকা চার: চূড়ান্ত সিদ্ধান্ত বিশ্লেষক, সিদ্ধান্ত ম্যাট্রিক্স অনুসারে আগের তিনটি ভূমিকার উপসংহার একত্রিত করে, চূড়ান্ত কর্ম আউটপুট করে। ম্যাট্রিক্সের যুক্তি হল: তহবিল সংকেত শর্ত, খবর যাচাইকরণ, উভয়ই মিলে আস্থার মাত্রা নির্ধারণ করে; কিন্তু আস্থার মাত্রা যতই বেশি হোক না কেন, যতক্ষণ না মূল্য মূল্যায়ন "কম মূল্যায়িত'-এ না পৌঁছায়, ততক্ষণ কোনো অপারেশন করা যাবে না।

এখানে খবর যাচাইকরণ তথ্য অনুসরণ করছে না, বরং তহবিলের আচরণের ইতিমধ্যেই মৌলিক সমর্থন আছে কিনা তা বিচার করতে ব্যবহৃত হচ্ছে। অভ্যন্তরীণ তহবিল পজিশন নেওয়ার সময় তথ্য প্রকাশ্য খবরে আসে না, কিন্তু তহবিল সংকেতের সাথে খবর সমর্থন যোগ হলে, এটি নির্দেশ করে যে তথ্য প্রচারের মাঝামাঝি পর্যায়ে রয়েছে এবং বাজারে এখনও মূল্য নির্ধারণের পিছিয়ে থাকার জায়গা রয়েছে—এটিই কৌশলটি আসলে ধরতে চায়।

তহবিল সংকেত \ খবর সমর্থনশক্তিশালী যাচাইকরণদুর্বল যাচাইকরণকোন যাচাইকরণ নেই
শক্তিশালী (স্কোর ৪~৫)ক্রয়, আস্থা=উচ্চক্রয়, আস্থা=মাঝারিঅপারেশন করবেন না
মাঝারি (স্কোর ৩)ক্রয়, আস্থা=মাঝারিপর্যবেক্ষণঅপারেশন করবেন না
বেস (স্কোর ২)পর্যবেক্ষণঅপারেশন করবেন নাঅপারেশন করবেন না

AI-এর আউটপুট ফরম্যাট কঠোর JSON, যাতে প্রতিটি ভূমিকার উপসংহার, প্রকৃত সম্ভাবনার ব্যবধান, মূল্য মূল্যায়ন, চূড়ান্ত সিদ্ধান্ত, আস্থা এবং ঝুঁকির তালিকা অন্তর্ভুক্ত থাকে, যা সরাসরি পরবর্তী এক্সিকিউশন নোড দ্বারা গ্রাস করা হয়।

ট্রেড এক্সিকিউশন: শুধু সেরাটি কিনুন

AI প্রতিটি ব্যাচের আইটেমকে আলাদাভাবে স্কোর করার পর, এক্সিকিউশন স্তর সমস্ত ক্রয় সংকেত অর্ডার করবে না—সিস্টেম শুধু সর্বোচ্চ স্কোর করা আইটেমটি নির্বাচন করে। সাজানোর নিয়ম ক্রমানুসারে: আস্থা (উচ্চ > মাঝারি > নিম্ন) → মূল্য মূল্যায়ন (গুরুতরভাবে কম মূল্যায়িত > কম মূল্যায়িত) → প্রকৃত সম্ভাবনার ব্যবধানের প্রস্থ (যত সংকীর্ণ, বিচার তত নির্দিষ্ট)।

javascript
const buySignals = signals.filter(s => s.signal === 'buy') bestSignal = buySignals.sort((a, b) => { const confDiff = (confidenceRank[b.confidence] || 0) - (confidenceRank[a.confidence] || 0) if (confDiff !== 0) return confDiff const assessDiff = (assessmentRank[b.priceAssessment] || 0) - (assessmentRank[a.priceAssessment] || 0) if (assessDiff !== 0) return assessDiff // ব্যবধান যত সংকীর্ণ, তত নির্দিষ্ট, সংকীর্ণটি আগে নির্বাচন করুন const aWidth = (a.trueProb.max || 0) - (a.trueProb.min || 0) const bWidth = (b.trueProb.max || 0) - (b.trueProb.min || 0) return aWidth - bWidth })[0]

নির্বাচিত আইটেম নির্ধারণের পর, রিয়েল-টাইমে অর্ডার বুক থেকে Ask মূল্য পান, পর্যাপ্ত ব্যালেন্স নিশ্চিত করুন এবং লিমিট অর্ডার হিসাবে জমা দিন। অর্ডার জমা দেওয়ার পরে স্ট্যাটাস পোল করুন, সর্বোচ্চ ৩০ সেকেন্ড অপেক্ষা করুন, টাইমআউট হলে অর্ডার বাতিল করুন, যাতে কোনো জমা হওয়া অর্ডার জমা না হয়। যদি বর্তমান রাউন্ডের Ask মূল্য কনফিগার শেয়ার দ্বারা গুণ করে ১ USDC ন্যূনতম অর্ডার থ্রেশহোল্ডের কম হয়, তাহলে সিস্টেম স্বয়ংক্রিয়ভাবে ceil(1/askPrice) অনুসারে ন্যূনতম ট্রেডযোগ্য শেয়ারে রাউন্ড আপ করে।

স্টপ-লস মডিউল: ট্রেইলিং স্টপ-লস + পরম নিরাপত্তা জাল

সাব-লাইন প্রতি ৩০ সেকেন্ডে একবার এক্সিকিউট হয়, লজিক দুটি ধাপে বিভক্ত: প্রথমে মেয়াদ উত্তীর্ণ রিডিম প্রক্রিয়া, তারপর সক্রিয় হোল্ডিংয়ের উপর ট্রেইলিং স্টপ-লস চেক।

Polymarket-এ একটি বিশেষ মেকানিজম আছে—চুক্তি মেয়াদ উত্তীর্ণ হওয়ার পরে তহবিল স্বয়ংক্রিয়ভাবে অ্যাকাউন্টে ফিরে আসে না, সক্রিয়ভাবে redeem কল করতে হয়। কৌশলটি প্রতিটি সাব-লাইন রাউন্ডের শুরুতে সমস্ত রিডিমযোগ্য হোল্ডিং স্ক্যান করে, ব্যাচে তহবিল মুক্ত করে, দীর্ঘমেয়াদী তহবিল লক হওয়া এড়ায়।

ট্রেইলিং স্টপ-লসের মূল হল ডুয়াল-ট্র্যাক স্টপ-লস লাইন ডিজাইন: ট্রেইলিং স্টপ-লস লাইন (সর্বোচ্চ ঐতিহাসিক bid মূল্য - নির্দিষ্ট পতন LOSS_AMOUNT) এবং পরম নিরাপত্তা জাল (প্রবেশ মূল্য × ৫০%), প্রকৃত স্টপ-লস মূল্য এই দুটির মধ্যে বড়টি নেয়।

javascript
function calcStopPrice(entryPrice, maxPrice) { const trailingStopPrice = maxPrice - CONFIG.LOSS_AMOUNT const absoluteStopPrice = entryPrice * CONFIG.FALLBACK_STOP_RATIO // স্থির ০.৫০ const usingFallback = trailingStopPrice < absoluteStopPrice const effectiveStopPrice = usingFallback ? absoluteStopPrice : trailingStopPrice return { effectiveStopPrice, trailingStopPrice, absoluteStopPrice, usingFallback } }

এই ডুয়াল-ট্র্যাক ডিজাইন দুটি সাধারণ পজিশন হোল্ডিং পরিস্থিতির সাথে মিলে যায়: লাভের পর্যায়ে, ট্রেইলিং স্টপ-লস লাইন দামের সাথে উপরে সরে যায়, ভাসমান লাভ লক করে; প্রবেশের সময়ই ক্ষতি হলে, ট্রেইলিং স্টপ-লস লাইন নেতিবাচক বা শূন্যের কাছাকাছি হতে পারে, তখন পরম নিরাপত্তা জাল (প্রবেশ মূল্য×৫০%) দখল নেয়, যাতে পজিশন শূন্যে না পৌঁছানো পর্যন্ত পড়ে না যায়। দুটি লাইন各自的 দায়িত্ব পালন করে, একটিও বাদ দেওয়া যায় না।

স্টপ-লস ট্রিগার হওয়ার পরে মার্কেট অর্ডারে বিক্রি করুন, সেই আইটেমের সর্বোচ্চ ঐতিহাসিক মূল্য ক্যাশ সাফ করুন, এবং পরবর্তী ওপেন সিগন্যালের জন্য অপেক্ষা করুন। ড্যাশবোর্ড রিয়েল-টাইমে প্রতিটি হোল্ডিংয়ের স্টপ-লস লাইন থেকে বাকি জায়গা দেখায়, সতর্কতার মাত্রা অনুসারে রঙ দ্বারা আলাদা করে, ম্যানুয়াল রিভিউর সুবিধার্থে।


মূল ডিজাইন সিদ্ধান্ত

কেন একক প্রম্পটের পরিবর্তে বহু-ভূমিকা ব্যবহার করা হয়? এই প্রশ্নটি আগে বিশ্লেষণ মডিউলে আংশিকভাবে উল্লেখ করা হয়েছে, কিন্তু এটি আরও একবার বলার মতো। একক প্রম্পটের সমস্যা শুধু "স্ব-প্রত্যয়" নয়, আরও একটি গোপন ঝুঁকি আছে: যখন AI একসাথে K-লাইন ডেটা এবং খবরের টেক্সট প্রক্রিয়া করে, এটি পরবর্তীটি ব্যবহার করে পূর্ববর্তীটি ব্যাখ্যা করতে থাকে, K-লাইনের অস্বাভাবিকতাকে খবরের অনিবার্য প্রতিফলন হিসাবে "যুক্তিসঙ্গত" করে, দুটিকে পৃথক সংকেত হিসাবে মূল্যায়ন না করে। ভূমিকা বিচ্ছিন্নতার সারমর্ম হল দুটি স্বাধীন তথ্য চেইন বাধ্যতামূলকভাবে প্রবর্তন করা, এবং যখন চূড়ান্তভাবে একত্রিত করা হয়, যদি দুটি চেইন একই দিকে নির্দেশ করে, তবেই নির্ভরযোগ্যতা বাস্তব।

কেন প্রতিটি রাউন্ডে শুধু সেরা একটি কেনা হয়, ছড়িয়ে না? প্রথাগত ফাইন্যান্সে ছড়িয়ে থাকার জন্য পরিণত তাত্ত্বিক সমর্থন আছে, কিন্তু ভবিষ্যদ্বাণী বাজারে লজিক সম্পূর্ণরূপে প্রযোজ্য নয়। ভবিষ্যদ্বাণী বাজারের আইটেমের ফলাফল বাইনারি, শূন্যে যাওয়ার ঝুঁকি বাস্তব। যদি একসাথে তিনটি মাঝারি আস্থার আইটেম ধরা হয়, যার মধ্যে দুটি শূন্যে যায় এবং একটি বাড়ে, সামগ্রিকভাবে মূলধন ফিরে পাওয়া নাও যেতে পারে। বর্তমান কৌশলের পছন্দ হল: নির্ভুলতার উপর কেন্দ্রীভূত বাজি ধরা, বরং সংখ্যা দিয়ে অসম মানের সংকেত পাতলা করার চেয়ে। এই ট্রেড-অফ সর্বোত্তম নাও হতে পারে, কিন্তু লজিক্যালভাবে স্ব-সঙ্গত।

মেয়াদ উত্তীর্ণের তারিখের ওজন নিয়মকে কেন কঠোর সীমাবদ্ধতা করা হয়েছে? মেয়াদ শেষ হওয়ার কাছাকাছি, বাজার মূল্য অংশগ্রহণকারীদের রিয়েল-টাইম প্রত্যাশা প্রতিফলিত করে, এবং এই অংশগ্রহণকারীদের মধ্যে একটি বড় অনুপাতের কাছে AI-এর প্রশিক্ষণ ডেটার চেয়ে আরও নতুন তথ্য থাকে। যদি এই সময়ে AI এখনও "মূল্য গুরুতরভাবে কম মূল্যায়িত, কেনা উচিত" আউটপুট করে, তাহলে সম্ভবত এর তথ্য ইতিমধ্যেই পুরানো। এই নিয়মটিকে পরামর্শের পরিবর্তে সীমাবদ্ধতা হিসাবে তৈরি করার কারণ হল, AI নিজে থেকে "আমার তথ্য আর যথেষ্ট নতুন নয়" চিহ্নিত করা অবাস্তব, বাহ্যিক জোরপূর্বক হস্তক্ষেপ প্রয়োজন।


বাস্তব ট্রেডিং পর্যবেক্ষণ

বাস্তব অপারেশন রেকর্ড থেকে দেখা যাচ্ছে, কৌশলটির ফানেল অনুপাত বেশ খাড়া। একটি নির্দিষ্ট রানে ১৪১টি প্রাথমিক স্ক্রীনিং-এ উত্তীর্ণ স্টক ছিল, K-লাইন অস্বাভাবিকতা সনাক্তকরণের পরে মাত্র ৩টি অবশিষ্ট থাকে এবং শেষ পর্যন্ত মাত্র ১টি তহবিল সংকেত, সংবাদ সমর্থন এবং মূল্য মূল্যায়ন—এই তিনটি শর্ত একসাথে পূরণ করে অর্ডার ট্রিগার করে। বাকি দুটি যথাক্রমে মূল্য মূল্যায়ন "যুক্তিসঙ্গত" এবং সামগ্রিক স্কোর অপ্রতুল হওয়ায় এড়িয়ে যায়। এটি নির্দেশ করে যে কৌশলটি সামগ্রিকভাবে রক্ষণশীল, খালি পজিশন থাকতে রাজি কিন্তু মানদণ্ড কমাতে নয়। বাজার স্থিতিশীল এবং কোনো সুস্পষ্ট ইভেন্ট না থাকলে, সিস্টেম পুরো দিন কোনো ক্রয় সংকেত তৈরি নাও করতে পারে। এটি ডিজাইনের অভিমুখ, বাগ নয়। এছাড়াও এমন ঘটনা ঘটেছে যেখানে K-লাইন অস্বাভাবিক ছিল কিন্তু পরে ভুল ব্রেকআউট হিসাবে প্রমাণিত হয়েছে, তহবিল অস্থায়ীভাবে প্রবেশ করে আবার বেরিয়ে গেছে এবং ট্রেলিং স্টপ লস হস্তক্ষেপ করে প্রস্থান করেছে। সংবাদ বিশ্লেষণেও নয়েজ আছে, সংশ্লিষ্ট ঘটনার রিপোর্টিং হয় দেরিতে বা পক্ষপাতদুষ্ট হতে পারে, শুধু AI দিয়ে সম্পূর্ণরূপে শনাক্ত করা সম্ভব নয়।

ড্যাশবোর্ড রিয়েল-টাইমে অ্যাকাউন্ট ইকুইটি, পজিশনের অবস্থা (বর্তমান Bid/Ask, সর্বোচ্চ মূল্য, স্টপ লস লাইন থেকে ড্রডাউনের দূরত্ব, স্টপ লস মোড) এবং AI সিদ্ধান্তের বিবরণ দেখায়, যা ম্যানুয়াল যাচাইয়ের জন্য সুবিধাজনক।

img


উপসংহার

সত্যি বলতে, এই সিস্টেমটি একটি চালানো যায় এমন ধারণার কাঠামো বেশি, এটি একটি বক্স খুলেই ব্যবহারযোগ্য মানি প্রিন্টার নয়। মূল লজিক—তহবিল আচরণ ট্রেসিং, দ্বৈত সংবাদ যাচাইকরণ, বহু-ভূমিকা AI বিচার—ধারণাগতভাবে কিছু যুক্তিসঙ্গততা আছে, কিন্তু বাস্তব বাজারে সংকেতের গুণমান অসম, AI-এর বিচারও ভুল হতে পারে এবং মেয়াদ শেষ হওয়ার কাছাকাছি দামের কনভারজেন্স ঝুঁকি সবসময় থাকে।

অনেক জায়গায় উন্নতি করা যেতে পারে: ট্রেডিং স্টকগুলি নিজের পরিচিত ক্ষেত্রে আরও ফোকাস করা যেতে পারে, AI প্রম্পটগুলি নিজের ট্রেডিং স্টাইলে পুনরায় ডিজাইন করা যেতে পারে, পাঁচ ধরনের K-লাইন অস্বাভাবিকতার ওজন এবং থ্রেশহোল্ড টিউন করার জায়গা আছে, এবং স্টপ লস সহগ বাস্তব পজিশনের পারফরম্যান্স অনুযায়ী পুনরাবৃত্তি করা যেতে পারে। কোড সম্পূর্ণ ওপেন সোর্স, পরিবর্তনের জন্য স্বাগতম।

ঝুঁকি সতর্কীকরণ

বাজারের স্টকগুলির পূর্বাভাস দ্বিমুখী ফলাফলের বৈশিষ্ট্য বহন করে, পজিশন থাকলে শূন্য হওয়ার ঝুঁকি আছে। K-লাইন অস্বাভাবিকতা সংকেত এবং AI বিশ্লেষণের সিদ্ধান্তগুলি কোনো বিনিয়োগ পরামর্শ গঠন করে না, ঐতিহাসিক সংকেত কর্মক্ষমতা ভবিষ্যতের রিটার্নের প্রতিনিধিত্ব করে না। কৌশলটি দীর্ঘমেয়াদী রিয়েল-টাইম ট্রেডিং দ্বারা যাচাই করা হয়নি, প্যারামিটার সেটিংস ফলাফলে উল্লেখযোগ্য প্রভাব ফেলে। এই কৌশলটি রিয়েল-টাইম ট্রেডিংয়ে ব্যবহার করার আগে, Polymarket প্ল্যাটফর্মের নিয়ম, চুক্তির মেয়াদ শেষ হওয়ার পদ্ধতি এবং তারল্য ঝুঁকি সম্পূর্ণরূপে বুঝুন এবং নিজের মূলধন ক্ষতির সহনশীলতা নিজেই মূল্যায়ন করুন।

কৌশল সোর্স কোড: Polymarket মাল্টি-রোল ইন্টেলিজেন্ট অ্যানালাইসিস ট্রেডিং স্ট্র্যাটেজি

Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)