Polynomial Regression Trading System ... - Forex Strategies
Regressionskanal mit variablem Polynomgrad, Anzeige & SIE ...
After 9 months of obsession, here is my open source Node.js framework for backtesting forex trading strategies
TL;DR There's lots more to the story. But the code is all open source now. Have at it. I'm too exhausted to continue with this. If you'd like more details, feel free to message me. If you happen to carry on with this project or use any ideas from it, I would greatly appreciate it if you could keep in touch on your findings. If anyone has any insights, please feel free to comment or message me. I've spent the last nine months working furiously on this. I started a project for backtesting strategies against data I exported from MetaTrader. I had a very powerful computer crunching numbers constantly, trying to find the most optimal configuration of strategy indicator inputs that would results in the highest win rate and profit possible. Eventually, after talking with a data scientist, I realized my backtesting optimizer was suffering from something called overfitting. He then recommend using the k-fold cross-validation technique. So, I modified things (in the "k-fold" forex-backtesting branch), and in fact it provided very optimistic results when backtested against MetaTrader data (60 - 70% win rate for 3 years). However, I had collected 3 months of data from a trading site (by intercepting their Web Socket data), and when I performed validation tests against that data using the k-fold results created from the MetaTrader data, I only got a ~57% win rate or so. In order to break even with Binary Options trading, you need at least a 58% win rate. So in short, the k-fold optimization results produce a good result when validation tested against data exported from MetaTrader, but they do not produce a good result when validation tested against the trading site's data. I have two theories on why this ended up not working with the trading site's data:
The trading site I collected data from uses Reuters data. The prices in the MetaTrader data I used are different from the prices in the the trading site's data. Basically the the trading site's data is offset and is slightly higher than the MetaTrader data (and there may be other differences). I suspect that the k-fold optimization may have produced a predictor that is tailored to the data exported from MetaTrader (data available here), but it does not work as well on the the trading site's data.
The script I used to collect data from the trading site disconnects from the trading site periodically for maybe 10 minutes every, and so when it does, the strategy indicator calculations used when validating against the collected data have to start all over due to gaps, and so potential trades are lost.
For the strategy I use the following indicators: SMA (Simple Moving Average), EMA (Exponential Moving Average), RSI (Relative Strength Index), Stochastic Oscillator, and Polynomial Regression Channel. forex-backtesting has an optimizer which tries hundreds of thousands of combinations of values for each of these indicators, combined, and saves the results to a MongoDB database. It can take days to run depending on how many configurations there are. Basically the strategy tries to detect price reversals and trade with those. So if it "thinks" the price is going to go down within the next five minutes, it places a 5 minutes PUT trade. The Polynomial Regression Channel indicator is the most important indicator; if the price deviates outside the upper or lower value for this indicator (and other indicators meet their criteria for the strategy), then a trade is initiated. The optimizer tries to find the best values for the upper and lower values (standard deviations from the middle regression line). Additionally, I think it might be best to enter trades at the 59th or 00th second of each minute. So I have used minute tick data for backtesting. Also, I apologize that some of the code is messy. I tried to keep it clean but ended up hacking some of it in desperation toward the end :) gulpfile.js is a good place to start as far as figuring out how to use the tools available. Look through the available tasks, and see how various "classes" are used ("classes" in quotes because ES5 doesn't have real class support). The best branches to look at are "k-fold" and "master", and "validation". One word of advice: never, ever create an account with Tradorax. They will call you every other day, provide very bad customer support, hang up the phone on you, and they will make it almost impossible to withdraw your money.
Description: A function that returns a polynomial regression and deviation information for a data set. Inputs: _X: Array containing x data points. _Y: Array containing y data points. Outputs: _predictions: Array with adjusted _Y values. _max_dev: Max deviation from the mean. _min_dev: Min deviation from the mean. _stdev/_sizeX: Average deviation from the mean. Resources: https://en.wikipedia ... Double Polynomial Regression is a forex strategy suitable for both day and swing trading. The main feature of this strategy is that unlike other trading systems based on the polynomial curve that use indicators based on RSI or stochastic as the famous MBFX or JRSX for example, in this trading system the polynomial curves are associated with DeMarker and the Dos indicator (a personalized Avesome). The PRC (Polynomial Regression Channel) is a regression indicator that draws a line to fit best on the chart. It applies a polynomial function to linear regression function (three-line technical indicator used for analyzing upper and lower band limits of the trend) through recent period’s data. Regression Channel with variable polynomial degree, Indicator & EA – indicator for MetaTrader 4 is a Metatrader 4 (MT4) indicator and the essence of the forex indicator is to transform the accumulated history data. Regression Channel with variable polynomial degree, Indicator & EA – indicator for MetaTrader 4 provides for an opportunity to detect various peculiarities and patterns in price ... For stops and targets, we’re going to use the support/resistance levels/areas indicators or bands of the polynomial regression. (Polynomial Regression is a good tool to identify the major trend and the best entry/exit points.) Use a demo account or a small live account first to practice this trading strategy; DOWNLOAD TRADING SYSTEM Regression Channel with variable polynomial degree - indicator for MetaTrader 5. EA - work in progress. - Free download of the 'Regression Channel with variable polynomial degree' indicator by 'l3chat' for MetaTrader 5 in the MQL5 Code Base, 2020.03.22 e-Regr: MetaTrader Expert Advisor e-Regr based on Regression Channel MetaTrader Indicator. Handelssignale: If price lower than under line – Kaufen, If price bigger than upper line – Verkaufen, TakeProfit by average line. MT4 Indikator herunterladen – Anleitung. Regressionskanal mit variablem Polynomgrad, Anzeige & EA is a Metatrader 4 (MT4) Anzeige und die Essenz der Forex Indikator ist ...
Regression Channel with variable polynomial degree, Indicator & EA – indicator for MetaTrader 4
https://www.youtube.com/channel/UC4oKrech-R1prJpAkDLKM7Q [email protected] This is one of the best forex trading indicator which can give you more... A trend channel is calculated, limited by polynomial regression lines. The gradient of the channel lines determines the direction and strength of the trend. Entry to the market is made when the ... This custom version of the Polynomial Regression Channel Indicator will display on the chart when the symbol price breaches the upper or lower bands. It is free to download and it will only work ... We aim to be a place where every forex traders can gain free resources about trading. -About- Regression Channel with variable polynomial degree, Indicator & EA – indicator for MetaTrader 4 Polynomial Regression indicator is dynamically change once the market move based on the candle size. The good thing of this indicator once it hit the upper and lower band it bounce and that the ...