SwingFish Helper

for cTrader > 2.0 App Version 2.612

SwingFish Helper is a cTrader algo, that helps you protect yourself from drawdown by hedging positions and sets of positions.

once the Drawdown set is reached for a single Symbol, SwingFish Helper will buy the same size in the opposite direction in order to protect You.

Auto Hedge

auto-Hedge all positions combined of a single symbol.

Cash Targets

Close ALL Trades based on a given financial target.

Time Targets

Close ALL Trades based on a given Time of the day. (removed in 2.2)

Custom Margin call

Auto-close all positions once a global Loss has been reached.

Realtime Position informations

Realtime Display of current Profit/loss in Percentages. for (Equity/Account Balance/Relative Capital and absolute drawdown)

Auto Hedging


Position informations


Time Targets


Cash Targets


Margin call


Settings & usage Description

  • Day Start Balance
    This is your starting balance of the day, Calculations will be based on this value.
    if this is not set, SwingFish-Helper will try to get the starting balance of the day automatically.
  • Day Start Drawdown
    This is your starting Drawdown, leave this at 0 unless you already created some drawdown before.
    this value will auto-update every time the drawdown is larger as it was before (or set).
    the value set is always negative, even if a positive value is used to enter.
  • Hedge Active
    Enable/Disable Hedging Features.
  • Hedge max loss (%)
    The bot will automatically start a hedge at “X%” loss covering all positions in the same Symbol.
  • Margin call
    This is a Hard set “no questions asked drawdown level” in percentages (%)
    If that level is reached the bot will close All positions on the account.
    (active even when Hedging is turned off, to disable set it to 0)
  • TP Active
    Enable/Disable Take-Profit Features.
  • Auto cancel
    this will Turn Off the TP-Features (set TP Active to false), once it has been triggered once,
    leaving all other protection Features active but not take profits anymore.
  • TP equity
    to be set with a cash value for the ending balance you expecting (not %)!
    once the amount you enter is reached, it will close ALL trades on the account.
  • TP profit
    to be set with a cash value for the profit you expecting on all trades combined (not %)
    Example: account balance 100 dollar with the bot active. TP profit set to 10. If you open a trade and your equity reached 110 it will close ALL trades on the account.
    If this parameter is active it will have a higher priority than TP equity has, Ignoring the TP Equity parameter entirely.
  • Fast mode
    If active equity & drawdown check and recheck will happen every 100ms, regardless of prices have moved or not.
    If turned Off the check will happen only once the next Price information arrives. (per-tick).
    note that this can cause some high CPU consumption, if you run SwingFish-Helper multiple times, only one instance should run in Fast Mode.
  • Play Order Sounds
    Plays a Sound once Orders or Hedges are executed
  • Enable Overlay/Log
    Writes a file to the Filesystem to be read by OBS or other software as a Overlay
  • add PnL to Overlay
    Adds Realtime PnL to the File
  • Overlay Wife-Mode
    Enable Combined PnL (current Position + already realized profits)
  • use HTML
    Output a HTML file with auto refresh for Website use
  • Clear on exit
    Empties the file when the bot exits.

SwingFish Helper cAlgo Settings

in order to Play Sounds, write logs and check for updates, SwingFish Helper will need Internet and FileSystem access, thats why you may asked for Full-Access Permission.
we will not collect any data, or send anything to our Servers.

SwingFish Helper access request

Detailed Change log

SwingFish Helper (GlobalTP+)

SwingFish Helper by Mario Hennenberger

Auto Hedges Positions based on first position distance and/or overall Position Loss
terminates ALL open Positions and delete ALL Pending Orders if Net Profit or Equity Target or max loss is reached

    Creative Common "CC BY" - you are REQUIRED to mention me or swingfish.trade if you re-publish this.

    - Mario Hennenberger  https://www.swingfish.trade
    - tmc.  https://ctdn.com/users/profile/tmc_

get Updates:
    - https://swingfish.trade/swingfish-helper
    - https://ctdn.com/algos/cbots/show/1664 (no more updates here, sorry)

    - some times auto hedging happens always regardless of the equity  /// this is maybe fixed already with the double call removed

