renames
This commit is contained in:
82
Niki/new.pine
Normal file
82
Niki/new.pine
Normal file
@ -0,0 +1,82 @@
|
||||
//@version=4
|
||||
indicator("DrNiki's Market Nuker", shorttitle="DrNiki's Market Nuker", overlay=true)
|
||||
|
||||
// Input for Indicators
|
||||
rsiLength = input(14, title="RSI Length")
|
||||
stochRsiLength = input(14, title="Stochastic RSI Length")
|
||||
n1 = input(10, title="WT Channel Length")
|
||||
n2 = input(21, title="WT Average Length")
|
||||
|
||||
// Wavetrend Indicator Calculation
|
||||
ap = hlc3
|
||||
esa = ta.ema(ap, n1)
|
||||
d = ta.ema(math.abs(ap - esa), n1)
|
||||
ci = (ap - esa) / (0.015 * d)
|
||||
tci = ta.ema(ci, n2)
|
||||
wt1 = tci
|
||||
wt2 = ta.sma(wt1, 4)
|
||||
|
||||
// RSI and Stochastic RSI Calculation
|
||||
rsiValue = ta.rsi(close, rsiLength)
|
||||
stochRsiValue = ta.stoch(rsiValue, rsiValue, rsiValue, stochRsiLength)
|
||||
|
||||
// Function to calculate points for a given indicator and pair
|
||||
calcPoints(currentValue, previousValue, isInverse) =>
|
||||
if isInverse
|
||||
currentValue < previousValue ? 1 : currentValue > previousValue ? -1 : 0
|
||||
else
|
||||
currentValue > previousValue ? 1 : currentValue < previousValue ? -1 : 0
|
||||
|
||||
// Calculate points for each currency pair
|
||||
longPoints(pair, isInverse) =>
|
||||
rsiP = calcPoints(rsiValue, rsiValue[1], isInverse)
|
||||
stochRsiP = calcPoints(stochRsiValue, stochRsiValue[1], isInverse)
|
||||
wavetrendP = calcPoints(wt1, wt1[1], isInverse)
|
||||
rsiP + stochRsiP + wavetrendP
|
||||
|
||||
shortPoints(pair, isInverse) => -longPoints(pair, isInverse)
|
||||
|
||||
// Pairs and their corresponding inverse flag
|
||||
var pairs = array.new_string(5)
|
||||
var isInverse = array.new_bool(5)
|
||||
array.set(pairs, 0, "US30")
|
||||
array.set(pairs, 1, "GOLD")
|
||||
array.set(pairs, 2, "DXY") // DXY is inversed
|
||||
array.set(pairs, 3, "BTCUSDT.P")
|
||||
array.set(pairs, 4, syminfo.ticker)
|
||||
array.set(isInverse, 0, false)
|
||||
array.set(isInverse, 1, false)
|
||||
array.set(isInverse, 2, true) // Inverse for DXY
|
||||
array.set(isInverse, 3, false)
|
||||
array.set(isInverse, 4, false)
|
||||
|
||||
// Initialize arrays for storing points
|
||||
var longPointsArray = array.new_float(size = 5, initial_value = 0)
|
||||
var shortPointsArray = array.new_float(size = 5, initial_value = 0)
|
||||
|
||||
// Calculate points for each pair
|
||||
for i = 0 to array.size(pairs) - 1
|
||||
pair = array.get(pairs, i)
|
||||
inverseFlag = array.get(isInverse, i)
|
||||
array.set(longPointsArray, i, longPoints(pair, inverseFlag))
|
||||
array.set(shortPointsArray, i, shortPoints(pair, inverseFlag))
|
||||
|
||||
// Calculate total points
|
||||
totalLongPoints = array.sum(longPointsArray)
|
||||
totalShortPoints = array.sum(shortPointsArray)
|
||||
|
||||
// Display the results
|
||||
for i = 0 to array.size(pairs) - 1
|
||||
pair = array.get(pairs, i)
|
||||
plot(array.get(longPointsArray, i), title="Long Points " + pair, color=color.green)
|
||||
plot(array.get(shortPointsArray, i), title="Short Points " + pair, color=color.red)
|
||||
|
||||
plot(totalLongPoints, title="Total Long Points", color=color.blue)
|
||||
plot(totalShortPoints, title="Total Short Points", color=color.orange)
|
||||
|
||||
|
||||
// BUYING VOLUME AND SELLING VOLUME //
|
||||
buyVolume = iff( (high==low), 0, volume*(close-low)/(high-low))
|
||||
sellVolume = iff( (high==low), 0, volume*(high-close)/(high-low))
|
||||
plot(volume, style=plot.style_columns, color=color.red, title="SELL V") // shows total volume (!)
|
||||
plot(buyVolume, style=plot.style_columns, color=color.teal, title="BUY V") // shows only buy volume
|
Reference in New Issue
Block a user