এই কৌশলটি ইমিকোমু কিনকো হিয়ো সূচকের রূপান্তর লাইন, বেস লাইন এবং লাইন মেঘের সামনের এবং পিছনের লাইনগুলি ব্যবহার করে, দামের প্রবণতা দিকটি সনাক্ত করে, ট্রেডিং ট্র্যাকিংয়ের জন্য। যখন দাম মেঘের শীর্ষকে ভেঙে দেয়, তখন অতিরিক্ত হয়, যখন মেঘের নীচের অংশটি ভেঙে যায়, তখন খালি হয়, পূর্বনির্ধারিত লাভের অনুপাত বন্ধ হয়ে যায় এবং পূর্বনির্ধারিত ক্ষতির অনুপাত বন্ধ হয়ে যায়।
এই কৌশলটি মূলত নিম্নলিখিত Ichimoku সূচক লাইন ব্যবহার করেঃ
যখন দাম পূর্ববর্তী প্রান্তিক মেঘ অতিক্রম করে, তখন অতিরিক্ত করুন; যখন দাম পূর্ববর্তী প্রান্তিক মেঘ অতিক্রম করে, তখন খালি করুন। কনফিগ এন্ট্রি এবং এক্সজিট রেসন যথাক্রমে মেঘের শীর্ষ এবং মেঘের নীচে বিপর্যয় ঘটানোর সময় পজিশন খোলে এবং লাভ-ক্ষতি অনুপাতের সময় পজিশনটি বন্ধ করে দেয়।
এই কৌশলটি Ichimoku ক্লাউড ট্রেন্ড সনাক্তকরণের দিকনির্দেশনা ব্যবহার করে সহজ এবং কার্যকরভাবে ট্রেন্ড ট্র্যাকিংয়ের জন্য। যদিও কিছু স্থগিতাদেশ এবং মিথ্যা সংকেতের ঝুঁকি রয়েছে, তবে প্যারামিটার অপ্টিমাইজেশন, স্টপ লস প্রযুক্তির উন্নতি এবং অন্যান্য সূচকগুলির সাথে মিলিত হওয়ার মাধ্যমে এটি উন্নত করা যেতে পারে। এই কৌশলটি সহজেই বোঝা এবং বাস্তবায়ন করা যায়, এটি শিক্ষানবিসদের জন্য উপযুক্ত এবং অন্যান্য কৌশলগুলির জন্য রেফারেন্স হিসাবেও ব্যবহার করা যেতে পারে। ক্রমাগত পরীক্ষা এবং অপ্টিমাইজেশনের মাধ্যমে, কৌশল প্যারামিটার এবং নিয়মগুলি আরও উন্নত করা যেতে পারে, রিয়েল-ডিস্কে আরও ভাল পারফরম্যান্স অর্জন করতে পারে।
/*backtest
start: 2023-10-04 00:00:00
end: 2023-10-08 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Estratégia com Ichimoku" , pyramiding=0, calc_on_every_tick = true, initial_capital = 20000, commission_type = strategy.commission.cash_per_order, commission_value = 10.00)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////Ichimoku Clouds////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////(VERSÃO 40.0)//////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
periodoLinhaDeConversao = input(defval=9, title="Tenkan-sen (Linha de Conversão)", minval=1)
periodoLinhaBase = input(defval=26, title="Kijun-sen (Linha Base)", minval=1)
periodoNivelAdiantadoB = input(defval=52, title="Senkou Span B (Nível adiantado B)", minval=1)
deslocamento = input(defval=26, title="Deslocamento", minval=1)
linhaDeConversao = (highest(high,periodoLinhaDeConversao)+lowest(low,periodoLinhaDeConversao))/2
linhaBase = (highest(high,periodoLinhaBase)+lowest(low,periodoLinhaBase))/2
nivelAdiantadoA = (linhaDeConversao + linhaBase)/2
nivelAdiantadoB = (highest(high,periodoNivelAdiantadoB)+lowest(low,periodoNivelAdiantadoB))/2
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
strategy.initial_capital = 50000
//Hardcoded quantity - strategy.entry(qty=)
capitalInicial = strategy.initial_capital
lotes = (strategy.initial_capital - (strategy.initial_capital % (open*100)))/open
//Percentage input goal - strategy.exit(profit=)
percentGoal = input (defval = 5.0, title = "Goal (%)", type = float, minval=0.0, step=0.1)
longGoal = (strategy.position_avg_price * (percentGoal/100)) * 100
shortGoal = (strategy.position_avg_price - (strategy.position_avg_price / (1+(percentGoal/100)))) * 100
//Percentage input stop - strategy.exit(loss=)
percentStop = input (defval = 0.5, title = "Stop (%)", type = float, minval=0.0, step=0.1)
longStop = (strategy.position_avg_price * (percentStop/100)) * 100
shortStop = (strategy.position_avg_price * (percentStop/100)) * 100
strategy.entry('entryLong', strategy.long, lotes, when = strategy.position_size == 0 and crossover(close,max(nivelAdiantadoA[deslocamento], nivelAdiantadoB[deslocamento])))
strategy.entry('entryShort', strategy.short, lotes, when = strategy.position_size == 0 and crossunder(close,min(nivelAdiantadoA[deslocamento], nivelAdiantadoB[deslocamento])))
strategy.exit('exitLong', 'entryLong', profit = longGoal, loss = longStop)
strategy.exit('exitShort', 'entryShort', profit = shortGoal, loss = shortStop)
plot(strategy.equity, title="Variação de capital", color=white)
//plot(strategy.position_size, color=red)