Beta changes (in progress)
 - allow re-hedging on existing positions
 - re enable local protection 
 - using internal folders 

    - include Limit order in Overlay
    - add "wife mode" setting for overlay
    - add PnL to Overlay text
    - "write as HTML" option
    - option to keep or delete log
    - Write overlay file (ex. PositionDisplay.algo)
    - show R value when all closed and in profit
    - switch back to "green" once 1R is reached
    - add setting to remove label
    - remove Equity when no position open
    - remove tP timer features
    - show absolute Drawdown
    - add drawdown entry
    - categorize settings into groups
    - skip hedging if position volume data is not loaded (on reconnect)
    - does no longer hedge by default (must be activated)
    - small bugfix in version checking
    - drawdown show infinity bug fixed
    - https/ipv6 problem bypass
    - add PnL overlay part to position file
    - add "HTML" setting for output file
      to be used as autorefreshing overlay
    - delete/keep statistics automatically
    - json based statistics file for realtime drawdown
    - include Position Log and Overlay for stream (2.4)
    - HOTFIX (2.321)
      Colors were incoorectly suggesting negative R-Values when trades closed
      show R-Value only when when flat & in profit
    - color reverts back to "green" after 1R is archived
    - HOTFIX (2.211) Color changer did not update colors
    - remove Equity if no trades open
    - remove duplicate function
    - small window-mode (makes output smaller for smaller charts)
    - add input for "previous drawdowns"
    - add absolute Drawdown display
    - merge settings in groups
    - move cache to ~/tmp
    - fixed "reconnect-hedge-bug" bot will not hedge if it is unaware of the current positions.
    - MarginCall ALWAYS triggers (even if hedging is turned off or no targets are set!
    - remove of chart-symbol (always hedging globally)
    - new Loss calculation includes Comissions and swaps
    - use of pathfunctions to "find" logs and sounds
    - if DayStart balance is set to 0
      automatically get the start balance of the day
    - HOTFIX (2.02) respect max order size,
                    to prevent failed placements on maximum size
    - sound setting ignores hedge sound
    - change installer version (2.01)
    - use Windows installer for sound files (no code change)
    - default loss at 0.5%
    - remove System.AttributeTargets.Class
    - remove "Current Capital" setting (temporary)
    - re arrange and rename of settings, no functional change (1.71)
    - remove FullAccess (just requires Internet Access)
    - sounds from archive folder in /Sounds/
    - use order sounds (1.7)
    - temporary use a flexible IP for update check
    - ssl fix (1.61)
    - fix for netting accounts (1.6.1)
    - remove TP and SL from hedged positions
    - change colors to reflect the Daystart (not the current trade)
    - add version check (beta)
    - play sounds from Documents Directory ('swingfish-helper-hedge.mp3')
    - add notification sound (hardcoded path)
    - hedge active by default
    - 2 digit target
    - remove (hedge globally setting (always hedging globally)
    - add Capital Field for GLobals Profit/loss calculatios
    - display cents (*10)
    - stop not "stop" the bot but disables tp feature
    - added daytrader balance
    - remove Hedge Distance (pointless)
    - remove Dummy variables for time (all in secounds now)
    - show hours if more then 3600 sec to wait
    - fix Spacin in display text
    - time stops based on timezone
    - remove double check in batch
    - protection fix
    - remove duplicated outputs
    - in Protect Profit mode .. always use timer mode (fast)
    - re-enable time stops with proper date functions
    - negative stop (equity stop if over equity already) (1.51)
    - disable cash target - if TP is set .. it will be converted to Equity target
    - 2 line status 1 TP 1 Hedge
    - show minutes to Close if more than 120 secounds till close
    - scalp switch (use 100ms timer)
    - kill after Execute Switch
    - Global Chartobjects
    - bug fixed if 0 pip position hedge is selected only
    - 3 digit Equity calculation
    - use percentage instead of absolute hedge value (Hedge Loss / Hedge Max Loss)
    - comment if only hedge
    - replace Hedge Global with Hedge ALL
    - export Hedge and GlobalTP to functions
    - fix global position hedge
    - include hedge bot (1.01)
    - starting version 0.3 name is changed to "SwingFish Helper" (previous "GlobalTP+", last version 0.23.2)
    - async close for faster execution
    - use 100 ms Timer to make it more responsive
    - remove cents display
    - better text and display equity percentage
    - reset equity OnTick
    - bug in calculating the total equity
    - use net instead of Gross
    - convert api names to new version