ফ্লোর-ক্রসিং সেগটুথ মুনাফা বন্ধের কৌশল যা চলমান গড়ের উপর ভিত্তি করে

লেখক:চাওঝাং, তারিখ: ২০২৩-১২-২১ ১২ঃ২৬ঃ১৮
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি চলমান গড়ের গোল্ডেন ক্রস এবং ডেথ ক্রসের উপর ভিত্তি করে পজিশন খোলে এবং একটি ফ্লোর-ক্রসিং পদ্ধতিতে লাভ এবং স্টপ লস সেট করে। এর প্রধান বৈশিষ্ট্যগুলি হলঃ

  1. শক ফিল্টার করার জন্য চলমান গড় সিস্টেম ব্যবহার করুন
  2. গতিশীল মূলধন পরিচালনার জন্য মুভিং লাভ এবং স্টপ লস গ্রহণ করুন
  3. একমুখী খোলা এড়ানোর জন্য কনফিগারযোগ্য অবস্থান ফিল্টারিং

কৌশল নীতি

কৌশলটি চারটি অংশ নিয়ে গঠিতঃ

  1. চলমান গড় সিস্টেম

    প্রবণতা নির্ধারণ এবং শক ফিল্টার করার জন্য চলমান গড়ের গোল্ডেন ক্রস এবং ডেথ ক্রস ব্যবহার করুন।

  2. সরে যাওয়া লাভজনক এবং ক্ষতি বন্ধ

    লাভ এবং ঝুঁকি নিয়ন্ত্রণের জন্য একটি নির্দিষ্ট শতাংশের সাথে লাভ এবং স্টপ লস ব্যবহার করুন, গতিশীল মূলধন ব্যবস্থাপনা উপলব্ধি করুন।

  3. অবস্থান ফিল্টারিং

    পজিশন ফিল্টারিং সক্ষম করতে পারেন কিনা তা কনফিগার করতে পারেন। যদি পূর্ববর্তী অবস্থানটি দীর্ঘ হয় তবে পরবর্তী সংকেতটি একতরফা হোল্ডিং এড়ানোর জন্য অবস্থানটি খুলতে সংক্ষিপ্ত হতে হবে।

  4. এটিআর স্টপ লস

    স্টপ লসের সর্বাধিক পরিসীমা সীমাবদ্ধ করতে এবং অত্যধিক স্টপ লস এড়াতে এটিআর ব্যবহার করুন।

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

সুবিধা

এই কৌশলটির প্রধান সুবিধাগুলো হল:

  1. উচ্চ কনফিগারযোগ্যতা

    কৌশলটির অনেক প্যারামিটার ব্যবহারকারীদের ট্রেডিং স্টাইলের উপর ভিত্তি করে সামঞ্জস্য করার জন্য কনফিগারযোগ্য।

  2. ভালো মূলধন ব্যবস্থাপনা

    মুভিং টেক লাভ এবং স্টপ লস এবং এটিআর স্টপ লস গ্রহণের মাধ্যমে একক স্টপ লসের বিস্তৃতি কার্যকরভাবে নিয়ন্ত্রণ করা যায় এবং চমৎকার মূলধন ব্যবস্থাপনা অর্জন করা যায়।

  3. ট্রেন্ডিং মার্কেটের জন্য উপযুক্ত

    চলমান গড় কৌশলটি শক্তিশালী ট্রেন্ডিং বাজারের জন্য শকগুলি কার্যকরভাবে ফিল্টার করার জন্য আরও উপযুক্ত।

ঝুঁকি এবং প্রতিরোধ ব্যবস্থা

এই কৌশলের কিছু ঝুঁকিও রয়েছেঃ

  1. প্রবণতা ভুল মূল্যায়ন

    জটিল বাজারে চলমান গড়ের বিচার নিখুঁত নয়, এবং ভুল বিচার হতে পারে। এই সময়ে, চলমান গড়ের পরামিতিগুলি যথাযথভাবে সামঞ্জস্য করা উচিত, অথবা প্রবণতা বিচার করার জন্য অন্যান্য সূচকগুলি একত্রিত করা যেতে পারে।

  2. অতিরিক্ত স্টপ লস

    স্টপ লস রেঞ্জ সেট করার জন্য এটিআর পরামিতিগুলি একত্রিত করা উচিত।

  3. একমুখী খোলা ঝুঁকি

    পজিশন ফিল্টারিং সক্ষম করার ফলে ট্রেডিং ফ্রিকোয়েন্সিতে কিছু প্রভাব পড়বে। দীর্ঘস্থায়ী একমুখী হোল্ডিং অতিরিক্ত ঝুঁকি নিয়ে আসতে পারে।

অপ্টিমাইজেশান নির্দেশাবলী

