
یہ حکمت عملی MACD اشارے پر مبنی لگاتار گولڈ فورک اور ڈیڈ فورک سگنلز پر مبنی تجارت کرتی ہے۔ جب لگاتار گولڈ فورک سگنل ہوتے ہیں تو کثیر پوزیشنیں کھولی جاتی ہیں۔ جب لگاتار ڈیڈ فورک سگنل ہوتے ہیں تو خالی پوزیشنیں کھولی جاتی ہیں۔ اس کے علاوہ ، حکمت عملی صارف کو خطرے کو کنٹرول کرنے کے لئے اسٹاپ اور اسٹاپ نقصان کی پوزیشنیں قائم کرنے کی اجازت دیتی ہے۔ اس کے علاوہ ، حکمت عملی میں وقت کی واپسی کا انتخاب بھی فراہم کیا گیا ہے ، جس سے صارف کو مخصوص وقت کے اندر حکمت عملی کی کارکردگی کا اندازہ لگانے میں مدد ملتی ہے۔
اس حکمت عملی کا بنیادی مقصد مارکیٹ کے رجحانات کے بارے میں فیصلہ کرنے کے لئے MACD اشارے کے گولڈ فورک اور ڈیڈ فورک سگنل کا استعمال کرنا ہے۔ MACD اشارے تیز رفتار حرکت پذیر اوسط ((EMA) اور سست رفتار حرکت پذیر اوسط ((EMA) پر مشتمل ہوتا ہے ، جب تیز رفتار EMA اور سست رفتار EMA کے ساتھ کراسنگ ہوتا ہے تو ، گولڈ فورک یا ڈیڈ فورک سگنل تشکیل دیا جاتا ہے۔ مسلسل گولڈ فورک سگنل اس بات کی نشاندہی کرتے ہیں کہ مارکیٹ میں اضافے کا رجحان ہوسکتا ہے ، جس کے نتیجے میں ایک سے زیادہ پوزیشنیں کھولی جاتی ہیں۔
یہ حکمت عملی مسلسل MACD گولڈ فورک اور ڈیڈ فورک سگنل پر مبنی تجارت کرتی ہے اور مارکیٹ کے رجحانات کے موڑ کو پکڑنے کی کوشش کرتی ہے۔ یہ آسان اور سمجھنے میں آسان ہے ، اہم رجحانات کی پیروی کرسکتا ہے ، اور خطرے پر قابو پانے اور لچکدار ریٹرننگ کی خصوصیات پیش کرتا ہے۔ تاہم ، حکمت عملی کی کارکردگی کو پیرامیٹرز کے انتخاب ، مارکیٹ میں شور اور رجحان کی تاخیر جیسے عوامل متاثر کرسکتے ہیں۔ مزید بہتری کے ل other ، اس کے استعمال کو دوسرے اشارے ، اصلاحی پیرامیٹرز ، متحرک اسٹاپ نقصان اور پوزیشن مینجمنٹ کے ساتھ مل کر غور کیا جاسکتا ہے۔ مجموعی طور پر ، یہ حکمت عملی رجحانات کی تجارت کے لئے ایک بنیادی فریم ورک مہیا کرتی ہے ، لیکن عملی طور پر اس کو محتاط انداز میں جائزہ لینے اور ایڈجسٹ کرنے کی ضرورت ہے تاکہ مارکیٹ کے مخصوص ماحول اور ذاتی خطرے کی ترجیحات کے مطابق ہو۔
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("连续MACD交叉和回测范围")
//策略初始化時間設置
useDateFilter = input.bool(true, title="启用时间回测范围", group="回测范围")
backtestStartDate = input(timestamp("1 Jan 2023"), title="开始时间", group="回测范围")
backtestEndDate = input(timestamp("1 Jan 2024"), title="结束时间", group="回测范围")
inTradeWindow = true
// 定义MACD指标参数
fastLength = input.int(12, "快速EMA周期")
slowLength = input.int(26, "慢速EMA周期")
signalSmoothing = input.int(9, "信号线平滑周期")
long_win = input.float(defval = 0.01,title = "多单止盈设置", tooltip = "0.01代表1%" )
long_lose= input.float(0.01,"多单止损设置")
short_win = input.float(0.01,"空单止盈设置")
short_lose = input.float(0.01,"空单止损设置")
// 计算MACD值
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)
// 定义金叉和死叉的条件
crossUp = ta.crossover(macdLine, signalLine)
crossDown = ta.crossunder(macdLine, signalLine)
// 使用历史状态记录上一次交叉情况
var lastCrossUp = false
var lastCrossDown = false
// 更新历史状态
if crossUp
lastCrossUp := true
else if crossDown
lastCrossUp := false
if crossDown
lastCrossDown := true
else if crossUp
lastCrossDown := false
// 交易执行逻辑:检查是否存在连续的金叉或死叉
if lastCrossUp and crossUp and inTradeWindow
strategy.entry("买入开多", strategy.long)
strategy.exit("买入止盈止损", "买入开多", limit=close * (1 + long_win), stop=close * (1 - long_lose))
if lastCrossDown and crossDown and inTradeWindow
strategy.entry("卖出开空", strategy.short)
strategy.exit("卖出止盈止损", "卖出开空", limit=close * (1 - short_win), stop=close * (1 + short_lose))
// 显示MACD线和信号线
plot(macdLine, "MACD线", color=color.blue)
plot(signalLine, "信号线", color=color.orange)