Previous
Previous Product Image

FREE No Repeat- Futures

$0,00
Next

FREE Donald Strategy – AI Futures

$0,00
Next Product Image

FREE Binancash Strategy 1M – Futures

$0,00

Category: Tag:

Description

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © binancash

//@version=5
strategy(“V1 Binancash – Futures Strategy Futures 1M Candles”, overlay=true, default_qty_value=200, initial_capital=1)

//vwap start
point_lb = 5
point_rb = 5

//plot(close)
point_ph = ta.pivothigh(point_lb, point_rb)
point_pl = ta.pivotlow(point_lb, point_rb)

var float running_ph = na
var float running_pl = na

running_ph := running_ph
running_pl := running_pl

if point_ph
running_ph := point_ph

if point_pl
running_pl := point_pl

plot(running_ph, title = ‘R’, style = plot.style_circles, linewidth = 1,color=color.red, offset = -point_rb)
plot(running_ph, title = ‘R’, style = plot.style_circles, linewidth = 1,color=color.red, offset = 0)

plot(running_pl, title = ‘S’, style = plot.style_circles, linewidth = 1,color=color.blue,offset = -point_rb)
plot(running_pl, title = ‘S’, style = plot.style_circles, linewidth = 1,color=color.blue, offset = 0)

 

var bool is_strong_buy = false
var bool is_strong_sell = false
if running_ph and ta.crossover(close, running_ph) and barstate.isconfirmed
is_strong_buy := true
is_strong_sell := false
if running_pl and ta.crossunder(close, running_ph) and barstate.isconfirmed
is_strong_buy := false
if running_pl and ta.crossunder(close, running_pl) and barstate.isconfirmed
is_strong_sell := true
is_strong_buy := false
if running_pl and ta.crossover(close, running_pl) and barstate.isconfirmed
is_strong_sell := false

//vwap end

// logic buy sell improve start
src = close
di = (6 – 1.0) / 2.0 + 1.0
c1 = 2 / (di + 1.0)
c2 = 1 – c1
c3 = 3.0 * (0.4 * 0.4 + 0.4 * 0.4 * 0.4)
c4 = -3.0 * (2.0 * 0.4 * 0.4 + 0.4 + 0.4 * 0.4 * 0.4)
c5 = 3.0 * 0.4 + 1.0 + 0.4 * 0.4 * 0.4 + 3.0 * 0.4 * 0.4
var float i1 = na
var float i2 = na
var float i3 = na
var float i4 = na
var float i5 = na
var float i6 = na
i1 := c1 * src + c2 * nz(i1[1])
i2 := c1 * i1 + c2 * nz(i2[1])
i3 := c1 * i2 + c2 * nz(i3[1])
i4 := c1 * i3 + c2 * nz(i4[1])
i5 := c1 * i4 + c2 * nz(i5[1])
i6 := c1 * i5 + c2 * nz(i6[1])

Cto = -0.4 * 0.4 * 0.4 * i6 + c3 * i5 + c4 * i4 + c5 * i3
//bfrC = Cto > nz(Cto[1]) ? raise : Cto < nz(Cto[1]) ? fall : na
//plot(Cto, title=’Trend’, linewidth=2, style=plot.style_line, color=color.new(color.red, 0), editable=false)
ema3 = ta.ema(close, 3)
//plot(ema3, title=’EMA’, linewidth=2, style=plot.style_line, color=color.new(color.white, 0))

var bool is_cross_up = false
var bool is_cross_down = false

if ta.crossover(ema3, Cto) and barstate.isconfirmed
is_cross_up := true
is_cross_down := false
if ta.crossunder(ema3, Cto) and barstate.isconfirmed
is_cross_down := true
is_cross_up := false

//condition Long & Short
long = (close > Cto and close[1] < Cto[1] and close > close[1] or close[1] > Cto[1] and close > close[1] and close [1] < close[2] and close > ema3) and barstate.isconfirmed ? true : false
profit_long = close < close[1] and low < ema3 and close[1] > ema3[1] and close[2] > ema3[2] and barstate.isconfirmed
//var int trend = 0

short = (close < Cto and close[1] > Cto[1] and close < close[1] or close[1] < Cto[1] and close < close[1] and close [1] > close[2] and close < ema3) and barstate.isconfirmed ? true : false
profit_short = close > close[1] and high > ema3 and close[1] < ema3[1] and close[2] < ema3[2] and barstate.isconfirmed

// logic buy sell improvate end

rsi = ta.rsi(close, 3)
stopPer = input(0.8, title=’Stop Loss %’) / 100
takePer = input(15, title=’Take Profit %’) / 100

longStop = strategy.position_avg_price * (1 – stopPer)
shortStop = strategy.position_avg_price * (1 + stopPer)
shortTake = strategy.position_avg_price * (1 – takePer)
longTake = strategy.position_avg_price * (1 + takePer)

