
একটি অবিশ্বস্ত ট্রেডিং আইডিয়া দেখে - কে-লাইন এরিয়া ট্রেডিং কৌশল, এই নিবন্ধে আমরা এই ধারণাটি আলোচনা করব এবং এই স্ক্রিপ্টটি বাস্তবায়ন করার চেষ্টা করব।
কে-লাইন এরিয়া স্ট্র্যাটেজি হল একটি ট্রেডিং স্ট্র্যাটেজি যা কে-লাইন এবং মুভিং এভারেজের মধ্যে ক্ষেত্র সম্পর্কের উপর ভিত্তি করে। এর মূল ধারণা হল মূল্য প্রবণতার মাত্রা এবং পরিবর্তন বিশ্লেষণ করে শেয়ার বাজারের মূল্যের সম্ভাব্য প্রবণতা সম্পর্কে পূর্বাভাস দেওয়া, সেইসাথে ক্রয়-বিক্রয়ের অনুভূতির রূপান্তর, যাতে পজিশন খোলার এবং প্রস্থান করার সময় নির্ধারণ করা যায়। এই কৌশলটি দীর্ঘ এবং সংক্ষিপ্ত ট্রেডিং সংকেত তৈরি করতে K লাইন এবং চলমান গড়, সেইসাথে KDJ সূচকের মানের উপর নির্ভর করে।
কে-লাইন এলাকাটি মূল্য কে-লাইন এবং চলমান গড়ের মধ্যবর্তী স্থানকে বোঝায় এটি প্রতিটি বারের ক্লোজিং প্রাইস থেকে মুভিং এভারেজের মান বিয়োগ করে এবং তারপর সারসংক্ষেপ করে। যখন দামের ঊর্ধ্বমুখী প্রবণতা বড় হয় এবং দীর্ঘ সময়ের জন্য স্থায়ী হয়, তখন কে-লাইন এলাকা বৃহত্তর হয়ে উঠবে, যখন একটি অস্থির বাজারে বা ধাক্কার পরে বিপরীতমুখী হয়, তখন কে-লাইন এলাকা ছোট হবে। “বিষয়গুলি যখন তাদের চরমে পৌঁছায় তখন অবশ্যই বিপরীত হতে হবে” নীতি অনুসারে, ঊর্ধ্বমুখী প্রবণতা যত বেশি হবে এবং সময় যত বেশি হবে, সংশ্লিষ্ট কে-লাইন এলাকা তত বড় হবে এবং স্প্রিং-এর মতো বিপরীত হওয়ার সম্ভাবনা তত বেশি হবে এটা প্রসারিত, বৃহত্তর প্রতিবার বল. অতএব, কে-লাইন এলাকার জন্য একটি থ্রেশহোল্ড সেট করুন যখন এই থ্রেশহোল্ডে পৌঁছে যায়, মূল্য প্রবণতা শেষ হতে পারে এবং একটি বিপরীত সম্ভাবনা বেশি।
আরও নিশ্চিত করার জন্য যে প্রবণতাটি বিপরীত হতে চলেছে, ক্রয়-বিক্রয়ের অনুভূতির রূপান্তর বিচার করার জন্য KDJ সূচক চালু করা হয়েছে। এই কৌশলটির থ্রেশহোল্ড এবং KDJ সূচক মান নির্দিষ্ট পরিস্থিতিতে এবং কৌশলটির যথার্থতা বাড়ানোর প্রয়োজন অনুসারে সামঞ্জস্য করা যেতে পারে।
কে-লাইন এরিয়া কৌশলের সুবিধা হল যে এটি দামের প্রবণতার মাত্রা এবং পরিবর্তনের পাশাপাশি ক্রয়-বিক্রয়ের অনুভূতির রূপান্তরকে একত্রিত করে, তুলনামূলকভাবে সম্পূর্ণ পরিমাণগত ট্রেডিং কৌশল প্রদান করে। এর সুবিধার মধ্যে রয়েছে:
যদিও কে-লাইন এলাকা কৌশলটির কিছু সুবিধা রয়েছে, তবে এর কিছু ঝুঁকিও রয়েছে, যার মধ্যে রয়েছে:
কে-লাইন এলাকা কৌশল অপ্টিমাইজ করার জন্য, নিম্নলিখিত নির্দেশাবলী বিবেচনা করা যেতে পারে:
K লাইন এলাকা গণনা করুন
একটি দীর্ঘ অবস্থান খোলার জন্য সংকেত:
(1) নিম্নগামী প্রবণতার “কে-লাইন এলাকা” থ্রেশহোল্ডে পৌঁছেছে এবং এটি আগে প্রতিষ্ঠিত হতে পারে
(2) KDJ সূচকের মান 80-এর বেশি
(1) ঊর্ধ্বমুখী প্রবণতার “কে-লাইন এলাকা” থ্রেশহোল্ডে পৌঁছেছে এবং এটি আগে প্রতিষ্ঠিত হতে পারে
(2) KDJ সূচকের মান 20 এর কম
কোড বাস্তবায়ন
// 参数
var maPeriod = 30
var threshold = 50000
var amount = 0.1
// 全局变量
let c = KLineChart({})
let openPrice = 0
let tradeState = "NULL" // NULL BUY SELL
function calculateKLineArea(r, ma) {
var lastCrossUpIndex = null
var lastCrossDownIndex = null
for (var i = r.length - 1 ; i >= 0 ; i--) {
if (ma[i] !== null && r[i].Open < ma[i] && r[i].Close > ma[i]) {
lastCrossUpIndex = i
break
} else if (ma[i] !== null && r[i].Open > ma[i] && r[i].Close < ma[i]) {
lastCrossDownIndex = i
break
}
if (i >= 1 && ma[i] !== null && ma[i - 1] !== null && r[i - 1].Close < ma[i - 1] && r[i].Close > ma[i]) {
lastCrossUpIndex = i
break
} else if (i >= 1 && ma[i] !== null && ma[i - 1] !== null && r[i - 1].Close > ma[i - 1] && r[i].Close < ma[i]) {
lastCrossDownIndex = i
break
}
}
var area = 0
if (lastCrossDownIndex !== null) {
for (var i = r.length - 1 ; i >= lastCrossDownIndex ; i--) {
area -= Math.abs(r[i].Close - ma[i])
}
} else if (lastCrossUpIndex !== null) {
for (var i = r.length - 1 ; i >= lastCrossUpIndex ; i--) {
area += Math.abs(r[i].Close - ma[i])
}
}
return [area, lastCrossUpIndex, lastCrossDownIndex]
}
function onTick() {
var r = _C(exchange.GetRecords)
if (r.length < maPeriod) {
LogStatus(_D(), "K线数量不足")
return
}
var ma = TA.MA(r, maPeriod)
var atr = TA.ATR(r)
var kdj = TA.KDJ(r)
var lineK = kdj[0]
var lineD = kdj[1]
var lineJ = kdj[2]
var areaInfo = calculateKLineArea(r, ma)
var area = _N(areaInfo[0], 0)
var lastCrossUpIndex = areaInfo[1]
var lastCrossDownIndex = areaInfo[2]
r.forEach(function(bar, index) {
c.begin(bar)
c.plotcandle(bar.Open, bar.High, bar.Low, bar.Close, {overlay: true})
let maLine = c.plot(ma[index], "ma", {overlay: true})
let close = c.plot(bar.Close, 'close', {overlay: true})
c.fill(maLine, close, {color: bar.Close > ma[index] ? 'rgba(255, 0, 0, 0.1)' : 'rgba(0, 255, 0, 0.1)'})
if (lastCrossUpIndex !== null) {
c.plotchar(bar.Time, {char: '$:' + area, overlay: true})
} else if (lastCrossDownIndex !== null) {
c.plotchar(bar.Time, {char: '$:' + area, overlay: true})
}
c.plot(lineK[index], "K")
c.plot(lineD[index], "D")
c.plot(lineJ[index], "J")
c.close()
})
if (tradeState == "NULL" && area < -threshold && lineK[lineK.length - 1] > 70) {
// long
let tradeInfo = $.Buy(amount)
if (tradeInfo) {
openPrice = tradeInfo.price
tradeState = "BUY"
}
} else if (tradeState == "NULL" && area > threshold && lineK[lineK.length - 1] < 30) {
// short
let tradeInfo = $.Sell(amount)
if (tradeInfo) {
openPrice = tradeInfo.price
tradeState = "SELL"
}
}
let stopBase = tradeState == "BUY" ? Math.max(openPrice, r[r.length - 2].Close) : Math.min(openPrice, r[r.length - 2].Close)
if (tradeState == "BUY" && r[r.length - 1].Close < stopBase - atr[atr.length - 2]) {
// cover long
let tradeInfo = $.Sell(amount)
if (tradeInfo) {
tradeState = "NULL"
openPrice = 0
}
} else if (tradeState == "SELL" && r[r.length - 1].Close > stopBase + atr[atr.length - 2]) {
// cover short
let tradeInfo = $.Buy(amount)
if (tradeInfo) {
tradeState = "NULL"
openPrice = 0
}
}
LogStatus(_D(), "area:", area, ", lineK[lineK.length - 2]:", lineK[lineK.length - 2])
}
function main() {
if (exchange.GetName().includes("_Futures")) {
throw "not support Futures"
}
while (true) {
onTick()
Sleep(1000)
}
}
কৌশল যুক্তি খুবই সহজ:
১. প্রথমে, কিছু বৈশ্বিক চলক এবং পরামিতি সংজ্ঞায়িত করা হয়েছে, যার মধ্যে রয়েছে:
কৌশল পরামিতি
গ্লোবাল ভেরিয়েবল
গণনা ফাংশন
প্রধান লুপ ফাংশন
ক. সর্বশেষ কে-লাইন ডেটা পান এবং নিশ্চিত করুন যে কে-লাইনের সংখ্যা maPeriod-এর চেয়ে কম নয়, অন্যথায় স্ট্যাটাস রেকর্ড করুন এবং রিটার্ন করুন৷
b চলন্ত গড় ma এবং ATR সূচক atr, সেইসাথে KDJ সূচক গণনা করুন।
গ. এরিয়া ইনফো থেকে শেষ ক্রস-আপের কে-লাইন সূচক এবং শেষ ক্রস-ডাউনের কে-লাইন সূচক পান।
d কে-লাইন চার্ট অবজেক্ট c ব্যবহার করে কে-লাইন এবং সূচক লাইনগুলি আঁকুন এবং মূল্য এবং চলমান গড়ের মধ্যে সম্পর্ক অনুসারে বিভিন্ন রঙ দিয়ে পূর্ণ করুন।
e. শর্তের উপর ভিত্তি করে ক্রয়-বিক্রয়ের সময় নির্ধারণ করুন:
যদি ট্রেডস্টেট “NULL” হয়, এবং এলাকাটি -থ্রেশহোল্ডের কম হয় এবং KDJ-এর K-লাইন মান 70-এর বেশি হয়, তাহলে বাই অপারেশনটি চালান। যদি ট্রেডস্টেট “NULL” হয়, এবং এলাকাটি থ্রেশহোল্ডের চেয়ে বেশি হয় এবং KDJ-এর K-লাইন মান 30-এর কম হয়, তাহলে একটি বিক্রয় অপারেশন করুন। f.
যদি এটি একটি বাই স্ট্যাটাস হয়, তাহলে পজিশনটি বন্ধ হয়ে যাবে যখন আগের দিনের ATR বিয়োগ পূর্ববর্তী ট্রেডিং দিনের ক্লোজিং প্রাইস থেকে কম হবে। যদি এটি একটি বিক্রয় স্থিতি হয়, তাহলে অবস্থানটি বন্ধ হয়ে যাবে যখন মূল্য আগের ট্রেডিং দিনের সমাপনী মূল্য এবং আগের দিনের ATR-এর চেয়ে বেশি হবে৷ প্রধান ফাংশন: এটি হল প্রধান এক্সিকিউশন এন্ট্রি পয়েন্ট, যা এক্সচেঞ্জের নামে “ আছে কিনা তা পরীক্ষা করে।_Futures”, যদি এটি অন্তর্ভুক্ত করা হয়, একটি ব্যতিক্রম নিক্ষেপ করা হবে, অন্যথায় এটি একটি অসীম লুপে প্রবেশ করবে, অনটিক ফাংশন চালাবে এবং প্রতিটি লুপে 1 সেকেন্ডের জন্য ঘুমাবে।
সাধারণভাবে বলতে গেলে, এই কৌশলটি মূলত কে-লাইন চার্ট এবং প্রযুক্তিগত সূচকগুলির উপর নির্ভর করে ক্রয়-বিক্রয়ের সিদ্ধান্ত নিতে, এবং ঝুঁকিগুলি পরিচালনা করতে স্টপ-লস এবং লাভ-লাভ কৌশলগুলিও ব্যবহার করে। অনুগ্রহ করে মনে রাখবেন যে এটি শুধুমাত্র একটি উদাহরণ কৌশল এবং অনুশীলনে ব্যবহার করার সময় বাজারের অবস্থা এবং নির্দিষ্ট চাহিদা অনুযায়ী সামঞ্জস্য এবং অপ্টিমাইজ করা প্রয়োজন।
FMZ.COM এ জাভাস্ক্রিপ্ট ভাষা ব্যবহার করার জন্য কোডের অনেক লাইনের প্রয়োজন হয় না এবং এই মডেলটি বাস্তবায়ন করা খুবই সহজ। এবং KLineChart ফাংশন ব্যবহার করে, কে-লাইন এলাকার গ্রাফিকাল উপস্থাপনা উপলব্ধি করা সহজ। কৌশলটি ক্রিপ্টোকারেন্সি স্পট মার্কেটের জন্য ডিজাইন করা হয়েছে এটি “ডিজিটাল কারেন্সি স্পট ট্রেডিং লাইব্রেরি” টেমপ্লেট ব্যবহার করে এবং অর্ডার দেওয়ার জন্য টেমপ্লেট দ্বারা এনক্যাপসুলেট করা ফাংশনগুলি ব্যবহার করে।


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

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