이 전략은 가격의 연속 상승 및 하락 바를 추적하여 지원 및 저항 수준을 식별하고, 엔트리 및 스톱 손실 신호로 이동 평균을 결합하여 긴 및 짧은 거래 전략을 구성합니다. 전략은 길고 짧거나 한 쪽으로 갈 수 있습니다.
전략은 비교적 간단하고 신뢰할 수 있습니다. S / R 수준을 올바르게 식별함으로써 높은 확률로 가격 반전 기회를 포착합니다. MA와 결합하면 적절한 입시 타이밍을 보장하고 함정을 피합니다. 마지막으로 방향 판단은 보수적이지만 적응력이 있습니다. 사용자는 시장 이해에 따라 매개 변수를 최적화하고 더 나은 결과를 얻을 수 있습니다.
/*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)) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////