//plot(VWAP, color=color.yellow)

ema48 = ta.wma(close, 48)
ema11 = ta.wma(close, 11)
ema200 = ta.wma(close, 200)

close10 = request.security(symbol=syminfo.tickerid, timeframe=”12″, expression=close, lookahead=barmerge.lookahead_on)

wma10_11 = ta.wma(close, 4)
wma_10_11 = request.security(symbol=syminfo.tickerid, timeframe=”12″, expression=wma10_11, lookahead=barmerge.lookahead_on)
//plot(wma_10_11, ’ema10_11′, color.blue)

wma10_48 = ta.wma(close, 9)
wma_10_48 = request.security(symbol=syminfo.tickerid, timeframe=”12″, expression=wma10_48, lookahead=barmerge.lookahead_on)
//plot(wma_10_48, ’ema10_48′, color.yellow)

var bool cross_up_wma_10 = false
var bool cross_down_wma_10 = false
if ta.crossover(wma_10_11, wma_10_48) and barstate.isconfirmed
cross_up_wma_10 := true
cross_down_wma_10 := false
if ta.crossunder(wma_10_11, wma_10_48) and barstate.isconfirmed
cross_up_wma_10 := false
cross_down_wma_10 := true

up10m = false
if close10 > wma_10_11
up10m := true

////logic volume start
x = input.float(3.1, title=”Factor For Breakout Candle”)
red = #ff848a //#ff848a // #FA8072 // #323433 // #ff848a
green = #8cffe5 // #8cffe5 // #6DC066 // #80aebd // #8cffe5

// Basic Volume Calcs //
bull = close>open?volume:0
bear = open>close?volume:0

// BEAR Moving Average Calculation
bullma = ta.wma(bull, 14)

// BEAR Moving Average Calculation //
bearma = ta.wma(bear, 14)

// ma dif //
vf_dif = bullma-bearma

// example

vf_absolute = vf_dif > 0 ? vf_dif : vf_dif * (-1)

// Volume Spikes //
var bool gsig = false
var bool rsig = false
if ta.crossover(bull, bullma*x) and barstate.isconfirmed
gsig := true
rsig := false
if ta.crossover(bear, bearma*x) and barstate.isconfirmed
rsig := true
gsig := false

 

// Color Calcs //
vdClr = vf_dif > 0 ? true : false
vClr = close>open ? true:false

////logic volume end

// super trend start
cci_period = 28
cci = ta.cci(close, cci_period)
ML = 0

Factor=3
Pd=3
f_supertrend(Factor, Pd) =>

Up=hl2-(Factor*ta.atr(Pd))
Dn=hl2+(Factor*ta.atr(Pd))

TrendUp = 0.0
TrendUp := cci[1] > ML ? math.max(Up,TrendUp[1]) : Up
TrendDown = 0.0
TrendDown := cci[1]< ML ? math.min(Dn,TrendDown[1]) : Dn
Trend = 0.0
Trend := cci > ML ? 1: cci < ML ? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown

Tsl

st_tsl = f_supertrend(Factor, Pd)

buy= close >= st_tsl
sell= close < st_tsl
buy1= ta.barssince(buy)
sell1 = ta.barssince(sell)
buy_trend = buy1[1] > sell1[1] ? true : false

buy2= ta.barssince(sell)
sell2 = ta.barssince(buy)
sell_trend = buy2[1] > sell2[1] ? true : false
var bool is_buy = false
var bool is_sell = false
if sell_trend
is_sell := true
is_buy := false
if buy_trend
is_sell := false
is_buy := true
// super trend end

// ema cross start

oc = math.abs(open[1]-close[1])
hl = math.abs(high[1]-low[1])
ochl = (oc-hl)/hl
ll = (low[1]-low[2])/low[2]
crossUpWMA11 = ta.crossover(ema11, ema48) and barstate.isconfirmed
crossDownWMA11 = ta.crossunder(ema11, ema48) and barstate.isconfirmed
var bool crossup11_48 = false
var bool crossdown11_48 = false
var int cnt_out_up = 0
if crossUpWMA11
crossup11_48 := true
crossdown11_48 := false
cnt_out_up := 0
if crossDownWMA11
crossup11_48 := false
crossdown11_48 := true
cnt_out_up := 0
is_br = open[2] < close[2] and open[1] < close[1] and close < open and close[2] < close[1] and close[1] > close and ochl < 0.3 and (low[3] < low[2] and low[2] < low[1])
if is_br
cnt_out_up := cnt_out_up + 1

is_out_up = false
if cnt_out_up>2
is_out_up := true
cnt_out_up := 0

// ema cross end

// trend strong start
wma13 = ta.wma(close, 13)
plot(wma13, title=”WMA13″, color=color.blue)

