forexpirate

Single SMA cross with BB Strategy

This is a light weight code and strategy. I tuned it for NZDUSD on a 15 min chart. NZDUSD is a slow moving low volatility pair. A single SMA cross over + crossing a .9 BB + the single SMA is increasing. I will be manually trading this with alerts and once I have LUA down I will set it free with FXCM and see what it can do on it own.

** I use BB as a means of seeing momentum to continue gaining not as a reversal signal.

Please contact me with issues/questions
Remove from Favorite Scripts Add to Favorite Scripts
//@version=2
strategy(title="single sma cross", shorttitle="single sma cross",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,overlay=true,currency="USD")
s=input(title="s",defval=90,type=integer)
p=input(title="p",type=float,defval=.9,step=.1)

sa=sma(close,s)
plot(sa,color=red,linewidth=3)
band=stdev(close,s)*p
plot(band+sa,color=lime,title="")
plot(-band+sa,color=lime,title="")

// ===Strategy Orders============================================= ========
inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0)
inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0)
inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)
useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na
useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na
useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na
useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na

longCondition = crossover(close,sa+band) and rising(sa,5)
shortCondition = crossunder(close,sa-band) and falling(sa,5)
crossmid = cross(close,sa)


strategy.entry(id = "Long", long=true, when = longCondition)
strategy.close(id = "Long", when = shortCondition)
strategy.entry(id = "Short", long=false, when = shortCondition)
strategy.close(id = "Short", when = longCondition)
strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=crossmid)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=crossmid)
Send me that FXCM code ;)
Reply
Will do when I write it. I have not gotten into Lua yet. ** I believe there is an error in this script. I think it is placing double orders sometimes. The documentation on pine is thin and thought it may look like its working I have had double orders placed in other scripts using this same order coding. I fixed it in another, but since pine does not let a person delete old posts my old code with errors stay up here.
Reply
forexpirate forexpirate
Yeap, look at the list of trades. There are two open orders. Could be good in some cases, but I didnt want it to do that. Pine is good, the documentation need to be beefed up.
Reply
Add this to code to get pre-built alerts in alert box in right side menu.

alertcondition(crossover(close,sa+band) and rising(sa,5), title="Long",message="Long")
alertcondition(crossunder(close,sa-band) and falling(sa,5),title="Short",message="Short")
Reply
forexpirate forexpirate
***** You have to create a study from this strategy for the alerts to work!!
Reply
Home Stock Screener Forex Screener Crypto Screener Economic Calendar How It Works Chart Features Pricing House Rules Moderators Website & Broker Solutions Widgets Charting Solutions Help Center Feature Request Blog & News FAQ Wiki Twitter
Profile Profile Settings Account and Billing TradingView Coins My Support Tickets Help Center Ideas Published Followers Following Private Messages Chat Sign Out