
اس حکمت عملی کا مقصد یہ جانچنا ہے کہ آیا مختلف ان پٹ متغیرات جیسے K لائن کا رنگ ، ٹرانسمیشن کی مقدار اور بے ترتیب طریقے سے قیمت میں تبدیلی کی پیش گوئی کرنے کے لئے سنجیدہ لہروں کا استعمال کیا جاسکتا ہے۔ حکمت عملی ان متغیرات کو سنجیدہ لہروں کی شکل میں تبدیل کرتی ہے ، اور جب چوٹی یا وادی ایک مقررہ تعداد میں پہنچ جاتی ہے تو ، خریدنے یا بیچنے کا فیصلہ کیا جاتا ہے۔
حکمت عملی کو تین حصوں میں تقسیم کیا گیا ہے ، پہلا حصہ K لائنوں کے رنگ میں تبدیلی کا پتہ لگاتا ہے۔ جب کئی ایک ہی رنگ کی K لائنوں کے بعد ، مختلف رنگ ظاہر ہوتے ہیں تو سمن موڑ موڑ جاتا ہے۔ دوسرا حصہ یہ پتہ لگاتا ہے کہ آیا ٹرانسپورٹ اوسط سے زیادہ ہے یا اس سے کم ہے۔ جب اوسط سے تجاوز ہوتا ہے تو موڑ موڑ جاتا ہے۔ تیسرا حصہ بے ترتیب طریقے کا استعمال کرتے ہوئے سککوں کو پھینکنے کی مشابہت کرتا ہے ، اور بے ترتیب نتائج مختلف ہوتے ہیں۔ جب یہ تینوں لہریں ایک مقررہ تعداد میں جمع ہوجاتی ہیں تو ، تجارتی فیصلے کیے جاتے ہیں۔
کوڈ تینوں لہروں کی موجودہ سمت ، لہروں کی چوٹی اور آخری K لائن کی صورتحال کو ٹریک کرکے لہروں کی کارروائی کو کنٹرول کرتا ہے۔ جب لہروں کی چوٹی پیرامیٹرز کی ترتیب تک پہنچ جاتی ہے تو ، چلنے کی سمت تبدیل کردی جاتی ہے۔ اس سائیکل کے ذریعے ، ہم آہنگ لہروں کی کارروائی کی نقالی کی جاتی ہے۔
اس طرح کی سنجیدہ لہر تھیوری بہت معقول نظر آتی ہے ، اور اس کی طرح کی لہریں بھی حقیقی مارکیٹوں سے کچھ تعلق رکھتی ہیں۔ لیکن اس حکمت عملی کی جانچ کے ذریعے یہ پتہ چلتا ہے کہ یہ دراصل بے ترتیب نتائج ہیں۔ کس طرح کے متغیر کے جوڑے کی لہریں زیادہ نظر آتی ہیں ، اس سے تجارتی نتائج میں اضافہ نہیں ہوتا ہے۔
لہذا اس حکمت عملی کا ایک فائدہ یہ ہے کہ اس غلط فہمی کو مسترد کیا گیا ہے کہ فاریکس مارکیٹ میں فاریکس کی پیش گوئی کی جاسکتی ہے۔ مارکیٹ میں متغیرات قیمتوں پر اثر انداز ہوتے ہیں ، لیکن غیر متوقع طور پر ، بے ترتیب فیصلے سے بھی اسی طرح کے نتائج برآمد ہوتے ہیں۔
اس حکمت عملی کا سب سے بڑا خطرہ یہ ہے کہ بے ترتیب تجارت میں منافع اور نقصان کا تعین کرنا مشکل ہے۔ مختلف پیرامیٹرز کے تحت نتائج کی پیش گوئی کرنا بھی مشکل ہے ، اس بات کا تعین نہیں کیا جاسکتا ہے کہ منافع بخش ہے۔
اس کے علاوہ ، سیننٹینل ویو کی پیشن گوئی کا نظریہ خود ہی غلط ہے۔ مارکیٹ میں تبدیلیاں اتنی پیچیدہ ہیں کہ ان کا سادہ دورانیہ کے ساتھ موازنہ کرنا ناممکن ہے۔ لہذا اس حکمت عملی کو حقیقی تجارت میں لاگو نہیں کیا جاسکتا ہے۔
خطرے کو کم کرنے کے لئے ، پیرامیٹرز کی حد کو طے کرنے کے لئے بے ترتیب نتائج کا مزید تجزیہ کرنے کی ضرورت ہے۔ یا دوسرے تجزیاتی طریقوں کے ساتھ مل کر ٹریڈنگ سگنل کی توثیق کریں۔
اس حکمت عملی کو مندرجہ ذیل طریقوں سے بہتر بنایا جاسکتا ہے:
اس حکمت عملی نے مختلف سینن لہروں کی جانچ کرکے مارکیٹ کی غیر متوقع نوعیت کو ظاہر کیا ہے۔ اس کے ساتھ ساتھ یہ بھی غلط تھیوری کو بھی مسترد کرتا ہے جس کی پیش گوئی لہراتی لہر کے ساتھ کی جاتی ہے۔
اگلے مرحلے میں ، حکمت عملیوں کی عملی دستیابی کو متغیرات ، مرکب لہروں ، اسٹاپ نقصان اور اصلاح کے پیرامیٹرز وغیرہ کو شامل کرکے بہتر بنایا جاسکتا ہے۔ لیکن یہ سمجھنا ضروری ہے کہ مارکیٹ میں تبدیلی پیچیدہ اور متغیر ہے اور اس کی پیش گوئی کرنا آسان نہیں ہے۔ ہم مارکیٹ کی پیش گوئی کرنے کے بجائے بے ترتیب خطرے کو کم کرنا چاہتے ہیں۔
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
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/
// © Gentleman-Goat
//@version=5
strategy("Sine Wave Theory",overlay=false, precision = 2, initial_capital = 1000,shorttitle = "SINE_W_T")
var bar_change_wave_direction = input.int(defval=1,title="Starting Wave Direction",group="Bar Change")
bar_change_sine_wave_number = input.int(defval=28,title="Sine Wave #",group="Bar Change")
bar_change_sine_wave_res = input.timeframe(defval="D",title="Resolution",group="Bar Change")
bar_change_trade = input.bool(defval=true,title="Trade",group="Bar Change")
var volume_wave_direction = input.int(defval=1,title="Starting Wave Direction",group="Volume")
avg_volume_length = input.int(7,title="Lookback Length",group="Volume")
volume_sine_wave_number = input.int(defval=28,title="Sine Wave #",group="Volume")
volume_sine_wave_res = input.timeframe(defval="D",title="Resolution",group="Volume")
volume_trade = input.bool(defval=false,title="Trade",group="Volume")
var coin_flip_wave_direction = input.int(defval=1,title="Starting Wave Direction",group="Coin Flip")
coin_flip_sine_wave_number = input.int(defval=28,title="Sine Wave #",group="Coin Flip")
coin_flip_seed = input.int(defval=1,title="Seed #",group="Coin Flip")
coin_flip_trade = input.bool(defval=false,title="Trade",group="Coin Flip")
avg_volume = ta.sma(volume,avg_volume_length)
//Green or Red Candle
bar_color = close>open ? color.green : color.red
bar_color_time_adj = request.security(syminfo.tickerid, bar_change_sine_wave_res, bar_color)
//Above or Below Average
volume_state = (volume>avg_volume) ? color.blue : color.purple
volume_state_time_adj = request.security(syminfo.tickerid, volume_sine_wave_res, volume_state)
//Coinflip
coin_flip = math.random(0,100,coin_flip_seed)>=50 ? color.teal : color.yellow
var bar_change_wave_count = 0
var volume_wave_count = 0
var coin_flip_wave_count = 0
//Wave Counters
if(volume_state_time_adj[1] != volume_state_time_adj)
volume_wave_count := volume_wave_count + volume_wave_direction
if(bar_color_time_adj[1] != bar_color_time_adj)
bar_change_wave_count := bar_change_wave_count + bar_change_wave_direction
if(coin_flip[1] != coin_flip)
coin_flip_wave_count := coin_flip_wave_count + coin_flip_wave_direction
//Direction changers
if(math.abs(bar_change_wave_count) == bar_change_sine_wave_number and bar_color_time_adj[1] != bar_color_time_adj)
bar_change_wave_direction := bar_change_wave_direction * -1
if(math.abs(volume_wave_count) == volume_sine_wave_number and volume_state_time_adj[1] != volume_state_time_adj)
volume_wave_direction := volume_wave_direction * -1
if(math.abs(coin_flip_wave_count) == coin_flip_sine_wave_number and coin_flip[1] != coin_flip)
coin_flip_wave_direction := coin_flip_wave_direction * -1
//Entry positions
if(bar_change_wave_count==bar_change_sine_wave_number and bar_change_trade==true)
strategy.entry(id="short",direction=strategy.short)
if(bar_change_wave_count==bar_change_sine_wave_number*-1 and bar_change_trade==true)
strategy.entry(id="long",direction=strategy.long)
if(volume_wave_count==volume_sine_wave_number and volume_trade==true)
strategy.entry(id="short-volume",direction=strategy.short)
if(volume_wave_count==volume_sine_wave_number*-1 and volume_trade==true)
strategy.entry(id="long-volume",direction=strategy.long)
if(coin_flip_wave_count==coin_flip_sine_wave_number and coin_flip_trade==true)
strategy.entry(id="short-coinflip",direction=strategy.short)
if(coin_flip_wave_count==coin_flip_sine_wave_number*-1 and coin_flip_trade==true)
strategy.entry(id="long-coinflip",direction=strategy.long)
hline(0, title='Center', color=color.white, linestyle=hline.style_dashed, linewidth=1)
plot(bar_change_wave_count,title="Bar Change", color=bar_color, linewidth=2)
plot(volume_wave_count,title="Volume Average Change", color=volume_state, linewidth=2)
plot(coin_flip_wave_count,title="Coin Flip Change", color=coin_flip, linewidth=2)