Diese Strategie identifiziert Unterstützungs- und Widerstandsniveaus, indem sie die aufeinanderfolgenden Auf- und Abwärtsbalken der Preise verfolgt und gleitende Durchschnitte als Einstiegs- und Stop-Loss-Signale kombiniert, um lange und kurze Handelsstrategien zu konstruieren.
Die Strategie ist relativ einfach und zuverlässig. Durch die korrekte Identifizierung von S/R-Leveln erfasst sie mit hoher Wahrscheinlichkeit Preisumkehrmöglichkeiten. Die Kombination mit MA gewährleistet einen angemessenen Eintrittszeitplan und vermeidet Fallen. Schließlich ist das richtungsorientierte Urteil konservativ, aber anpassungsfähig. Benutzer können die Parameter entsprechend ihrem Marktverständnis optimieren und noch bessere Ergebnisse erzielen.
/*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)) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////