General Parameters for All Strategies

Quick article search

“Stops” Tab

⚠️ Attention!
Stops and trailing in the Moonbot terminal work only when the terminal is running and are internal program algorithms. On the exchange, stops and trailing will not function after purchasing an asset if the terminal is turned off.


  • UseSignalStops: YES/NO checkbox.
    If YES is selected, take stops from the Telegram signal. Priority: if stop prices are specified in the Telegram signal and the Take Stops, TakeProfit from message option is enabled on the Settings → AutoBuy tab, then the minimum value specified in the message will be used for stops. If no stop prices are specified in the Telegram signal, the stop settings from the strategy on the Stops tab will be used. This parameter is available only in Telegram-type strategies;

  • UseStopLoss: YES/NO checkbox.
    If YES is selected, activate stop-loss when placing orders under this strategy.
    If NO is selected, do not use stops. When this setting is used, the stop is triggered only after its average price line is crossed;

  • FastStopLoss: YES/NO checkbox.
    If YES is selected, activate a faster stop trigger algorithm (based on cross trades). In this case, the stop will react to “spikes” and may trigger faster, without waiting for its average price line to be crossed.
    For some algorithms in Moonbot, it is required to close the coin as quickly as possible after purchase, for example when using emulator strategies that must provide a key trigger to launch another real strategy, while keeping the trigger date and time in the emulator report for further analysis of the initial detection. Or for real strategies where high-speed position closing is required. Such immediate closing of a position after purchase can be implemented through a special configuration in the Stops section of the strategy settings if FastStopLoss is enabled and StopLoss has a large positive value.
    Example of such configuration:

    • UseStopLoss = YES

    • FastStopLoss = YES

    • StopLossEMA = 0

    • StopLossDelay = 0

    • StopLoss = 10

    • StopLossSpread = 2
      In this case, after purchase, the Sell order is immediately placed at (purchase price – StopLossSpread), resulting in an instant sale of the position right after purchase. The log will contain an entry such as: Immediate StopLoss: sell price is [actual buy – StopSpread%]: 106.06 – 2.00% = 103.94;

  • StopLossEMA: menu for selecting the number of ticks used to average the price when applying stop-loss. If 3, 5, or 10 is selected, prices over the last 3, 5, or 10 ticks are averaged. If 0, not used. This parameter is intended to prevent premature activation of Panic Sell due to a random “spike” and temporary breach of the stop-loss level;

  • StopLossDelay: field for specifying the delay time in seconds before activating all stop-losses and trailing from the moment of purchase. This delay is sometimes useful for the MoonShot strategy and others. There may be situations where it is not a spike, but a large sell wall suddenly appears deep in the BID order book. The wall may remain for some time and then disappear, after which the price starts to rise. In such a case, StopLossDelay could help avoid a stop-loss sale and ultimately result in profit;

  • StopLoss: field for specifying the initial stop level in percent relative to the purchase price. Usually, a negative value is set so that the stop is initially placed below the purchase price by the specified percentage. However, a positive value can also be set. In this case, after purchasing the asset, the stop-loss will be placed above the purchase price, and if it reaches the ASK boundary, it will activate the Panic Sell algorithm and close the position.A positive stop value is used when it is necessary to buy and immediately sell, for example in an emulator strategy to record a detection in the report, or when activating a “time-based stop” algorithm.
    For example, StopLossDelay = 60 and StopLoss = 50: the stop-loss will be placed at ASK at +50% from the purchase price, but it will trigger only after 60 seconds, activate Panic Sell, and close the position at the BID boundary available at that time;

  • StopLossSpread: field for specifying the stop-loss spread value. After the stop-loss line is crossed by the price, Panic Sell is activated, the current price is calculated, and the Sell order is moved below this price by the StopLossSpread value. If there is a sharp price drop and StopLossSpread is small, the Sell order may fail to close. In this case, after 2 seconds another attempt is made: the current price is recalculated and the Sell order is again moved below this price by StopLossSpread from its previous position. If many such attempts occur, the final Sell execution price may be significantly farther from the purchase price than intended. Therefore, it is recommended not to set small values for StopLossSpread and to keep it within the range of 0.4% to 1.5%;

  • StopSpreadAdd1mDelta: field for specifying the coefficient for increasing the StopLossSpread value depending on the 1-minute delta. For example, if StopSpreadAdd1mDelta = 0.1 and the 1-minute delta on the coin is 25%, then 25% * 0.1 = 2.5% will be added to StopLossSpread. The PriceBug value is also taken into account in the StopSpreadAdd1mDelta calculation, in which case the spread increases by (1-minute delta + PriceBug) * StopSpreadAdd1mDelta;

  • AllowedDrop: field for specifying the minimum allowed level in percent from the purchase price to which the Sell order may be lowered after the stop is triggered and Panic Sell is activated;

  • DontSellBelowLiq: YES/NO checkbox.
    If YES is selected, do not sell by stop below the liquidation price. In this case, the log will contain the entry: Stop level (...) is below than liq level. This option applies only to isolated margin;

  • StopAboveLiq: field for specifying the percentage above the liquidation level at which to place the stop. If 0, not applied;

  • StopLossFixed: YES/NO checkbox.
    If YES is selected, a fixed stop is used in grid strategies. In this case, the stop is set based on the first order, and after merging, the stop with this option remains at the same fixed level;

  • UseSecondStop: YES/NO checkbox.
    If YES is selected, allow using a second stop-loss adjustment based on the parameters below.
    Condition for applying the second stop-loss adjustment: “if after TimeToSwitch2Stop seconds or more the price is higher than PriceToSwitch2Stop, then apply the second stop-loss settings, i.e., move the stop-loss line to the StopLoss2 line.”It is most often used as a “break-even stop,” meaning that if the price rises, for example, by +1%, the stop-loss line can be moved from the initial stop level to the StopLoss2 level, for example, to +0.3%. In this way, as the price rises, the trade can be protected at break-even.These settings can also be used as a “time-based stop,” by setting a large positive value in SecondStopLoss. In this case, after TimeToSwitch2Stop seconds, the stop-loss will move into the ASK order book, activate Panic Sell, and the position will be forcibly closed;

  • TimeToSwitch2Stop: field for specifying the time in whole seconds before activating the second stop adjustment;

  • PriceToSwitch2Stop: field for specifying the price in percent from the purchase price at which the second stop adjustment is triggered;

  • SecondStopLoss: field for specifying the value in percent from the purchase price to which the stop will be moved during the second adjustment;

  • UseStopLoss3: YES/NO checkbox.
    If YES is selected, allow using a third stop-loss adjustment based on the parameters below.Condition for applying the third stop-loss adjustment: “if after TimeToSwitchStop3 seconds or more the price is higher than PriceToSwitchStop3, then apply the third stop-loss settings, i.e., move the stop-loss line to the StopLoss3 line. ”It is most often used as an additional “break-even stop,” meaning that if the price rises, for example, by +2%, the stop-loss line can be moved higher to the StopLoss3 level, for example to +1.0%. In this way, as the price continues to rise, the trade can be protected at an even higher break-even level. These settings can also be used as a “time-based stop,” by setting a large positive value in StopLoss3. In this case, after TimeToSwitchStop3 seconds, the stop-loss will move into the ASK order book, activate Panic Sell, and the position will be forcibly closed;

  • TimeToSwitchStop3: field for specifying the time in whole seconds before activating the third stop adjustment;

  • PriceToSwitchStop3: field for specifying the price in percent from the purchase price at which the third stop adjustment is triggered;

  • StopLoss3: field for specifying the value in percent from the purchase price to which the stop will be moved during the third adjustment;

  • AllowedDrop3: field for specifying the minimum allowed level in percent from the purchase price to which the Sell order may be lowered after the third stop adjustment is triggered and Panic Sell is activated;

  • UseTrailing: YES/NO checkbox.
    If YES is selected, use trailing. If NO is selected, do not use trailing;

  • TrailingPercent: field for specifying the negative percentage at which the trailing stop should be placed relative to the current price and follow it at that distance;

  • TrailingSpread: field for specifying the trailing spread value. After the trailing line is crossed by the price, Panic Sell is activated, the current price is calculated, and the Sell order is moved below this price by the TrailingSpread value. If there is a sharp price drop and TrailingSpread is small, the Sell order may fail to close. In this case, after 2 seconds another attempt is made: the current price is recalculated and the Sell order is again moved below this price by TrailingSpread from its previous position. If many such attempts occur, the final Sell execution price may be significantly farther from the purchase price than intended. Therefore, it is recommended not to set small values for TrailingSpread and to keep it within the range of 0.4% to 1.5%;

  • Trailing EMA: field for specifying the number of ticks over which the peak price is averaged. If 0, not applied. This parameter is needed to prevent the trailing from rising by the same amount in case of a sharp upward spike in price (for example, instantly by 10%). After such spikes, the ASK order book is immediately filled, and the trailing may end up inside the ASK order book and prematurely activate Panic Sell;

  • UseTakeProfit: YES/NO checkbox.
    If YES is selected, use trailing take-profit. In this case, trailing will activate only after the price reaches the value |TrailingPercent| + |TakeProfit| and will initially be set at the TakeProfit level from the purchase price.
    If NO is selected, do not use trailing take-profit. The UseTakeProfit parameter works together with UseTrailing = YES. If UseTrailing = NO, the UseTakeProfit and TakeProfit parameters are ignored;

  • TakeProfit: field for specifying the trailing take-profit value in percent from the purchase price;

  • UseBV_SV_Stop: YES/NO checkbox. If YES, use the BV_SV stop when the BV to SV ratio (buy volume to sell volume) decreases over the last N trades or N seconds. The value N is set in the BV_SV_TradesN parameter below.
    Important: when this function is enabled, the strategy also checks the BV to SV ratio entry condition in the Filters → Volume tab (parameters UseBV_SV_Filter, BV_SV_FilterRatio, BV_SV_FilterRatioMax). If that condition is met, auto-buy will not occur; otherwise, the position would immediately be sold;

  • BV_SV_Kind: menu for selecting the method of calculating the BV to SV ratio: either TradesCount (over the last N trades) or Time (over the last N seconds);

  • BV_SV_TradesN: field for specifying the value N, i.e., the number of recent trades or the number of recent seconds used to calculate the BV to SV ratio;

  • BV_SV_Ratio: field for specifying the BV to SV ratio level below which the BV_SV stop-loss will be activated;

  • BV_SV_Reverse: YES/NO checkbox.
    If YES is selected, exit by BV/SV is calculated using the reverse ratio of sell volume to buy volume, i.e., SV/BV, and the position is closed when the price moves in your favor.
    If NO is selected, the direct BV/SV ratio of buy volume to sell volume is used;

  • BV_SV_TakeProfit: field for specifying the minimum take-profit value in percent from the purchase price, after which activation of the BV_SV stop-loss is allowed;

  • PanicSellDelisted: YES/NO checkbox.
    Delisting announcements on the Binance exchange are published in our Telegram channel 📢 @MoonInt, from which the Moonbot terminal can read them and automatically add the coins to its blacklist.
    Example signal in the @MoonInt channel: [Delist] QLC NEBL PERL. If the strategy has PanicSellDelisted = YES, Panic Sell will be activated for these coins and their positions will be closed. To use the blacklist from the @MoonInt Telegram channel, you must enable the I agree to send trade results to the server option on the Settings → Login tab.