Add more hooks to active management
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# Generated by Django 4.1.7 on 2023-02-17 11:50
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('core', '0070_strategy_active_management_enabled_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='account',
|
||||
name='exchange',
|
||||
field=models.CharField(choices=[('alpaca', 'Alpaca'), ('oanda', 'OANDA'), ('fake', 'Fake')], max_length=255),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ActiveManagementPolicy',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=255)),
|
||||
('description', models.TextField(blank=True, null=True)),
|
||||
('when_trading_time_violated', models.CharField(choices=[('none', 'None'), ('close', 'Close violating trades'), ('notify', 'Notify only')], default='none', max_length=255)),
|
||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,58 @@
|
||||
# Generated by Django 4.1.7 on 2023-02-17 11:58
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('core', '0071_alter_account_exchange_activemanagementpolicy'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='activemanagementpolicy',
|
||||
name='when_asset_groups_violated',
|
||||
field=models.CharField(choices=[('none', 'None'), ('close', 'Close violating trades'), ('notify', 'Notify only')], default='none', max_length=255),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='activemanagementpolicy',
|
||||
name='when_crossfilter_violated',
|
||||
field=models.CharField(choices=[('none', 'None'), ('close', 'Close violating trades'), ('notify', 'Notify only')], default='none', max_length=255),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='activemanagementpolicy',
|
||||
name='when_max_loss_violated',
|
||||
field=models.CharField(choices=[('none', 'None'), ('close', 'Close violating trades'), ('notify', 'Notify only')], default='none', max_length=255),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='activemanagementpolicy',
|
||||
name='when_max_open_trades_per_symbol_violated',
|
||||
field=models.CharField(choices=[('none', 'None'), ('close', 'Close violating trades'), ('notify', 'Notify only')], default='none', max_length=255),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='activemanagementpolicy',
|
||||
name='when_max_open_trades_violated',
|
||||
field=models.CharField(choices=[('none', 'None'), ('close', 'Close violating trades'), ('notify', 'Notify only')], default='none', max_length=255),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='activemanagementpolicy',
|
||||
name='when_max_risk_violated',
|
||||
field=models.CharField(choices=[('none', 'None'), ('close', 'Close violating trades'), ('notify', 'Notify only')], default='none', max_length=255),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='activemanagementpolicy',
|
||||
name='when_position_size_violated',
|
||||
field=models.CharField(choices=[('none', 'None'), ('close', 'Close violating trades'), ('notify', 'Notify only'), ('adjust', 'Adjust violating trades')], default='none', max_length=255),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='activemanagementpolicy',
|
||||
name='when_protection_violated',
|
||||
field=models.CharField(choices=[('none', 'None'), ('close', 'Close violating trades'), ('notify', 'Notify only'), ('adjust', 'Adjust violating trades')], default='none', max_length=255),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='activemanagementpolicy',
|
||||
name='when_trends_violated',
|
||||
field=models.CharField(choices=[('none', 'None'), ('close', 'Close violating trades'), ('notify', 'Notify only')], default='none', max_length=255),
|
||||
),
|
||||
]
|
||||
19
core/migrations/0073_strategy_active_management_policy.py
Normal file
19
core/migrations/0073_strategy_active_management_policy.py
Normal file
@@ -0,0 +1,19 @@
|
||||
# Generated by Django 4.1.7 on 2023-02-17 13:16
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('core', '0072_activemanagementpolicy_when_asset_groups_violated_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='strategy',
|
||||
name='active_management_policy',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='core.activemanagementpolicy'),
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user