NAND PerceptronExperimental NAND Perceptron based upon Python template that aims to predict NAND Gate Outputs. A Perceptron is one of the foundational building blocks of nearly all advanced Neural Network layers and models for Algo trading and Machine Learning.
The goal behind this script was threefold:
To prove and demonstrate that an ACTUAL working neural net can be implemented in Pine, even if incomplete.
To pave the way for other traders and coders to iterate on this script and push the boundaries of Tradingview strategies and indicators.
To see if a self-contained neural network component for parameter optimization within Pinescript was hypothetically possible.
NOTE: This is a highly experimental proof of concept - this is NOT a ready-made template to include or integrate into existing strategies and indicators, yet (emphasis YET - neural networks have a lot of potential utility and potential when utilized and implemented properly).
Hardcoded NAND Gate outputs with Bias column (X0):
// NAND Gate + X0 Bias and Y-true
// X0 // X1 // X2 // Y
// 1 // 0 // 0 // 1
// 1 // 0 // 1 // 1
// 1 // 1 // 0 // 1
// 1 // 1 // 1 // 0
Column X0 is bias feature/input
Column X1 and X2 are the NAND Gate
Column Y is the y-true values for the NAND gate
yhat is the prediction at that timestep
F0,F1,F2,F3 are the Dot products of the Weights (W0,W1,W2) and the input features (X0,X1,X2)
Learning rate and activation function threshold are enabled by default as input parameters
Uncomment sections for more training iterations/epochs:
Loop optimizations would be amazing to have for a selectable length for training iterations/epochs but I'm not sure if it's possible in Pine with how this script is structured.
Error metrics and loss have not been implemented due to difficulty with script length and iterations vs epochs - I haven't been able to configure the input parameters to successfully predict the right values for all four y-true values for the NAND gate (only been able to get 3/4; If you're able to get all four predictions to be correct, let me know, please).
// //---- REFERENCE for final output
// A3 := 1, y0 true
// B3 := 1, y1 true
// C3 := 1, y2 true
// D3 := 0, y3 true
PLEASE READ: Source article/template and main code reference:
towardsdatascience.com
towardsdatascience.com
towardsdatascience.com
Regresja liniowa
Function Decimal To Binary/Binary To DecimalNOTE: Experimental. Pinescript implementation of Decimal to Binary and Binary to Decimal that is intended for use in the development of a neural network proof of concept.
Intended for use in as subcomponent in the development of a more complex/highly experimental prototype.
Protection/logic for edge cases above 11111111/255 (8bits) is NOT implemented.
Do NOT use this in any trading system or component without edge case testing/unit tests.
// Decimal to Binary, Binary to Decimal Reference:
// diwasfamily.com
// www.wikihow.com
//
// www.khanacademy.org
Bitcoin Logarithmic Growth CurvesThis plots logarithmic curves fitted to major Bitcoin bear market tops & bottoms. Top line is fitted to bull tops, bottom line is fitted to lower areas of the logarithmic price trend (which is not always the same as bear market bottoms). Middle line is the median of the top & bottom, and the faded solid lines are fibonacci levels in between.
Inspired by & based on a Medium post by Harold Christopher Burger, which shows how linear Bitcoin's long-term price growth is when plotted on a double-log chart (log scaling on the price AND time axis).
These curves will only make sense for tickers representing Bitcoin vs. USD (such as BITSTAMP:BTCUSD, BITMEX:XBTUSD, BLX index). Plotting on other assets will probably end up with lines that shoot off into space without any relationship to the underlying price action.
The upper, middle & lower curves can be projected into the future, which can be turned on or off in the indicator settings. The fibonacci levels can also be switched on/off. And the upper & lower curve intercepts & slopes can be tweaked.
I'm releasing this open-source, if you end up making something cool based off of this code, I don't need attribution but please hit me up on here or on twitter (same username) so I can check out what ya made. Thanks, hope y'all enjoy it.
Center of Gravity BF 🚀Thanks to HPotter for the code I based this strategy on.
Center of Gravity calculation is based here on a linear regression function using the least squares method.
We use this to calculate a channel consisting of 2 lines, green and red on the chart
This strategy employs a dynamic stop loss function that measures stop loss placement based on recent ATR.
How signals are generated:
Price closes above green line = Go Long
Price closes below red line = Go Short
Yellow dotted line = stop loss based on long entry
Orange dotted line = stop loss based on short entry
INSTRUCTIONS
Green background = Go Long, put your stop loss at the yellow dotted line
Red background = Go Short, put your stop loss at the orange dotted line
NB: The stop losses printed on the chart are calculated from the point of entry on a trade, if you make a different entry to what is indicated, the corresponding stop loss will be different to what the indicator displays.
Regression Channel [DW]This is an experimental study which calculates a linear regression channel over a specified period or interval using custom moving average types for its calculations.
Linear regression is a linear approach to modeling the relationship between a dependent variable and one or more independent variables.
In linear regression, the relationships are modeled using linear predictor functions whose unknown model parameters are estimated from the data.
The regression channel in this study is modeled using the least squares approach with four base average types to choose from:
-> Arnaud Legoux Moving Average (ALMA)
-> Exponential Moving Average (EMA)
-> Simple Moving Average (SMA)
-> Volume Weighted Moving Average (VWMA)
When using VWMA, if no volume is present, the calculation will automatically switch to tick volume, making it compatible with any cryptocurrency, stock, currency pair, or index you want to analyze.
There are two window types for calculation in this script as well:
-> Continuous, which generates a regression model over a fixed number of bars continuously.
-> Interval, which generates a regression model that only moves its starting point when a new interval starts. The number of bars for calculation cumulatively increases until the end of the interval.
The channel is generated by calculating standard deviation multiplied by the channel width coefficient, adding it to and subtracting it from the regression line, then dividing it into quartiles.
To observe the path of the regression, I've included a tracer line, which follows the current point of the regression line. This is also referred to as a Least Squares Moving Average (LSMA).
For added predictive capability, there is an option to extend the channel lines into the future.
A custom bar color scheme based on channel direction and price proximity to the current regression value is included.
I don't necessarily recommend using this tool as a standalone, but rather as a supplement to your analysis systems.
Regression analysis is far from an exact science. However, with the right combination of tools and strategies in place, it can greatly enhance your analysis and trading.
Function : Linear Regression Bands
Used with Pearson Correlation. It can be used to make sense of the trends. Very successful results can be obtained with a MACD style indicator and volume indicator that gives Buy and Sell orders.Open for adaptive and mutable variable periods of moving averages. Best regards!
Top Cap [aamonkey]Historically matched market tops for BTC.
It's the Average Cap (see my other indicator) multiplied by 35.
The default settings are for BTC.
If you want to test this indicator on another chart you have to change the launch date settings (and maybe play around with the multiplier).
Some Interesting Launch dates:
- BTC: 3 JAN 2009
- ETH: 30. JUL 2015
- LTC: 7. OCT 2011
Linear Regression Trend ChannelThis is my first public release of indicator code and my PSv4.0 version of "Linear Regression Channel", as it is more commonly known. It replicates TV's built-in "Linear Regression" without the distraction of heavy red/blue fill bleeding into other indicators. We can't fill() line.new() at this time in Pine Script anyways. I entitled it Linear Regression Trend Channel, simply because it seems more accurate as a proper description. I nicely packaged this to the size of an ordinary napkin within 20 lines of compact code, simplifying the math to the most efficient script I could devise that fits in your pocket. This is commonly what my dense intricate code looks like behind the veil, and if you are wondering why there is no notes, that's because the notation is in the variable naming. I excluded Pearson correlation because it doesn't seem very useful to me, and it would comprise of additional lines of code I would rather avoid in this public release. Pearson correlation is included in my invite-only advanced version of "Enhanced Linear Regression Trend Channel", where I have taken Linear Regression Channeling to another level of fully featured novel attainability using this original source code.
Features List Includes:
"Period" adjustment
"Deviation(s)" adjustment
"Extend Method" option to extend or not extend the upper, medial, and lower channeling
Showcased in the chart below is my free to use "Enhanced Schaff Trend Cycle Indicator", having a common appeal to TV users frequently. If you do have any questions or comments regarding this indicator, I will consider your inquiries, thoughts, and ideas presented below in the comments section, when time provides it. As always, "Like" it if you simply just like it with a proper thumbs up, and also return to my scripts list occasionally for additional postings. Have a profitable future everyone!
Linear Regression Channel CloneClone of tradingview Linear Regression Channel
Honorable Mentions:
jwammo12 for the Deviation code
ballofpaper for making me write it.
Time Series ForecastIntroduction
Forecasting is a blurry science that deal with lot of uncertainty. Most of the time forecasting is made with the assumption that past values can be used to forecast a time series, the accuracy of the forecast depend on the type of time series, the pre-processing applied to it, the forecast model and the parameters of the model.
In tradingview we don't have much forecasting models appart from the linear regression which is definitely not adapted to forecast financial markets, instead we mainly use it as support/resistance indicator. So i wanted to try making a forecasting tool based on the lsma that might provide something at least interesting, i hope you find an use to it.
The Method
Remember that the regression model and the lsma are closely related, both share the same equation ax + b but the lsma will use running parameters while a and b are constants in a linear regression, the last point of the lsma of period p is the last point of the linear regression that fit a line to the price at time p to 1, try to add a linear regression with count = 100 and an lsma of length = 100 and you will see, this is why the lsma is also called "end point moving average".
The forecast of the linear regression is the linear extrapolation of the fitted line, however the proposed indicator forecast is the linear extrapolation between the value of the lsma at time length and the last value of the lsma when short term extrapolation is false, when short term extrapolation is checked the forecast is the linear extrapolation between the lsma value prior to the last point and the last lsma value.
long term extrapolation, length = 1000
short term extrapolation, length = 1000
How To Use
Intervals are create from the running mean absolute error between the price and the lsma. Those intervals can be interpreted as possible support and resistance levels when using long term extrapolation, make sure that the intervals have been priorly tested, this mean the intervals are more significants.
The short term extrapolation is made with the assumption that the price will follow the last two lsma points direction, the forecast tend to become inaccurate during a trend change or when noise affect heavily the lsma.
You can test both method accuracy with the replay mode.
Comparison With The Linear Regression
Both methods share similitudes, but they have different results, lets compare them.
In blue the indicator and in red a linear regression of both period 200, the linear regression is always extremely conservative since she fit a line using the least squares method, at the contrary the indicator is less conservative which can be an advantage as well as a problem.
Conclusion
Linear models are good when what we want to forecast is approximately linear, thats not the case with market price and this is why other methods are used. But the use of the lsma to provide a forecast is still an interesting method that might require further studies.
Thanks for reading !
[RD] LCS - line channels (basic) v3 - [republish]==================================================================
July 18 2019 - LCS - line channels (basic) by RootDuk
Version : v3 - read the notes
==================================================================
Easy script to draw channels based on ie. GANN using the following
input params
- ibback : barsback to search for high and low
- ffactor : factor to up/downscale the lines
- oextend : extend lines, left, right, both, none
- bshowline : show horizontal lines yes/no
- bsshowdown : show diag down lines yes/no
- bsshowup : show diag up lines yes/no
- bshowindm : show index marker, where is you current ibback
===================================================================
Notes
===================================================================
When you use this code, pls let me know where and how you used it
as iam always curious what some can do with it. Thanks!
===================================================================
Updates
===================================================================
v1
v2 - July 17 2019
- Removed support wallets from source code. I think the source
- has been deleted because of this, find no other clue.
v3 - July 18 2019
- Republish
linear and Bollingers Bands and Fibonacci ratios This model give us the following
1 .linear regression channel
2.dynamic upper and lower fibs
3. upper and lower bollinger bands
each specific to the time frame that you use
So by using all 3 in one indicator it easy to see ressistance and support level
Session AverageThis indicator finds the average time of High or Low formed in sessions.
This is a request from trader @Salmanmahmood15 . You need permission from him to fully use it
Slices of Bitcoin
A very simple indicator that shows how many times a currency fits into Bitcoin. In other words, the higher the value, the weaker the currency against Bitcoin.
You can easily see that since the beginning of 2019 Stellar Lumen (XLM) lost half of its BTC-value while the USD-value was constant.
Fractal Regression Channel V0.1Port of @RicardoSantos' Fractal Regression Channel V0 from pinescript 2 to pinescript 3.
// Source:
// Original Author: @RicardoSantos
BB Forecast PrototypeExperiment to try apply @atrader2's MA Forecast () to bollinger bands - didn't exactly work out how I expected it to, especially with the Upper/Lower forecast projections.
Sniper & Strategy SniperTrading permite detectar los momentos exactos de compra y venta obteniendo un buen rendimiento.
Como aplicarlo:
* Realice una compra cuando el indicador de COMPRA aparezca en la pantalla.
* Realice una venta cuando el indicador de VENTA aparezca en la pantalla.
MACD SlopeShows slopes of macd line, signal line and histogram. A negative and rising slope shows improvement within a downtrend. A positive and falling slope shows deterioration within an uptrend.
Linear regression slope as SARThis model calculate the slope of the linear regression and give you the uptrend or the down trend of the slope
red line are downtrend and green line are up trend
using len 1 you can make it longer or shorter (I put it on length of 40 but you can change that to what ever you want )
Similar to SAR it can give us the trends of buy and sell only by doing it by the linear way
try longer length to see if it smooth the signal
4 hour graph
Linear Regression (Backtest / Trailing Stop)A Strategy with Backtest and Trailing Stop for Long/Short
Credits: Study by RafaelZioni - Thanks buddy!
linear regression newSo this is new attempt to plot linear regression ,
I hope TV will make it free so we will not need to break our heads on this important indicator
Back - Front Futures Spread 4hr IndicatorThis puts a normalized back - front spread based on the close price.