// // 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 } } ] } }