অপ্টিমাইজেশনের প্রধান দিকগুলি হলঃ

  1. প্যারামিটার অপ্টিমাইজেশন

    কৌশল কার্যকারিতা অপ্টিমাইজ করার জন্য চলমান গড় চক্র, ATR পরামিতি, লাভ এবং স্টপ লস অনুপাত এবং অন্যান্য পরামিতিগুলি সামঞ্জস্য করুন।

  2. সূচক যোগ করা

    মূলধন প্রবাহকে মূল্যায়ন করতে এবং অত্যধিক স্টপ লস এড়াতে সিএমএফ, ওবিভি এর মতো সূচক যুক্ত করুন।

  3. অন্যান্য কৌশলগুলির সাথে একত্রিত

    প্রবণতা স্থিতিশীল হওয়ার পরে আরও ভাল ফলাফল অর্জনের জন্য প্রবণতা অনুসরণ করার জন্য ব্রেকআউট কৌশলগুলির সাথে একত্রিত করুন।

সংক্ষিপ্তসার

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


/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © MGULHANN

//@version=5

//İchimoku Leading Span 2 Hesaplaması ve Girişleri
strategy("Stairs Gain Strategy - MG", overlay=true, margin_long=100, margin_short=100)
laggingSpan2Periods = input.int(52, minval=1, title="Leading Periot")
displacement = input.int(1, minval=1, title="Displacement")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
leadLine2 = donchian(laggingSpan2Periods)
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
	 title="Leading Span B")

// İşlem Tekrarını Filtrele	 
filtreUygula = input.bool(true,title="Pozisyon Sıra Filtresi Uygula")

//Kar Al / Zarar Durdur Seviyeleri Girişleri
zararDurdurmaYuzde = input.float(1.0, title='Zarar Durdurma %', step=0.01) / 100
karAlmaYuzde = input.float(2.0, title='Kar Alma %', step=0.01) / 100

//ATR Hesaplaması
atrCarpani = input.float(0.3, title="ATR Çarpanı", step= 0.01)
atrDegeri = ta.atr(14) * atrCarpani

//ATR Değer Girişleri
atrbuyukdeger = input.float(0.01, title="ATR Üst Limit", step=0.01)
atrkucukdeger = input.float(0.06, title="ATR Alt Limit", step=0.01)

//Buy ve Sell Şartları
buycross =   ta.crossover(close,leadLine2[displacement-1]) ? atrDegeri > atrbuyukdeger : strategy.position_size == 0
sellcross = ta.crossover(leadLine2[displacement-1],close) ? atrDegeri < atrkucukdeger : strategy.position_size == 0

//KONTROL
var sonPozisyonYonu = 0
//Son kapanan pozisyon long ise degiskenin degerini 1 olarak ata
if strategy.position_size[1] > 0 and strategy.position_size == 0
    sonPozisyonYonu := 1

//Son kapanan pozisyon short ise degiskenin degerini -1 olarak ata
if strategy.position_size[1] < 0 and strategy.position_size == 0
    sonPozisyonYonu := -1
    
//eger filtre uygulama seçiliyse ve son pozisyon yönü long ise 'longFiltreSonuc' degiskenine false degeri ata ve bir sonraki pozisyonun long olmasını engelle
longFiltreSonuc = filtreUygula ? sonPozisyonYonu == 1 ? false : true : true

//eger filtre uygulama seçiliyse ve son pozisyon yönü short ise 'shortFiltreSonuc' degiskenine false degeri ata ve bir sonraki pozisyonun short olmasını engelle
shortFiltreSonuc = filtreUygula ? sonPozisyonYonu == -1 ? false : true : true

//LONG GİRİŞ
strategy.entry("Long", strategy.long, when=buycross and longFiltreSonuc)
longKarAl = strategy.position_avg_price * (1 + karAlmaYuzde)
longZararDurdur = strategy.position_avg_price * (1 - zararDurdurmaYuzde)
strategy.exit("Long Exit","Long",limit=longKarAl, stop=longZararDurdur)

//SHORT GİRİŞ
strategy.entry("Short", strategy.short, when=sellcross and shortFiltreSonuc)
shortKarAl = strategy.position_avg_price * (1 - karAlmaYuzde)
shortZararDurdur = strategy.position_avg_price * (1 + zararDurdurmaYuzde)
strategy.exit("Short Exit","Short",limit=shortKarAl, stop=shortZararDurdur)

//Kar Al ve Zarar Durdur Seviyelerinin Grafikte İşaretlenmesi
plot(strategy.position_size != 0 ? strategy.position_avg_price : na, color=color.navy, linewidth=2, style=plot.style_linebr, title="İşleme Giriş Seviyesi")
plot(strategy.position_size > 0 ? longKarAl : na, color=color.green, linewidth=2, style=plot.style_linebr, title="Long Kar Alım Seviyesi")
plot(strategy.position_size > 0 ? longZararDurdur : na, color=color.red, linewidth=2, style=plot.style_linebr, title="Long Zarar Durdurma Seviyesi")
plot(strategy.position_size < 0 ? shortKarAl : na, color=color.green, linewidth=2, style=plot.style_linebr, title="Short Kar Alım Seviyesi")
plot(strategy.position_size < 0 ? shortZararDurdur : na, color=color.red, linewidth=2, style=plot.style_linebr, title="Short Zarar Durdurma Seviyesi")

//plotshape(buycross,size=size.small,style=shape.labelup,location=location.belowbar,color=color.green,text="Al", offset = displacement-1, textcolor=color.white)
//plotshape(sellcross,size=size.small,style=shape.labeldown,location=location.abovebar,color=color.red,text="Sat", offset = displacement-1, textcolor=color.white)


আরো