1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
class TradeConditionType(models.Model):
name = models.CharField(max_length=15)
descr = models.TextField(blank=True)
def __str__(self):
return self.name
class TradeActionType(models.Model):
name = models.CharField(max_length=15)
descr = models.TextField(blank=True)
def __str__(self):
return self.name
class PhaseCondition(models.Model):
number = models.IntegerField(default=1,blank=True,null=True)
name = models.CharField(max_length=15)
descr = models.TextField(blank=True)
# restrict = models.BooleanField(default=False)
type = models.ForeignKey(TradeConditionType, on_delete=models.SET_NULL,null=True)
param = models.JSONField(encoder=DjangoJSONEncoder, decoder=None)
active = models.BooleanField(default=True)
def __str__(self):
return self.name
class PhaseAction(models.Model):
name = models.CharField(max_length=15)
number = models.IntegerField(default=1,blank=True,null=True)
# restrict = models.BooleanField(default=False)
type = models.ForeignKey(TradeActionType, on_delete=models.SET_NULL,null=True)
param = models.JSONField(encoder=DjangoJSONEncoder, decoder=None)
active = models.BooleanField(default=True)
def __str__(self):
return self.name
class TradePhase(models.Model):
number = models.IntegerField(default=1,blank=True,null=True)
name = models.CharField(max_length=15)
descr = models.TextField(blank=True)
active = models.BooleanField(default=True)
conditions = models.ForeignKey(PhaseCondition, on_delete=models.CASCADE,null=True)
actions = models.ForeignKey(PhaseAction, on_delete=models.CASCADE,null=True)
def __str__(self):
return self.name
class Trade(models.Model):
pairfrom = models.CharField(max_length=15)
name = models.CharField(max_length=15)
descr = models.TextField(blank=True)
assetAgainst = models.CharField(max_length=15)
quantiteAgainst = models.FloatField()
dateStart = models.DateField(null=True)
dateEnd = models.DateField(null=True)
account = models.ForeignKey(ExchangeAccount, on_delete=models.SET_NULL,null=True)
active = models.BooleanField(default=True)
isModel = models.BooleanField(default=False)
phases = models.ForeignKey(TradePhase, on_delete=models.CASCADE)
def __str__(self):
return f"{self.pairfrom} - {self.name}" |
Partager