HPotter

MultiTradingSystem

1601 obejrzeń
162
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 .
Usuń z Ulubionych Skryptów Dodaj do Ulubionych Skryptów
////////////////////////////////////////////////////////////
//  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 )

Komentarze

bonjour,
pourrais avoir le texte en francais merci
Odpowiedz
Harry when you going to publish some more scripts we can test?
Odpowiedz
HPotter QuantitativeExhaustion
Hi. Now I busy a little bit, but I return to write scripts in the close future.
+1 Odpowiedz
Awesome. I've never seen a similar script on Tradingview before which was able to combine multiple strategies into one system. Very helpful! Thank you.
Odpowiedz
Strona główna Skaner akcji Skaner Forex Skaner Krypto Kalendarz ekonomiczny Jak to działa Funkcje wykresów Cennik Poleć przyjaciela Dobre Praktyki Centrum Pomocy Rozwiązania internetowe i brokerskie Widżety Wykresy Lekka Biblioteka Wykresów Blog i wiadomości Twitter
Profil Ustawienia profilu Konto i płatności Poleceni znajomi Monety Wiadomości do działu obsługi Centrum Pomocy Opublikowane Pomysły Obserwujący Obserwujesz Wiadomość prywatna Czat Wyloguj