Begin adding order settings

This commit is contained in:
2023-02-15 18:33:38 +00:00
parent 1974b19157
commit 660aca44db
11 changed files with 220 additions and 19 deletions

View File

@@ -397,6 +397,9 @@ class Strategy(models.Model):
risk_model = models.ForeignKey(
"core.RiskModel", on_delete=models.PROTECT, null=True, blank=True
)
order_settings = models.ForeignKey(
"core.OrderSettings", on_delete=models.PROTECT, null=True, blank=True
)
class Meta:
verbose_name_plural = "strategies"
@@ -481,3 +484,17 @@ class AssetRule(models.Model):
# Ensure that the asset is unique per group
class Meta:
unique_together = ("asset", "group")
class OrderSettings(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
name = models.CharField(max_length=255)
description = models.TextField(null=True, blank=True)
order_type = models.CharField(
choices=TYPE_CHOICES, max_length=255, default="market"
)
time_in_force = models.CharField(choices=TIF_CHOICES, max_length=255, default="gtc")
take_profit_percent = models.FloatField(default=1.5)
stop_loss_percent = models.FloatField(default=1.0)
trailing_stop_loss_percent = models.FloatField(default=1.0, null=True, blank=True)
trade_size_percent = models.FloatField(default=0.5)