Bjorgum Double Tap█ OVERVIEW
Double Tap is a pattern recognition script aimed at detecting Double Tops and Double Bottoms. Double Tap can be applied to the broker emulator to observe historical results, run as a trading bot for live trade alerts in real time with entry signals, take profit, and stop orders, or to simply detect patterns.
█ CONCEPTS
How Is A Pattern Defined?
Doubles are technical formations that are both reversal patterns and breakout patterns. These formations typically have a distinctive “M” or a “W” shape with price action breaking beyond the neckline formed by the center of the pattern. They can be recognized when a pivot fails to break when tested for a second time and the retracement that follows breaks beyond the key level opposite. This can trap entrants that were playing in the direction of the prior trend. Entries are made on the breakout with a target projected beyond the neckline equal to the height of the pattern.
Pattern Recognition
Patterns are recognized through the use of zig-zag; a method of filtering price action by connecting swing highs and lows in an alternating fashion to establish trend, support and resistance, or derive shapes from price action. The script looks for the highest or lowest point in a given number of bars and updates a list with the values as they form. If the levels are exceeded, the values are updated. If the direction changes and a new significant point is made, a new point is added to the list and the process starts again. Meanwhile, we scan the list of values looking for the distinctive shape to form as previously described.
█ STRATEGY RESULTS
Back Testing
Historical back testing is the most common method to test a strategy due in part to the general ease of gathering quick results. The underlying theory is that any strategy that worked well in the past is likely to work well in the future, and conversely, any strategy that performed poorly in the past is likely to perform poorly in the future. It is easy to poke holes in this theory, however, as for one to accept it as gospel, one would have to assume that future results will match what has come to pass. The randomness of markets may see to it otherwise, so it is important to scrutinize results. Some commonly used methods are to compare to other markets or benchmarks, perform statistical analysis on the results over many iterations and on differing datasets, walk-forward testing, out-of-sample analysis, or a variety of other techniques. There are many ways to interpret the results, so it is important to do research and gain knowledge in the field prior to taking meaningful conclusions from them.
👉 In short, it would be naive to place trust in one good backtest and expect positive results to continue. For this reason, results have been omitted from this publication.
Repainting
Repainting is simply the difference in behaviour of a strategy in real time vs the results calculated on the historical dataset. The strategy, by default, will wait for confirmed signals and is thus designed to not repaint. Waiting for bar close for entires aligns results in the real time data feed to those calculated on historical bars, which contain far less data. By doing this we align the behaviour of the strategy on the 2 data types, which brings significance to the calculated results. To override this behaviour and introduce repainting one can select "Recalculate on every tick" from the properties tab. It is important to note that by doing this alerts may not align with results seen in the strategy tester when the chart is reloaded, and thus to do so is to forgo backtesting and restricts a strategy to forward testing only.
👉 It is possible to use this script as an indicator as opposed to a full strategy by disabling "Use Strategy" in the "Inputs" tab. Basic alerts for detection will be sent when patterns are detected as opposed to complex order syntax. For alerts mid-bar enable "Recalculate on every tick" , and for confirmed signals ensure it is disabled.
█ EXIT ORDERS
Limit and Stop Orders
By default, the strategy will place a stop loss at the invalidation point of the pattern. This point is beyond the pattern high in the case of Double Tops, or beneath the pattern low in the case of Double Bottoms. The target or take profit point is an equal-legs measurement, or 100% of the pattern height in the direction of the pattern bias. Both the stop and the limit level can be adjusted from the user menu as a percentage of the pattern height.
Trailing Stops
Optional from the menu is the implementation of an ATR based trailing stop. The trailing stop is designed to begin when the target projection is reached. From there, the script looks back a user-defined number of bars for the highest or lowest point +/- the ATR value. For tighter stops the user can look back a lesser number of bars, or decrease the ATR multiple. When using either Alertatron or Trading Connector, each change in the trail value will trigger an alert to update the stop order on the exchange to reflect the new trail price. This reduces latency and slippage that can occur when relying on alerts only as real exchange orders fill faster and remain in place in the event of a disruption in communication between your strategy and the exchange, which ensures a higher level of safety.
👉 It is important to note that in the case the trailing stop is enabled, limit orders are excluded from the exit criteria. Rather, the point in time that the limit value is exceeded is the point that the trail begins. As such, this method will exit by stop loss only.
█ ALERTS
Five Built-in 3rd Party Destinations
The following are five options for delivering alerts from Double Tap to live trade execution via third party API solutions or chat bots to share your trades on social media. These destinations can be selected from the input menu and alert syntax will automatically configure in alerts appropriately to manage trades.
Custom JSON
JSON, or JavaScript Object Notation, is a readable format for structuring data. It is used primarily to transmit data between a server and a web application. In regards to this script, this may be a custom intermediary web application designed to catch alerts and interface with an exchange API. The JSON message is a trade map for an application to read equipped with where its been, where its going, targets, stops, quantity; a full diagnostic of the current state and its previous state. A web application could be configured to follow the messages sent in this format and conduct trades in sync with alerts running on the TV server.
Below is an example of a rendered JSON alert:
{
"passphrase": "1234",
"time": "2022-05-01T17:50:05Z",
"ticker": "ETHUSDTPERP",
"plot": {
"stop_price": 2600.15,
"limit_price": 3100.45
},
"strategy": {
"position_size": 0.1,
"order_action": "buy",
"market_position": "long",
"market_position_size": 0,
"prev_market_position": "flat",
"prev_market_position_size": 0
}
}
Trading Connector
Trading Connector is a third party fully autonomous Chrome extension designed to catch alert webhooks from TradingView and interface with MT4/MT5 to execute live trades from your machine. Alerts to Trading Connector are simple; just select the destination from the input drop down menu, set your ticker in the "TC Ticker" box in the "Alert Strings" section and enter your URL in the alert window when configuring your alert.
Alertatron
Alertatron is an automated algo platform for cryptocurrency trading that is designed to automate your trading strategies. Although the platform is currently restricted to crypto, it offers a versatile interface with high flexibility syntax for complex market orders and conditions. To direct alerts to Alertatron, select the platform from the 3rd party drop down, configure your API key in the ”Alertatron Key” box and add your URL in the alert message box when making alerts.
3 Commas
3 Commas is an easy and quick to use click-and-go third party crypto API solution. Alerts are simple without overly complex syntax. Messages are simply pasted into alerts and executed as alerts are triggered. There are 4 boxes at the bottom of the "Inputs" tab where the appropriate messages to be placed. These messages can be copied from 3 Commas after the bots are set up and pasted directly into the settings menu. Remember to select 3 Commas as a destination from the third party drop down and place the appropriate URL in the alert message window.
Discord
Some may wish to share their trades with their friends in a Discord chat via webhook chat bot. Messages are configured to notify of the pattern type with targets and stop values. A bot can be configured through the integration menu in a Discord chat to which you have appropriate access. Select Discord from the 3rd party drop down menu and place your chat bot URL in the alert message window when configuring alerts.
👉 For further information regarding alert setup, refer to the platform specific instructions given by the chosen third party provider.
█ IMPORTANT NOTES
Setting Alerts
For alert messages to be properly delivered on order fills it is necessary to place the following placeholder in the alert message box when creating an alert.
{{strategy.order.alert_message}}
This placeholder will auto-populate the alert message with the appropriate syntax that is designated for the 3rd party selected in the user menu.
Order Sizing and Commissions
The values that are sent in alert messages are populated from live metrics calculated by the strategy. This means that the actual values in the "Properties" tab are used and must be set by the user. The initial capital, order size, commission, etc. are all used in the calculations, so it is important to set these prior to executing live trades. Be sure to set the commission to the values used by the exchange as well.
👉 It is important to understand that the calculations on the account size take place from the beginning of the price history of the strategy. This means that if historical results have inflated or depleted the account size from the beginning of trade history until now, the values sent in alerts will reflect the calculated size based on the inputs in the "Properties" tab. To start fresh, the user must set the date in the "Inputs" tab to the current date as to remove trades from the trade history. Failure to follow this instruction can result in an unexpected order size being sent in the alert.
█ FOR PINECODERS
• With the recent introduction of matrices in Pine, the script utilizes a matrix to track pivot points with the bars they occurred on, while tracking if that pivot has been traded against to prevent duplicate detections after a trade is exited.
• Alert messages are populated with placeholders ; capability that previously was only possible in alertcondition() , but has recently been extended to `strategy.*()` functions for use in the `alert_message` argument. This allows delivery of live trade values to populate in strategy alert messages.
• New arguments have been added to strategy.exit() , which allow differentiated messages to be sent based on whether the exit occurred at the stop or the limit. The new arguments used in this script are `alert_profit` and `alert_loss` to send messages to Discord
Trading
Short Selling EMA Cross (By Coinrule)BINANCE:AVAXUSDT
This short selling script works best in periods of downtrends and general bearish market conditions, with the ultimate goal to sell as the the price decreases further and buy back before a rebound.
This script can work well on coins you are planning to hodl for long-term and works especially well whilst using an automated bot that can execute your trades for you. It allows you to hedge your investment by allocating a % of your coins to trade with, whilst not risking your entire holding. This mitigates unrealised losses from hodling as it provides additional cash from the profits made. You can then choose to to hodl this cash, or use it to reinvest when the market reaches attractive buying levels.
Entry
The exponential moving average ( EMA ) 20 and EMA 50 have been used for the variables determining the entry to the short. EMAs can operate better than simple moving averages due to the additional weighting placed on the most recent data points, whereas simple moving averages weight all the data the same. This means that price is tracked more closely and the most recent volatile moves can be captured and exploited more efficiently using EMAs.
Our backtesting data revealed that the most profitable timeframe was the 30-minute timeframe, this also enabled a good frequency of trades and high profitability.
A fast (shorter term) exponential moving average , in this strategy the EMA 20, crossing under a slow (longer term) moving average, in this example the EMA 50, signals the price of an asset has started to trend to the downside, as the most recent data signals price is declining compared to earlier data. The entry acts on this principle and executes when the EMA 20 crosses under the EMA 50.
Enter Short: EMA 20 crosses under EMA 50.
Exit
This script utilises a take profit and stop loss for the exit. The take profit is set at -8% and the stop loss is set at +16% from the entry price. This would normally be a poor trade due to the risk:reward equalling 0.5. However, when looking at the backtesting data, the high profitability of the strategy (93.33%) leads to increased confidence and showcases the high probability of success according to historical data.
The take profit (-8%) and the stop loss (+16%) of the strategy are widely placed to ensure the move is captured without being stopped out due to relief rallies. The stop loss also plays a role of mitigating losses and minimising risk of being stuck in a short position once there has been a fundamental trend reversal and the market has become bullish .
Exit Short: -8% price decrease from entry price.
OR
Exit Short: +16% price increase from entry price.
Tip: Research what coins have consistent and large token unlocks / highly inflationary tokenomics, and target these during bear markets to short as they will most likely have substantial selling pressure that outweighs demand - leading to declining prices.
The strategy assumes each order is using 30% of the available coins to make the results more realistic and to simulate you only ran this strategy on 30% of your holdings. A trading fee of 0.1% is also taken into account and is aligned to the base fee applied on Binance.
The backtesting data was recorded from December 1st 2021, just as the market was beginning its downtrend. We therefore recommend analysing the market conditions prior to utilising this strategy as it operates best on weak coins during downtrends and bearish conditions.
Optimised RSI strategy for Reversals (by Coinrule)The most common way to use the RSI to spot a good buy opportunity is to check for values lower than 30. Unfortunately, the RSI can remain in oversold territory for long periods, and that could leave you trapped in a trade in loss. It would be appropriate to wait for a confirmation of the trend reversal.
In the example above I use a short-term Moving Average (in this case, the MA9) coupled with an RSI lower than 40. This combination of events is relatively rare as reversal confirmations usually come when RSI values are already higher. As unusual as this setup is, it provides buy-opportunities with much higher chances of success.
The parameters of this strategy would be:
ENTRY: RSI lower than 40 and MA9 lower than the price
TAKE PROFIT and STOP-LOSS with a ratio of at least 2. That means that if you set up a take profit of 3%, your stop-loss shouldn’t be larger than 1.5%.
The advantage of this approach is that it has a high rate of success and allows you the flexibility of setting up the percentages of the take profit and stop-loss according to your preferences and risk appetite.
Oversold RSI with Tight Stop-Loss Strategy (by Coinrule)KRAKEN:LINKUSD
This is one of the best strategies that can be used to get familiar with technical indicators and start to include them in your rules on Coinrule .
ENTRY
1. This trading system uses the RSI (Relative Strength Index) to anticipate good points to enter positions. RSI is a technical indicator frequently used in trading. It works by measuring the speed and change of price movements to determine whether a coin is oversold (indicating a good entry point) or overbought (indicating a point of exit/entry for a short position). The RSI oscillates between 0 and 100 and is traditionally considered overbought when over 70 and oversold when below 30.
2. To pick the right moment to buy, the strategy enters a trade when the RSI falls below 30 indicating the coin is oversold and primed for a trend reversal.
EXIT
The strategy then exits the position when the price appreciates 7% from the point of entry. The position also maintains a tight stop-loss and closes the position if the price depreciates 1% from the entry price. The idea behind this is to cut your losing trades fast and let your winners ride.
The best time frame for this strategy based on our back testing data is the daily. Shorter time frames can also work well on certain coins, however in our experience, the daily works best. Feel free to experiment with this script and test it on a variety of your coins! With our back testing data a trading fee of 0.1% is taken into account. The fee is aligned to the base fee applied on Binance, which is the largest cryptocurrency exchange by volume. In the example shown, this strategy made a handsome net profit of 52.6% on Chainlink with 66.67% of trades being profitable.
You can execute this strategy on your favorite exchanges with Coinrule .
trading YM based on pair tradingThis is inspired by some online free webinars. Didn't pay for the strategy/ course. I just figured it out myself. So there might be problem with this strategy.
Theory: It is based on something called cointegrated. Cointegration means the difference between 2 securities are stable in long term. When the difference is bigger / smaller than normal, then there is space to make profit. You can use some tests to check if they are cointegration. I don't think YM and NQ are strictly cointegrated. I used other platform to test the cointegration. They are not cointegrated. There are multiple ways to do pair trading. I use "Y = A - B * (A /B)" to do this. The back test on tradingview can only trade one security. This is not pair trading in this backtest. But only do long and short based on the theory of pair trading. The max drawdown is huge. You should be careful before doing anything with this strategy.
Welcome to give some advice on improvement.
RSI StrategySimple way how to use RSI and MA indicators for trading.
What we use:
• RSI
• SMA calculated by RSI (title: SMA_RSI)
• Delta of RSI and SMA_RSI (title: delta)
• SMA calculated by delta of RSI and SMA & RSI (title: SMA_RSI2)
Logic:
Upon the fact that we use the difference between two indicators that have similar values ( RSI and SMA_RSI), we get number around zero. Next, result is smoothed by calculated the SMA . This is the blue/purple line that appears on the chart - SMA_RSI2.
The trade open when SMA_RSI2 cross over the threshold. The trade close when SMA_RSI2 cross under the threshold below.
Also, the usual EMA 200 is used as a filter, which you can switch on or switch off.
Ichimoku + RSI Crypto trending strategyThis is a crypto trending strategy designed for big timeframes such as 3-4h+.
Its components are:
RSI
ICHIMOKU full pack
Heikin Ashi candles for logic calculation inside
Rules for entry.
For long : we have a long cross condition on ichimoku and price is above the ichimoku lines, and at the same time RSI value is > 50.
For long : we have a short cross condition on ichimoku and price is below the ichimoku lines, and at the same time RSI value is < 50.
Rules for exit
We exit whenever we receive an opposite signal of the initial entry.
SInce this strategy is using no risk management inside, I recommend to be careful with it .
If you have any questions, let me know !
Morun Astro Trend MAs cross StrategyAstrology machine learning cycles indicator signals with technical MAs indicators strategy, based on signals index of Github project github.com
Excitement - Crypto Surfer v1For those of us who need more excitement in our crypto journey besides just HODL, here’s a simple crypto robot that trades on the hourly (1H) candles. I call it the Crypto Surfer because it uses the 20 and 40 EMAs (Exponential Moving Averages) to decide when to enter and exit; price tends to “surf” above these EMAs when it is bullish, and “sink” below these EMAs when it is bearish. An additional 160 SMA (Simple Moving Average) with slope-angle detection, was added as a bull / bear filter to reduce the sting of drawdowns, by filtering-out long trades in a prolonged bear market.
USER NOTES:
- This script will buy $10,000 USD worth of crypto-currency per trade.
- It will only open one trade at a time.
- It has been backtested on all the high market cap coins such as Bitcoin, Ethereum, Binance Coin, Polkadot, Cardano.
- It should be run on the Hourly (H1) chart.
- In general, this moving average strategy *should be* profitable for 80% to 90% of the coins out there
- The 160 SMA filter with slope angle detection is designed to stop you from going long in a bear market.
- It is recommended you copy this script and modify it to suit your preferred coin during backtesting, before running live.
- Trading is inherently risky (exciting), and I shall not be liable for any losses you incur, even if these losses are due to sampling bias.
Ichimoku Crypto LONG 3h ANY CRYPTO PairThis is a strategy which works with most of the crypto pairs on the 3H time frames.
It beats easily on the long term buy and hold strategy.
This strategy is made from the baseline from ichimoku together with ema 200
This is a long only strategy.
THe condition is : our candle is above ema 200 and our ichimoku its telling we have a long trend. We exit on the opposite signal.
If you have any questions private message me !
Channel Break [for free bot]I present to you a script for testing the channel breakout strategy for the Bitmex exchange.
Cryptocurrency itself is a trending tool, which is why breakout strategies generate the largest profits, and the channel breakout strategy is one of the most effective trend strategies.
The optimization result shows the result of trading on a volume of 20% of the deposit. But since Bitmex trades in futures contracts, you can use 50%, 100% and even much more, depending on your attitude to risk.
At the time of publication on the Bitmex exchange there are 12 different contracts, i.e. You can diversify your trading well (by pre-optimizing the settings for each contract).
In the script, you can set up many trading options - timeframe, periods for buying and selling, method of exiting a trade, stop loss, take profit, risk management, etc.
Thus, you create a strategy "for yourself".
Представляю Вам скрипт для тестирования стратегии пробоя канала для биржи Битмекс.
Криптовалюта, сама по себе является трендовым инструментом, именно поэтому, пробойные стратегии генерируют самую большую прибыль, а стратегия пробоя канала – является одной из самых эффективных трендовых стратегий.
На результате оптимизации показан результат торговли на объеме в 20% от депозита. Но так как на Битмекс торговля идет фьючерсными контрактами, Вы можете использовать 50%, 100% и даже намного больше, в зависимости от Вашего отношения к риску.
На момент публикации на бирже Битмекс есть 12 разных контрактов, т.е. Вы можете хороши диверсифицировать свою торговлю (предварительно оптимизируя настройки по каждый контракт).
В скрипте Вы можете настроить множество вариантов торговли - таймфрейм, периоды для покупки и продажи, метод выхода из сделки, стоп-лосс, тейк-профит, рискменеджмент и т.п.
Таким образом Вы создаете стратегию "под себя".
eha Moving Averages StrategyMoving Average based strategies are very popular ones among both long-term investors and short-term traders as they can be tailored to any time frame. One of the main moving average strategies are crossovers. The very simple type is a price crossover , which is when the price crosses above or below a moving average to signal a potential change in trend.
Another strategy is to apply two moving averages to a chart: one longer (or slow) and one shorter (or fast). When the shorter-term MA crosses above the longer-term MA, it's a buy signal, as it indicates that the trend is shifting up (also known as “ Golden Cross ”). Meanwhile, when the shorter-term MA crosses below the longer-term MA, it's a sell signal, as it indicates that the trend is shifting down (which is also known as “ Dead/Death Cross ”).
This is a study to find a suitable trading strategy for 4-6 hour time frames. As you can see the performance is currently very poor. It has just generated almost 90 trades in a very long period from January 2017 to the time of publishing the study for the first time.
Moving averages work quite well in strong trending conditions but poorly in choppy or ranging conditions. Adjusting the time frame can correct this problem temporarily, although, at some point, these issues are likely to occur regardless of the time frame chosen for the moving average(s).
I am working on this basic strategy to make its performance better and I will update the post in the future. So keep in touch by following the post.
Why have I republished my study?
It sounds like TradingView stores and indexes scripts based on the title of the post rather than the actual title of the scripts and if one chose general terms as the title of the post, the TradingView script search engine may be unable to find it. So I decided to repost the strategy with a more searchable and unique prefix of " eha ".
Please provide me with your precious feedback.
KPL Swing StrategyThe KPLSwing indicator is a simple trend following mechanical trading system which automates the entry and exit.
The trading system is extremely simple and easy to use and removes emotions from trading.
The trading or investing logic is simple.... buy on close above 20 days high and sell on close below 20 days low.
No targets are given as profits are unknown and is whatever the market gives. Losses are limited via position sizing.
Simple BTC trading strategy based on yesterday's trading rangeOnce market opens, the strategy calculates the price to send a stop buy order
The order is calculated as the sum of yesterday's range multiplied by a special number and today's open price
System has no stops yet
System closes the position on session close
The performance is quite good
Feel free to use it and trade it
Good luck and good trading
Buy The Dip - Does It Work?Buying the dip has become a meme in crypto, but does it actually work?
Using this script you can find out.
The dip is defined here as the average true range multiplied by a number of your choosing (dipness input) and subtracted from the low.
When price crosses under the dip level, a long is initiated. The long is then closed using a timestop (default value 20 bars), no fancy exits here.
A general rule for buying the dip should be to be more passive in a bull market and aggressive in a bear market.
Same goes for all counter trend trading.
Heres a few other examples of dip buying statistics using the H4 timeframe:
50% profitable, 1.692 Profit Factor
BINANCE:PIVXBTC
56.52% profitable, 1.254 Profit Factor
BINANCE:KMDBTC
27.27% Profitable, 0.257 Profit Factor... yikes!
BINANCE:BTSBTC
73.33% Profitable, 13.627 Profit Factor... o.O
BINANCE:MANABTC
Gold trading strategy with trend follow and TDOW conceptMy strategy uses a combination of three indicators MACD Stochastic RSI.
The Idea is to buy when ( MACD > Signal and RSI > 50 and Stochastic > 50) occures at the same time
This strategy works well on stocks and cryptos especially during market breaking up after consolidation
The best results are on Daily charts , so its NOT a scalping strategy. But it can work also on 1H charts.
The strategy does not have any stops and profit targets, so we can take all the market can give us at the moment.
The exit point only when MACD goes under Signal
In addition I've decided to add a stop loss and "Trading day of week" concept
So the results are much more stable and we get more profit !
So, use it, trade it.
If it will help you to imprive your trading results, please donate me
BTC: 12kd1F8buWisUBdq27BBwRkUvzW7Ey3og5
Ema cross strat / Turtle Trading This is just a simple EMA cross strategy which is meant to be similar to Turtle Trading Strategy.
It uses in default 4 Hour 21 / 10 EMA to long or short. This is not perfect but in the long run it will profit. Works best in bull market.
LINK TO ALERT :
14/28 Day SMA Divergence and RSI - No RepaintIf you are interested in purchasing my algorithmic trading bot that receives Tradingview indicator alerts via email and then executes them in Bittrex, please visit my product page here: ilikestocks.com Additionally, I would love to create video/blog guides on creating Tradingview scripts or strategies. If you are a knowledgeable in finance or other related fields and would like to be featured on my page, please contact me at tanner@ilikestocks.com.
No crossovers were used in this script, and this is likely the reason for the no repaint(Correct me if wrong).
This strategy script uses a 14-day SMA signal line, a 28-day SMA and RSI. The strategy works by determining whether the (14-day SMA is above the 28-day SMA and the RSI levels are overbought(below 30)) or RSI is very overbought(below 13 or so). Once either of these conditions have been met, a long position is opened.
The initial long position must be partially closed by the take profit first and then the final close is executed if the 14-day signal SMA is below the 28-day SMA; you may also exclusively use take profit to close positions.
The green plotted spikes are the initial long position conditions. The orange plotted spikes are take profit signals once a long position is opened. The red plotted spikes are plotted when the SMA 14-day is below the 28-day SMA.
Please do leave constructive criticism or comments below because it helps me better create scripts!
2/20 Exponential Moving Average StrategyThis indicator plots 2/20 exponential moving average. For the Mov
Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
Please, use it only for learning or paper trading. Do not for real trading.
Days Trader 1.0Simple program to look for day of week or day of month patterns in chart data.
All original work by Boffin Hollow Lab
Author: Tarzan
Momentuminator 1.0Here we have a general purpose momentum based long and short flip flop with optional profit target and maximum loss.
Program development: Boffin Hollow Lab
Author: Tarzan at tradingview.com
Release: Version 1.0 May 2016
Please Note: Past Performance is not necessarily indicative of future results




















