اس حکمت عملی میں وقت کے فریم پر چلنے والی اوسط لائن کا مجموعہ استعمال کیا گیا ہے ، جس میں بڑے اور درمیانے گھنٹے کے چارٹ پر رجحان کی گردش کی نشاندہی کی گئی ہے ، جس سے کم خطرہ والے رجحانات کی پیروی کی جاتی ہے۔ حکمت عملی میں لچکدار ترتیب ، آسان بنانے اور اعلی سرمایہ کاری کی کارکردگی کے فوائد ہیں ، جو تاجروں کے لئے موزوں ہے جو طویل اور درمیانے درجے کے ٹریڈنگ کے لئے تیار ہیں۔
حکمت عملی 5 ، 20 اور 40 دن کی تین حرکت پذیر اوسط لائنوں کا استعمال کرتے ہوئے مختلف وقت کے فریموں کے تحت رجحانات کا تعین کرنے کے لئے ترتیب کے مجموعے کا استعمال کرتی ہے۔
خاص طور پر ، 5 دن کی تیز لائن پر 20 دن کی درمیانی لائن کو عبور کرنا مختصر لائن میں اضافے کا اشارہ سمجھا جاتا ہے ، اور 20 دن کی درمیانی لائن پر 40 دن کی سست لائن کو عبور کرنا درمیانی لائن میں اضافے کا اشارہ سمجھا جاتا ہے۔ جب تیز درمیانی سست 3 لائن سیدھے ہیں ((5 دن > 20 دن > 40 دن) ، تو یہ ایک کثیر سرخی کا دورانیہ سمجھا جاتا ہے۔ جب تیز درمیانی سست 3 لائن الٹا ہے ((5 دن < 20 دن < 40 دن) ، تو یہ خالی سرخی کا دورانیہ سمجھا جاتا ہے۔
اس طرح ، بڑے دورانیے کے رجحان کی سمت کے مطابق ، پھر چھوٹے دورانیے کی طاقت کے ساتھ مل کر مخصوص اندراج کا پتہ لگانے کے لئے۔ یعنی ، صرف بڑے رجحان کی یکساں اور چھوٹے دورانیے کی طاقت کے ساتھ ہی تجارت شروع کریں ، مؤثر طریقے سے الٹ پلٹ جھوٹی توڑ کو فلٹر کریں ، اعلی جیت کی شرح کے آپریشن کو حاصل کریں۔
اس کے علاوہ ، حکمت عملی نے اے ٹی آر اسٹاپ نقصان کو بھی استعمال کیا ہے تاکہ ایک ہی رقم کے خطرے کو کنٹرول کیا جاسکے اور منافع کی شرح میں مزید اضافہ کیا جاسکے۔
ترتیب میں لچک، صارفین کو مختلف اقسام اور ٹریڈنگ کی ترجیحات کے مطابق کرنے کے لئے خود کار طریقے سے متحرک اوسط کی پیرامیٹرز کو ایڈجسٹ کر سکتے ہیں
یہ آسان ہے اور نئے صارفین کے لئے بھی استعمال کرنا آسان ہے۔
سرمایہ کاری کا استعمال موثر ہے اور اس سے سرمایہ کاری کا فائدہ اٹھایا جاسکتا ہے۔
خطرے کو قابو میں رکھنے اور بڑے نقصانات کو مؤثر طریقے سے روکنے کے لئے نقصانات کو روکنے کا طریقہ کار
مضبوط رجحان کی پیروی کرنے کی صلاحیت ، بڑے دورانیے کی سمت طے کرنے کے بعد مستقل منافع
اعلی جیت کی شرح ، تجارتی سگنل کا معیار بہتر ، کم ٹریک غلطی
بڑے دورانیے کا فیصلہ متغیر اوسط لائن کی ترتیب پر منحصر ہے ، تاخیر سے غلط فیصلے کا خطرہ ہے۔
چھوٹے دورانیے کی طاقت کا پتہ لگانے کے لئے صرف ایک K لائن کا استعمال کرتے ہوئے ، جو پہلے سے ہی شروع ہوسکتا ہے ، مناسب طور پر آرام کر سکتا ہے
سٹاپ نقصان کی حد مقرر، متحرک سٹاپ نقصان کے لئے مرضی کے مطابق
اضافی فلٹرنگ شرائط شامل کرنے پر غور کیا جاسکتا ہے ، جیسے تجارت کی مقدار کی توانائی وغیرہ۔
مختلف متحرک اوسط پیرامیٹرز کے مجموعے کو آزمائیں ، حکمت عملی کو بہتر بنائیں
یہ حکمت عملی متعدد ٹائم فریم تجزیہ اور اسٹاپ نقصان کے انتظام کو مربوط کرتی ہے ، جس سے کم خطرہ والے ٹرینڈ ٹریکنگ ٹریڈنگ کو حاصل ہوتا ہے۔ پیرامیٹرز کو ایڈجسٹ کرکے ، یہ مختلف اقسام پر لاگو کیا جاسکتا ہے ، تاکہ ٹرینڈ پیروکاروں کی ضروریات کو پورا کیا جاسکے۔ روایتی واحد ٹائم فریم سسٹم کے مقابلے میں ، اس کے تجارتی فیصلے زیادہ مستحکم اور سگنل زیادہ موثر ہیں۔ مجموعی طور پر ، اس حکمت عملی میں مارکیٹ میں اچھی موافقت اور ترقی کی پیش گوئی ہے۔
یہ حکمت عملی گھنٹہ وار ، روزانہ اور ہفتہ وار چارٹس پر رجحان گردش کی نشاندہی کرنے کے لئے ٹائم فریموں میں چلنے والے اوسط کے امتزاج کا استعمال کرتی ہے۔ یہ تجارت کے بعد کم خطرہ رجحان کی اجازت دیتی ہے۔ یہ حکمت عملی لچکدار ، لاگو کرنے میں آسان ، سرمایہ کاری مؤثر اور درمیانی اور طویل مدتی رجحان تاجروں کے لئے موزوں ہے۔
اس حکمت عملی میں مختلف ٹائم فریموں میں رجحانات کی سیدھ کو طے کرنے کے لئے 5 ، 20 اور 40 دن کی چلتی اوسط استعمال کی جاتی ہے۔ بڑے اور چھوٹے ٹائم فریموں کے مابین مستقل مزاجی کی بنیاد پر ، اس میں تیزی اور bearish سائیکل کی نشاندہی کی جاتی ہے۔
خاص طور پر ، 20 دن کے میڈیم ایم اے سے اوپر 5 دن کی تیز ایم اے کی کراسنگ قلیل مدتی میں ایک اپ ٹرینڈ کی نشاندہی کرتی ہے۔ 40 دن کے سست ایم اے سے اوپر 20 دن کی میڈیم ایم اے کی کراسنگ درمیانی مدت میں ایک اپ ٹرینڈ کی نشاندہی کرتی ہے۔ جب تیز ، درمیانے اور سست ایم اے مثبت طور پر سیدھے ہیں (5 دن > 20 دن > 40 دن) ، تو یہ ایک بیل سائیکل ہے۔ جب وہ منفی سیدھے ہیں (5 دن < 20 دن < 40 دن) ، تو یہ ایک ریچھ سائیکل ہے۔
بڑے سائیکلوں سے سمت کا تعین کرتے ہوئے اور چھوٹے سائیکلوں پر طاقت کی تصدیق کرتے ہوئے ، یہ حکمت عملی صرف اس وقت پوزیشنیں کھولتی ہے جب اہم رجحان اور معمولی رفتار سیدھے ہوجاتے ہیں۔ اس سے مؤثر طریقے سے جھوٹے بریک آؤٹ سے بچنے اور اعلی جیت کی شرح حاصل ہوتی ہے۔
یہ حکمت عملی واحد تجارتی خطرات کو کنٹرول کرنے اور منافع کو مزید بہتر بنانے کے لئے اے ٹی آر ٹریلنگ اسٹاپ کا بھی استعمال کرتی ہے۔
مختلف آلات اور تجارت کے انداز کے مطابق لچکدار ترتیب
ابتدائی تاجروں کے لئے بھی لاگو کرنے کے لئے آسان
زیادہ سے زیادہ فائدہ اٹھانے کے لئے اعلی سرمایہ کاری کی کارکردگی
اہم نقصانات سے بچنے کے لئے مؤثر رسک کنٹرول
پائیدار منافع کے لئے صلاحیت کے بعد مضبوط رجحان
مضبوط سگنلز اور کم وپساؤ کی وجہ سے اعلی جیت کی شرح
ایم اے کراس اوور میں تاخیر ہوسکتی ہے اور دیر سے رجحان کا پتہ چل سکتا ہے
ایک واحد موم بتی کی طاقت کا پتہ لگانے میں قبل از وقت داخلہ، آرام کی حالت کو متحرک کر سکتے ہیں
فکسڈ ATR سٹاپ نقصان، متحرک رک جاتا ہے کرنے کے لئے بہتر
حجم کی طرح اضافی فلٹرز شامل کرنے پر غور کریں
اصلاح کے لئے مختلف ایم اے پیرامیٹرز کی تلاش کریں
یہ حکمت عملی تجارت کے بعد کم خطرہ والے رجحان کے لئے متعدد ٹائم فریم تجزیہ اور رسک مینجمنٹ کو مربوط کرتی ہے۔ پیرامیٹرز کو ایڈجسٹ کرکے ، اسے رجحان تاجروں کے مطابق مختلف آلات کے مطابق بنایا جاسکتا ہے۔ سنگل ٹائم فریم سسٹم کے مقابلے میں ، یہ زیادہ مضبوط تجارتی فیصلے کرتا ہے اور زیادہ کارکردگی کے سگنل پیدا کرتا ہے۔ آخر میں ، اس حکمت عملی میں مارکیٹ کی اچھی موافقت اور ترقی کی صلاحیت ہے۔
/*backtest start: 2023-10-17 00:00:00 end: 2023-11-16 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/ // © kgynofomo //@version=5 strategy(title="[Salavi] | Andy Advance Pro Strategy [BTC|M15]",overlay = true, pyramiding = 1,initial_capital = 10000, default_qty_type = strategy.cash,default_qty_value = 10000) ema_short = ta.ema(close,5) ema_middle = ta.ema(close,20) ema_long = ta.ema(close,40) cycle_1 = ema_short>ema_middle and ema_middle>ema_long cycle_2 = ema_middle>ema_short and ema_short>ema_long cycle_3 = ema_middle>ema_long and ema_long>ema_short cycle_4 = ema_long>ema_middle and ema_middle>ema_short cycle_5 = ema_long>ema_short and ema_short>ema_middle cycle_6 = ema_short>ema_long and ema_long>ema_middle bull_cycle = cycle_1 or cycle_2 or cycle_3 bear_cycle = cycle_4 or cycle_5 or cycle_6 // label.new("cycle_1") // bgcolor(color=cycle_1?color.rgb(82, 255, 148, 60):na) // bgcolor(color=cycle_2?color.rgb(82, 255, 148, 70):na) // bgcolor(color=cycle_3?color.rgb(82, 255, 148, 80):na) // bgcolor(color=cycle_4?color.rgb(255, 82, 82, 80):na) // bgcolor(color=cycle_5?color.rgb(255, 82, 82, 70):na) // bgcolor(color=cycle_6?color.rgb(255, 82, 82, 60):na) // Inputs a = input(2, title='Key Vaule. \'This changes the sensitivity\'') c = input(7, title='ATR Period') h = false xATR = ta.atr(c) nLoss = a * xATR src = h ? request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close, lookahead=barmerge.lookahead_off) : close xATRTrailingStop = 0.0 iff_1 = src > nz(xATRTrailingStop[1], 0) ? src - nLoss : src + nLoss iff_2 = src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0) ? math.min(nz(xATRTrailingStop[1]), src + nLoss) : iff_1 xATRTrailingStop := src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0) ? math.max(nz(xATRTrailingStop[1]), src - nLoss) : iff_2 pos = 0 iff_3 = src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0) ? -1 : nz(pos[1], 0) pos := src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0) ? 1 : iff_3 xcolor = pos == -1 ? color.red : pos == 1 ? color.green : color.blue ema = ta.ema(src, 1) above = ta.crossover(ema, xATRTrailingStop) below = ta.crossover(xATRTrailingStop, ema) buy = src > xATRTrailingStop and above sell = src < xATRTrailingStop and below barbuy = src > xATRTrailingStop barsell = src < xATRTrailingStop atr = ta.atr(14) atr_length = input.int(25) atr_rsi = ta.rsi(atr,atr_length) atr_valid = atr_rsi>50 long_condition = buy and bull_cycle and atr_valid short_condition = sell and bear_cycle and atr_valid Exit_long_condition = short_condition Exit_short_condition = long_condition if long_condition strategy.entry("Andy Buy",strategy.long, limit=close,comment="Andy Buy Here") if Exit_long_condition strategy.close("Andy Buy",comment="Andy Buy Out") // strategy.entry("Andy fandan Short",strategy.short, limit=close,comment="Andy 翻單 short Here") // strategy.close("Andy fandan Buy",comment="Andy short Out") if short_condition strategy.entry("Andy Short",strategy.short, limit=close,comment="Andy short Here") // strategy.exit("STR","Long",stop=longstoploss) if Exit_short_condition strategy.close("Andy Short",comment="Andy short Out") // strategy.entry("Andy fandan Buy",strategy.long, limit=close,comment="Andy 翻單 Buy Here") // strategy.close("Andy fandan Short",comment="Andy Buy Out") inLongTrade = strategy.position_size > 0 inLongTradecolor = #58D68D notInTrade = strategy.position_size == 0 inShortTrade = strategy.position_size < 0 // bgcolor(color = inLongTrade?color.rgb(76, 175, 79, 70):inShortTrade?color.rgb(255, 82, 82, 70):na) plotshape(close!=0,location = location.bottom,color = inLongTrade?color.rgb(76, 175, 79, 70):inShortTrade?color.rgb(255, 82, 82, 70):na) plotshape(long_condition, title='Buy', text='Andy Buy', style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), textcolor=color.new(color.white, 0), size=size.tiny) plotshape(short_condition, title='Sell', text='Andy Sell', style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), textcolor=color.new(color.white, 0), size=size.tiny) //atr > close *0.01* parameter // MONTHLY TABLE PERFORMANCE - Developed by @QuantNomad // ************************************************************************************************************************************************************************************************************************************************************************* show_performance = input.bool(true, 'Show Monthly Performance ?', group='Performance - credits: @QuantNomad') prec = input(2, 'Return Precision', group='Performance - credits: @QuantNomad') if show_performance new_month = month(time) != month(time[1]) new_year = year(time) != year(time[1]) eq = strategy.equity bar_pnl = eq / eq[1] - 1 cur_month_pnl = 0.0 cur_year_pnl = 0.0 // Current Monthly P&L cur_month_pnl := new_month ? 0.0 : (1 + cur_month_pnl[1]) * (1 + bar_pnl) - 1 // Current Yearly P&L cur_year_pnl := new_year ? 0.0 : (1 + cur_year_pnl[1]) * (1 + bar_pnl) - 1 // Arrays to store Yearly and Monthly P&Ls var month_pnl = array.new_float(0) var month_time = array.new_int(0) var year_pnl = array.new_float(0) var year_time = array.new_int(0) last_computed = false if (not na(cur_month_pnl[1]) and (new_month or barstate.islastconfirmedhistory)) if (last_computed[1]) array.pop(month_pnl) array.pop(month_time) array.push(month_pnl , cur_month_pnl[1]) array.push(month_time, time[1]) if (not na(cur_year_pnl[1]) and (new_year or barstate.islastconfirmedhistory)) if (last_computed[1]) array.pop(year_pnl) array.pop(year_time) array.push(year_pnl , cur_year_pnl[1]) array.push(year_time, time[1]) last_computed := barstate.islastconfirmedhistory ? true : nz(last_computed[1]) // Monthly P&L Table var monthly_table = table(na) if (barstate.islastconfirmedhistory) monthly_table := table.new(position.bottom_center, columns = 14, rows = array.size(year_pnl) + 1, border_width = 1) table.cell(monthly_table, 0, 0, "", bgcolor = #cccccc) table.cell(monthly_table, 1, 0, "Jan", bgcolor = #cccccc) table.cell(monthly_table, 2, 0, "Feb", bgcolor = #cccccc) table.cell(monthly_table, 3, 0, "Mar", bgcolor = #cccccc) table.cell(monthly_table, 4, 0, "Apr", bgcolor = #cccccc) table.cell(monthly_table, 5, 0, "May", bgcolor = #cccccc) table.cell(monthly_table, 6, 0, "Jun", bgcolor = #cccccc) table.cell(monthly_table, 7, 0, "Jul", bgcolor = #cccccc) table.cell(monthly_table, 8, 0, "Aug", bgcolor = #cccccc) table.cell(monthly_table, 9, 0, "Sep", bgcolor = #cccccc) table.cell(monthly_table, 10, 0, "Oct", bgcolor = #cccccc) table.cell(monthly_table, 11, 0, "Nov", bgcolor = #cccccc) table.cell(monthly_table, 12, 0, "Dec", bgcolor = #cccccc) table.cell(monthly_table, 13, 0, "Year", bgcolor = #999999) for yi = 0 to array.size(year_pnl) - 1 table.cell(monthly_table, 0, yi + 1, str.tostring(year(array.get(year_time, yi))), bgcolor = #cccccc) y_color = array.get(year_pnl, yi) > 0 ? color.new(color.teal, transp = 40) : color.new(color.gray, transp = 40) table.cell(monthly_table, 13, yi + 1, str.tostring(math.round(array.get(year_pnl, yi) * 100, prec)), bgcolor = y_color, text_color=color.new(color.white, 0)) for mi = 0 to array.size(month_time) - 1 m_row = year(array.get(month_time, mi)) - year(array.get(year_time, 0)) + 1 m_col = month(array.get(month_time, mi)) m_color = array.get(month_pnl, mi) > 0 ? color.new(color.teal, transp = 40) : color.new(color.gray, transp = 40) table.cell(monthly_table, m_col, m_row, str.tostring(math.round(array.get(month_pnl, mi) * 100, prec)), bgcolor = m_color, text_color=color.new(color.white, 0))