Vantage Signals 3xmom Momentum bot

~ 0 min
2020-11-07 02:54

Vantage Signals 3x Momentum Bot

This bot leverages Price, Volume and Total combined orderbooks to signal. See more details about these indicators here:

API Subscription requirements: Price, volume, (100dom and/or 10dom and/or 5dom and/or 2.5dom, and/or 1%) depth of orderbooks, 7d or longer duration subscription.  Number of API calls depends on how often you poll and how many assets you are polling.


  • Source code (Clone or download)
  • Self installer "python3.7 setup.py install" see readme in repo
  • Redis is optional but important if you want to be able to kill and restart the process without lossing post flag performance reports (You must install Redis to use it)
  • If you have questions you can aks us in our help discord channel
  • You can see the markets, assets and values to qualify your signal settings at https://vcdepth.io
  • Different Scripts require different subscriptions to support, make sure you have the API data you need for the script
  • See our API reference for further details > VantageCrypto Modular API Services API Reference
  • A script must run for each asset/market you want to monitor
  • Opensource code for transparency and community using GPL. Our API is a liberal license to use our data but you should state that you use VantageCrypto data somewhere on your server/channel description per VantageAPI user agreement.

Other than the indicators, all of our bots have the same construction, some of their common features and configurations are below.

  • All bots can report to Discord, Telegram or Twitter
  • All of our bots also include price as an indicator.
  • All bots can send post flag performance reports into channels as they occur or on scheduled reports
  • All bots have a back testing feature
  • All bots can set order book market depth
  • All bots can set real-time or moving average values for each indicator
  • All indicators are absolute values unless you specify a trend-length | If trend-length (or master trend length) is set, all indicator values are percentages | We will compare current value to the value from the length of time you specified | Trend-Length can be set globally or per bull and/or bear indicator
  • All bots have a cooldown timer to have the signal snooze x amount of time after the first flag

Command reference:



Usage Example:

vc-signals-3xmom -a LEND -m GLOBAL -i 2 -tbear 5 -tbull 4 -tl 1 -b2b 6 -ti1 1 -ti2 3 -ti3 6 --bull-cooldown 360 --bear-cooldown 360 -pbull 3 -obull 7 -vbull 10 -pbear 4 -obear 10 -vbear 12 -r redis:localhost:6379 VANTAGECRYPTO_API_KEY https://discord.com/api/webhooks/12345678abcdefg1a2b3c --debug  >> /var/log/bots/3xmombot_lend.log &

This script

  • Checks LEND values in global markets every 2 minutes (and compares them to values from 1 hour ago)
  • We have to see a bear signal 5 times before we flag the signal in channel
  • We have to see the bull flag 4 times before we signal in channel
  • If we see a bull or bear occur within 6 hours of the other, we convert the signal and start tracking gains/loss for the new signal instead.
  • Both the bull and the bear signals must wait 6 hours before signalling again.
  • To signal bull the price needs to rise by 3%, the orderbooks/100 by 7% and volume by 10% over the last hour.
  • To signal bear the price needs to drop 4%, orderbooks 10% and volume 12% over a one hour period.
  • We use redis to store performance reports
  • We pump the alert out to a discord channel webhook
  • We are debugging so we see the API calls and the logic in action and we pump all the output into a log file
  • We run it in the background.

It doesnt take much to make this script signals easier or more difficult to trigger just adjust poll interval, trend length and bear/bull % signal values. 


