4
ফোকাস
1271
অনুসারী

বিকল্প ট্রেডিং আইডিয়া--কে লাইন এরিয়া ট্রেডিং কৌশল

তৈরি: 2023-11-03 17:12:42, আপডেট করা হয়েছে: 2024-11-08 09:08:54
comments   0
hits   1620

বিকল্প ট্রেডিং আইডিয়া–কে লাইন এরিয়া ট্রেডিং কৌশল

একটি অবিশ্বস্ত ট্রেডিং আইডিয়া দেখে - কে-লাইন এরিয়া ট্রেডিং কৌশল, এই নিবন্ধে আমরা এই ধারণাটি আলোচনা করব এবং এই স্ক্রিপ্টটি বাস্তবায়ন করার চেষ্টা করব।

কে-লাইন এলাকা কৌশলের মূল ধারণা

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

কে-লাইন এলাকা কৌশলের নীতি

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

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

কে-লাইন এরিয়া কৌশলের সুবিধা

কে-লাইন এরিয়া কৌশলের সুবিধা হল যে এটি দামের প্রবণতার মাত্রা এবং পরিবর্তনের পাশাপাশি ক্রয়-বিক্রয়ের অনুভূতির রূপান্তরকে একত্রিত করে, তুলনামূলকভাবে সম্পূর্ণ পরিমাণগত ট্রেডিং কৌশল প্রদান করে। এর সুবিধার মধ্যে রয়েছে:

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

কে-লাইন এলাকা কৌশলের ঝুঁকি

যদিও কে-লাইন এলাকা কৌশলটির কিছু সুবিধা রয়েছে, তবে এর কিছু ঝুঁকিও রয়েছে, যার মধ্যে রয়েছে:

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

কে-লাইন এলাকা কৌশলের অপ্টিমাইজেশন দিক

কে-লাইন এলাকা কৌশল অপ্টিমাইজ করার জন্য, নিম্নলিখিত নির্দেশাবলী বিবেচনা করা যেতে পারে:

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

এই কৌশল বাস্তবায়ন করতে JavaScript ভাষা ব্যবহার করুন

  • K লাইন এলাকা গণনা করুন

  • একটি দীর্ঘ অবস্থান খোলার জন্য সংকেত:

(1) নিম্নগামী প্রবণতার “কে-লাইন এলাকা” থ্রেশহোল্ডে পৌঁছেছে এবং এটি আগে প্রতিষ্ঠিত হতে পারে

(2) KDJ সূচকের মান 80-এর বেশি

  • সংক্ষিপ্ত অবস্থান খোলার সংকেত:

(1) ঊর্ধ্বমুখী প্রবণতার “কে-লাইন এলাকা” থ্রেশহোল্ডে পৌঁছেছে এবং এটি আগে প্রতিষ্ঠিত হতে পারে

(2) KDJ সূচকের মান 20 এর কম

  • দীর্ঘ/সংক্ষিপ্ত প্রস্থান: ATR ট্রেইলিং স্টপ লস এবং টেক প্রফিট

কোড বাস্তবায়ন

// 参数
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: চলমান গড় সময়কাল।
  • থ্রেশহোল্ড: থ্রেশহোল্ড ক্রয় বা বিক্রির সময় নির্ধারণ করতে ব্যবহৃত হয়।
  • পরিমাণ: প্রতিটি লেনদেনের পরিমাণ।

গ্লোবাল ভেরিয়েবল

  • c: কে-লাইন চার্ট অবজেক্ট, চার্ট আঁকতে ব্যবহৃত হয়।
  • openPrice: খোলার মূল্য রেকর্ড করুন।
  • tradeState: লেনদেনের স্থিতি রেকর্ড করুন, যা হতে পারে “NULL” (শর্ট পজিশন), “BUY” (By) বা “SELL” (sell)।

গণনা ফাংশন

  • calculateKLineArea ফাংশন: এই ফাংশনটি ক্যান্ডেলস্টিক চার্টে একটি নির্দিষ্ট সময়ের মধ্যে মূল্য এবং চলমান গড়ের মধ্যে ক্ষেত্রফল গণনা করতে ব্যবহৃত হয় এবং ক্ষেত্রফলের মান, শেষ ক্রস-আপওয়ার্ড ক্রসিংয়ের ক্যান্ডেলস্টিক সূচক এবং শেষ ক্রস-ডাউনওয়ার্ড ক্রসিং। এই মানগুলি পরবর্তী সিদ্ধান্তগুলিতে কখন কেনাবেচা করতে হবে তা নির্ধারণে ব্যবহৃত হয়।

প্রধান লুপ ফাংশন

  • onTick ফাংশন: এটি হল প্রধান স্ট্র্যাটেজি এক্সিকিউশন ফাংশন ফাংশনের মধ্যে নিম্নোক্ত কাজগুলি:

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