
यह रणनीति चार अलग-अलग चक्रों पर आधारित एक SMMA (स्मूथ मूविंग एवरेज) और एक ईएमए (EMA) संकेतक पर आधारित एक मूविंग एवरेज सिस्टम है। यह ट्रेडिंग रणनीति बनाने के लिए कई प्रतिभूति तकनीकी विश्लेषण उपकरणों को जोड़ती है। यह रणनीति मुख्य रूप से EURUSD 15-मिनट के बॉन्ड्स पर उच्च-उपयोग वाले खातों के लिए लागू होती है।
यह रणनीति चार अलग-अलग पैरामीटर SMMA ((3, 6, 9, 50) और एक EMA ((200) का उपयोग करके एक बहुस्तरीय चलती औसत प्रणाली का निर्माण करती है। एसएमएमए संकेतक बाजार के शोर को प्रभावी ढंग से फ़िल्टर कर सकते हैं और प्रवृत्ति की दिशा का आकलन कर सकते हैं। ईएमए संकेतक लंबी अवधि के रुझानों का पता लगाते हैं।
एक खरीद संकेत उत्पन्न होता है जब एक छोटी अवधि की चलती औसत (उदाहरण के लिए, 3 अवधि एसएमएमए) पर एक लंबी अवधि की चलती औसत (उदाहरण के लिए, 200 अवधि ईएमए) के माध्यम से गुजरता है। एक बिक्री संकेत उत्पन्न होता है जब एक छोटी अवधि की चलती औसत के नीचे एक लंबी अवधि की चलती औसत के माध्यम से गुजरता है। इस प्रकार, कई चलती औसत के क्रमबद्ध संबंधों का न्याय करके, एक प्रवृत्ति की दिशा निर्धारित की जाती है।
इसके अलावा, रणनीति ने जोखिम को नियंत्रित करने के लिए स्टॉप-स्टॉप-लॉस पॉइंट भी निर्धारित किए हैं।
इस रणनीति के निम्नलिखित फायदे हैं:
एक बहुस्तरीय चलती औसत संरचना प्रवृत्ति की दिशा का पता लगाने और झूठे संकेतों को कम करने में मदद करती है।
एसएमएमए सूचकांक बाजार के शोर को प्रभावी ढंग से फ़िल्टर करता है, ईएमए सूचकांक लंबी रेखा प्रवृत्ति का पता लगाता है।
उच्च लाभप्रदता वाले खातों के लिए उपयुक्त, जो व्यापार लाभ को बढ़ा सकते हैं।
स्टॉप-स्टॉप-लॉस पॉइंट्स के साथ, जोखिम को प्रभावी ढंग से नियंत्रित किया जा सकता है।
ट्रेडिंग किस्मों को अनुकूलित किया गया है (EURUSD) और अवधि (१५ मिनट) को अनुकूलित किया गया है ताकि यह अधिक लाभदायक हो सके।
इस रणनीति के साथ निम्नलिखित जोखिम भी हैं:
बहुत अधिक चलती औसत के साथ, आप एक छोटी अवधि के पलटाव के अवसर को याद कर सकते हैं।
उच्च लाभप्रदता से नुकसान बढ़ता है, लेकिन लाभ भी बढ़ता है।
जब एक चलती औसत एक संकेत देता है, तो यह संभव है कि अल्पकालिक बाजार पहले से ही उलटा हो गया हो।
EURUSD में भारी उतार-चढ़ाव के कारण अधिक जोखिम हो सकता है।
इन जोखिमों के लिए, लीवरेज गुणांक को उचित रूप से समायोजित किया जा सकता है, चलती औसत के मापदंडों को अनुकूलित किया जा सकता है, अन्य संकेतकों को पेश किया जा सकता है जो बाजार में बदलाव का निर्णय लेते हैं।
इस रणनीति के मुख्य अनुकूलन दिशाएं हैंः
विभिन्न किस्मों और चक्रों के प्रदर्शन का आकलन करें और इष्टतम पैरामीटर चुनें।
विभिन्न मापदंडों के संयोजन और संख्याओं के लिए चलती औसत का परीक्षण करना।
लेनदेन या उतार-चढ़ाव के संकेतकों को बढ़ाने से अल्पकालिक मोड़ का पता चलता है।
गतिशील समायोजन जो स्टॉप-स्टॉप हानि को बढ़ाता है।
ENU सूचकांक में शामिल होने का निर्णय
बहुआयामी परीक्षण और अनुकूलन के माध्यम से, रणनीतियों की स्थिरता और लाभप्रदता में काफी वृद्धि की जा सकती है।
इस चलती औसत रणनीति में एक मजबूत प्रवृत्ति निर्णय प्रणाली बनाने के लिए औसत रेखा संकेतकों के फायदे शामिल हैं। यह ट्रेडिंग किस्मों और चक्रों को अनुकूलित करता है, जो उच्च लाभप्रदता वाले दिनों के भीतर व्यापार के लिए उपयुक्त है। पैरामीटर समायोजन और अनुकूलन परीक्षण के माध्यम से, यह रणनीति एक कुशल और विश्वसनीय एल्गोरिथम ट्रेडिंग रणनीति बन सकती है।
/*backtest
start: 2023-10-24 00:00:00
end: 2023-11-23 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/
// © SoftKill21
//@version=4
strategy("Money maker EURUSD 15min" )
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2000, title = "From Year", minval = 1970)
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 8, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
len = input(3, minval=1, title="Length")
src = input(hl2, title="Source")
smma = 0.0
sma1 = sma(src, len)
smma := na(smma[1]) ? sma1 : (smma[1] * (len - 1) + src) / len
len2 = input(6, minval=1, title="Length")
src2 = input(hl2, title="Source")
smma2 = 0.0
sma2 = sma(src2, len2)
smma2 := na(smma2[1]) ? sma2 : (smma2[1] * (len2 - 1) + src2) / len2
len3 = input(9, minval=1, title="Length")
src3 = input(hl2, title="Source")
smma3 = 0.0
sma3 = sma(src3, len3)
smma3 := na(smma3[1]) ? sma3 : (smma3[1] * (len3 - 1) + src3) / len3
len4 = input(50, minval=1, title="Length")
src4 = input(close, title="Source")
smma4 = 0.0
sma4 = sma(src4, len4)
smma4 := na(smma4[1]) ? sma4 : (smma4[1] * (len4 - 1) + src4) / len4
len5 = input(200, minval=1, title="Length")
src5 = input(close, title="Source")
out5 = ema(src5, len5)
timeinrange(res, sess) => time(res, sess) != 0
london=timeinrange(timeframe.period, "0300-1045")
londonEntry=timeinrange(timeframe.period, "0300-0845")
extraEntry =timeinrange(timeframe.period, "0745-1030")
time_cond = true
//time_cond2 = time >= startDate and time <= finishDate and extraEntry
//
longCond = close > out5 and close > smma4 and close > smma3 and close > smma2 and close > smma and smma > smma2 and smma2>smma3 and smma3>smma4 and smma4>out5 and time_cond
shortCond = close < out5 and close < smma4 and close < smma3 and close < smma2 and close < smma and smma < smma2 and smma2<smma3 and smma3<smma4 and smma4<out5 and time_cond
//longCond = close > out5 and close > smma4 and close > smma3 and close > smma2 and close > smma and smma > smma2 and smma2>smma3 and smma3>smma4 and smma4>out5 and time_cond2
//shortCond = close < out5 and close < smma4 and close < smma3 and close < smma2 and close < smma and smma < smma2 and smma2<smma3 and smma3<smma4 and smma4<out5 and time_cond2
//longCond2 = crossover(close,out5) and crossover(close,smma4) and crossover(close,smma3) and crossover(close,smma2) and crossover(close,smma) and time_cond
//shortCond2 = crossunder(close,out5) and crossunder(close,smma4) and crossunder(close,smma3) and crossunder(close,smma2) and crossunder(close,smma) and time_cond
tp=input(300,title="tp")
sl=input(300,title="sl")
strategy.initial_capital = 50000
//MONEY MANAGEMENT--------------------------------------------------------------
balance = strategy.netprofit + strategy.initial_capital //current balance
floating = strategy.openprofit //floating profit/loss
risk = input(1,type=input.float,title="Risk %")/100 //risk % per trade
//Calculate the size of the next trade
temp01 = balance * risk //Risk in USD
temp02 = temp01/sl //Risk in lots
temp03 = temp02*100000 //Convert to contracts
size = temp03 - temp03%1000 //Normalize to 1000s (Trade size)
if(size < 1000)
size := 1000 //Set min. lot size
dataL = (close-out5)*100000
dataS = (out5-close)*100000
minDistanceL = (smma4 - out5)*100000
minDistanceS= (out5 - smma4)*100000
strategy.entry("long",1,1,when=longCond )
strategy.exit("closelong","long", profit=tp,loss=sl)
strategy.entry("short",0,1,when=shortCond )
strategy.exit("closeshort","short", profit=tp,loss=sl)
strategy.close_all(when = not london, comment="london finish")
//strategy.close_all(when = not extraEntry, comment="london finish")
// maxEntry=input(2,title="max entries")
// strategy.risk.max_intraday_filled_orders(maxEntry)