usage: vc-signals-3xmom [-h] [-a ASSET] [-m MARKET] [-i INTERVAL] [--debug] [-dis DISCORD_WEBHOOK] [-tg TELEGRAM_TOKEN] [-tgc TELEGRAM_CHANNEL] [-twck TWITTER_CONSUMER_KEY] [-twcs TWITTER_CONSUMER_SECRET] [-twat TWITTER_ACCESS_TOKEN]
[-twats TWITTER_ACCESS_TOKEN_SECRET] [-r REDIS] [--prefix PREFIX] [--clear] [--pr] [--acc] [-ti1 TRACKER_INTERVAL_1] [-ti2 TRACKER_INTERVAL_2] [-ti3 TRACKER_INTERVAL_3] [-d DURATION] [--silent]
[-bts BACKTEST_START] [-btsd BACKTEST_START_DATE] [-bttf BACKTEST_TIMEFRAME] [-btfn BACKTEST_FILENAME] [-btth BACKTEST_THROTTLE] [--backtest-cache] [-tl TREND_LENGTH] [-bearptl PRICE_BEAR_TREND_LENGTH]
[-bullptl PRICE_BULL_TREND_LENGTH] [--bear-cooldown BEAR_COOLDOWN] [--bull-cooldown BULL_COOLDOWN] [-md MARKET_DEPTH] [-obav ORDERBOOK_AVERAGE] [-tbear BEAR_THRESHOLD] [-tbull BULL_THRESHOLD] [-b2b BULL_2_BEAR]
[-bearotl ORDERBOOK_BEAR_TREND_LENGTH] [-bullotl ORDERBOOK_BULL_TREND_LENGTH] [-bearvtl VOLUME_BEAR_TREND_LENGTH] [-bullvtl VOLUME_BULL_TREND_LENGTH] [-bearp PRICE_BEAR] [-bullp PRICE_BULL] [-bearo ORDERBOOK_BEAR]
[-bullo ORDERBOOK_BULL] [-bearv VOLUME_BEAR] [-bullv VOLUME_BULL] [--json JSON] [--btoe]
api_key

Signals for crypto currency changes via Vantage Crypto.

positional arguments:
api_key api key for Vantage Crypto

optional arguments:
-h, --help show this help message and exit


-a ASSET, --asset ASSET
asset to check (default: Ellipsis)


-m MARKET, --market MARKET
market for price check (default: Ellipsis)


-i INTERVAL, --interval INTERVAL
interval of checks in minutes (default: 5)


--debug enable debug logging (default: False)


-dis DISCORD_WEBHOOK, --discord-webhook DISCORD_WEBHOOK
discord webhook url (default: None)


-tg TELEGRAM_TOKEN, --telegram-token TELEGRAM_TOKEN
telegram bot token (default: None)


-tgc TELEGRAM_CHANNEL, --telegram-channel TELEGRAM_CHANNEL
telegram channel username with prepended '@' symbol (default: None)


-twck TWITTER_CONSUMER_KEY, --twitter-consumer-key TWITTER_CONSUMER_KEY
Twitter consumer key (default: None)


-twcs TWITTER_CONSUMER_SECRET, --twitter-consumer-secret TWITTER_CONSUMER_SECRET
Twitter consumer secret (default: None)


-twat TWITTER_ACCESS_TOKEN, --twitter-access-token TWITTER_ACCESS_TOKEN
Twitter access token (default: None)


-twats TWITTER_ACCESS_TOKEN_SECRET, --twitter-access-token-secret TWITTER_ACCESS_TOKEN_SECRET
Twitter access token secret (default: None)


