یہ حکمت عملی ولیمز اشارے کے فریکٹل بریک آؤٹ اصول کو اپناتی ہے اور ایک موثر طویل اور مختصر افتتاحی اور بند ہونے والے ماڈل کو ڈیزائن کرنے کے لئے مخصوص K- لائن پیٹرن کو جوڑتی ہے۔ یہ درمیانی اور قلیل مدتی رجحانات کو پکڑنے اور اضافی منافع حاصل کرنے کے لئے مارکیٹ کی نقل و حرکت کے اہم الٹ پوائنٹس پر درست طریقے سے طویل اور مختصر ہوسکتا ہے۔
یہ حکمت عملی الٹ سگنل کا تعین کرنے کے لئے ولیمز اشارے میں فراکٹل پوائنٹس کا استعمال کرتی ہے۔ جب اوپر یا نیچے فراکٹل ظاہر ہوتا ہے اور یہ K- لائن ہستی کی سمت کے مطابق ہوتا ہے تو ، ایک تجارتی سگنل تیار ہوتا ہے۔
خاص طور پر ، اس حکمت عملی میں ڈبلیو ایم ایکس ولیمز فریکٹلز نامی ایک کسٹم اشارے کی وضاحت کی گئی ہے۔ یہ اوپری فریکٹل (اپ فریکٹل) اور نیچے فریکٹل (ڈی این فریکٹل) کا تعین کرنے کے لئے فیکٹر افعال کا استعمال کرتا ہے۔
اوپری فریکٹل منطق یہ ہے: موجودہ K لائن کی سب سے زیادہ قیمت پچھلی n K لائنوں کی سب سے زیادہ قیمت سے زیادہ ہے (n ایک ایڈجسٹ پیرامیٹر ہے) ، اس طرح ایک اوپری سائیڈ بریک آؤٹ فریکٹل تشکیل دیتا ہے۔
نچلی فرکٹل منطق یہ ہے: موجودہ K لائن کی کم قیمت پچھلی n K لائنوں کی کم قیمت سے کم ہے ، اس طرح نچلی طرف کے بریک آؤٹ فرکٹل کی تشکیل ہوتی ہے۔
سب سے اوپر اور سب سے نیچے کے فرکٹلز حاصل کرنے کے بعد ، اس بات کا تعین کریں کہ کیا وہ تبدیل ہوتے ہیں ، یعنی ، کوئی بھی موجود نہیں ہوتا ہے یا اس کے برعکس۔ اس وقت ، فرکٹال ابھی تشکیل پا گیا ہے ، جس سے الٹ جانے کا زیادہ امکان ظاہر ہوتا ہے۔
اس کے بعد ، مخصوص تجارتی سگنل کا تعین کرنے کے لئے K- لائن ہستی کی سمت کے ساتھ مل کر۔ جب اوپری فراکٹل تشکیل دیا جاتا ہے اور بند کرنا اوپن سے زیادہ ہے تو ، طویل ہوجائیں۔ جب نیچے فراکٹل تشکیل دیا جاتا ہے اور بند کرنا اوپن سے کم ہے تو ، مختصر ہوجائیں۔
الٹ ٹائمنگ کا تعین کرنے کے لئے ولیمز اشارے فریکٹل پوائنٹس کا استعمال کریں۔ یہ ایک پختہ اور قابل اعتماد تکنیکی اشارے ہے۔
ٹریڈنگ سگنل کی تصدیق کے لئے K لائن کے ادارے کی سمت کو یکجا کریں اور غیر رجحان کے علاقوں سے بچنے سے بچیں.
چند پیرامیٹرز جو صرف فریکٹل دور n کو ایڈجسٹ کرنے کی ضرورت ہے، ٹیسٹ اور بہتر بنانے کے لئے آسان ہے.
پوزیشن کھولنے کے لئے لچکدار ترتیبات جیسے پوزیشن سائزنگ، بندش کی شرائط وغیرہ، براہ راست ٹریڈنگ میں لاگو کرنا آسان ہے۔
فریکٹل شکلوں کے بعد، مارکیٹ مکمل طور پر الٹ نہیں ہو سکتا، رجحان فیصلے کے ساتھ مل کر کی ضرورت ہے.
سٹاپ نقصان کی پوزیشن کی ترتیب کو محتاط رہنے کی ضرورت ہے تاکہ شور مچانے والی بڑی اتار چڑھاؤ کی نقل و حرکت سے باہر نکلنے سے بچ سکے۔
n پیرامیٹر کو مختلف مصنوعات کے لئے ایڈجسٹ کرنے کی ضرورت ہے۔ اگر مدت بہت بڑی یا بہت چھوٹی ہے تو اس سے نتائج متاثر ہوں گے۔
حل:
اہم رجحان کا فیصلہ کرنے کے لئے، رجحانات کے خلاف تجارت سے بچنے کے لئے چلتی اوسط جیسے اشارے شامل کرسکتے ہیں.
متحرک ٹریلنگ سٹاپ نقصان کا استعمال کریں یا مناسب ڈراؤ ڈاؤن پر مبنی سٹاپ نقصان مقرر کریں.
پیرامیٹرز کو بہتر بنانے اور بہترین اقدار تلاش کرنے کے لئے واک فارورڈ تجزیہ کا استعمال کریں.
فریکٹل الٹ جانے والی حکمت عملیوں میں متعدد منافع پیدا کرنے کا رجحان ہوتا ہے پھر نقصانات پیدا کرنے کے لئے دوبارہ الٹ جاتا ہے۔ تجارتی حد کو مزید محدود کرنے اور غیر ضروری الٹ جانے والی تجارت کو کم کرنے کے لئے رجحان فلٹرز کو شامل کرنے پر غور کیا جاسکتا ہے۔
موجودہ سادہ اسٹاپ نقصان کا طریقہ مؤثر طریقے سے مارکیٹ کی نقل و حرکت کو ٹریک نہیں کرسکتا ہے۔ زیادہ جدید اسٹاپ نقصان کی تکنیکوں کی کوشش کی جاسکتی ہے جیسے اسٹاپ نقصان کو منتقل کرنا ، وقت پر مبنی اسٹاپ نقصان ، متحرک اسٹاپ نقصان وغیرہ۔
فی الحال صرف K- لائن ہستی کی سمت کا استعمال کریں۔ اگر زیادہ K- لائن کی معلومات جیسے وِکس اور قریبی مقام پر غور کیا جائے تو ، اس سے بھی زیادہ درست تجارتی سگنل تیار کیے جاسکتے ہیں۔
یہ تکنیکی اشارے پر مبنی الٹ پلٹ کی حکمت عملی ہے۔ یہ کلیدی محور پوائنٹس پر بنیادی رجحان میں تبدیلیوں کو پکڑنے کے لئے ولیمز اشارے کے فریکٹلز کا استعمال کرتا ہے ، جس کا مقصد اضافی منافع حاصل کرنے کے لئے تجارتی سگنل بنانے کے لئے K- لائن ادارے کی سمت کے ساتھ مل کر ہے۔
دوسرے الٹ کرنے کی حکمت عملیوں کے مقابلے میں ، اس حکمت عملی میں واضح منطق اور آسانی سے سمجھنے کے لئے پیرامیٹر ڈیزائن کی خصوصیات ہے۔ اس میں آسان جانچ کے لئے لچکدار پیرامیٹر ایڈجسٹمنٹ ہے ، اور براہ راست ٹریڈنگ میں براہ راست لاگو کیا جاسکتا ہے۔ اگلے مرحلے میں رجحان فلٹرنگ ، اسٹاپ نقصان کے طریقوں وغیرہ پر مزید اصلاحات حکمت عملی کی کارکردگی کو بہتر بنا سکتی ہیں۔
/*backtest start: 2023-11-14 00:00:00 end: 2023-12-14 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/ // © WMX_Q_System_Trading //@version=4 SystemName="WMX Williams Fractals strategy V4" InitCapital = 1000000 InitPosition = 100 InitCommission = 0.075 InitPyramidMax = 10 strategy(title=SystemName, shorttitle=SystemName, overlay=true, initial_capital=InitCapital, default_qty_type=strategy.percent_of_equity, default_qty_value=InitPosition, commission_type=strategy.commission.percent, commission_value=InitCommission) //study("WMX Williams Fractals", shorttitle="WMX Fractals", format=format.price, precision=0, overlay=true) // Define "n" as the number of periods and keep a minimum value of 2 for error handling. n = input(title="Periods", defval=2, minval=2, type=input.integer) h=close l=close factorh(High)=> upFractal = ( (High[n+2] < High[n]) and (High[n+1] < High[n]) and (High[n-1] < High[n]) and (High[n-2] < High[n])) or ( (High[n+3] < High[n]) and (High[n+2] < High[n]) and (High[n+1] == High[n]) and (High[n-1] < High[n]) and (High[n-2] < High[n])) or ( (High[n+4] < High[n]) and (High[n+3] < High[n]) and (High[n+2] == High[n]) and (High[n+1] <= High[n]) and (High[n-1] < High[n]) and (High[n-2] < High[n])) or ( (High[n+5] < High[n]) and (High[n+4] < High[n]) and (High[n+3] == High[n]) and (High[n+2] == High[n]) and (High[n+1] <= High[n]) and (High[n-1] < High[n]) and (High[n-2] < High[n])) or ((High[n+6] < High[n]) and (High[n+5] < High[n]) and (High[n+4] == High[n]) and (High[n+3] <= High[n]) and (High[n+2] == High[n]) and (High[n+1] <= High[n]) and (High[n-1] < High[n]) and (High[n-2] < High[n])) upFractal upFractal=factorh(h) factorl(Low)=> dnFractal = ( (Low[n+2] > Low[n]) and (Low[n+1] > Low[n]) and (Low[n-1] > Low[n]) and (Low[n-2] > Low[n])) or ( (Low[n+3] > Low[n]) and (Low[n+2] > Low[n]) and (Low[n+1] == Low[n]) and (Low[n-1] > Low[n]) and (Low[n-2] > Low[n])) or ( (Low[n+4] > Low[n]) and (Low[n+3] > Low[n]) and (Low[n+2] == Low[n]) and (Low[n+1] >= Low[n]) and (Low[n-1] > Low[n]) and (Low[n-2] > Low[n])) or ( (Low[n+5] > Low[n]) and (Low[n+4] > Low[n]) and (Low[n+3] == Low[n]) and (Low[n+2] == Low[n]) and (Low[n+1] >= Low[n]) and (Low[n-1] > Low[n]) and (Low[n-2] > Low[n])) or ((Low[n+6] > Low[n]) and (Low[n+5] > Low[n]) and (Low[n+4] == Low[n]) and (Low[n+3] >= Low[n]) and (Low[n+2] == Low[n]) and (Low[n+1] >= Low[n]) and (Low[n-1] > Low[n]) and (Low[n-2] > Low[n])) dnFractal=factorl(l) U=valuewhen(upFractal[0]!= upFractal[1],l[0],3) L=valuewhen(dnFractal[0]!=dnFractal[1],h[0],3) longcon=crossover(close ,L) and close>open shortcon=crossunder(close ,U) and close<open if longcon strategy.entry("Long", strategy.long, when = strategy.position_size <= 0 ) if shortcon strategy.entry("Short", strategy.short, when = strategy.position_size >= 0 )