पिवोट ट्रेंड

लेखक:चाओझांग, दिनांकः 2022-05-31 18:43:20
टैगःरुझानपिवोट

हैलो व्यापारियों,

एक और मूल विचार यहाँ आपके साथ है. वास्तव में मैं कह सकता हूँ कि यह एक ब्रेकआउट रणनीति है जो कई पिवोट पॉइंट्स के औसत का उपयोग करता है.

यह कैसे काम करता है?

  • यह Pivot Points पाता है, आप लंबाई सेट कर सकते हैं के रूप में आप चाहते हैं
  • यह पिवोट हाई और पिवोट लो के औसत हो जाता है, आप शामिल करने के लिए पिवोट अंक की संख्या सेट कर सकते हैं
  • यह वर्तमान समापन मूल्य की तुलना पिवोट हाईज़ और पिवोट लोस के औसत से करता है
  • यदि दोनों सकारात्मक या नकारात्मक हैं तो प्रवृत्ति बदल जाती है

आपके पास दो विकल्प हैंः

  • Pivot Point Period => Pivot Points खोजने के लिए उपयोग की जाने वाली लंबाई है. इसका मतलब है कि यह Pivot Point (4 डिफ़ॉल्ट रूप से) है तो बाएं/दाएं बार की जाँच करता है.
  • जाँच करने के लिए पीपी की संख्या => पिवोट पॉइंट की संख्या है कि स्क्रिप्ट का पता लगाता है और औसत की गणना करता है (3 डिफ़ॉल्ट रूप से)

बैकटेस्ट

img


/*backtest
start: 2022-04-30 00:00:00
end: 2022-05-29 23:59:00
period: 30m
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/
// © LonesomeTheBlue

//@version=4
study("Pivot Trend", precision = 2, explicit_plot_zorder = true)
prd = input(defval = 4, title="Pivot Point Period", minval = 1, maxval = 30)
pnum = input(defval = 3, title="number of PP to check", minval = 1, maxval = 30)
colup = input(defval = color.blue, title = "Colors", inline = "col")
coldn = input(defval = color.orange, title = "", inline = "col")

float ph = pivothigh(prd, prd)
float pl = pivotlow(prd, prd)
var ph_lev = array.new_float(pnum, na)
var pl_lev = array.new_float(pnum, na)

if ph
    array.unshift(ph_lev, ph)
    array.pop(ph_lev)
    
if pl
    array.unshift(pl_lev, pl)
    array.pop(pl_lev)
            
float lrate = 0.0
for i = 0 to array.size(pl_lev) - 1
    float rate = (close - array.get(pl_lev, i)) / array.get(pl_lev, i)
    lrate += (rate / pnum)

            
float hrate = 0.0
for i = 1 to array.size(ph_lev) - 1
    float rate = (close - array.get(ph_lev, i)) / array.get(ph_lev, i)
    hrate += (rate / pnum)

hline(0.)
hln = plot(hrate, color = color.red, linewidth = 2)
lln = plot(lrate, color = color.lime, linewidth = 2)

trend = 0
trend := hrate > 0 and lrate > 0 ? 1 : hrate < 0 and lrate < 0 ? -1 : nz(trend[1])
tcolor = trend == 1 ? color.new(colup, 40) : color.new(coldn, 40)
fill(hln, lln, color = tcolor)

mid = sma((hrate + lrate) / 2, 9)
plot(mid, color = mid >= 0 ? mid >= mid[1] ? color.blue : color.navy : mid <= mid[1] ? color.red : color.orange, linewidth = 2)

alertcondition(change(trend) > 0, title='Pivot Trend UP', message='Pivot Trend UP')
alertcondition(change(trend) < 0, title='Pivot Trend DOWN', message='Pivot Trend DOWN')

if change(trend) > 0
    strategy.entry("Enter Long", strategy.long)
else if change(trend) < 0
    strategy.entry("Enter Short", strategy.short)

संबंधित

अधिक