New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Overriding signal_features #6
Comments
Hi @dancydancy, You can override this function in order to add your own indicators. You can download data from MetaTrader using the |
Thank-you :) |
Hi @AminHP, could you provide an example of how to override the _process_data function with a simple indicator like MACD if you get a chance. I am having a lot of trouble figuring out how to add the data produced by the indicator to the signal_features being returned. Thanks in advance |
You should also override def _get_prices(self, keys: List[str]=['Open', 'High', 'Low', 'Close']) -> Dict[str, np.ndarray]:
prices = {}
for symbol in self.trading_symbols:
get_price_at = lambda time: \
self.original_simulator.price_at(symbol, time)[keys]
if self.multiprocessing_pool is None:
p = list(map(get_price_at, self.time_points))
else:
p = self.multiprocessing_pool.map(get_price_at, self.time_points)
prices[symbol] = np.array(p)
return prices
def _process_data(self) -> np.ndarray:
data = self.prices
macd_features = []
for pair, ohlc_data in data.items():
open = ohlc_data[:, 0]
high = ohlc_data[:, 1]
low = ohlc_data[:, 2]
close = ohlc_data[:, 3]
pair_macd = calculate_macd_from_ohlc(open, high, low, close)
macd_features.append(pair_macd)
signal_features = np.column_stack(macd_features)
return signal_features |
When I do exactly this I get the error: |
Hi Amin,
On gym-anytradnig it's possible to override _process_data and add your own custom indicators (from Finta etc).
Is it possible to do the same with mtsim - or how should I be thinking about this? Currently I can't even see how to add and format my own training data.
The text was updated successfully, but these errors were encountered: