TradingView
CryptoRox
6 נוב׳ 2015 04:48

P2-V2 - BTC Strategy 

תיאור

P2-V2 also known as Penner2.0 began with a TEMA and MA cross on Heiken Ashi, a strategy brought to us by a group of crypto traders. Since then we've added a few more indicators and played around with the rules.

This is an early release as I have yet to go through the full automation aspect, however, I know some of you would like to see where it's at.

If you'd like to learn how to automate a full strategy using the Chrome Extension, go to the linked idea for a eurusd setup.

הערה

Alert Script:

//@version=2
study("P2-V2", shorttitle="Alerts", overlay=false)

//Heiken Ashi Candles
Factor = 3
Pd = 7
isHA = input(true, "HA Candles", bool)

data = isHA ? heikenashi(tickerid) : tickerid

o = security(data, period, open)
h = security(data, period, high)
l = security(data, period, low)
c = security(data, period, close)

//Triple EMA
temaLength = input(15, minval=1)
ema1 = ema(c, temaLength)
ema2 = ema(ema1, temaLength)
ema3 = ema(ema2, temaLength)
tema = 3 * (ema1 - ema2) + ema3

//Moving Average
smaLength = input(7, minval=1)
sma = sma(c, smaLength)

//RSI
src = c
rsiLength = input(4, minval=1, title="Length")

up = rma(max(change(src), 0), rsiLength)
down = rma(-min(change(src), 0), rsiLength)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

rsin= input(9)
sn = 100 - rsin
ln = 0 + rsin

//Strategy
gc = c > o ? 1 : 0
rc = c < o ? 1 : 0
long = crossover(tema[2], sma[2]) and gc[1] == 1 and gc == 1 and rsi > sn
short = crossunder(tema[2], sma[2]) and rc[1] == 1 and rc == 1 and rsi < ln

plot(long, "long", color=green)
plot(short, "short", color=red)

הערה

The above alert script did not copy/paste properly and is getting an error, to avoid clutter, just replace the bottom section @ //Strategy

//Strategy
gc = c > o ? 1 : 0
rc = c < o ? 1 : 0
long = crossover(tema[2], sma[2]) and gc[1] == 1 and gc == 1 and rsi > sn
short = crossunder(tema[2], sma[2]) and rc[1] == 1 and rc == 1 and rsi < ln

plot(long, "long", color=green)
plot(short, "short", color=red)

הערה

Let's try this again...

//Strategy
gc = c > o ? 1 : 0
rc = c < o ? 1 : 0
long = crossover(tema[2], sma[2]) and gc[1] == 1 and gc == 1 and rsi > sn
short = crossunder(tema[2], sma[2]) and rc[1] == 1 and rc == 1 and rsi < ln

plot(long, "long", color=green)
plot(short, "short", color=red)

הערה

Apologies for all the updates, not sure why pasting that section in here becomes corrupt, so instead I simply published the alert script here:

tradingview.com/script/j3IyFjMZ-P2-V2-Alerts/

הערה

All orders are now being tracked in a Google Sheet for public viewing.

Since: 08/12/2014 07:00:00
Net Profit = $644.58 in BTC value

Link for tracked statistics here:
bit.ly/1SMvGVu

הערה

To avoid repainting, this code needs to be adjusted. Results actually improve once the issue is corrected.
On line 11 - 14 you'll see this...
o = security(data, period, open)
h = security(data, period, high)
l = security(data, period, low)
c = security(data, period, close)

we need to actually use the previous candle to avoid repainting, so just add a 1 candle look back.
square brackets 1 after the words "open, high, low, close"

TV does not let me paste the brackets, but you can see on line 12-16 of this strategy here what is needed.
tradingview.com/script/wEZWjpGY-AutoView-Automate-it-Heiken-Ashi-No-pyramiding-or-repainting/

Hope this makes sense. Good luck.

הערות שחרור

Updated to Pinescript version 3 and added the new standard components.
תגובות
al.tribun
You use strategy function (h = security(data, period, high), l = security(data, period, low), c = security(data, period, close)). It`s like you know the future. At current bar you don`t know the high/low/close. However, when you do a historical backtesting security function knows those values.
In live trading it will repaint, until signal bar closing.
CryptoRox
Sadly, you are correct. I've recently had a few dreams crushed due to repainting :P
However it all works beautifully if you simply call the last candle ;)

//Easter Egg
o = security(data, period, open[1])
h = security(data, period, high[1])
l = security(data, period, low[1])
c = security(data, period, close[1])

Results on my P2-V2 chart.

Before
prntscr.com/9eras6

After
prntscr.com/9erahs
prntscr.com/9erahs
CryptoRox
Of course I'd paste the unedited code...

//True Easter Egg
o = security(data, period, open[1])
h = security(data, period, high[1])
l = security(data, period, low[1])
c = security(data, period, close[1])
CryptoRox
prntscr.com/9erbq9

TradingView is removing the edited section of the code for some reason. Apologies for the multiply reply/posts here.

o p e n [ 1 ]
h i g h [ 1 ]
l o w [ 1 ]
c l o s e [ 1 ]
AcerGold
Hi this is very nice!
do you can explain the exact rules how the strategy work?
I "study" the strategy but I don´t see the logic :D
thx and king regards
CryptoRox
BTCUSD3M - OKcoin Futures
Heiken Ashi Candles

Triple EMA
Length 15

Moving Average
Length 7

Relative Strength Index
Length 4
OverSold 9 and OverBought 91

Long Rules
Triple EMA crosses up the MA. The next 2 candles need to be green, and the rsi should be overBought (when the second green candle closes).

Short Rules
Triple EMA crosses down the MA. The next 2 candles need to be red, and the rsi should be OverSold (when the second red candle closes).

In the script, take profit is set to market close at 1,000% and Stop Loss is set to market close at -35%. This is using x20 leverage.
It will automatically close when it's time to open a position in the opposite direction if neither TP or SL are hit.

Things like TP and SL change slightly if you're looking to automate this using Autoview.
AcerGold
thx!
a question.
Is it possible to add a "start year" for backtesting? example: 2012/XY til today
king regards
MMB1
Thank you for the script, looks tasty!!!
Can you pls post the script for the alerts.

Thank you very much!!!
CryptoRox
Added it to the description above. Let me know if it works.
roosikas
alert script line 41 does not work
עוד