
Strategi ini mengidentifikasi level resistensi dukungan dengan melacak periode kenaikan atau penurunan harga secara berturut-turut, dan kemudian menggabungkan rata-rata bergerak sebagai sinyal masuk dan berhenti untuk membangun strategi perdagangan posisi panjang dan posisi pendek. Strategi ini dapat melakukan banyak shorting sekaligus, atau hanya satu sisi.
Strategi ini secara keseluruhan relatif sederhana dan dapat diandalkan, dengan penilaian yang tepat terhadap titik-titik resistensi yang mendukung, peluang untuk membalikkan harga dapat ditangkap dengan probabilitas yang lebih tinggi. Di samping itu, kombinasi dengan rata-rata bergerak memastikan waktu masuk dan menghindari penarikan.
/*backtest
start: 2023-01-30 00:00:00
end: 2024-02-05 00:00:00
period: 1d
basePeriod: 1h
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/
// © GlobalMarketSignals
//@version=4
strategy("GMS: TD Sequential Strategy", overlay=true)
LongShort = input(title="Long Only or Short Only or Both?", type=input.string, defval="Both", options=["Both", "Long Only", "Short Only"])
PriceFlipL = input(title="TD Sequential Long Price Flip", type = input.integer ,defval=9)
PriceFlipS = input(title="TD Sequential Short Price Flip", type = input.integer ,defval=9)
MAs1 = input(title="Long MA", type=input.string, defval="SMA", options=["SMA", "EMA", "VWMA"])
MAs2 = input(title="Short MA", type=input.string, defval="SMA", options=["SMA", "EMA", "VWMA"])
SMAlenL = input(title="Long MA Exit Length", type = input.integer ,defval=10)
SMAlenS = input(title="Short MA Exit Length", type = input.integer ,defval=10)
AboveBelowL = input(title="Long Trend Filter?", type=input.string, defval="Above", options=["Above", "Below", "Don't Include"])
AboveBelowS = input(title="Short Trend Filter?", type=input.string, defval="Below", options=["Above", "Below", "Don't Include"])
TLma = input(title="Trend MA", type=input.string, defval="SMA", options=["SMA", "EMA", "VWMA"])
TrendLength = input(title="Trend MA Length", type = input.integer ,defval=200)
PTbutton = input(title="Profit Target On/Off", type=input.bool, defval=true)
ProfitTarget = input(title="Profit Target %", type=input.float, defval=1, step=0.1, minval=0)
SLbutton = input(title="Stop Loss On/Off", type=input.bool, defval=true)
StopLoss = input(title="Stop Loss %", type=input.float, defval=-1, step=0.1, maxval=0)
//PROFIT TARGET & STOPLOSS
if PTbutton == true and SLbutton == true
strategy.exit("EXIT", profit=((close*(ProfitTarget*0.01))/syminfo.mintick), loss=((close*(StopLoss*-0.01))/syminfo.mintick))
else
if PTbutton == true and SLbutton == false
strategy.exit("PT EXIT", profit=((close*(ProfitTarget*0.01))/syminfo.mintick))
else
if PTbutton == false and SLbutton == true
strategy.exit("SL EXIT", loss=((close*(StopLoss*-0.01))/syminfo.mintick))
else
strategy.cancel("PT EXIT")
// S/R Code By johan.gradin (lines 36-46)
// Buy setup//
priceflip1 = barssince(close>close[4])
buysetup = close<close[4] and priceflip1
buy = buysetup and barssince(priceflip1!=9)
buyovershoot = barssince(priceflip1!=13) and buysetup
// Sell Setup //
priceflip = barssince(close<close[4])
sellsetup = close>close[4] and priceflip
sell = sellsetup and barssince(priceflip!=9)
sellovershoot = sellsetup and barssince(priceflip!=13)
///////
/////// SMA
///////
if LongShort =="Long Only" and AboveBelowL == "Above" and MAs1 == "SMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) and close>sma(close,TrendLength))
strategy.close("LONG", when = close>sma(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Below" and MAs1 == "SMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) and close<sma(close,TrendLength))
strategy.close("LONG", when = close>sma(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Don't Include" and MAs1 == "SMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) )
strategy.close("LONG", when = close>sma(close,SMAlenL))
///////
if LongShort =="Short Only" and AboveBelowS == "Above" and MAs2 == "SMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) and close>sma(close,TrendLength))
strategy.close("SHORT", when = close<sma(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Below" and MAs2 == "SMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) and close<sma(close,TrendLength))
strategy.close("SHORT", when = close<sma(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Don't Include" and MAs2 == "SMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) )
strategy.close("SHORT", when = close<sma(close,SMAlenS))
///////
if LongShort =="Both" and AboveBelowL == "Above" and MAs1 == "SMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) and close>sma(close,TrendLength))
strategy.close("LONG", when = close>sma(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Below" and MAs1 == "SMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) and close<sma(close,TrendLength))
strategy.close("LONG", when = close>sma(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Don't Include" and MAs1 == "SMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) )
strategy.close("LONG", when = close>sma(close,SMAlenL))
if LongShort =="Both" and AboveBelowS == "Above" and MAs2 == "SMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) and close>sma(close,TrendLength))
strategy.close("SHORT", when = close<sma(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Below" and MAs2 == "SMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) and close<sma(close,TrendLength))
strategy.close("SHORT", when = close<sma(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Don't Include" and MAs2 == "SMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) )
strategy.close("SHORT", when = close<sma(close,SMAlenS))
///////
/////// EMA
///////
if LongShort =="Long Only" and AboveBelowL == "Above" and MAs1 == "EMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) and close>sma(close,TrendLength))
strategy.close("LONG", when = close>ema(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Below" and MAs1 == "EMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) and close<sma(close,TrendLength))
strategy.close("LONG", when = close>ema(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Don't Include" and MAs1 == "EMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) )
strategy.close("LONG", when = close>ema(close,SMAlenL))
///////
if LongShort =="Short Only" and AboveBelowS == "Above" and MAs2 == "EMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) and close>sma(close,TrendLength))
strategy.close("SHORT", when = close<ema(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Below" and MAs2 == "EMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) and close<sma(close,TrendLength))
strategy.close("SHORT", when = close<ema(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Don't Include" and MAs2 == "EMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) )
strategy.close("SHORT", when = close<ema(close,SMAlenS))
///////
if LongShort =="Both" and AboveBelowL == "Above" and MAs1 == "EMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) and close>sma(close,TrendLength))
strategy.close("LONG", when = close>ema(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Below" and MAs1 == "EMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) and close<sma(close,TrendLength))
strategy.close("LONG", when = close>ema(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Don't Include" and MAs1 == "EMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) )
strategy.close("LONG", when = close>ema(close,SMAlenL))
if LongShort =="Both" and AboveBelowS == "Above" and MAs2 == "EMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) and close>sma(close,TrendLength))
strategy.close("SHORT", when = close<ema(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Below" and MAs2 == "EMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) and close<sma(close,TrendLength))
strategy.close("SHORT", when = close<ema(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Don't Include" and MAs2 == "EMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) )
strategy.close("SHORT", when = close<ema(close,SMAlenS))
///////
/////// VWMA
///////
if LongShort =="Long Only" and AboveBelowL == "Above" and MAs1 == "VWMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) and close>sma(close,TrendLength))
strategy.close("LONG", when = close>vwma(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Below" and MAs1 == "VWMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) and close<sma(close,TrendLength))
strategy.close("LONG", when = close>vwma(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Don't Include" and MAs1 == "VWMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) )
strategy.close("LONG", when = close>vwma(close,SMAlenL))
///////
if LongShort =="Short Only" and AboveBelowS == "Above" and MAs2 == "VWMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) and close>sma(close,TrendLength))
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Below" and MAs2 == "VWMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) and close<sma(close,TrendLength))
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Don't Include" and MAs2 == "VWMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) )
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
///////
if LongShort =="Both" and AboveBelowL == "Above" and MAs1 == "VWMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) and close>sma(close,TrendLength))
strategy.close("LONG", when = close>vwma(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Below" and MAs1 == "VWMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) and close<sma(close,TrendLength))
strategy.close("LONG", when = close>vwma(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Don't Include" and MAs1 == "VWMA" and TLma == "SMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) )
strategy.close("LONG", when = close>vwma(close,SMAlenL))
if LongShort =="Both" and AboveBelowS == "Above" and MAs2 == "VWMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) and close>sma(close,TrendLength))
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Below" and MAs2 == "VWMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) and close<sma(close,TrendLength))
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Don't Include" and MAs2 == "VWMA" and TLma == "SMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) )
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////
/////// SMA
///////
if LongShort =="Long Only" and AboveBelowL == "Above" and MAs1 == "SMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) and close>ema(close,TrendLength))
strategy.close("LONG", when = close>sma(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Below" and MAs1 == "SMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) and close<ema(close,TrendLength))
strategy.close("LONG", when = close>sma(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Don't Include" and MAs1 == "SMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) )
strategy.close("LONG", when = close>sma(close,SMAlenL))
///////
if LongShort =="Short Only" and AboveBelowS == "Above" and MAs2 == "SMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) and close>ema(close,TrendLength))
strategy.close("SHORT", when = close<sma(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Below" and MAs2 == "SMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) and close<ema(close,TrendLength))
strategy.close("SHORT", when = close<sma(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Don't Include" and MAs2 == "SMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) )
strategy.close("SHORT", when = close<sma(close,SMAlenS))
///////
if LongShort =="Both" and AboveBelowL == "Above" and MAs1 == "SMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) and close>ema(close,TrendLength))
strategy.close("LONG", when = close>sma(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Below" and MAs1 == "SMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) and close<ema(close,TrendLength))
strategy.close("LONG", when = close>sma(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Don't Include" and MAs1 == "SMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) )
strategy.close("LONG", when = close>sma(close,SMAlenL))
if LongShort =="Both" and AboveBelowS == "Above" and MAs2 == "SMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) and close>ema(close,TrendLength))
strategy.close("SHORT", when = close<sma(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Below" and MAs2 == "SMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) and close<ema(close,TrendLength))
strategy.close("SHORT", when = close<sma(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Don't Include" and MAs2 == "SMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) )
strategy.close("SHORT", when = close<sma(close,SMAlenS))
///////
/////// EMA
///////
if LongShort =="Long Only" and AboveBelowL == "Above" and MAs1 == "EMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) and close>ema(close,TrendLength))
strategy.close("LONG", when = close>ema(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Below" and MAs1 == "EMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) and close<ema(close,TrendLength))
strategy.close("LONG", when = close>ema(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Don't Include" and MAs1 == "EMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) )
strategy.close("LONG", when = close>ema(close,SMAlenL))
///////
if LongShort =="Short Only" and AboveBelowS == "Above" and MAs2 == "EMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) and close>ema(close,TrendLength))
strategy.close("SHORT", when = close<ema(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Below" and MAs2 == "EMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) and close<ema(close,TrendLength))
strategy.close("SHORT", when = close<ema(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Don't Include" and MAs2 == "EMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) )
strategy.close("SHORT", when = close<ema(close,SMAlenS))
///////
if LongShort =="Both" and AboveBelowL == "Above" and MAs1 == "EMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) and close>ema(close,TrendLength))
strategy.close("LONG", when = close>ema(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Below" and MAs1 == "EMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) and close<ema(close,TrendLength))
strategy.close("LONG", when = close>ema(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Don't Include" and MAs1 == "EMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) )
strategy.close("LONG", when = close>ema(close,SMAlenL))
if LongShort =="Both" and AboveBelowS == "Above" and MAs2 == "EMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) and close>ema(close,TrendLength))
strategy.close("SHORT", when = close<ema(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Below" and MAs2 == "EMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) and close<ema(close,TrendLength))
strategy.close("SHORT", when = close<ema(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Don't Include" and MAs2 == "EMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) )
strategy.close("SHORT", when = close<ema(close,SMAlenS))
///////
/////// VWMA
///////
if LongShort =="Long Only" and AboveBelowL == "Above" and MAs1 == "VWMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) and close>ema(close,TrendLength))
strategy.close("LONG", when = close>vwma(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Below" and MAs1 == "VWMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) and close<ema(close,TrendLength))
strategy.close("LONG", when = close>vwma(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Don't Include" and MAs1 == "VWMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) )
strategy.close("LONG", when = close>vwma(close,SMAlenL))
///////
if LongShort =="Short Only" and AboveBelowS == "Above" and MAs2 == "VWMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) and close>ema(close,TrendLength))
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Below" and MAs2 == "VWMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) and close<ema(close,TrendLength))
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Don't Include" and MAs2 == "VWMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) )
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
///////
if LongShort =="Both" and AboveBelowL == "Above" and MAs1 == "VWMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) and close>ema(close,TrendLength))
strategy.close("LONG", when = close>vwma(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Below" and MAs1 == "VWMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) and close<ema(close,TrendLength))
strategy.close("LONG", when = close>vwma(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Don't Include" and MAs1 == "VWMA" and TLma == "EMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) )
strategy.close("LONG", when = close>vwma(close,SMAlenL))
if LongShort =="Both" and AboveBelowS == "Above" and MAs2 == "VWMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) and close>ema(close,TrendLength))
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Below" and MAs2 == "VWMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) and close<ema(close,TrendLength))
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Don't Include" and MAs2 == "VWMA" and TLma == "EMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) )
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////
/////// SMA
///////
if LongShort =="Long Only" and AboveBelowL == "Above" and MAs1 == "SMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) and close>vwma(close,TrendLength))
strategy.close("LONG", when = close>sma(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Below" and MAs1 == "SMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) and close<vwma(close,TrendLength))
strategy.close("LONG", when = close>sma(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Don't Include" and MAs1 == "SMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) )
strategy.close("LONG", when = close>sma(close,SMAlenL))
///////
if LongShort =="Short Only" and AboveBelowS == "Above" and MAs2 == "SMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) and close>vwma(close,TrendLength))
strategy.close("SHORT", when = close<sma(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Below" and MAs2 == "SMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) and close<vwma(close,TrendLength))
strategy.close("SHORT", when = close<sma(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Don't Include" and MAs2 == "SMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) )
strategy.close("SHORT", when = close<sma(close,SMAlenS))
///////
if LongShort =="Both" and AboveBelowL == "Above" and MAs1 == "SMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) and close>vwma(close,TrendLength))
strategy.close("LONG", when = close>sma(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Below" and MAs1 == "SMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) and close<vwma(close,TrendLength))
strategy.close("LONG", when = close>sma(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Don't Include" and MAs1 == "SMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<sma(close,SMAlenL) )
strategy.close("LONG", when = close>sma(close,SMAlenL))
if LongShort =="Both" and AboveBelowS == "Above" and MAs2 == "SMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) and close>vwma(close,TrendLength))
strategy.close("SHORT", when = close<sma(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Below" and MAs2 == "SMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) and close<vwma(close,TrendLength))
strategy.close("SHORT", when = close<sma(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Don't Include" and MAs2 == "SMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>sma(close,SMAlenS) )
strategy.close("SHORT", when = close<sma(close,SMAlenS))
///////
/////// EMA
///////
if LongShort =="Long Only" and AboveBelowL == "Above" and MAs1 == "EMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) and close>vwma(close,TrendLength))
strategy.close("LONG", when = close>ema(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Below" and MAs1 == "EMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) and close<vwma(close,TrendLength))
strategy.close("LONG", when = close>ema(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Don't Include" and MAs1 == "EMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) )
strategy.close("LONG", when = close>ema(close,SMAlenL))
///////
if LongShort =="Short Only" and AboveBelowS == "Above" and MAs2 == "EMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) and close>vwma(close,TrendLength))
strategy.close("SHORT", when = close<ema(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Below" and MAs2 == "EMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) and close<vwma(close,TrendLength))
strategy.close("SHORT", when = close<ema(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Don't Include" and MAs2 == "EMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) )
strategy.close("SHORT", when = close<ema(close,SMAlenS))
///////
if LongShort =="Both" and AboveBelowL == "Above" and MAs1 == "EMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) and close>vwma(close,TrendLength))
strategy.close("LONG", when = close>ema(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Below" and MAs1 == "EMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) and close<vwma(close,TrendLength))
strategy.close("LONG", when = close>ema(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Don't Include" and MAs1 == "EMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<ema(close,SMAlenL) )
strategy.close("LONG", when = close>ema(close,SMAlenL))
if LongShort =="Both" and AboveBelowS == "Above" and MAs2 == "EMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) and close>vwma(close,TrendLength))
strategy.close("SHORT", when = close<ema(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Below" and MAs2 == "EMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) and close<vwma(close,TrendLength))
strategy.close("SHORT", when = close<ema(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Don't Include" and MAs2 == "EMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>ema(close,SMAlenS) )
strategy.close("SHORT", when = close<ema(close,SMAlenS))
///////
/////// VWMA
///////
if LongShort =="Long Only" and AboveBelowL == "Above" and MAs1 == "VWMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) and close>vwma(close,TrendLength))
strategy.close("LONG", when = close>vwma(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Below" and MAs1 == "VWMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) and close<vwma(close,TrendLength))
strategy.close("LONG", when = close>vwma(close,SMAlenL))
if LongShort =="Long Only" and AboveBelowL == "Don't Include" and MAs1 == "VWMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) )
strategy.close("LONG", when = close>vwma(close,SMAlenL))
///////
if LongShort =="Short Only" and AboveBelowS == "Above" and MAs2 == "VWMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) and close>vwma(close,TrendLength))
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Below" and MAs2 == "VWMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) and close<vwma(close,TrendLength))
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
if LongShort =="Short Only" and AboveBelowS == "Don't Include" and MAs2 == "VWMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) )
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
///////
if LongShort =="Both" and AboveBelowL == "Above" and MAs1 == "VWMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) and close>vwma(close,TrendLength))
strategy.close("LONG", when = close>vwma(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Below" and MAs1 == "VWMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) and close<vwma(close,TrendLength))
strategy.close("LONG", when = close>vwma(close,SMAlenL))
if LongShort =="Both" and AboveBelowL == "Don't Include" and MAs1 == "VWMA" and TLma == "VWMA"
strategy.entry("LONG", true, when = buysetup and barssince(priceflip1!=PriceFlipL) and close<vwma(close,SMAlenL) )
strategy.close("LONG", when = close>vwma(close,SMAlenL))
if LongShort =="Both" and AboveBelowS == "Above" and MAs2 == "VWMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) and close>vwma(close,TrendLength))
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Below" and MAs2 == "VWMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) and close<vwma(close,TrendLength))
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
if LongShort =="Both" and AboveBelowS == "Don't Include" and MAs2 == "VWMA" and TLma == "VWMA"
strategy.entry("SHORT", false, when = sellsetup and barssince(priceflip!=PriceFlipS) and close>vwma(close,SMAlenS) )
strategy.close("SHORT", when = close<vwma(close,SMAlenS))
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////