HPotter

MultiTradingSystem

This is example to show how you can combine two and more strategies for get
a cumulative signal. Result signal will return 1 if two (or more) strategies
is long, -1 if all strategies is short and 0 if signals of strategies is not equal.

First strategy
Chaikin's Volatility indicator compares the spread between a security's
high and low prices. It quantifies volatility as a widening of the range
between the high and the low price.
You can use in the xPrice1 and xPrice2 any series: Open, High, Low, Close, HL2,
HLC3, OHLC4 and ect...

Secon strategy
The Moving Average Crossover trading strategy is possibly the most popular
trading strategy in the world of trading. First of them were written in the
middle of XX century, when commodities trading strategies became popular.
This strategy is a good example of so-called traditional strategies.
Traditional strategies are always long or short. That means they are never
out of the market. The concept of having a strategy that is always long or
short may be scary, particularly in today’s market where you don’t know what
is going to happen as far as risk on any one market. But a lot of traders
believe that the concept is still valid, especially for those of traders who
do their own research or their own discretionary trading.
This version uses crossover of moving average and its exponential moving average.

Script open-source

Dans le véritable esprit de TradingView, l'auteur de ce script l'a publié en open-source, afin que les traders puissent le comprendre et le vérifier. Bravo à l'auteur! Vous pouvez l'utiliser gratuitement, mais la réutilisation de ce code dans une publication est régie par le règlement. Vous pouvez le mettre en favori pour l'utiliser sur un graphique.

Clause de non-responsabilité

Les informations et les publications ne sont pas destinées à être, et ne constituent pas, des conseils ou des recommandations en matière de finance, d'investissement, de trading ou d'autres types de conseils fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.

Vous voulez utiliser ce script sur un graphique ?
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/11/2014
//This is example to show you how  can combine two and more strategies for get 
// a cumulative signal. Result signal will return 1 if two (or more) strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// First strategy
// Chaikin's Volatility indicator compares the spread between a security's
// high and low prices. It quantifies volatility as a widening of the range
// between the high and the low price.
// You can use in the xPrice1 and xPrice2 any series: Open, High, Low, Close, HL2,
// HLC3, OHLC4 and ect...
//
// Secon strategy
// The Moving Average Crossover trading strategy is possibly the most popular
// trading strategy in the world of trading. First of them were written in the
// middle of XX century, when commodities trading strategies became popular.
// This strategy is a good example of so-called traditional strategies. 
// Traditional strategies are always long or short. That means they are never 
// out of the market. The concept of having a strategy that is always long or 
// short may be scary, particularly in today’s market where you don’t know what 
// is going to happen as far as risk on any one market. But a lot of traders 
// believe that the concept is still valid, especially for those of traders who 
// do their own research or their own discretionary trading. 
// This version uses crossover of moving average and its exponential moving average. 
///////////////////////////////////////////////////////////
//Function for First strategy
//Strategy return 1 if long and -1 if short and 0 if prev value or flat
ChaikinVolStr(Length, ROCLength, Trigger) =>
    xPrice1 = high
    xPrice2 = low
    xPrice = xPrice1 - xPrice2
    xROC_EMA = roc(ema(xPrice, Length), ROCLength)
    iff(xROC_EMA < Trigger, 1,
    	iff(xROC_EMA > Trigger, -1, 0)) 
//Function for Second strategy
//Strategy return 1 if long and -1 if short and 0 if prev value or flat
EMA_MACrosStr(LengthMA, LengthEMA) =>
    xMA = sma(close, LengthMA)
    xEMA = ema(xMA, LengthEMA)
    iff(xEMA < xMA , 1,
	   iff(xEMA > xMA, -1, 0)) 
//Functions for other strategies....
//....................
//....................

//Main function Code
study(title="Multi Trading System")
//Inputs for First strategy
Length = input(10, minval=1)
ROCLength = input(12, minval=1)
Trigger = input(0, minval=1)
//Inputs for Second strategy
LengthMA = input(10, minval=1)
LengthEMA = input(10,minval=1)
//Get a signals from strategies
posChaikin = ChaikinVolStr(Length, ROCLength, Trigger) //Get signal from first stragey
posEMA_MACrosStr = EMA_MACrosStr(LengthMA, LengthEMA) //Get signal from second stragey
//Make cumulative signal
posResult = iff(posChaikin == 1 and posEMA_MACrosStr == 1 , 1,
	            iff(posChaikin == -1 and posEMA_MACrosStr == -1, -1, 0)) 
barcolor(posResult == -1 ? red: posResult == 1 ? green : blue )