یہ حکمت عملی کیون ڈیوی کی مفت خام تیل کے فیوچر ٹریڈنگ حکمت عملی سے اپنائی گئی ہے۔ یہ خام تیل کی مارکیٹ میں رجحان کا تعین کرنے کے لئے ADX اشارے کا استعمال کرتا ہے اور ، قیمت توڑنے کے اصول کے ساتھ مل کر ، خام تیل کے لئے ایک آسان اور عملی خودکار تجارتی حکمت عملی کو نافذ کرتا ہے۔
یہ حکمت عملی بنیادی طور پر ADX اشارے پر انحصار کرتی ہے تاکہ رجحان کا تعین کیا جاسکے ، اور رجحان کی حالت میں مقررہ سائیکل کی قیمتوں کے وقفوں پر مبنی تجارتی سگنل تیار کرتی ہے۔ مجموعی حکمت عملی کا منطق بہت آسان اور واضح ہے۔
مجموعی طور پر یہ ایک بہت ہی عملی خام تیل کی تجارتی حکمت عملی ہے۔ یہ رجحان کو بہت معقول حد تک طے کرنے کے لئے اے ڈی ایکس اشارے کا استعمال کرتا ہے۔ قیمت توڑنے کا اصول اچھے بیک ٹیسٹ کے نتائج کے ساتھ آسان اور موثر ہے۔ اسی وقت ، کیون ڈیوی کی عوامی مفت حکمت عملی کی حیثیت سے ، اس میں اصل لڑائی میں بہت زیادہ وشوسنییتا ہے۔ اگرچہ حکمت عملی میں ابھی بھی بہتری کی گنجائش موجود ہے ، لیکن شروعات کرنے اور مشق کرنے کے لئے ابتدائی اور چھوٹے دارالحکومت کے تاجروں کے لئے یہ ایک بہت ہی مناسب انتخاب ہے۔
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // Strategy idea coded from EasyLanguage to Pinescript //@version=5 strategy("Kevin Davey Crude free crude oil strategy", shorttitle="CO Fut", format=format.price, precision=2, overlay = true, calc_on_every_tick = true) adxlen = input(14, title="ADX Smoothing") dilen = input(14, title="DI Length") dirmov(len) => up = ta.change(high) down = -ta.change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) truerange = ta.rma(ta.tr, len) plus = fixnan(100 * ta.rma(plusDM, len) / truerange) minus = fixnan(100 * ta.rma(minusDM, len) / truerange) [plus, minus] adx(dilen, adxlen) => [plus, minus] = dirmov(dilen) sum = plus + minus adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen) sig = adx(dilen, adxlen) plot(sig, color=color.red, title="ADX") buy = sig > 10 and (close - close[65]) > 0 and (close - close[65])[1] < 0 sell = sig > 10 and (close - close[65]) < 0 and (close - close[65])[1] > 0 plotshape(buy, style = shape.arrowup, location = location.belowbar,size = size.huge) plotshape(sell, style = shape.arrowdown, location = location.abovebar,size = size.huge) if buy strategy.entry("long", strategy.long) if sell strategy.entry("short", strategy.short) if strategy.position_size != 0 strategy.exit("long", profit = 450, loss = 300) strategy.exit("short", profit = 450, loss = 300) // GetTickValue() returns the currency value of the instrument's // smallest possible price movement. GetTickValue() => syminfo.mintick * syminfo.pointvalue // On the last historical bar, make a label to display the // instrument's tick value if barstate.islastconfirmedhistory label.new(x=bar_index + 1, y=close, style=label.style_label_left, color=color.black, textcolor=color.white, size=size.large, text=syminfo.ticker + " has a tick value of:\n" + syminfo.currency + " " + str.tostring(GetTickValue()))