
یہ حکمت عملی ایک رجحان ٹریکنگ سسٹم ہے جس کی بنیاد پر مساوی لائن ((EMA) کراسنگ سگنل ہے۔ اس میں 34 سائیکل ای ایم اے کو اہم رجحاناتی اشارے کے طور پر استعمال کیا جاتا ہے ، جس میں منافع اور خطرے کے کنٹرول کے طریقہ کار کے ساتھ مل کر ، مکمل طور پر خودکار تجارت کی اجازت دی جاتی ہے۔ حکمت عملی کا بنیادی مقصد قیمتوں اور ای ایم اے کے ساتھ کراسنگ کے ذریعہ رجحانات کے آغاز کو پکڑنا ہے ، اور متعدد منافع بخش اہداف طے کرکے منافع کے مواقع کو زیادہ سے زیادہ کرنا ہے۔
حکمت عملی مندرجہ ذیل بنیادی اصولوں پر مبنی ہے:
یہ ایک حکمت عملی ہے جو رجحانات کی پیروی کرنے کے لئے معقول ، منطقی طور پر واضح ہے۔ اس میں رجحانات کو یکساں طور پر پکڑنے ، متعدد منافع بخش اہداف کا استعمال کرتے ہوئے خطرے کا انتظام کرنے ، اور بڑے رجحانات کو پکڑنے کے لئے کچھ پوزیشنوں کو برقرار رکھنے کے لئے ڈیزائن کیا گیا ہے۔ حکمت عملی میں بہت زیادہ موافقت ہے ، جو مختلف خطرے کی ترجیحات والے تاجروں کے استعمال کے لئے موزوں ہے۔ اگرچہ کچھ موروثی خطرات موجود ہیں ، لیکن معقول پیرامیٹرز کی ترتیب اور خطرے کے انتظام سے مستحکم منافع حاصل کیا جاسکتا ہے۔
/*backtest
start: 2024-02-08 00:00:00
end: 2025-02-06 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA25 Long Strategy", overlay=true)
// Inputs
initial_capital = input.float(50000, title="Initial Capital ($)")
leverage = input.int(1, title="Leverage")
mode = input.string("Fixed Volume", title="Position Sizing Mode", options=["Fixed Volume", "Current Balance"])
ema_length = input.int(34, title="EMA Length")
stop_loss_percent = input.float(7, title="Stop Loss (%)", step=0.1) / 100
take_profit_1_percent = input.float(5, title="Take Profit 1 (%)", step=0.1) / 100
take_profit_2_percent = input.float(10, title="Take Profit 2 (%)", step=0.1) / 100
take_profit_3_percent = input.float(15, title="Take Profit 3 (%)", step=0.1) / 100
position_size_percent = input.float(100, title="Position Size (%)", step=1) / 100
long_term_hold_percent = input.float(10, title="Long Term Hold (%)", step=1) / 100
trade_delay = input.int(8, title="Trade Delay (hours)", minval=1) * 60 // Convert hours to minutes
// Calculate EMA
ema = ta.ema(close, ema_length)
// Plot EMA
plot(ema, title="EMA25", color=color.blue)
// Determine if a new trade can be placed
var float last_trade_time = na
can_trade = na(last_trade_time) or (time - last_trade_time) > trade_delay * 60 * 1000
// Determine position size based on selected mode
var float position_size = na
if (mode == "Fixed Volume")
position_size := initial_capital * leverage * position_size_percent / close
else
position_size := strategy.equity * leverage * position_size_percent / close
// Entry Condition
var float entry_price = na
price_crossed_ema_up = ta.crossover(close, ema)
price_crossed_ema_down = ta.crossunder(close, ema)
if ((price_crossed_ema_up or price_crossed_ema_down) and can_trade)
entry_price := ema
strategy.entry("Long", strategy.long, qty=position_size, limit=entry_price)
last_trade_time := time
label.new(bar_index, entry_price, text="Entry", color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)
// Stop Loss
strategy.exit("Stop Loss", from_entry="Long", stop=entry_price * (1 - stop_loss_percent))
// Take Profits
take_profit_1_price = entry_price * (1 + take_profit_1_percent)
take_profit_2_price = entry_price * (1 + take_profit_2_percent)
take_profit_3_price = entry_price * (1 + take_profit_3_percent)
strategy.exit("Take Profit 1", from_entry="Long", limit=take_profit_1_price, qty=position_size / 3)
strategy.exit("Take Profit 2", from_entry="Long", limit=take_profit_2_price, qty=position_size / 3)
strategy.exit("Take Profit 3", from_entry="Long", limit=take_profit_3_price, qty=position_size / 3)
// Long Term Hold (10% of position)
hold_qty = position_size * long_term_hold_percent
if (strategy.position_size > hold_qty)
strategy.close("Long Term Hold")