Questions from a new user

Hey there,

Your platform looks really impressive. I just signed up and started exploring setup of my first bot. I have a bunch of noob questions.

I picked Plan Runner, to get started.

In the configuration area, trading tab...

I see I can set up multiple configs. Will all configs trade simultaneously? Or are those just different configs to backtest separately?

In the pair field, do I have to only enter one pair, or can I enter multiple, comma delimited?

Is there a section to enter risk management parameters? For instance - I want to risk 2% of capital per trade?

I see that I can set up indicators as confirmation, and I see the config areas for some of your supported indicators. But I don’t see the config areas for many of the indicators on your public facing indicator list page. How do I access the rest of the indicators?

On the strategy docs page, I see that volume is an optional confirmation for plan runner. But I don’t see volume on the trading config page. Where is it?

It looks like there are several S/L and T/P strategies on the page, but I don’t see a way to choose one over another, or to enable/disable them. How do I link a S/L or T/P strategy to my entry strategy?

Do I understand it correctly that you can execute the action via comp, ‘buy if price is below X’ or via rate, ‘buy at X’?

To expand on the previous question, I’m guessing that with comp, your higher timeframe strategy will enable buying via your lower timeframe strategy, but only for as long as price is still below X. But with rate, your lower timeframe strategy will look for an entry regardless of future price. Is that correct?

On the 'add trading pair' screen...

I only see 9 pairs available to trade on binance. Where are the others?

What impact does the ’trading capital’ field have on the strategy? If I alot X amount of capital, how does that change how the strategy executes?
 

Ekliptor

Administrator
Staff member
Hi and welcome here

I picked Plan Runner, to get started.
Ok. This choice means you want to set price levels (for example support/resistance) manually every few days and let WolfBot forward an order to a tradeStrategy (such as RSIScalpOrderer) on a smaller candle size (1-15min) once that price level gets hit. This protects you from trading too soon an only enter the market after
  1. your configured price level gets hit
  2. the market actually moves in the direction you want to trade
I see I can set up multiple configs. Will all configs trade simultaneously? Or are those just different configs to backtest separately?
You can add as many configs as you like. A config is typically a set of strategies (main strategy, tradeStrategy, stop-loss and take-profit) for a given currency pair on an exchange. You can also just run a stop-loss etc.. strategy and do the rest of the trading manually. All configs run simultaneously yes, so you can use WolfBot (PlanRunner strategy in your case) to look out for as many markets as you like and watch for opportunities.

Backtesting only supports 1 config (1 currency pair and 1 exchange) at a time. You can do backtesting with a different config while live trading.

In the pair field, do I have to only enter one pair, or can I enter multiple, comma delimited?
The field pair requires exactly 1 currency pair (for example "pair": "USD_BTC", in the trading dev tab notation). If you want to trade multiple pairs you should add another complete config set (trading capital, exchange, strategies,...).

Is there a section to enter risk management parameters? For instance - I want to risk 2% of capital per trade?
Currently no. You control your trading capital through the variable tradeTotalBtc in your config. So you can set different trading capitals for each pair/exchange. This amount is always in the base currency, so for USD_BTC it is in USD, for BTC_ETH in BTC,....

I see that I can set up indicators as confirmation, and I see the config areas for some of your supported indicators. But I don’t see the config areas for many of the indicators on your public facing indicator list page. How do I access the rest of the indicators?
The UI needs improvements for non-developers. Currently the easiest way to do this is:
  1. enable the checkbox "dev mode" on the 1st Configuration tab
  2. find a strategy with the indicators you want to use. Either by changing the configuration in WolfBot and looking at the JSON config in the new dev tab or by browsing here: https://github.com/Ekliptor/WolfBot/tree/master/config
  3. add the config of your desired strategy (using your desired indicator) to WolfBot in the dev tab and restart the bot
Note that an indicator supplies data and must be used by a strategy (you can not add indicators directly via config). To access indicators directly you can write your own strategy: https://forum.wolfbot.org/forums/strategy-development.17/

