SwingFish Helper

for cTrader > 2.0 App Version 2.12

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.

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)

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.
  • 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.
  • Stop TP after
    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.
    This is done to avoid stuff like: You have set TP equity to 100. Your equity reaches 100 and the bot auto takes profit but you have the Stop TP after parameter on off. When you enter another trade, the bot would instantly close the new position because the equity is higher. So, if you have a TP on equity active this parameter should be set to “yes”.
  • 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.
  • TP Hour
    Is a time close (Local time Hours) Meaning if TP active is set to “Yes” it will close ALL trades on the account once the time is reached.
    If a TP equity is active at the same time and that target gets reached the TP equity parameter rules apply. (which ever comes first)
  • TP Minute
    same as Close Hour for the Minutes
    Example: Set Close Hours to 15 and Close Minute to 10,
    ALL Trades will be closed at 15:10 (local Time) regardless of the Profit/Loss at the given time.
  • 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

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 

    - 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