334 lines
12 KiB
JSON
334 lines
12 KiB
JSON
//
|
|
// The settings below offer a basic example of some of the options available when using PTMagic.
|
|
// You should take your time and adjust these settings according to your own personal preferences.
|
|
// Always test your PTMagic settings by running a Profit Trailer bot in TESTMODE, to make sure
|
|
// it is performing as you expect.
|
|
//
|
|
// For more information on these settings, see the wiki at: https://github.com/PTMagicians/PTMagic/wiki/settings.analyzer
|
|
|
|
|
|
{
|
|
"AnalyzerSettings": {
|
|
"MarketAnalyzer": {
|
|
"StoreDataMaxHours": 48, // Number of hours to store market data
|
|
"IntervalMinutes": 2, // Interval in minutes for PTMagic to check market trends and triggers
|
|
"ExcludeMainCurrency": true, // Excludes the main currency (for example BTC, if you are trading against BTC) from market trend analysis
|
|
"MarketTrends": [
|
|
{
|
|
"Name": "1h", // UNIQUE market trend name (to be referenced by your triggers below)
|
|
"Platform": "Exchange", // Platform to grab prices from (Allowed values are: CoinMarketCap, Exchange)
|
|
"MaxMarkets": 50, // Number of markets/pairs to analyze sorted by 24h volume
|
|
"TrendMinutes": 60, // Number of minutes to build a trend (1440 = 24h, 720 = 12h, 60 = 1h)
|
|
"TrendCurrency": "Market", // Trend Currency to build the trend against. If set to "Fiat", the trend will
|
|
// take the USD value of your main currency into account to build the trend.
|
|
// "Market" will build a trend against your base currency, such as BTC or USDT.
|
|
"TrendThreshold": 15, // Any coin that is above 15% or below -15% for this timeframe will be considered an outlier,
|
|
// and not used when calculating the market average.
|
|
"DisplayGraph": false, // Use this trend in the graph on the PTM Monitor dashboard and market analyzer
|
|
"DisplayOnMarketAnalyzerList": false // Disply this trend for all coins on the PTM Monitor market analyzer
|
|
},
|
|
{
|
|
"Name": "6h",
|
|
"Platform": "Exchange",
|
|
"MaxMarkets": 50,
|
|
"TrendMinutes": 360,
|
|
"TrendCurrency": "Market",
|
|
"TrendThreshold": 30,
|
|
"DisplayGraph": true,
|
|
"DisplayOnMarketAnalyzerList": true
|
|
},
|
|
{
|
|
"Name": "12h",
|
|
"Platform": "Exchange",
|
|
"MaxMarkets": 50,
|
|
"TrendMinutes": 720,
|
|
"TrendCurrency": "Market",
|
|
"TrendThreshold": 50,
|
|
"DisplayGraph": true,
|
|
"DisplayOnMarketAnalyzerList": true
|
|
},
|
|
{
|
|
"Name": "24h",
|
|
"Platform": "Exchange",
|
|
"MaxMarkets": 50,
|
|
"TrendMinutes": 1440,
|
|
"TrendCurrency": "Market",
|
|
"TrendThreshold": 75,
|
|
"DisplayGraph": true,
|
|
"DisplayOnMarketAnalyzerList": true
|
|
}
|
|
]
|
|
},
|
|
// ================================ GLOBAL SETTINGS ================================
|
|
//
|
|
"GlobalSettings": [ // Global settings for Profit Trailer properties
|
|
//
|
|
// ===================================================================================
|
|
|
|
// Each setting here is checked in order. If it is true, the analysis stops. If it is false, it moves on to check the next setting.
|
|
// This way, you don't need to define ranges for each setting, just the minimums or maximums.
|
|
|
|
// -----------------------------
|
|
{
|
|
"SettingName": "EndOfTheWorld", // ANY UNIQUE name of your setting
|
|
"TriggerConnection": "AND", // Define if triggers will be connected by AND or OR.
|
|
//If you give each trigger a Tag, then you can use more robust boolean logic, such as: (A && B) || (B && C)
|
|
"Triggers": [ // Your triggers for this setting. You can use any of your defined trends from above
|
|
{
|
|
"Tag": "A", // OPTIONAL: Give your triggers Tags, so you can use more robust boolean logic, such as: (A && B) || (C && D)
|
|
"MarketTrendName": "1h", // Reference to the market trend specified above
|
|
"MaxChange": 0 // The maximum value for this trigger. (Any value below "0" will trigger this)
|
|
},
|
|
{
|
|
"Tag": "B",
|
|
"MarketTrendName": "12h",
|
|
"MaxChange": -2
|
|
},
|
|
{
|
|
"Tag": "C",
|
|
"MarketTrendName": "24h",
|
|
"MaxChange": -5
|
|
}
|
|
],
|
|
"PairsProperties": { // Properties for PAIRS.PROPERTIES
|
|
// Any valid setting from https://wiki.profittrailer.com/en/config can be used here.
|
|
// You can use a specific value, or apply a discrete OFFSET or OFFSETPERCENT to the value in your default PAIRS setting.
|
|
"DEFAULT_sell_only_mode_enabled": true,
|
|
"DEFAULT_trailing_profit_OFFSETPERCENT": -50
|
|
},
|
|
"DCAProperties": { // Properties for DCA.PROPERTIES
|
|
"DEFAULT_DCA_trailing_profit_OFFSETPERCENT": -75
|
|
}
|
|
},
|
|
// -----------------------------
|
|
{
|
|
"SettingName": "TankingDown",
|
|
"TriggerConnection": "AND", // You can use complex boolean logic for some settings, and not others
|
|
"Triggers": [
|
|
{
|
|
"MarketTrendName": "1h",
|
|
"MaxChange": 0,
|
|
"MinChange": -5 // You can use Maxchange and Minchange together to create a range.
|
|
},
|
|
{
|
|
"MarketTrendName": "12h",
|
|
"MaxChange": 0
|
|
},
|
|
{
|
|
"MarketTrendName": "24h", // Any value between -5 and -3 will make this trigger true.
|
|
"MaxChange": -3,
|
|
"MinChange": -5 // The minimum value for this trigger to be true. (Any value above "-5" will trigger this)
|
|
}
|
|
],
|
|
"PairsProperties": {
|
|
"max_trading_pairs_OFFSET": -2,
|
|
"DEFAULT_min_buy_volume_OFFSETPERCENT": 100,
|
|
//"DEFAULT_initial_cost_OFFSETPERCENT": -50,
|
|
//"DEFAULT_initial_cost_percentage_OFFSETPERCENT": -50,
|
|
"DEFAULT_trailing_buy_OFFSETPERCENT": 25,
|
|
"DEFAULT_trailing_profit_OFFSETPERCENT": -25
|
|
},
|
|
"DCAProperties": {
|
|
//"DEFAULT_DCA_rebuy_timeout_OFFSETPERCENT": 100,
|
|
"DEFAULT_DCA_trailing_buy_OFFSETPERCENT": 25,
|
|
"DEFAULT_DCA_trailing_profit_OFFSETPERCENT": -50
|
|
},
|
|
"IndicatorsProperties": {
|
|
}
|
|
},
|
|
// -----------------------------
|
|
{
|
|
"SettingName": "BearSighted",
|
|
"TriggerConnection": "AND",
|
|
"Triggers": [
|
|
{
|
|
"MarketTrendName": "1h",
|
|
"MaxChange": 1
|
|
},
|
|
{
|
|
"MarketTrendName": "12h",
|
|
"MaxChange": 0
|
|
},
|
|
{
|
|
"MarketTrendName": "24h",
|
|
"MaxChange": -1,
|
|
"MinChange": -3
|
|
}
|
|
],
|
|
"PairsProperties": {
|
|
"max_trading_pairs_OFFSET": -1,
|
|
//"DEFAULT_initial_cost_OFFSETPERCENT": -25,
|
|
//"DEFAULT_initial_cost_percentage_OFFSETPERCENT": -25,
|
|
"DEFAULT_trailing_buy_OFFSETPERCENT": 10,
|
|
"DEFAULT_trailing_profit_OFFSETPERCENT": -10
|
|
},
|
|
"DCAProperties": {
|
|
"DEFAULT_DCA_trailing_buy_OFFSETPERCENT": 10,
|
|
"DEFAULT_DCA_trailing_profit_OFFSETPERCENT": -10,
|
|
},
|
|
"IndicatorsProperties": {
|
|
}
|
|
},
|
|
// -----------------------------
|
|
{
|
|
"SettingName": "ReadyForLiftOff",
|
|
"TriggerConnection": "AND",
|
|
"Triggers": [
|
|
{
|
|
"MarketTrendName": "1h",
|
|
"MinChange": 0
|
|
},
|
|
{
|
|
"MarketTrendName": "12h",
|
|
"MinChange": 0
|
|
},
|
|
{
|
|
"MarketTrendName": "24h",
|
|
"MinChange": 1,
|
|
"MaxChange": 3
|
|
}
|
|
],
|
|
"PairsProperties": {
|
|
"max_trading_pairs_OFFSET": 1,
|
|
//"DEFAULT_initial_cost_OFFSETPERCENT": 10,
|
|
//"DEFAULT_initial_cost_percentage_OFFSETPERCENT": 10,
|
|
"DEFAULT_trailing_buy_OFFSETPERCENT": -10,
|
|
"DEFAULT_A_sell_value_OFFSETPERCENT": 10
|
|
},
|
|
"DCAProperties": {
|
|
"DEFAULT_DCA_trailing_buy_OFFSETPERCENT": -10,
|
|
"DEFAULT_DCA_trailing_profit_OFFSETPERCENT": 10,
|
|
},
|
|
"IndicatorsProperties": {
|
|
}
|
|
},
|
|
// -----------------------------
|
|
{
|
|
"SettingName": "ToTheMoon",
|
|
"TriggerConnection": "AND",
|
|
"Triggers": [
|
|
{
|
|
"MarketTrendName": "1h",
|
|
"MinChange": 1
|
|
},
|
|
{
|
|
"MarketTrendName": "12h",
|
|
"MinChange": 1
|
|
},
|
|
{
|
|
"MarketTrendName": "24h",
|
|
"MinChange": 3
|
|
}
|
|
],
|
|
"PairsProperties": {
|
|
"max_trading_pairs_OFFSET": 2,
|
|
//"DEFAULT_initial_cost_OFFSETPERCENT": 20,
|
|
//"DEFAULT_initial_cost_percentage_OFFSETPERCENT": 20,
|
|
"DEFAULT_trailing_buy_OFFSETPERCENT": -10,
|
|
"DEFAULT_A_sell_value_OFFSETPERCENT": 20
|
|
},
|
|
"DCAProperties": {
|
|
"DEFAULT_DCA_trailing_buy_OFFSETPERCENT": -20,
|
|
"DEFAULT_DCA_trailing_profit_OFFSETPERCENT": 20,
|
|
},
|
|
"IndicatorsProperties": {
|
|
}
|
|
},
|
|
// -----------------------------
|
|
{
|
|
"SettingName": "Default",
|
|
"PairsProperties": {
|
|
"File": "PAIRS.properties"
|
|
},
|
|
"DCAProperties": {
|
|
"File": "DCA.properties"
|
|
},
|
|
"IndicatorsProperties": {
|
|
"File": "INDICATORS.properties"
|
|
}
|
|
}
|
|
],
|
|
// ================================ COIN-SPECIFIC SETTINGS ================================
|
|
//
|
|
"SingleMarketSettings": [ // Single market/pair settings for Profit Trailer properties
|
|
// Only coins that meet the triggered conditions will have the settings applied.
|
|
// If StopProcessWhenTriggered is false, as the analyzer goes down the list multiple settings
|
|
// can be applied to a single coin. This can allow for more complex logic and settings.
|
|
// However, if two settings apply the same property, the property from the last setting
|
|
// on the list will be the one that is used.
|
|
{
|
|
"SettingName": "BlacklistCoins",
|
|
"StopProcessWhenTriggered": true,
|
|
"TriggerConnection": "OR", // Just like Global Settings, you can use complex boolean logic for some settings, and not others
|
|
"Triggers": [
|
|
{
|
|
"AgeDaysLowerThan": 21
|
|
}
|
|
],
|
|
"PairsProperties": {
|
|
"DEFAULT_trading_enabled": false, // Any setting from PT that begins with DEFAULT_ can be used here.
|
|
"DEFAULT_sell_only_mode_enabled": true,
|
|
"DEFAULT_DCA_enabled": false
|
|
}
|
|
},
|
|
// -----------------------------
|
|
{
|
|
"SettingName": "PumpNDumpProtection",
|
|
"TriggerConnection": "A || B || C",
|
|
"Triggers": [
|
|
{
|
|
"Tag": "A",
|
|
"MarketTrendName": "1h",
|
|
"MarketTrendRelation": "Relative", // The relation of the single market trend. Relative = The trend of the coin market
|
|
// is compared to the average trend of all other coins in the market market.
|
|
// Absolute = Single market trend is considered on it's own, without reference to the market.
|
|
"MinChange": 8
|
|
},
|
|
{
|
|
"Tag": "B",
|
|
"MarketTrendName": "12h",
|
|
"MarketTrendRelation": "Relative",
|
|
"MinChange": 10
|
|
},
|
|
{
|
|
"Tag": "C",
|
|
"MarketTrendName": "24h",
|
|
"MarketTrendRelation": "Relative",
|
|
"MinChange": 12
|
|
}
|
|
],
|
|
"OffTriggers": [
|
|
{
|
|
"HoursSinceTriggered": 3 // Any coin that triggers this setting, will remain under this setting
|
|
// for 3 hours, since the last time it triggered.
|
|
}
|
|
],
|
|
"PairsProperties": {
|
|
"DEFAULT_sell_only_mode_enabled": true,
|
|
"DEFAULT_DCA_enabled": false
|
|
}
|
|
},
|
|
// -----------------------------
|
|
{
|
|
"SettingName": "FreefallBlock",
|
|
"TriggerConnection": "OR",
|
|
"Triggers": [
|
|
{
|
|
"MarketTrendName": "1h",
|
|
"MarketTrendRelation": "Absolute",
|
|
"MaxChange": -5
|
|
}
|
|
],
|
|
"OffTriggers": [
|
|
{
|
|
"HoursSinceTriggered": 1
|
|
}
|
|
],
|
|
"PairsProperties": {
|
|
"DEFAULT_sell_only_mode_enabled": true,
|
|
"DEFAULT_DCA_enabled": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
} |