On the strategy docs page, I see that volume is an optional confirmation for plan runner. But I don’t see volume on the trading config page. Where is it?
Some optional parameters were missing in the sample config. I just added them. You can add them manually in the dev tab from here: https://github.com/Ekliptor/WolfBot/blob/master/config/PlanRunner.json

It looks like there are several S/L and T/P strategies on the page, but I don’t see a way to choose one over another, or to enable/disable them. How do I link a S/L or T/P strategy to my entry strategy?
You link strategies by adding them to your strategies group property in the config. For example a config 4 strategies: https://github.com/Ekliptor/WolfBot/blob/master/config/TrailingStopReverseEntry.json
  • TrailingStopReverseEntry: the main strategy
  • RSIScalpOrderer: the tradeStrategy the order gets forwarded to from TrailingStopReverseEntry before execution
  • StopLossTurn: the stop-loss strategy to close a position
  • TakeProfit: the take-profit strategy
Do I understand it correctly that you can execute the action via comp, ‘buy if price is below X’ or via rate, ‘buy at X’?
Yes. They both are mandatory for the PlanRunner strategy. With these 2 settings you can specify levels to buy or sell. So you are saying "buy if rate is below X". Plus when using a tradeStrategy you are forwarding the order to another strategy for confirmation before executing the trade.
Also see the property expirationPercent in PlanRunner for an advanced setup where you can add multiple buy/sell orders - each only valid within a x% price range.