wma48 = ta.wma(close, 48)
plot(wma48, title=”WMA48″, color=color.yellow)

wma200 = ta.wma(close, 200)
plot(wma200, title=”WMA200″, color=color.white)

crossUpWMA13 = ta.crossover(close, wma13) and barstate.isconfirmed
crossDownWMA13 = ta.crossunder(close, wma13) and barstate.isconfirmed
crossUpWMA48 = ta.crossover(close, wma48) and barstate.isconfirmed
crossDownWMA48 = ta.crossunder(close, wma48) and barstate.isconfirmed
crossUpWMA200 = ta.crossover(close, wma200) and barstate.isconfirmed
crossDownWMA200 = ta.crossunder(close, wma200) and barstate.isconfirmed

crossUpWMA13_48 = ta.crossover(wma13, wma48) and barstate.isconfirmed
crossDownWMA13_48 = ta.crossunder(wma13, wma48) and barstate.isconfirmed
crossUpWMA48_200 = ta.crossover(wma48, wma200) and barstate.isconfirmed
crossDownWMA48_200 = ta.crossunder(wma48, wma200) and barstate.isconfirmed

var price_wmacrossup_arr = array.new_float()
var price_wmacrossdown_arr = array.new_float()

if crossUpWMA48_200
price_wmacrossdown_arr := array.new_float()
array.push(price_wmacrossup_arr, close)
else if crossDownWMA48_200
price_wmacrossup_arr := array.new_float()
array.push(price_wmacrossdown_arr, close)

var bool isUpTrend = false
var bool isDownTrend = false

if crossUpWMA13 and isUpTrend == false
isUpTrend := true
isDownTrend := false
else if crossUpWMA48 and isUpTrend == false
isUpTrend := true
isDownTrend := false
else if crossUpWMA200 and isUpTrend == false
isUpTrend := true
isDownTrend := false

if crossDownWMA13 and isDownTrend == false
isUpTrend := false
isDownTrend := true
else if crossDownWMA48 and isDownTrend == false
isUpTrend := false
isDownTrend := true
else if crossDownWMA200 and isDownTrend == false
isUpTrend := false
isDownTrend := true

var int trendUp = 0
var int trendDown = 0

if isUpTrend
if crossUpWMA13_48
trendUp := 1
trendDown := 0
if crossUpWMA48_200
trendUp := 2
trendDown := 0

if isDownTrend
if crossDownWMA13_48
trendUp := 0
trendDown := 1
if crossDownWMA48_200
trendUp := 0
trendDown := 2
// trend strong end

// clone start
periodMa = input.int(title=’Delta Length’, minval=1, defval=2)
iff_1 = close[1] < open ? math.max(high – close[1], close – low) : math.max(high – open, close – low)
iff_2 = close[1] > open ? high – low : math.max(open – close[1], high – low)
iff_3 = close[1] < open ? math.max(high – close[1], close – low) : high – open
iff_4 = close[1] > open ? high – low : math.max(open – close[1], high – low)
iff_5 = close[1] < open ? math.max(open – close[1], high – low) : high – low
iff_6 = close[1] > open ? math.max(high – open, close – low) : iff_5
iff_7 = high – close < close – low ? iff_4 : iff_6
iff_8 = high – close > close – low ? iff_3 : iff_7
iff_9 = close > open ? iff_2 : iff_8
bullPower = close < open ? iff_1 : iff_9
iff_10 = close[1] > open ? math.max(close[1] – open, high – low) : high – low
iff_11 = close[1] > open ? math.max(close[1] – low, high – close) : math.max(open – low, high – close)
iff_12 = close[1] > open ? math.max(close[1] – open, high – low) : high – low
iff_13 = close[1] > open ? math.max(close[1] – low, high – close) : open – low
iff_14 = close[1] < open ? math.max(open – low, high – close) : high – low
iff_15 = close[1] > open ? math.max(close[1] – open, high – low) : iff_14
iff_16 = high – close < close – low ? iff_13 : iff_15
iff_17 = high – close > close – low ? iff_12 : iff_16
iff_18 = close > open ? iff_11 : iff_17
bearPower = close < open ? iff_10 : iff_18

bullVolume = bullPower / (bullPower + bearPower) * volume
bearVolume = bearPower / (bullPower + bearPower) * volume

delta = bullVolume – bearVolume
cvd = ta.cum(delta)
cvdMa = ta.ema(cvd, periodMa)

deltagood = cvd > cvdMa
deltabad = cvd < cvdMa

// clone end

// sideway start

low1d = request.security(symbol=syminfo.tickerid, timeframe=”120″, expression=low, lookahead=barmerge.lookahead_on)

avg = (close[10] + close[9] + close[8] + close[7] + close[6] +close[5] + close[4] + close[3] + close[2] + close[1])/10
keep_short = wma13 < wma48 and wma13 < avg and avg < wma48

