Begin adding order settings
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user