To expand on the previous question, I’m guessing that with comp, your higher timeframe strategy will enable buying via your lower timeframe strategy, but only for as long as price is still below X. But with rate, your lower timeframe strategy will look for an entry regardless of future price. Is that correct?
When using technical strategies as the main strategy you normally zoom in from a higher timeframe to a lower one (for example MACD 1h -> RSI 10min). However, with PlanRunner it makes sense to keep it at 1min candles to have it check for a configured entry price every minute. The tradeStrategy can be a higher timeframe. The tradeStrategy does not "call back" to the strategy it got the order from.
So if your PlanRunner order was: "Buy Bitcoin below 4k" and you forward it to an RSIScalpOrderer with a 1h candle size (don't do it, 1h is too high to look for confirmation) and the price goes up until the 1h RSI reaches an entry point, then WolfBot will buy Bitcoin above 4k (although it went below 4k when the order was started, so use 1-15min tradeStrategy candles).

I only see 9 pairs available to trade on binance. Where are the others?
To not bloat the lists in the UI, the config wizard etc only show the most common pairs. You can enter the pair you want manually in the trading tab.
Also what pairs are you interested in? I can add them to the pre-configured lists...

What impact does the ’trading capital’ field have on the strategy? If I alot X amount of capital, how does that change how the strategy executes?
I assume you mean tradeTotalBtc which is not part of the strategy config, but one level above so that it is set for the whole strategy group of the currency pair. This is the amount WolfBot will use to open (or incease) a position.
With "marginTrading": true, this amount will be leveraged on Bitfinex and Poloniex with 3.3x and 2.5x
In stop-loss and take-profit strategies always the whole position will be closed. Also there is a TakeProfitPartial strategy which allows you to close a percentage of your existing position. The position is synced from the exchange, so tradeTotalBtc is again not used.


Feel free to ask me more questions or post your final config JSON here and we can go over it in detail.
 
Thank you! This is really helpful. I understand everything a lot better.

I’m not a developer, but I can work in dev mode. It’s like CSS. Much easier than using the UI.

I love how I can chain a HTF strategy to send signals to a LTF strategy. Can I chain 3 or more strategies?

So a ‘config’ is essentially an exchange, a pair, and a set of strategies. And I can run as many configs as I like in one instance. (Correct me if I’m wrong). Does that mean I can run different strategies on different exchanges? Or run different strategies on different binance accounts?

In Plan Runner, can I set multiple support and resistance levels in a single config, or does each level need to be it’s own config?

What impact does the ’trading capital’ field have on the strategy? If I alot X amount of capital, how does that change how the strategy executes?
Apologies, my question wasn’t phrased clearly enough.

If I click Open Setup Wizard, on the ‘add trading pair’ modal:

in the currency pair section, there’s a field called trading capital.

If I alot X amount of capital, how does that affect or change how the strategy executes?
 

Ekliptor

Administrator
Staff member
I love how I can chain a HTF strategy to send signals to a LTF strategy. Can I chain 3 or more strategies?
Yes. Using the tradeStrategy property you can chain as many strategies as you like to forward buy/sell events.
However, keep in mind, that events go through strategies sequentially and strategies don't "look back". So chaining through many strategies will also result in higher delays (and the state of your first strategy might have changed already by then).

The PlanRunner has an alternative with its indicators config:
"indicators": [
"RSI"
]

This means there must be a strategy named "RSI" present in your strategy group for this currency pair and PlanRunner will wait for a signal from this strategy BEFORE executing a trade (so RSI must say "buy" before PlanRunner can say "buy").

So a ‘config’ is essentially an exchange, a pair, and a set of strategies. And I can run as many configs as I like in one instance
Correct.

Does that mean I can run different strategies on different exchanges?
Yes. A single WolfBot instance can connect to as many exchanges as you like.

Or run different strategies on different binance accounts?
Exchange API keys are set globally on the "general" config tab and not individually per config. So to manage multiple accounts on the same exchange you need multiple WolfBot instances.
This could be improved.. But what would you need this for? Are you managing 3rd party funds without having direct access to them?

If I alot X amount of capital, how does that affect or change how the strategy executes?
The "trading capital" setting from the wizard (or tradeTotalBtc in the dev config) manages how much capital WolfBot shall use for a buy/sell order. "close" orders from take-profit or stop-loss strategies always use the whole amount of the open position. The "trading capital" does not affect how strategies decide to buy/sell.
 
Thanks again for your helpful answers!

Exchange API keys are set globally on the "general" config tab and not individually per config. So to manage multiple accounts on the same exchange you need multiple WolfBot instances. This could be improved.. But what would you need this for? Are you managing 3rd party funds without having direct access to them?
When I’m running multiple algo strategies, whenever possible I like to run each strategy independently on its own account. (Not each pair, but each HTF strategy).

This makes data collection / analysis of an algo's live trading track record much cleaner — if multiple strategies are running on the same account then you obviously have to tease out one strategy's trades from the rest before you can perform analysis.

This is especially meaningful if you’re seeking capital investment from outsiders — you want to be able to show them your raw transaction log — and a transaction log that includes other strategy’s trades introduces unnecessary clutter/distraction/confusion.

Automated transparent 3rd party verification of a trader/algo's track record is coming to crypto, and it lends a lot of credibility to the trader. MyFXBook fulfills this role in Forex — there's no equivalent for crypto yet, but a colleague is working on this and will likely ship later this year. To utilize this, one would need each strategy’s trades segregated to their own account.

All of this can be worked around…but IMO a feature like this would be a big plus.

More questions…

If I’m using wolfbot S/L and T/P strategies to manage my own manual entries, will wolfbot just automagically recognize the trades it needs to manage as soon as they’re opened, assuming everything is set up properly? (btw this is such an awesome feature -- can't wait to use it.)

If I’m live trading a strategy, and trades are active, and I want to update my config file, so I restart my instance, will the strategies automatically recognize their open trades post-restart and pick up trade management where they left off?

How do I integrate sentiment plugins into a strategy?

I’ve been looking at a lot of algo platforms — I vaguely recall seeing a feature that automatically backtests a range of permutations of strategy settings, to find the optimal combination of settings. Is that a feature on your platform, or am I confusing your platform with a different one?

In Plan Runner, can I set multiple support and resistance levels in a single config, or does each level need to be it’s own config?
 

Ekliptor

Administrator
Staff member
This is especially meaningful if you’re seeking capital investment from outsiders — you want to be able to show them your raw transaction log — and a transaction log that includes other strategy’s trades introduces unnecessary clutter/distraction/confusion.
Are you actually trading with larger amounts of other people? If so, feel free to message me so we can talk privately about some optimizations, risk management, hedging,....
And custom features. But just like you say multiple accounts can be easier to manage, I also often have 2-3 WolfBot instances in parallel because i like to update and change different ideas independently.

If I’m using wolfbot S/L and T/P strategies to manage my own manual entries, will wolfbot just automagically recognize the trades it needs to manage as soon as they’re opened, assuming everything is set up properly? (btw this is such an awesome feature -- can't wait to use it.)
Yes. WolfBot will sync balances automatically and thus manage stops and take-profits for your manual trades. You can see that on the strategy page below the chart it shows your current position on the exchange for this currency.
Just ensure your order value in the config is set to closeLong/closeShort so it actually closes your whole position (and not buy/sell as this would only trade tradeTotalBtc which might be different when you trade manually).

If I’m live trading a strategy, and trades are active, and I want to update my config file, so I restart my instance, will the strategies automatically recognize their open trades post-restart and pick up trade management where they left off?
Strategies save their state which includes candle history, open position, stop values, indicator values,...
However if you just change config values of strategies you already added, you don't have to restart your bot.
Restarts are only required when adding/removing strategies or changing the currency pair. Generally WolfBot will show you a message on top when it requires a restart.

How do I integrate sentiment plugins into a strategy?
Social media sentiment? You have to talk to me what you want and we can integrate it. As a warning though, I found they work a lot better during a bull market when coins spike 50%+ daily. Then you just have to be fast to trade on the news which is one of the things WolfBot was originally designed for 3 years back.

I’ve been looking at a lot of algo platforms — I vaguely recall seeing a feature that automatically backtests a range of permutations of strategy settings, to find the optimal combination of settings.
WolfBot supports this in 2 ways:
  1. Using the cartesian product of all pre-configured config permutations to find the optimal value. See here for an example config and look for the arrays of values such as "profit": [2.5, 4.0, 7.0 ,15.0], - this means WolfBot will try all permutations and find the optimal combination of this with all other array values.
  2. A genetic algorithm to simulate Darwinism/evolution to find the optimal values for given parameters within a specified range (say "profit 1% - 15%" with "candle size 1min to 60min" with "parameter A from x - y").
As mentioned on the website, these features are included on Github for developers, but need an advanced setup (and a bigger server than the Virtual Machines cloud WolfBots are running per default). Clients who use these features talk to me privately here or on Discord chat.

In Plan Runner, can I set multiple support and resistance levels in a single config, or does each level need to be it’s own config?
Yes you can set as many price levels as you like in a single PlanRunner strategy. Also take a look at the
"expirationPercent": 3.0,
config value, so your order will only be valid within that price range (+ and -) of the specified rate. This is useful if you want to setup multiple orders in the same direction ("buy BTC below 4k" and "buy BTC below 4.8k").
 
Are you actually trading with larger amounts of other people? If so, feel free to message me so we can talk privately about some optimizations, risk management, hedging,....And custom features.
I’m not trading with other people’s money, yet. But that is one of my goals, so I’m inclined to think about the overall framework I’m using from that longterm perspective. Great to hear that you have other risk management options. I expect I’ll want to learn more about them, once I have a little more experience with your platform.

Strategies save their state which includes candle history, open position, stop values, indicator values,…
Very cool.

Using the cartesian product of all pre-configured config permutations to find the optimal value. See here for an example config and look for the arrays of values such as "profit": [2.5, 4.0, 7.0 ,15.0], - this means WolfBot will try all permutations and find the optimal combination of this with all other array values.

A genetic algorithm to simulate Darwinism/evolution to find the optimal values for given parameters within a specified range (say "profit 1% - 15%" with "candle size 1min to 60min" with "parameter A from x - y”).
Love it. Once I have a little more experience with your platform I expect I’ll probably want to use one of these.

I think my next step is to start building & backtesting basic strategies. I will likely run my first test config file by you, to make sure I have everything set right. Hopefully I can find some free time (lol) this coming week to do that.
 

Ekliptor

Administrator
Staff member
Yes do some backtests of your trading ideas and see how they perform.
You can also pause trading or set tradeTotalBtc to 0 to see how WolfBot would trade in live mode.

Feel free to post some config JSON (from the dev tab) if you have some questions or need help
 
Hey there,

I finally had time to build my first config! A few questions:

1. It seems as though I have to duplicate all strategy entries in separate sections in order to call both a closeLong and closeShort. (You'll see it in my config code). Am I misunderstanding how the system works? Can I call both at the same time? Or just call one and then the other, without duplicating the other strategies?

2. Each time I save the config, the system inserts code at the end of the config that I didn't write:

"exchanges": [
"Poloniex"
]
I haven't been able to figure out how to get it to not insert that code. What do I need to know about this?

3. I created a simple strategy, and named it Bollinger 1. Could you have a look at my code and see if everything else besides the poloniex call is clean?
{
"data": [
{
"exchanges": [
"BitMEX"
],
"marginTrading": true,
"tradeTotalBtc": 0.1,
"warmUpMin": 0,
"maxLeverage": 3,
"strategies": {
"BollingerBands": {
"breakout": 3,
"MAType": 1,
"pair": "LTC_BTC",
"candleSize": 240,
"enableLog": true
},
"RSIScalper": {
"percentage": 20,
"low": 25,
"high": 75,
"candleSize": 10,
"pair": "LTC_BTC",
"enableLog": false
},
"StopLossTurn": {
"order": "closeShort",
"setback": 6,
"time": 1800,
"candleSize": 240,
"pair": "LTC_BTC",
"enableLog": true
}
}
},
{
"strategies": {
"BollingerBands": {
"breakout": 3,
"MAType": 1,
"pair": "LTC_BTC",
"candleSize": 240,
"enableLog": true
},
"RSIScalper": {
"percentage": 20,
"low": 25,
"high": 75,
"candleSize": 10,
"pair": "LTC_BTC",
"enableLog": false
},
"StopLossTurn": {
"order": "closeLong",
"setback": 6,
"time": 1800,
"candleSize": 240,
"pair": "LTC_BTC",
"enableLog": true
}
},
"exchanges": [
"Poloniex"
]
}
]
}
]
 

Ekliptor

Administrator
Staff member
It seems as though I have to duplicate all strategy entries in separate sections in order to call both a closeLong and closeShort.
closeLong and closeShort are the same - depending on if you have a long or short position the strategy will close it accordingly. This is also mentioned on the trading tab (not dev) where you have descriptions to every config property.
Admittedly this and other config settings should be simplified.


You actually built 2 configs - which wasn't your intention here. And because the 2nd one doesn't have an exchange, WolfBot automatically ads an exchange.
This is the correct config for poloniex (closing longs and shorts):
{
"data": [
{
"exchanges": [
"Poloniex"
],
"marginTrading": true,
"tradeTotalBtc": 0.1,
"warmUpMin": 0,
"maxLeverage": 3,
"strategies": {
"BollingerBands": {
"breakout": 3,
"MAType": 1,
"pair": "LTC_BTC",
"candleSize": 240,
"enableLog": true
},
"RSIScalper": {
"percentage": 20,
"low": 25,
"high": 75,
"candleSize": 10,
"pair": "LTC_BTC",
"enableLog": false
},
"StopLossTurn": {
"order": "closeShort",
"setback": 6,
"time": 1800,
"candleSize": 240,
"pair": "LTC_BTC",
"enableLog": true
}
}
}
]
}
For BitMEX only BTC and ETH perpetual swaps are supported currently. If you want to trade LTC_BTC your main choices are Binance, Bitfinex and Poloniex