start_long = wma13 > wma48 and wma13 > avg and avg > wma48 and (ta.crossover(wma13, wma48) and close > wma13 and close > wma48 or close > wma13 and ta.crossover(close, wma48) or close > wma48 and ta.crossover(close, wma13) or close[1] > wma13 and ta.crossover(wma13[1], wma200[1]))
keep_long = wma13 > wma48 and wma13 > avg and avg > wma48
sideway = math.abs(close[1]-avg)/avg < 0.0008
//if start_long
// sideway := false

plotshape(sideway ? low1d*0.995 : na, title=”Short”, style=shape.diamond, location=location.absolute, color=color.white, size=size.tiny, textcolor = color.white)

plotshape(keep_long ? (wma13 + wma48)/2 : na, title=”Short”, style=shape.xcross, location=location.absolute, color= color.yellow, size=size.tiny, textcolor = color.white)

plotshape(keep_short ? (wma13 + wma48)/2 : na, title=”Short”, style=shape.xcross, location=location.absolute, color=color.blue, size=size.tiny, textcolor = color.white)

// sideway end

bottomsupport = running_pl and close > running_pl and close > close[1] and rsi > rsi[1] + 8

bigdrop = rsi + 8 < rsi[1] and close > ema48 and running_ph and close < running_ph

var bool is_long = false
var bool is_short = false

longCondition = up10m and buy_trend and (start_long or close*1.05 > wma13 and rsi > rsi[1] + 6 or rsi > rsi[1] + 8 and long or is_cross_up and bottomsupport and is_strong_buy or bottomsupport) and barstate.isconfirmed

is_lost = wma13[3] > wma13[2] and wma13[2] > wma13[1]
plotshape(is_lost ? low : na, title=”close > wma 11″, style=shape.circle, location=location.absolute, color=color.blue, size=size.tiny)
if is_lost
longCondition := false

//if is_long
longCondition := false

if longCondition
is_long := true

plotshape(high[2]*1.001 >= running_ph and high[1] < running_ph and close[1] < running_ph ? low : na, title=”close > wma 11″, style=shape.circle, location=location.absolute, color=color.blue, size=size.tiny)

shortCondition = not up10m and (close*0.94 < wma13 and rsi + 8 < rsi[1] or rsi + 8 < rsi[1] and short or is_br or bigdrop and is_strong_sell) and barstate.isconfirmed

if is_short
shortCondition := false

if shortCondition
is_short := true

////////////

var bool wma13_wma48_up = false
var bool wma13_wma48_down = false

if crossUpWMA13_48
wma13_wma48_down := false
wma13_wma48_up := true

if crossDownWMA13_48
wma13_wma48_down := true
wma13_wma48_up := false

if is_short and wma13_wma48_down
longCondition := false

if is_long and wma13_wma48_up
shortCondition := false

if sideway
longCondition := false
shortCondition := false

///////////

// exit long when has a short signal and otherwise
closelong = ((rsi > 70 ) and high[2] < high[1] and high[1] > high or not up10m and (trendDown > 1 or profit_long or sell_trend or bigdrop and not is_cross_up or is_out_up )) and barstate.isconfirmed

if not keep_long and is_long and high[2]*1.001 >= running_ph and (high[1] < running_ph and close[1] < running_ph or high[2] > high[1] and high[1] > high)
closelong := true

next_short = false
if is_long and shortCondition
closelong := true
shortCondition := false
next_short := true

if next_short[1]
shortCondition := true

if closelong
is_long := false
is_short := false

closeshort = up10m and (trendUp > 1 or profit_short or buy_trend or bottomsupport and not is_cross_down) and barstate.isconfirmed

next_long = false
if is_short and longCondition
closeshort := true
next_long := true
longCondition := false

if next_long[1]
longCondition := true

//if is_short and low[2]*0.9999 <= running_pl and low[1] > running_pl and close[1] > running_pl and low[3] > low[2] and low[2] < low[1]
// closeshort := true
//if closeshort[1] and not longCondition and close > wma13 and close > wma48
// longCondition := true

if (longCondition)
strategy.entry(“long”, strategy.long)

// change param rsi + 4
if (shortCondition)
strategy.entry(“short”, strategy.short)

if closeshort
is_short := false
is_long := false

if(strategy.position_size > 0)
strategy.close(id=”long”, when=closelong)
if(strategy.position_size < 0)
strategy.close(id=”short”, when = closeshort)

if(strategy.position_size > 0)
strategy.exit(id=’long’, limit=longTake,stop = longStop)
if(strategy.position_size < 0)
strategy.exit(id=’short’, limit=shortTake,stop = shortStop)

//plot(strategy.initial_capital + strategy.netprofit + strategy.openprofit, color = color.blue)

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping cart

0
image/svg+xml

No products in the cart.

Continue Shopping