-r REDIS, --redis REDIS
redis url (default: redis://localhost:6379)


--prefix PREFIX Redis prefix for keys (default: None)


--clear clear all data for market/asset (default: False)


--pr Create a performance report (default: False)


--acc Accumulate data for the performance report. Should be used with --pr flag (default: False)

-ti1 TRACKER_INTERVAL_1, --tracker-interval-1 TRACKER_INTERVAL_1
How many minutes before we perform the first post flag performance report (default: None)


-ti2 TRACKER_INTERVAL_2, --tracker-interval-2 TRACKER_INTERVAL_2
How many minutes before we perform the second post flag performance report (default: None)


-ti3 TRACKER_INTERVAL_3, --tracker-interval-3 TRACKER_INTERVAL_3
How many minutes before we perform the third post flag performance report (default: None)


-d DURATION, --duration DURATION
Specifies the duration of API subscription being used (rt, 7d, 30d, 90d, 1y) (default: 7d)


--silent Do not send post flag reports (default: False)


-bts BACKTEST_START, --backtest-start BACKTEST_START
Number of days ago to start the test | max based on duration specified (currently 90 day max) (default: None)


-btsd BACKTEST_START_DATE, --backtest-start-date BACKTEST_START_DATE
Date when to start tests (default: None)


-bttf BACKTEST_TIMEFRAME, --backtest-timeframe BACKTEST_TIMEFRAME
We allow up to 30 days of back testing at a time but max is limited by duration specified (default: 1)


-btfn BACKTEST_FILENAME, --backtest-filename BACKTEST_FILENAME
Append all post reports to specified file for backtesting, file should be in .md format (default: None)


-btth BACKTEST_THROTTLE, --backtest-throttle BACKTEST_THROTTLE
How many API calls to make per minute (default: 120)


--backtest-cache Use cache for backtesting. Every vc query will be cached for 24 hours (default: True)


-tl TREND_LENGTH, --trend-length TREND_LENGTH
Compare current values to values TL hours ago (default: None)


-bearptl PRICE_BEAR_TREND_LENGTH, --price-bear-trend-length PRICE_BEAR_TREND_LENGTH
Compare price values to values TL hours ago for bear flag (default: None)


-bullptl PRICE_BULL_TREND_LENGTH, --price-bull-trend-length PRICE_BULL_TREND_LENGTH
Compare price values to values TL hours ago for bull flag (default: None)


--bear-cooldown BEAR_COOLDOWN
How many minutes after a BEAR flag triggers before the script can trigger a flag again (default: 180)


--bull-cooldown BULL_COOLDOWN
How many minutes after a BULL flag triggers before the script can trigger a flag again (default: 180)


-md MARKET_DEPTH, --market-depth MARKET_DEPTH
What depth of market should we watch? (1,2.5,5,10,100) (default: 100)


-obav ORDERBOOK_AVERAGE, --orderbook-average ORDERBOOK_AVERAGE
What Order Book average should we use: real-time, 1 hour, 3 hour or 24 hour (rt,1,3,24) (default: rt)


-tbear BEAR_THRESHOLD, --bear-threshold BEAR_THRESHOLD
How many times we need to see all 3 conditions match before flagging bear (1-100) (default: 1)


-tbull BULL_THRESHOLD, --bull-threshold BULL_THRESHOLD
How many times we need to see all 3 conditions match before flagging bull (1-100) (default: 1)


-b2b BULL_2_BEAR, --bull-2-bear BULL_2_BEAR
If opposite signal happens with provided minutes convert current signal to opposite type (default: None)


-bearotl ORDERBOOK_BEAR_TREND_LENGTH, --orderbook-bear-trend-length ORDERBOOK_BEAR_TREND_LENGTH
Compare orderbook values to values TL hours ago for bear flag (default: None)


-bullotl ORDERBOOK_BULL_TREND_LENGTH, --orderbook-bull-trend-length ORDERBOOK_BULL_TREND_LENGTH
Compare orderbook values to values TL hours ago for bull flag (default: None)


-bearvtl VOLUME_BEAR_TREND_LENGTH, --volume-bear-trend-length VOLUME_BEAR_TREND_LENGTH
Compare volume values to values TL hours ago for bear flag (default: None)


-bullvtl VOLUME_BULL_TREND_LENGTH, --volume-bull-trend-length VOLUME_BULL_TREND_LENGTH
Compare volume values to values TL hours ago for bull flag (default: None)


-bearp PRICE_BEAR, --price-bear PRICE_BEAR
What % Price change we need to witness for bear signal (1-300) (default: None)


-bullp PRICE_BULL, --price-bull PRICE_BULL
What % Price change we need to witness for bull signal (1-300) (default: None)


-bearo ORDERBOOK_BEAR, --orderbook-bear ORDERBOOK_BEAR
What % Orderbook change we need to witness for bear signal (1-300) (default: None)


-bullo ORDERBOOK_BULL, --orderbook-bull ORDERBOOK_BULL
What % Orderbook change we need to witness for bull signal (1-300) (default: None)


-bearv VOLUME_BEAR, --volume-bear VOLUME_BEAR
What % Volume change we need to witness for bear signal (1-300) (default: None)


-bullv VOLUME_BULL, --volume-bull VOLUME_BULL
What % Volume change we need to witness for bull signal (1-300) (default: None)


--json JSON


--btoe Expects BTOE arguments (default: False)

 

Average rating 0 (0 Votes)

You cannot comment on this entry