
ایک متحرک پوزیشن مینجمنٹ سسٹم کے ساتھ ملٹی میڈین لائن ٹریکنگ حکمت عملی ایک کثیر اشاریہ حرکت پذیر اوسط ((EMA) پر مبنی ایک مقداری تجارتی حکمت عملی ہے۔ اس حکمت عملی نے پانچ مختلف ادوار ((12، 144، 169، 576 اور 676) کے ای ایم اے اشارے کی نگرانی کرکے ایک مکمل تجارتی نظام تشکیل دیا ہے ، جس میں رجحان کا فیصلہ ، انٹری سگنل کی شناخت ، بیچ کی تعمیر ، پوزیشن کی متحرک روک تھام اور متحرک روک تھام شامل ہے۔ اس حکمت عملی میں نہ صرف متعدد بار پوزیشننگ کی حمایت کی جاتی ہے ، بلکہ زیادہ سے زیادہ 5 تجارتی پوزیشنیں قائم کی جاسکتی ہیں ، بلکہ ہر پوزیشن کے لئے الگ الگ خطرے کے کنٹرول کے اقدامات بھی ہیں۔ نظام ای ایم اے اشارے کی ترتیب اور قیمتوں کے ساتھ کلیدی لائن کی اوسط سے تعلق رکھتا ہے ، مارکیٹ کے رجحانات کے موڑ کو درست طریقے سے پکڑتا ہے ، اور اس رجحان کو برقرار رکھنے کی شرط پر بیچوں کی تعمیر اور منافع بخش بیچوں کو پورا کرتا ہے۔
اس حکمت عملی کا بنیادی منطق متعدد EMAs کے مابین پوزیشن کے تعلقات اور قیمتوں کے ساتھ کلیدی EMAs کے تعامل پر مبنی ہے:
رجحانات کا تعین کرنے کا طریقہ کار:
داخلہ سگنل:
بیچوں میں گودام تعمیر:
متحرک سٹاپ نقصان سٹاپ:
مجموعی طور پر خطرے کا کنٹرول:
مجموعی طور پر ، اس حکمت عملی میں مارکیٹ کے رجحانات کی سمت کا تعین کرنے کے لئے متعدد ای ایم اے کی صف بندی کی گئی ہے ، قیمت کے ای ایم اے 144 کے ساتھ تعامل کے ذریعہ داخلے کا وقت طے کیا گیا ہے ، اور حالیہ قیمت میں اتار چڑھاؤ کے علاقوں کے ذریعہ متحرک اسٹاپ نقصان کی روک تھام کی پوزیشن قائم کی گئی ہے ، اور اس کے ساتھ ہی ، ذخائر کی تقسیم اور منافع کی تقسیم کے ذریعہ فنڈ مینجمنٹ کو بہتر بنایا گیا ہے ، اور آخر کار ایک مکمل تجارتی نظام تشکیل دیا گیا ہے۔
نظام سازی کے رجحانات کا فیصلہ:
درست داخلے کا طریقہ کار:
ہوشیار فنڈ مینجمنٹ:
لچکدار منافع بخش حکمت عملی:
سخت خطرے کا کنٹرول:
انتہائی موافقت پذیر:
اوسط خطے کے پیچھے کا خطرہ:
ذخائر کی تعمیر کے لیے مالی دباؤ:
مقررہ دورانیہ پیرامیٹر کی حدود:
ہم آہنگی کی روک تھام کے ممکنہ مسائل:
داخلے کی شرائط بہت سخت ہیں:
اعداد و شمار پر انحصار کے خطرات:
انکولی پیرامیٹر میکانزم کا تعارف:
انٹری سگنل فلٹرنگ کو بہتر بنانا:
فنڈ مینجمنٹ سسٹم کو بہتر بنانا:
سٹاپ نقصان کے طریقہ کار کو بہتر بنانا:
وقت کا فلٹر شامل کریں:
رجحان کی طاقت کا جائزہ شامل کریں:
ایک کثیر دورانیہ کی ہم آہنگی کا نظام تعمیر:
ایک سے زیادہ میڈین لائن ٹریکنگ اسٹریٹجی اور متحرک پوزیشن مینجمنٹ سسٹم ایک ساختہ ، منطقی طور پر واضح مقدار میں تجارت کی حکمت عملی ہے۔ یہ حکمت عملی ایک سے زیادہ ای ایم اے کے صف بندی کے مجموعے کے ذریعہ رجحانات کا فیصلہ کرنے کا فریم ورک قائم کرتی ہے ، قیمتوں اور اہم میڈین لائنوں کے ساتھ بات چیت کے ذریعے داخلے کے وقت کا تعین کرتی ہے ، اور بیچوں میں پوزیشن اور متحرک اسٹاپ نقصان کے اسٹاپ کے ذریعہ نفیس فنڈ مینجمنٹ اور رسک کنٹرول کو حاصل کرتی ہے۔ حکمت عملی کا فائدہ یہ ہے کہ اس کے نظام سازی کے رجحانات کا تعین کرنے ، درست داخلے کے طریقہ کار ، ذہین فنڈ مینجمنٹ اور سخت خطرے کے کنٹرول سے ہوتا ہے ، جس سے یہ مختلف مارکیٹ کے حالات میں مناسب ہے۔
تاہم ، اس حکمت عملی میں اوسط سے پیچھے رہ جانے ، مقررہ پیرامیٹرز کی حدود اور فنڈ مینجمنٹ دباؤ جیسے خطرات بھی موجود ہیں۔ حکمت عملی کے اثر کو مزید بڑھانے کے ل the ، آپٹمائزیشن کی سمتوں پر غور کیا جاسکتا ہے ، جیسے کہ موافقت پذیر پیرامیٹرز کے طریقہ کار کو متعارف کرانا ، سگنل فلٹرنگ کو بڑھانا ، فنڈ مینجمنٹ سسٹم کو بہتر بنانا ، اسٹاپ نقصان کے طریقہ کار کو بہتر بنانا اور ملٹی سائیکل ہم آہنگی کا نظام بنانا۔
مجموعی طور پر ، یہ حکمت عملی ایک متوازن رجحان سے باخبر رہنے اور خطرے پر قابو پانے کے ذریعہ ایک قابل عمل فریم ورک مہیا کرتی ہے۔ مسلسل اصلاح اور مخصوص مارکیٹ کے حالات کے ل parameters پیرامیٹرز کی ایڈجسٹمنٹ کے ذریعہ ، اس حکمت عملی کو حقیقی تجارت میں مستحکم کارکردگی کا مظاہرہ کرنے کی امید ہے۔
/*backtest
start: 2024-09-08 00:00:00
end: 2024-12-08 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("专业级交易系统", overlay=false, close_entries_rule = "ANY")
x1 = input.float(1.5,"atr倍数",step=0.1)
x2 = input.int(50,"k线数量",step=1)
s1 = strategy.opentrades.entry_price(0)
s2 = strategy.opentrades.entry_price(1)
s3 = strategy.opentrades.entry_price(2)
s4 = strategy.opentrades.entry_price(3)
s5 = strategy.opentrades.entry_price(4)
s6 = strategy.opentrades.entry_price(5)
s7 = strategy.opentrades.entry_price(6)
s8 = strategy.opentrades.entry_price(7)
s9 = strategy.opentrades.entry_price(8)
c = strategy.position_size,o = strategy.opentrades
ema12_len = input.int(12,"EMA12长度")
ema144_len = input.int(144, "EMA144长度")
ema169_len = input.int(169,"EMA169长度")
ema576_len = input.int(376, "EMA576长度")
ema676_len = input.int(576,"EMA676长度")
ema12 = ta.ema(close,ema12_len)
ema144 = ta.ema(close, ema144_len)
ema169 = ta.ema(close, ema169_len)
ema576 = ta.ema(close, ema576_len)
ema676 = ta.ema(close, ema676_len)
e3 = ta.valuewhen(o ==2 and o[1] == 1 and c > 0,bar_index,0)
e4 = ta.valuewhen(o ==3 and o[1] == 2 and c > 0,bar_index,0)
e5 = ta.valuewhen(o ==4 and o[1] == 3 and c > 0,bar_index,0)
le1 = false
le1 := c <= 0 and ema12 > ema144 and ema144 > ema169 and ema169 > ema576 and ema576 > ema676 and low < ema144 and low[1] > ema144 and close > ema169? true : close < ema169 or ema12 < ema144 ? false : le1[1]
le11 = false
le11 := le1 and bar_index - ta.valuewhen(low < ema144 and low[1] > ema144,bar_index,0) < 12 ? true : false
le2 = false
le2 := c > 0 and o == 1 and o[1] == 1 and ema12 > ema144 and ema144 > ema169 and ema169 > ema576 and ema576 > ema676 and low < ema144 and low[1] > ema144 and close > ema169? true : close < ema169 or ema12 < ema144 or o < 1? false : le2[1]
le21 = false
le21 := le2 and bar_index - ta.valuewhen(low < ema144 and low[1] > ema144 and o == 1 and o[1]==1,bar_index,0) < 12 ? true : false
le3 = false
le3 := c > 0 and o == 2 and o[1] == 2 and ema12 > ema144 and ema144 > ema169 and ema169 > ema576 and ema576 > ema676 and low < ema144 and low[1] > ema144 and close > ema169? true : close < ema169 or ema12 < ema144 or o < 2? false : le3[1]
le31 = false
le31 := le3 and bar_index - e3 > 50 and bar_index - ta.valuewhen(low < ema144 and low[1] > ema144 and o == 2 and o[1]==2,bar_index,0) < 12 ? true : false
le4 = false
le4 := c > 0 and o == 3 and o[1] == 3 and ema12 > ema144 and ema144 > ema169 and ema169 > ema576 and ema576 > ema676 and low < ema144 and low[1] > ema144 and close > ema169? true : close < ema169 or ema12 < ema144 or o < 3? false : le4[1]
le41 = false
le41 := le4 and bar_index - e4 > 50 and bar_index - ta.valuewhen(low < ema144 and low[1] > ema144 and o == 3 and o[1]==3,bar_index,0) < 12 ? true : false
le5 = false
le5 := c > 0 and o == 4 and o[1] == 4 and ema12 > ema144 and ema144 > ema169 and ema169 > ema576 and ema576 > ema676 and low < ema144 and low[1] > ema144 and close > ema169? true : close < ema169 or ema12 < ema144 or o < 4? false : le5[1]
le51 = false
le51 := le5 and bar_index - e5 > 50 and bar_index - ta.valuewhen(low < ema144 and low[1] > ema144 and o == 4 and o[1]==4,bar_index,0) < 12 ? true : false
d1 = ta.valuewhen(o == 1 and o[1] == 0 and c > 0,ta.lowest(12),0)
d2 = ta.valuewhen(o == 2 and o[1] == 1 and c > 0,ta.lowest(12),0)
d3 = ta.valuewhen(o == 3 and o[1] == 2 and c > 0,ta.lowest(12),0)
d4 = ta.valuewhen(o == 4 and o[1] == 3 and c > 0,ta.lowest(12),0)
d5 = ta.valuewhen(o == 5 and o[1] == 4 and c > 0,ta.lowest(12),0)
if le11 and close > ema12 and o == 0
strategy.order("l1",strategy.long,comment="第一单")
if c > 0 and o > 0
strategy.exit("出场1","l1",limit = 2*s1- d1,stop= d1,qty_percent = 50)
strategy.exit("出场11","l1",stop= d1)
if le21 and close > ema12 and o == 1
strategy.order("l2",strategy.long,comment="第二单")
if c > 0 and o == 2
strategy.exit("出场2","l2",limit = 2*s2- d2,stop= d2,qty_percent = 50)
strategy.exit("出场21","l2",stop= d2)
if le31 and close > ema12 and o == 2
strategy.order("l3",strategy.long,comment="第三单")
if c > 0 and o == 3
strategy.exit("出场3","l3",limit = 2*s3- d3,stop= d3,qty_percent = 50)
strategy.exit("出场31","l3",stop= d3)
if le41 and close > ema12 and o == 3
strategy.order("l4",strategy.long,comment="第四单")
if c > 0 and o == 4
strategy.exit("出场4","l4",limit = 2*s4- d4,stop= d4,qty_percent = 50)
strategy.exit("出场41","l4",stop= d4)
if le51 and close > ema12 and o == 4
strategy.order("l5",strategy.long,comment="第五单")
if c > 0 and o == 5
strategy.exit("出场5","l5",limit = 2*s5- d5,stop= d5,qty_percent = 50)
strategy.exit("出场51","l5",stop= d5)
bgcolor(le2?color.red:na)
if c > 0 and ema12 < ema144
strategy.close_all("跌破均线全部出场")
//做空
es3 = ta.valuewhen(o ==2 and o[1] == 1 and c < 0,bar_index,0)
es4 = ta.valuewhen(o ==3 and o[1] == 2 and c < 0,bar_index,0)
es5 = ta.valuewhen(o ==4 and o[1] == 3 and c < 0,bar_index,0)
se1 = false
se1 := c >= 0 and ema12 < ema144 and ema144 < ema169 and ema169 < ema576 and ema576 < ema676 and high > ema144 and high[1] < ema144 and close < ema169? true : close > ema169 or ema12 > ema144 ? false : se1[1]
se11 = false
se11 := se1 and bar_index - ta.valuewhen(high > ema144 and high[1] < ema144,bar_index,0) < 12 ? true : false
se2 = false
se2 := c < 0 and o == 1 and o[1] == 1 and ema12 < ema144 and ema144 < ema169 and ema169 < ema576 and ema576 < ema676 and high > ema144 and high[1] < ema144 and close < ema169? true : close > ema169 or ema12 > ema144 or o < 1? false : se2[1]
se21 = false
se21 := se2 and bar_index - ta.valuewhen(high > ema144 and high[1] < ema144 and o == 1 and o[1]==1,bar_index,0) < 12 ? true : false
se3 = false
se3 := c < 0 and o == 2 and o[1] == 2 and ema12 < ema144 and ema144 < ema169 and ema169 < ema576 and ema576 < ema676 and high > ema144 and high[1] < ema144 and close < ema169 ? true : close > ema169 or ema12 > ema144 or o < 2? false : se3[1]
se31 = false
se31 := se3 and bar_index - es3 > 50 and bar_index - ta.valuewhen(high > ema144 and high[1] < ema144 and o == 2 and o[1]==2,bar_index,0) < 12 ? true : false
se4 = false
se4 := c < 0 and o == 3 and o[1] == 3 and ema12 < ema144 and ema144 < ema169 and ema169 < ema576 and ema576 < ema676 and high > ema144 and high[1] < ema144 and close < ema169? true : close > ema169 or ema12 > ema144 or o < 3? false : se4[1]
se41 = false
se41 := se4 and bar_index - es4 > 50 and bar_index - ta.valuewhen(high > ema144 and high[1] < ema144 and o == 3 and o[1]==3,bar_index,0) < 12 ? true : false
se5 = false
se5 := c < 0 and o == 4 and o[1] == 4 and ema12 < ema144 and ema144 < ema169 and ema169 < ema576 and ema576 < ema676 and high > ema144 and high[1] < ema144 and close < ema169 ? true : close > ema169 or ema12 > ema144 or o < 4? false : se5[1]
se51 = false
se51 := se5 and bar_index - es5 > 50 and bar_index - ta.valuewhen(high > ema144 and high[1] < ema144 and o == 4 and o[1]==4,bar_index,0) < 12 ? true : false
ds1 = ta.valuewhen(o == 1 and o[1] == 0 and c < 0 ,ta.highest(12),0)
ds2 = ta.valuewhen(o == 2 and o[1] == 1 and c < 0,ta.highest(12),0)
ds3 = ta.valuewhen(o == 3 and o[1] == 2 and c < 0,ta.highest(12),0)
ds4 = ta.valuewhen(o == 4 and o[1] == 3 and c < 0,ta.highest(12),0)
ds5 = ta.valuewhen(o == 5 and o[1] == 4 and c < 0,ta.highest(12),0)
if se11 and close < ema12 and o == 0
strategy.order("s1",strategy.short,comment="第一单")
if c < 0 and o > 0
strategy.exit("出场1","s1",limit = 2*s1- ds1,stop= ds1,qty_percent = 50)
strategy.exit("出场11","s1",stop= ds1)
if se21 and close < ema12 and o == 1
strategy.order("s2",strategy.short,comment="第二单")
if c < 0 and o == 2
strategy.exit("出场2","s2",limit = 2*s2- ds2,stop= ds2,qty_percent = 50)
strategy.exit("出场21","s2",stop= ds2)
if se31 and close < ema12 and o == 2
strategy.order("s3",strategy.short,comment="第三单")
if c < 0 and o == 3
strategy.exit("出场3","s3",limit = 2*s3- ds3,stop= ds3,qty_percent = 50)
strategy.exit("出场31","s3",stop= ds3)
if se41 and close < ema12 and o == 3
strategy.order("s4",strategy.short,comment="第四单")
if c < 0 and o == 4
strategy.exit("出场4","s4",limit = 2*s4- ds4,stop= ds4,qty_percent = 50)
strategy.exit("出场41","s4",stop= ds4)
if se51 and close < ema12 and o == 4
strategy.order("s5",strategy.short,comment="第五单")
if c < 0 and o == 5
strategy.exit("出场5","s5",limit = 2*s5- ds5,stop= ds5,qty_percent = 50)
strategy.exit("出场51","s5",stop= ds5)
bgcolor(se1?color.red:na)
if c < 0 and ema12 > ema144
strategy.close_all("跌破均线全部出场")
kaiguan = input.bool(true,"均线开关")
plot(ema12,force_overlay=true)
plot(ema144, "EMA144", color=color.new(#008000, 0),force_overlay=true)
plot(ema169, "EMA169", color=color.red,force_overlay=true)
plot(kaiguan?ema576:na,color=color.yellow,force_overlay=true)
plot(kaiguan?ema676:na,color=color.yellow,force_overlay=true)
//plotshape(series=entrySignal,title="买入信号",location=location.belowbar,color=color.new(color.green, 0),style=shape.labelup,text="BUY",textcolor=color.new(color.white, 0))