Send the user a message when an asset restriction is hit
This commit is contained in:
parent
313c7f79d0
commit
da9f32e882
|
@ -1,7 +1,8 @@
|
|||
from django.test import TestCase
|
||||
|
||||
from core.trading.assetfilter import get_allowed
|
||||
from core.models import AssetGroup, User
|
||||
from core.trading.assetfilter import get_allowed
|
||||
|
||||
|
||||
class AssetfilterTestCase(TestCase):
|
||||
def setUp(self):
|
||||
|
@ -15,7 +16,6 @@ class AssetfilterTestCase(TestCase):
|
|||
description="Test group",
|
||||
)
|
||||
|
||||
|
||||
def test_get_allowed(self):
|
||||
"""
|
||||
Test that the asset filter works.
|
||||
|
@ -25,4 +25,4 @@ class AssetfilterTestCase(TestCase):
|
|||
self.assertFalse(get_allowed(self.group, "EUR_GBP", "sell"))
|
||||
|
||||
# Default true
|
||||
self.assertTrue(get_allowed(self.group, "nonexistent", "sell"))
|
||||
self.assertTrue(get_allowed(self.group, "nonexistent", "sell"))
|
||||
|
|
|
@ -328,12 +328,18 @@ def execute_strategy(callback, strategy, func):
|
|||
# Callback now verified
|
||||
|
||||
# Check against the asset groups
|
||||
if func == "entry":
|
||||
if strategy.assetgroup is not None:
|
||||
allowed = assetfilter.get_allowed(strategy, symbol, direction)
|
||||
if not allowed:
|
||||
log.debug(f"Asset trading not allowed for {strategy}: {symbol}")
|
||||
return
|
||||
if func == "entry" and strategy.assetgroup is not None:
|
||||
allowed = assetfilter.get_allowed(strategy, symbol, direction)
|
||||
if not allowed:
|
||||
log.debug(
|
||||
f"Denied trading {symbol} due to asset filter {strategy.assetgroup}"
|
||||
)
|
||||
sendmsg(
|
||||
user,
|
||||
f"Denied trading {symbol} due to asset filter {strategy.assetgroup}",
|
||||
title="Asset filter denied",
|
||||
)
|
||||
return
|
||||
|
||||
if func == "exit":
|
||||
check_exit = crossfilter(account, symbol, direction, func)
|
||||
|
|
Loading…
Reference in New Issue