All Projects → sdcoffey → Techan

sdcoffey / Techan

Licence: mit
Technical Analysis Library for Golang

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Techan

Zvt
modular quant framework.
Stars: ✭ 1,801 (+345.79%)
Mutual labels:  trading-bot, cryptocurrency, stock, stock-market, trading-strategies, technical-analysis
Gekko Strategies
Strategies to Gekko trading bot with backtests results and some useful tools.
Stars: ✭ 1,022 (+152.97%)
Mutual labels:  trading-bot, cryptocurrency, stock, trading-strategies, technical-analysis
Wolfbot
Crypto currency trading bot written in TypeScript for NodeJS
Stars: ✭ 335 (-17.08%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading-strategies
Octobot
Cryptocurrency trading bot: high frequency, daily trading, social trading, ...
Stars: ✭ 706 (+74.75%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, technical-analysis
trading sim
📈📆 Backtest trading strategies concurrently using historical chart data from various financial exchanges.
Stars: ✭ 21 (-94.8%)
Mutual labels:  trading-bot, stock, stock-market, trading-strategies
Fooltrader
quant framework for stock
Stars: ✭ 960 (+137.62%)
Mutual labels:  cryptocurrency, stock, stock-market, technical-analysis
Gekko Backtesttool
Batch backtest, import and strategy params optimalization for Gekko Trading Bot. With one command you will run any number of backtests.
Stars: ✭ 203 (-49.75%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading-strategies
Kupi Terminal
Ccxt based, open source, customized, extendable trading platform that supports 130+ crypto exchanges.
Stars: ✭ 104 (-74.26%)
Mutual labels:  bitcoin, cryptocurrency, stock, trading-strategies
Aat
Asynchronous, event-driven algorithmic trading in Python and C++
Stars: ✭ 109 (-73.02%)
Mutual labels:  trading-bot, cryptocurrency, stock-market, trading-strategies
Crypto Signal
Github.com/CryptoSignal - #1 Quant Trading & Technical Analysis Bot - 3,100+ stars, 900+ forks
Stars: ✭ 3,690 (+813.37%)
Mutual labels:  trading-bot, bitcoin, trading-strategies, technical-analysis
Freqtrade Strategies
Free trading strategies for Freqtrade bot
Stars: ✭ 697 (+72.52%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading-strategies
Socktrader
🚀 Websocket based trading bot for 💰cryptocurrencies 📈
Stars: ✭ 152 (-62.38%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading-strategies
Jesse
An advanced crypto trading bot written in Python
Stars: ✭ 1,038 (+156.93%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading-strategies
Gnome Feeder
Profit Trailer Feeder Full Build with Settings
Stars: ✭ 122 (-69.8%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading-strategies
Krypto Trading Bot
Self-hosted crypto trading bot (automated high frequency market making) written in C++
Stars: ✭ 2,589 (+540.84%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading-strategies
Crypto Trading Bot
Automated Bittrex crypto-currency technical analysis and trading tool
Stars: ✭ 251 (-37.87%)
Mutual labels:  trading-bot, bitcoin, technical-analysis
Cryptotrader
A cryptocurrency trader for all famous exchanges
Stars: ✭ 228 (-43.56%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency
Profit Trailer Settings
Place to store and stay up to date with configs & strategies from the CryptoGnome Group
Stars: ✭ 335 (-17.08%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency
FAIG
Fully Automated IG Trading
Stars: ✭ 134 (-66.83%)
Mutual labels:  trading-bot, stock-market, trading-strategies
TradingView-Machine-Learning-GUI
Let Python optimize the best stop loss and take profits for your TradingView strategy.
Stars: ✭ 396 (-1.98%)
Mutual labels:  stock, stock-market, trading-strategies

Techan

codecov

TechAn is a technical analysis library for Go! It provides a suite of tools and frameworks to analyze financial data and make trading decisions.

Features

  • Basic and advanced technical analysis indicators
  • Profit and trade analysis
  • Strategy building

Installation

$ go get github.com/sdcoffey/techan

Quickstart

series := techan.NewTimeSeries()

// fetch this from your preferred exchange
dataset := [][]string{
	// Timestamp, Open, Close, High, Low, volume
	{"1234567", "1", "2", "3", "5", "6"},
}

for _, datum := range dataset {
	start, _ := strconv.ParseInt(datum[0], 10, 64)
	period := techan.NewTimePeriod(time.Unix(start, 0), time.Hour*24)

	candle := techan.NewCandle(period)
	candle.OpenPrice = big.NewFromString(datum[1])
	candle.ClosePrice = big.NewFromString(datum[2])
	candle.MaxPrice = big.NewFromString(datum[3])
	candle.MinPrice = big.NewFromString(datum[4])

	series.AddCandle(candle)
}

closePrices := techan.NewClosePriceIndicator(series)
movingAverage := techan.NewEMAIndicator(closePrices, 10) // Create an exponential moving average with a window of 10

fmt.Println(movingAverage.Calculate(0).FormattedString(2))

Creating trading strategies

indicator := techan.NewClosePriceIndicator(series)

// record trades on this object
record := techan.NewTradingRecord()

entryConstant := techan.NewConstantIndicator(30)
exitConstant := techan.NewConstantIndicator(10)

// Is satisfied when the price ema moves above 30 and the current position is new
entryRule := techan.And(
	techan.NewCrossUpIndicatorRule(entryConstant, indicator),
	techan.PositionNewRule{})
	
// Is satisfied when the price ema moves below 10 and the current position is open
exitRule := techan.And(
	techan.NewCrossDownIndicatorRule(indicator, exitConstant),
	techan.PositionOpenRule{})

strategy := techan.RuleStrategy{
	UnstablePeriod: 10, // Period before which ShouldEnter and ShouldExit will always return false
	EntryRule:      entryRule,
	ExitRule:       exitRule,
}

strategy.ShouldEnter(0, record) // returns false

Credits

Techan is heavily influenced by the great ta4j. Many of the ideas and frameworks in this library owe their genesis to the great work done over there.

License

Techan is released under the MIT license. See LICENSE for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].