مقداری زگ زگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-21 13:43:24
ٹیگز:

img

جائزہ

اس حکمت عملی کا مقصد یہ جانچنا ہے کہ آیا موم بتیوں کے رنگ ، حجم اور بے ترتیب طریقوں جیسے مختلف ان پٹ متغیرات کا استعمال سائینس ویلز کی شکل میں قیمتوں میں ہونے والی تبدیلیوں کی پیش گوئی کرنے کے لئے کیا جاسکتا ہے۔ حکمت عملی ان متغیرات کو سائینس ویلز کی شکل میں تبدیل کرتی ہے۔ جب چوٹیوں یا نچلی سطح مقررہ تعداد میں پہنچ جاتی ہے تو ، خریدنے یا فروخت کے فیصلے کیے جاتے ہیں۔

حکمت عملی کا اصول

حکمت عملی کو تین حصوں میں تقسیم کیا گیا ہے۔ پہلا حصہ موم بتی کے رنگوں میں تبدیلیوں کا پتہ لگاتا ہے۔ جب ایک ہی رنگ کی کئی موم بتیوں کے بعد ایک مختلف رنگ کی موم بتی ظاہر ہوتی ہے تو ، سینس لہر سمت بدل جاتی ہے۔ دوسرا حصہ یہ پتہ لگاتا ہے کہ آیا حجم اوسط سے زیادہ ہے یا کم ہے۔ جب اوسط ٹوٹ جاتا ہے تو ، لہر سمت بدل جاتی ہے۔ تیسرا حصہ سکوں پھینکنے کا تقلید کرنے کے لئے بے ترتیب طریقہ استعمال کرتا ہے۔ جب بے ترتیب نتیجہ مختلف ہوتا ہے تو ، لہر سمت بدل جاتی ہے۔ جب یہ تین لہریں مقررہ تعداد میں جمع ہوجاتی ہیں تو ، تجارتی فیصلے کیے جاتے ہیں۔

یہ کوڈ تینوں لہروں کے لئے موجودہ سمت ، چوٹیوں کی تعداد ، اور پچھلے شمعدان کی صورتحال کو ٹریک کرکے لہروں کے چلانے کو کنٹرول کرتا ہے۔ جب چوٹیوں کی تعداد پیرامیٹر کی ترتیب تک پہنچ جاتی ہے تو ، یہ چلانے کی سمت کو تبدیل کرتی ہے۔ یہ لوپ سینس لہروں کے چلانے کا مشابہت کرتا ہے۔

فوائد کا تجزیہ

یہ سینس ویو تھیوری معنی خیز معلوم ہوتی ہے ، اور نقلی لہروں کی شکل میں بھی حقیقی مارکیٹ کے ساتھ کچھ ارتباط ہے۔ لیکن اس حکمت عملی کے ٹیسٹ کے ذریعے ، یہ معلوم ہوسکتا ہے کہ وہ دراصل بے ترتیب نتائج ہیں۔ متغیرات کا جو مجموعہ لہروں کی شکل کو زیادہ ملتا جلتا نظر آتا ہے وہ تجارتی نتائج کو بہتر نہیں بناتا ہے۔

لہذا اس حکمت عملی کا ایک فائدہ یہ ہے کہ غلط فہمی کو مسترد کرنا ہے کہ مارکیٹ کی پیش گوئی کی جاسکتی ہے۔ مارکیٹ میں متغیرات قیمتوں کو متاثر کرتی ہیں ، لیکن وہ غیر متوقع ہیں ، اور بے ترتیب فیصلے بھی اسی طرح کے نتائج حاصل کرسکتے ہیں۔

خطرے کا تجزیہ

اس حکمت عملی کا سب سے بڑا خطرہ یہ ہے کہ بے ترتیب تجارت میں منافع اور نقصان کا تعین کرنا مشکل ہے۔ مختلف پیرامیٹرز کے تحت نتائج کی پیش گوئی کرنا بھی مشکل ہے ، اور یہ پہلے سے طے کرنا ناممکن ہے کہ آیا یہ منافع بخش ہوسکتا ہے۔

اس کے علاوہ ، سینس ویو کی پیش گوئی کا نظریہ خود غلط ہے۔ مارکیٹ کی تبدیلیاں سادہ سائیکلزم کے ساتھ نقلی کرنے کے لئے بہت پیچیدہ ہیں۔ لہذا اس حکمت عملی کو اصل تجارت کے لئے واقعی استعمال نہیں کیا جاسکتا ہے۔

خطرات کو کم کرنے کے لئے ، پیرامیٹر رینج کا تعین کرنے کے لئے بے ترتیب نتائج کا مزید تجزیہ کرنا ضروری ہے۔ یا تجارتی سگنل کی تصدیق کے لئے دیگر تجزیاتی طریقوں کو جوڑنا۔

اصلاح کی ہدایات

اس حکمت عملی کو مندرجہ ذیل سمتوں میں بہتر بنایا جاسکتا ہے:

  1. نمونہ کی جگہ کو بڑھانے کے لئے لہروں میں تبدیل مزید متغیرات میں اضافہ
  2. بہترین traversal مجموعہ تلاش کرنے کے لئے تین موجودہ لہروں کو یکجا کریں
  3. اسٹاپ نقصان کے طریقہ کار مقرر کریں، جیسے فیصد نقصان کی روک تھام
  4. انٹری اور آؤٹ پٹ منطق اور بیک ٹیسٹ کو بہتر پیرامیٹرز تلاش کرنے کے لئے بہتر بنائیں

خلاصہ

مختلف سینس لہروں کی جانچ کے ذریعے ، یہ حکمت عملی مارکیٹ کی غیر متوقع نوعیت کی عکاسی کرتی ہے۔ اسی وقت ، یہ پیش گوئی کرنے کے لئے لہر کے دوروں کا استعمال کرنے کے غلط نظریہ کی بھی تردید کرتی ہے۔

اگلا ، حکمت عملی کی عملی صلاحیت کو متغیرات کو بڑھا کر ، لہر کی شکلوں کو جوڑ کر ، اسٹاپ قائم کرنے اور پیرامیٹرز کو بہتر بنانے سے بہتر بنایا جاسکتا ہے۔ لیکن پھر بھی یہ سمجھنا ضروری ہے کہ مارکیٹ کی تبدیلیاں پیچیدہ اور غیر متوقع ہیں۔ ہمیں مارکیٹ کی پیش گوئی کرنے کے بجائے بے ترتیب خطرات کو کم کرنے کی ضرورت ہے۔


/*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)


مزید