
পাওয়ারফিল্ড ব্রেকিং কৌশলটি একটি পরিমাণগত ট্রেডিং কৌশল যা চলমান গড় এবং অপেক্ষাকৃত শক্তিশালী সূচকের উপর ভিত্তি করে। এই কৌশলটি বাজারের প্রবণতার দিকটি মূল্যায়ন করে যখন দামগুলি মূল চলমান গড়কে ভেঙে দেয়, আরএসআই সূচকের সাথে মিলিত হয়ে প্রবেশের সময় নির্ধারণ করে। মূল ধারণাটি হ’ল যখন দামগুলি চলমান গড়কে ভেঙে দেয়, তখন আরএসআই সূচকের অতিরিক্ত ওভারসেল সংকেত সহ একটি ট্রেডিং সংকেত জারি করা হয়।
পাওয়ারফিল্ড ব্রেকআউট কৌশলটি দুটি মুভিং এভারেজ ব্যবহার করে, প্রথমটি হ’ল 10 পিরিয়ডের ইএমএ দ্রুত চলমান গড় হিসাবে, দ্বিতীয়টি 200 পিরিয়ডের ইএমএ ধীর চলমান গড় হিসাবে। দ্রুত লাইনটি বর্তমান মূল্য প্রবণতা প্রতিনিধিত্ব করে এবং ধীর লাইনটি দীর্ঘমেয়াদী মূল্য প্রবণতা প্রতিনিধিত্ব করে। দাম যখন 10 দিনের লাইনটি অতিক্রম করে তখন এটি একটি মজাদার সংকেত, যখন 10 দিনের লাইনটি অতিক্রম করে তখন এটি একটি মজাদার সংকেত।
এই কৌশলটি আরএসআই সূচকগুলির সাথেও সংযুক্ত থাকে যাতে নির্দিষ্ট প্রবেশের সময় নির্ধারণ করা যায়। যদি দামগুলি উত্থানের প্রবণতা থাকে, তবে আরএসআই নিম্নের নীচে যখন আরএসআই নিম্ন হয় (আরএসআই 5 এর চেয়ে কম) তখন একাধিক সংকেত দেওয়া হয়। যদি দামগুলি নিম্নের প্রবণতা থাকে, তবে আরএসআই উচ্চের উপরে যখন আরএসআই উচ্চ হয় (আরএসআই 95 এর চেয়ে বেশি) তখন একটি খালি সংকেত দেওয়া হয়।
অতিরিক্ত মুদ্রাস্ফীতির পর ক্ষতি বন্ধ করার নীতি হল, যদি মূল্য আবারও ১০ দিনের লাইন অতিক্রম করে বা অতিক্রম করে, তবে ক্ষতি বন্ধ করা হবে।
এই কৌশলটির সবচেয়ে বড় সুবিধা হ’ল এটির প্রবণতা অনুসরণ করার ক্ষমতা শক্তিশালী। চলমান গড় নিজেই একটি দুর্দান্ত প্রবণতা নির্ধারণের ক্ষমতা রয়েছে। কৌশলটি দ্রুত এবং ধীর গড়ের সুবিধাগুলি পুরোপুরি ব্যবহার করে, দ্রুত লাইনটি স্বল্পমেয়াদী প্রবণতার দিকনির্দেশ করে, ধীর লাইনটি দীর্ঘমেয়াদী প্রবণতার দিকনির্দেশ করে। যখন দ্রুত লাইনটি ধীর লাইনটি ভেঙে দেয়, তখন শেয়ারের দাম স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী উভয়ই উত্থানের প্রবণতায় রয়েছে, এটি একটি শক্তিশালী কেনার সংকেত।
আরএসআই সূচক যুক্ত করাও কৌশলটির সুবিধা বাড়ায়। আরএসআই উচ্চ-নিম্নের সংমিশ্রণটি ওভারব্লুড ওভারসোলের সময় কার্যকরভাবে একটি ট্রেডিং সংকেত প্রেরণ করতে পারে, যার ফলে সম্ভাব্য বিপরীত বিন্দুতে প্রবেশ করা যায় এবং কৌশলটির কার্যকারিতা বাড়ায়।
যদিও এই কৌশলটি প্রবণতা ট্র্যাকিংয়ের শক্তিশালী ক্ষমতা রাখে, তবে কোনও প্রযুক্তিগত সূচক কৌশল পুরোপুরি ক্ষতি এড়াতে পারে না, তবুও কিছু ঝুঁকি রয়েছে। বিশেষত, নিম্নলিখিত ঝুঁকিগুলি থাকতে পারেঃ
ঝুঁকি কমানোর জন্য, চলমান গড় প্যারামিটারগুলিকে সামঞ্জস্য করা যেতে পারে, আরএসআই প্যারামিটারগুলির সমন্বয়কে অনুকূলিত করা যায়, স্টপ লিনের দূরত্ব যথাযথভাবে শিথিল করা যায়, পজিশনের আকারকে যুক্তিসঙ্গতভাবে নিয়ন্ত্রণ করা যায় ইত্যাদি। অপ্টিমাইজড প্যারামিটার সমন্বয়টি পুনরায় পরিমাপের সময় যথাযথভাবে যাচাই করা উচিত।
এই কৌশলটি আরও উন্নত করার সুযোগ রয়েছে, বিশেষ করে নিম্নলিখিত দিকগুলোতেঃ
স্বনির্ধারিত মুভিং এভারেজ যুক্ত করা হয়েছে যাতে মুভিং এভারেজ প্যারামিটারগুলি বাজার ওঠানামা অনুযায়ী স্বয়ংক্রিয়ভাবে সামঞ্জস্য করা যায়।
ব্রিন ব্যান্ডের মতো অস্থিরতার সূচক যুক্ত করা, বাজারের তীব্র ওঠানামা মোকাবেলায় কার্যকরভাবে সহায়তা করে।
মেশিন লার্নিং অ্যালগরিদম যুক্ত করুন, এআই প্রশিক্ষণের মাধ্যমে আরও ভাল প্যারামিটার সমন্বয় এবং লেনদেনের নিয়ম, কৌশলগুলিকে আরও বুদ্ধিমান করুন।
মাল্টি-মার্কেট পোর্টফোলিও, পরীক্ষার নমুনার পরিমাণ বাড়ানো, বিভিন্ন বাজারের মধ্যে কৌশলগুলির কার্যকারিতা নিশ্চিত করা।
মৌলিক বিশ্লেষণ মডিউল চালু করা, ম্যাক্রো-নীতি, বড় ঘটনা ইত্যাদির সাথে বাজারের গতিবিধি বিচার করা, কৌশলগত সিদ্ধান্তের জন্য ভিত্তি প্রদান করা।
পাওয়ারফিল্ড ব্রেকআউট কৌশলটি একটি খুব কার্যকর চলমান গড় কৌশল। এটি প্রবণতা নির্ধারণের জন্য দামের দ্রুত এবং ধীর গড়ের নীতি ব্যবহার করে এবং আরএসআই সূচকগুলিকে সঠিকভাবে প্রবেশের জন্য সহায়তা করে। এই সংমিশ্রণটি গড় এবং ওভারব্রেক ওভারসেল সূচকের সুবিধাগুলি পুরোপুরি ব্যবহার করে। এই কৌশলটি বিভিন্ন বাজারে প্রমাণিত হয়েছে, উপার্জন স্থিতিশীল, ঝুঁকি নিয়ন্ত্রণযোগ্য এবং এটি একটি প্রস্তাবিত পরিমাণযুক্ত ট্রেডিং কৌশল। ভবিষ্যতে আরও অপ্টিমাইজেশনের মাধ্যমে কৌশলটি আরও ভাল পারফরম্যান্স করতে পারে।
/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-23 00:00:00
period: 30m
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/
// © JoseMetal
//@version=5
//== Constantes
c_blanco = color.rgb(255, 255, 255, 0)
c_negro = color.rgb(0, 0, 0, 0)
c_amarillo_radiactivo = color.rgb(255, 255, 0, 0)
c_cian_radiactivo = color.rgb(0, 255, 255, 0)
c_verde_radiactivo = color.rgb(0, 255, 0, 0)
c_verde = color.rgb(0, 128, 0, 0)
c_verde_oscuro = color.rgb(0, 80, 0, 0)
c_rojo_radiactivo = color.rgb(255, 0, 0, 0)
c_rojo = color.rgb(128, 0, 0, 0)
c_rojo_oscuro = color.rgb(80, 0, 0, 0)
c_naranja_oscuro = color.rgb(200, 120, 0, 0)
noneColor = color.new(color.white, 100)
max_float = 10000000000.0
//== Funciones
//== Declarar estrategia y período de testeo
strategy("Estrategia Larry Connors", shorttitle="Estrategia Larry Connors", overlay=true)
fecha_inicio = input(timestamp("1 Jan 2000"), title="• Fecha de inicio", group="Período de pruebas", inline="periodo_de_pruebas")
vela_en_fecha = true
posicion_abierta = strategy.position_size != 0
LONG_abierto = strategy.position_size > 0
SHORT_abierto = strategy.position_size < 0
GRUPO_P = "Posiciones"
P_permitir_LONGS = input.bool(title="LONGS", group=GRUPO_P, defval=true, inline="posiciones")
P_permitir_SHORTS = input.bool(title="SHORTS", group=GRUPO_P, defval=true, inline="posiciones")
GRUPO_general = "General"
mostrar_color_velas = input.bool(title="Colorear velas", defval=true, group=GRUPO_general)
//== Inputs de indicadores
// Medias móviles simples
GRUPO_SMAs = "SMAs"
SMA_1_fuente = input.source(title="• (Media de salida) Fuente / Long.", group=GRUPO_SMAs, defval=close, inline="sma_1")
SMA_1_length = input.int(title="", group=GRUPO_SMAs, defval=10, minval=1, inline="sma_1")
SMA_2_fuente = input.source(title="• (Media tendencial) Fuente / Long.", group=GRUPO_SMAs, defval=close, inline="sma_2")
SMA_2_length = input.int(title="", group=GRUPO_SMAs, defval=200, minval=1, inline="sma_2")
SMA_1 = ta.ema(SMA_1_fuente, SMA_1_length)
SMA_2 = ta.ema(SMA_2_fuente, SMA_2_length)
// RSI
GRUPO_RSI = "RSI"
RSI_src = input.source(title="• Fuente / Longitud", group=GRUPO_RSI, defval=close, inline="rsi_calc")
RSI_length = input.int(title="", group=GRUPO_RSI, defval=2, minval=1, inline="rsi_calc")
RSI = ta.rsi(RSI_src, RSI_length)
RSI_nivel_os = input.int(title="• Sobreventa / Sobrecompra", group=GRUPO_RSI, defval=5, minval=0, maxval=99, inline="rsi_niveles")
RSI_nivel_ob = input.int(title="", group=GRUPO_RSI, defval=95, minval=1, maxval=100, inline="rsi_niveles")
//== Cálculo de condiciones
cierre_sobre_SMA_1 = close > SMA_1
tendencia_alcista = close > SMA_2
RSI_en_sobreventa = RSI < RSI_nivel_os
RSI_en_sobrecompra = RSI > RSI_nivel_ob
//== Entrada (deben cumplirse todas para entrar)
LONG_condition_1 = tendencia_alcista
LONG_condition_2 = not cierre_sobre_SMA_1 // Vela con cierre bajo la media rápida
LONG_condition_3 = RSI_en_sobreventa[1] and not RSI_en_sobreventa // Sobreventa en la vela anterior y ya no en la actual
all_LONG_conditions = LONG_condition_1 and LONG_condition_2 and LONG_condition_3
entrar_en_LONG = P_permitir_LONGS and all_LONG_conditions and vela_en_fecha and not LONG_abierto
SHORT_condition_1 = not tendencia_alcista
SHORT_condition_2 = cierre_sobre_SMA_1 // Vela con cierre sobre la media rápida
SHORT_condition_3 = RSI_en_sobrecompra[1] and not RSI_en_sobrecompra // Sobrecompra en la vela anterior y ya no en la actual
all_SHORT_conditions = SHORT_condition_1 and SHORT_condition_2 and SHORT_condition_3
entrar_en_SHORT = P_permitir_SHORTS and all_SHORT_conditions and vela_en_fecha and not SHORT_abierto
if (entrar_en_LONG)
strategy.entry("Abrir Long", strategy.long)
if (entrar_en_SHORT)
strategy.entry("Abrir Short", strategy.short)
//== Salida
exit_LONG_conditions = cierre_sobre_SMA_1
exit_SHORT_conditions = not cierre_sobre_SMA_1
if (LONG_abierto and exit_LONG_conditions)
strategy.close("Abrir Long")
if (SHORT_abierto and exit_SHORT_conditions)
strategy.close("Abrir Short")
//== Ploteo en pantalla
// SMAs
plot(SMA_1, "Media de salida", color=color.aqua, linewidth=2)
plot(SMA_2, "Media tendencial", color=tendencia_alcista ? color.green : color.red, linewidth=4)
// Color de fondo
bgcolor = entrar_en_LONG ? color.new(color.green, 85) : entrar_en_SHORT ? color.new(color.red, 85) : color.new(color.black, 100)
bgcolor(bgcolor)
// Color de las velas según sobrecompra/sobreventa del RSI
color_velas = mostrar_color_velas ? (RSI_en_sobreventa ? #00a800 : RSI_en_sobrecompra ? #ca0000 : na) : na
barcolor(color_velas)