Apex Edge - London Open Session# Apex Edge - London Open Session Trading System
## Overview
The London Open Session indicator captures institutional price action during the first hour of the London forex session (8:00-9:00 AM GMT) and identifies high-probability breakout and retest opportunities. This system tracks the session's high/low range and generates precise entry signals when price breaks or retests these key institutional levels.
## Core Strategy
**Session Tracking**: Automatically identifies and marks the London Open session boundaries, creating a trading zone from the first hour's price range.
**Dual Entry Logic**: 
- **Breakout Entries**: Triggers when price closes beyond the session high/low and continues in that direction
- **Retest Entries**: Activates when price returns to test the broken level as new support/resistance
**Performance Analytics**: Built-in win rate tracking displays real-time performance statistics over user-defined lookback periods, enabling data-driven optimization for each currency pair.
## Key Features
### Automated Zone Detection
- Precise London session timing with timezone offset controls
- Visual session boundaries with customizable colours
- Automatic high/low range calculation and display
### Smart Entry System
- Breakout confirmation requiring candle close beyond zone
- Retest detection with configurable pip distance tolerance
- Separate risk/reward ratios for breakout vs retest entries
- Visual entry arrows with clear trade direction labels
### Performance HUD
- Real-time win rate calculation over customizable periods (7-365 days)
- Total trades tracking with win/loss breakdown
- Average risk-reward ratio display
- Color-coded performance metrics (green >70%, yellow >50%, red <50%)
### PineConnector Integration
- Direct MT4/MT5 execution via PineConnector alerts
- Proper forex pip calculations for all currency pairs
- Customizable risk percentage per trade
- Symbol override capability for broker compatibility
- Automatic SL/TP level calculation in pips
## Critical Usage Requirements
### Pair-Specific Optimization
Each currency pair requires individual optimization due to varying volatility characteristics, institutional participation levels, and typical price ranges during London hours. The performance HUD is essential for identifying optimal settings before live trading.
**Recommended Testing Process**:
1. Apply indicator to desired currency pair and timeframe
2. Experiment with session timing - while 8:00-9:00 AM GMT is standard, some pairs may show improved performance with alternative hourly windows (e.g., 7:00-8:00 AM or 9:00-10:00 AM)
3. Adjust Stop Loss distances, Risk/Reward ratios, and Retest distances
4. Monitor win rate over 30+ day periods using the performance HUD
5. Only proceed with live alerts once consistent 60%+ win rates are achieved
6. Create separate optimized chart setups for each profitable pair/timeframe combination
### Timeframe Specifications
This indicator is specifically designed and tested for:
- **1-minute charts**: Optimal for capturing immediate institutional reactions
- **5-minute charts**: Balanced approach between noise reduction and opportunity frequency
Higher timeframes generally produce inferior results due to increased noise and reduced institutional edge during the London session window.
## Settings Configuration
### Session Timing
- **London Open/Close Hours**: Adjust for your chart's timezone
- **Rectangle End Time**: Set to 4:30 PM to stop signals before NY session close
- **Timezone Offset**: Ensure accurate London session capture
### Entry Parameters
- **Retest Distance**: 3-8 pips depending on pair volatility
- **Stop Loss Pips**: Separate settings for breakouts (10-15 pips) and retests (8-12 pips)
- **Risk/Reward Ratios**: Independent ratios for different entry types
### PineConnector Setup
- **License ID**: Your PineConnector license key
- **Symbol Override**: MT4/MT5 symbol names if different from TradingView
- **Risk Percentage**: Position size as percentage of account balance
- **Prefix/Comment**: Organize trades in terminal
## Manual Trading Limitations
Without PineConnector automation, traders face significant practical challenges:
**Settings Management**: Each currency pair requires different optimized parameters. Switching between charts means manually adjusting multiple settings each time, creating potential for errors and missed opportunities.
**Timing Sensitivity**: London Open signals can occur rapidly during high-volatility periods. Manual execution may result in slippage or missed entries.
**Multi-Pair Monitoring**: Tracking 4-11 currency pairs simultaneously while manually adjusting settings for each switch becomes impractical for most traders.
**Parameter Consistency**: Risk of using suboptimal settings when quickly switching between pairs, potentially compromising the careful optimization work.
## Recommended Workflow
1. **Historical Testing**: Use win rate HUD to identify profitable pairs and optimal parameters
2. **Demo Automation**: Test PineConnector alerts on demo accounts with optimized settings
3. **Live Implementation**: Deploy alerts only on proven profitable pair/timeframe combinations
4. **Ongoing Monitoring**: Regular review of performance metrics to maintain edge
## Risk Disclaimer
This indicator provides analysis tools and automation capabilities but does not guarantee profitable trading outcomes. Past performance does not predict future results. Users should thoroughly backtest and demo trade before risking live capital. The London session strategy works best during specific market conditions and may underperform during low volatility or unusual market environments.
## Support Requirements
Successful implementation requires:
- Basic understanding of London session market dynamics
- PineConnector subscription for automation features
- Patience for proper optimization process
- Realistic expectations about win rates and drawdown periods
This system is designed for serious traders willing to invest time in proper optimization and risk management rather than plug-and-play solutions.
Pineconnector
Milvetti_Pineconnector_LibraryLibrary   "Milvetti_Pineconnector_Library" 
This library has methods that provide practical signal transmission for Pineconnector.Developed By Milvetti
 buy(licenseId, symbol, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment) 
  Create a buy order message
  Parameters:
     licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
     symbol (string) : Symbol. Default is syminfo.ticker
     risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
     sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
     tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
     beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
     beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
     trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
     trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
     trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
     atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
     atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
     atrPeriod (int) : ATR averaging period. Default is 0
     atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
     atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
     accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
     secret (string) 
     comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
 sell(licenseId, symbol, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment) 
  Create a buy order message
  Parameters:
     licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
     symbol (string) : Symbol. Default is syminfo.ticker
     risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
     sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
     tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
     beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
     beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
     trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
     trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
     trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
     atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
     atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
     atrPeriod (int) : ATR averaging period. Default is 0
     atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
     atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
     accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
     secret (string) 
     comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
 buyLimit(licenseId, symbol, pending, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment) 
  Create a buy limit order message
  Parameters:
     licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
     symbol (string) : Symbol. Default is syminfo.ticker
     pending (float) : Computing pending order entry price. EA Options: Pips, Specified Price, Percentage
     risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
     sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
     tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
     beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
     beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
     trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
     trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
     trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
     atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
     atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
     atrPeriod (int) : ATR averaging period. Default is 0
     atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
     atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
     accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
     secret (string) 
     comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
 buyStop(licenseId, symbol, pending, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment) 
  Create a buy stop order message
  Parameters:
     licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
     symbol (string) : Symbol. Default is syminfo.ticker
     pending (float) : Computing pending order entry price. EA Options: Pips, Specified Price, Percentage
     risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
     sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
     tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
     beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
     beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
     trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
     trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
     trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
     atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
     atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
     atrPeriod (int) : ATR averaging period. Default is 0
     atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
     atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
     accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
     secret (string) 
     comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
 sellLimit(licenseId, symbol, pending, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment) 
  Create a sell limit order message
  Parameters:
     licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
     symbol (string) : Symbol. Default is syminfo.ticker
     pending (float) : Computing pending order entry price. EA Options: Pips, Specified Price, Percentage
     risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
     sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
     tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
     beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
     beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
     trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
     trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
     trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
     atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
     atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
     atrPeriod (int) : ATR averaging period. Default is 0
     atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
     atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
     accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
     secret (string) 
     comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
 sellStop(licenseId, symbol, pending, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment) 
  Create a sell stop order message
  Parameters:
     licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
     symbol (string) : Symbol. Default is syminfo.ticker
     pending (float) : Computing pending order entry price. EA Options: Pips, Specified Price, Percentage
     risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
     sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
     tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
     beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
     beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
     trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
     trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
     trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
     atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
     atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
     atrPeriod (int) : ATR averaging period. Default is 0
     atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
     atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
     accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
     secret (string) 
     comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
PineConnectorLibrary   "PineConnector" 
This library is a comprehensive alert webhook text generator for PineConnector. It contains every possible alert syntax variation from the documentation, along with some debugging functions.
To use it, just import the library (eg. "import ZenAndTheArtOfTrading/PineConnector/1 as pc") and use pc.buy(licenseID) to send an alert off to PineConnector - assuming all your webhooks etc are set up correctly.
View the PineConnector documentation for more information on how to send the commands you're looking to send (all of this library's function names match the documentation).
 all() 
  Usage: pc.buy(pc_id, freq=pc.all())
  Returns: "all"
 once_per_bar() 
  Usage: pc.buy(pc_id, freq=pc.once_per_bar())
  Returns: "once_per_bar"
 once_per_bar_close() 
  Usage: pc.buy(pc_id, freq=pc.once_per_bar_close())
  Returns: "once_per_bar_close"
 na0(value) 
  Checks if given value is either 'na' or 0. Useful for streamlining scripts with float user setting inputs which default values to 0 since na is unavailable as a user input default.
  Parameters:
     value (float) : The value to check
  Returns: True if the given value is 0 or na
 getDecimals() 
  Calculates how many decimals are on the quote price of the current market.
  Returns: The current decimal places on the market quote price
 truncate(number, decimals) 
  Truncates the given number. Required params: mumber.
  Parameters:
     number (float) : Number to truncate
     decimals (int) : Decimal places to cut down to
  Returns: The input number, but as a string truncated to X decimals
 getPipSize(multiplier) 
  Calculates the pip size of the current market.
  Parameters:
     multiplier (int) : The mintick point multiplier (1 by default, 10 for FX/Crypto/CFD but can be used to override when certain markets require)
  Returns: The pip size for the current market
 toWhole(number) 
  Converts pips into whole numbers. Required params: number.
  Parameters:
     number (float) : The pip number to convert into a whole number
  Returns: The converted number
 toPips(number) 
  Converts whole numbers back into pips. Required params: number.
  Parameters:
     number (float) : The whole number to convert into pips
  Returns: The converted number
 debug(txt, tooltip, displayLabel) 
  Prints to console and generates a debug label with the given text. Required params: txt.
  Parameters:
     txt (string) : Text to display
     tooltip (string) : Tooltip to display (optional)
     displayLabel (bool) : Turns on/off chart label (default: off)
  Returns: Nothing
 order(licenseID, command, symbol, parameters, accfilter, comment, secret, freq, debug) 
  Generates an alert string. Required params: licenseID, command.
  Parameters:
     licenseID (string) : Your PC license ID
     command (string) : Command to send
     symbol (string) : The symbol to trigger this order on
     parameters (string) : Other optional parameters to include
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment (maximum 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: An alert string with valid PC syntax based on supplied parameters
 market_order(licenseID, buy, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug) 
  Generates a market entry alert with relevant syntax commands. Required params: licenseID, buy, risk.
  Parameters:
     licenseID (string) : Your PC license ID
     buy (bool) : true=buy/long, false=sell/short
     risk (float) : Risk quantity (according to EA settings)
     sl (float) : Stop loss distance in pips or price
     tp (float) : Take profit distance in pips or price
     betrigger (float) : Breakeven will be activated after the position gains this number of pips
     beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
     trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
     traildist (float) : Distance of the trailing stop-loss from current price
     trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
     atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
     atrperiod (int) : ATR averaging period
     atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
     atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
     atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
     symbol (string) : The symbol to trigger this order on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment (maximum 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: A market order alert string with valid PC syntax based on supplied parameters
 buy(licenseID, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug) 
  Generates a market buy alert with relevant syntax commands. Required params: licenseID, risk.
  Parameters:
     licenseID (string) : Your PC license ID
     risk (float) : Risk quantity (according to EA settings)
     sl (float) : Stop loss distance in pips or price
     tp (float) : Take profit distance in pips or price
     betrigger (float) : Breakeven will be activated after the position gains this number of pips
     beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
     trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
     traildist (float) : Distance of the trailing stop-loss from current price
     trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
     atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
     atrperiod (int) : ATR averaging period
     atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
     atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
     atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
     symbol (string) : The symbol to trigger this order on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment (maximum 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: A market order alert string with valid PC syntax based on supplied parameters
 sell(licenseID, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug) 
  Generates a market sell alert with relevant syntax commands. Required params: licenseID, risk.
  Parameters:
     licenseID (string) : Your PC license ID
     risk (float) : Risk quantity (according to EA settings)
     sl (float) : Stop loss distance in pips or price
     tp (float) : Take profit distance in pips or price
     betrigger (float) : Breakeven will be activated after the position gains this number of pips
     beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
     trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
     traildist (float) : Distance of the trailing stop-loss from current price
     trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
     atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
     atrperiod (int) : ATR averaging period
     atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
     atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
     atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
     symbol (string) : The symbol to trigger this order on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment (maximum 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: A market order alert string with valid PC syntax based on supplied parameters
 closeall(licenseID, comment, secret, freq, debug) 
  Closes all open trades at market regardless of symbol. Required params: licenseID.
  Parameters:
     licenseID (string) : Your PC license ID
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 closealleaoff(licenseID, comment, secret, freq, debug) 
  Closes all open trades at market regardless of symbol, and turns the EA off. Required params: licenseID.
  Parameters:
     licenseID (string) : Your PC license ID
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 closelong(licenseID, symbol, comment, secret, freq, debug) 
  Closes all long trades at market for the given symbol. Required params: licenseID.
  Parameters:
     licenseID (string) : Your PC license ID
     symbol (string) : Symbol to act on (defaults to current symbol)
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 closeshort(licenseID, symbol, comment, secret, freq, debug) 
  Closes all open short trades at market for the given symbol. Required params: licenseID.
  Parameters:
     licenseID (string) : Your PC license ID
     symbol (string) : Symbol to act on (defaults to current symbol)
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 closelongshort(licenseID, symbol, comment, secret, freq, debug) 
  Closes all open trades at market for the given symbol. Required params: licenseID.
  Parameters:
     licenseID (string) : Your PC license ID
     symbol (string) : Symbol to act on (defaults to current symbol)
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 closelongbuy(licenseID, risk, symbol, comment, secret, freq, debug) 
  Close all long positions and open a new long at market for the given symbol with given risk/contracts. Required params: licenseID.
  Parameters:
     licenseID (string) : Your PC license ID
     risk (float) : Risk or contracts (according to EA settings)
     symbol (string) : Symbol to act on (defaults to current symbol)
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 closeshortsell(licenseID, risk, symbol, comment, secret, freq, debug) 
  Close all short positions and open a new short at market for the given symbol with given risk/contracts. Required params: licenseID, risk.
  Parameters:
     licenseID (string) : Your PC license ID
     risk (float) : Risk or contracts (according to EA settings)
     symbol (string) : Symbol to act on (defaults to current symbol)
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 newsltplong(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug) 
  Updates the stop loss and/or take profit of any open long trades on the given symbol with the given values. Required params: licenseID, sl and/or tp.
  Parameters:
     licenseID (string) : Your PC license ID
     sl (float) : Stop loss pips or price (according to EA settings)
     tp (float) : Take profit pips or price (according to EA settings)
     symbol (string) : Symbol to act on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 newsltpshort(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug) 
  Updates the stop loss and/or take profit of any open short trades on the given symbol with the given values. Required params: licenseID, sl and/or tp.
  Parameters:
     licenseID (string) : Your PC license ID
     sl (float) : Stop loss pips or price (according to EA settings)
     tp (float) : Take profit pips or price (according to EA settings)
     symbol (string) : Symbol to act on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 closelongpct(licenseID, symbol, comment, secret, freq, debug) 
  Close a percentage of open long positions (according to EA settings). Required params: licenseID.
  Parameters:
     licenseID (string) : Your PC license ID
     symbol (string) : Symbol to act on (defaults to current symbol)
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 closeshortpct(licenseID, symbol, comment, secret, freq, debug) 
  Close a percentage of open short positions (according to EA settings). Required params: licenseID.
  Parameters:
     licenseID (string) : Your PC license ID
     symbol (string) : Symbol to act on (defaults to current symbol)
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 closelongvol(licenseID, risk, symbol, comment, secret, freq, debug) 
  Close all open long contracts on the current symbol until the given risk value is remaining. Required params: licenseID, risk.
  Parameters:
     licenseID (string) : Your PC license ID
     risk (float) : The quantity to leave remaining
     symbol (string) : Symbol to act on (defaults to current symbol)
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 closeshortvol(licenseID, risk, symbol, comment, secret, freq, debug) 
  Close all open short contracts on the current symbol until the given risk value is remaining. Required params: licenseID, risk.
  Parameters:
     licenseID (string) : Your PC license ID
     risk (float) : The quantity to leave remaining
     symbol (string) : Symbol to act on (defaults to current symbol)
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 limit_order(licenseID, buy, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug) 
  Generates a limit order alert with relevant syntax commands. Required params: licenseID, buy, price, risk.
  Parameters:
     licenseID (string) : Your PC license ID
     buy (bool) : true=buy/long, false=sell/short
     price (float) : Price or pips to set limit order (according to EA settings)
     risk (float) : Risk quantity (according to EA settings)
     sl (float) : Stop loss distance in pips or price
     tp (float) : Take profit distance in pips or price
     betrigger (float) : Breakeven will be activated after the position gains this number of pips
     beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
     trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
     traildist (float) : Distance of the trailing stop-loss from current price
     trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
     atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
     atrperiod (int) : ATR averaging period
     atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
     atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
     atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
     symbol (string) : The symbol to trigger this order on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment (maximum 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: A limit order alert string with valid PC syntax based on supplied parameters
 buylimit(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug) 
  Generates a buylimit order alert with relevant syntax commands. Required params: licenseID, price, risk.
  Parameters:
     licenseID (string) : Your PC license ID
     price (float) : Price or pips to set limit order (according to EA settings)
     risk (float) : Risk quantity (according to EA settings)
     sl (float) : Stop loss distance in pips or price
     tp (float) : Take profit distance in pips or price
     betrigger (float) : Breakeven will be activated after the position gains this number of pips
     beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
     trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
     traildist (float) : Distance of the trailing stop-loss from current price
     trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
     atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
     atrperiod (int) : ATR averaging period
     atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
     atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
     atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
     symbol (string) : The symbol to trigger this order on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment (maximum 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: A limit order alert string with valid PC syntax based on supplied parameters
 selllimit(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug) 
  Generates a selllimit order alert with relevant syntax commands. Required params: licenseID, price, risk.
  Parameters:
     licenseID (string) : Your PC license ID
     price (float) : Price or pips to set limit order (according to EA settings)
     risk (float) : Risk quantity (according to EA settings)
     sl (float) : Stop loss distance in pips or price
     tp (float) : Take profit distance in pips or price
     betrigger (float) : Breakeven will be activated after the position gains this number of pips
     beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
     trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
     traildist (float) : Distance of the trailing stop-loss from current price
     trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
     atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
     atrperiod (int) : ATR averaging period
     atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
     atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
     atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
     symbol (string) : The symbol to trigger this order on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment (maximum 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: A limit order alert string with valid PC syntax based on supplied parameters
 stop_order(licenseID, buy, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug) 
  Generates a stop order alert with relevant syntax commands. Required params: licenseID, buy, price, risk.
  Parameters:
     licenseID (string) : Your PC license ID
     buy (bool) : true=buy/long, false=sell/short
     price (float) : Price or pips to set limit order (according to EA settings)
     risk (float) : Risk quantity (according to EA settings)
     sl (float) : Stop loss distance in pips or price
     tp (float) : Take profit distance in pips or price
     betrigger (float) : Breakeven will be activated after the position gains this number of pips
     beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
     trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
     traildist (float) : Distance of the trailing stop-loss from current price
     trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
     atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
     atrperiod (int) : ATR averaging period
     atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
     atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
     atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
     symbol (string) : The symbol to trigger this order on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment (maximum 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: A stop order alert string with valid PC syntax based on supplied parameters
 buystop(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug) 
  Generates a buystop order alert with relevant syntax commands. Required params: licenseID, price, risk.
  Parameters:
     licenseID (string) : Your PC license ID
     price (float) : Price or pips to set limit order (according to EA settings)
     risk (float) : Risk quantity (according to EA settings)
     sl (float) : Stop loss distance in pips or price
     tp (float) : Take profit distance in pips or price
     betrigger (float) : Breakeven will be activated after the position gains this number of pips
     beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
     trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
     traildist (float) : Distance of the trailing stop-loss from current price
     trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
     atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
     atrperiod (int) : ATR averaging period
     atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
     atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
     atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
     symbol (string) : The symbol to trigger this order on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment (maximum 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: A stop order alert string with valid PC syntax based on supplied parameters
 sellstop(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug) 
  Generates a sellstop order alert with relevant syntax commands. Required params: licenseID, price, risk.
  Parameters:
     licenseID (string) : Your PC license ID
     price (float) : Price or pips to set limit order (according to EA settings)
     risk (float) : Risk quantity (according to EA settings)
     sl (float) : Stop loss distance in pips or price
     tp (float) : Take profit distance in pips or price
     betrigger (float) : Breakeven will be activated after the position gains this number of pips
     beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
     trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
     traildist (float) : Distance of the trailing stop-loss from current price
     trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
     atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
     atrperiod (int) : ATR averaging period
     atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
     atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
     atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
     symbol (string) : The symbol to trigger this order on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment (maximum 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: A stop order alert string with valid PC syntax based on supplied parameters
 cancel_neworder(licenseID, order, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug) 
  Cancel + place new order template function.
  Parameters:
     licenseID (string) : Your PC license ID
     order (string) : Cancel order type
     price (float) : Price or pips to set limit order (according to EA settings)
     risk (float) : Risk quantity (according to EA settings)
     sl (float) : Stop loss distance in pips or price
     tp (float) : Take profit distance in pips or price
     betrigger (float) : Breakeven will be activated after the position gains this number of pips
     beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
     trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
     traildist (float) : Distance of the trailing stop-loss from current price
     trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
     atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
     atrperiod (int) : ATR averaging period
     atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
     atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
     atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
     symbol (string) : The symbol to trigger this order on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment (maximum 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: A stop order alert string with valid PC syntax based on supplied parameters
 cancellongbuystop(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug) 
  Cancels all long orders with the specified symbol and places a new buystop order. Required params: licenseID, price, risk.
  Parameters:
     licenseID (string) : Your PC license ID
     price (float) : Price or pips to set limit order (according to EA settings)
     risk (float) : Risk quantity (according to EA settings)
     sl (float) : Stop loss distance in pips or price
     tp (float) : Take profit distance in pips or price
     betrigger (float) : Breakeven will be activated after the position gains this number of pips
     beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
     trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
     traildist (float) : Distance of the trailing stop-loss from current price
     trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
     atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
     atrperiod (int) : ATR averaging period
     atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
     atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
     atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
     symbol (string) : The symbol to trigger this order on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment (maximum 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: A stop order alert string with valid PC syntax based on supplied parameters
 cancellongbuylimit(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug) 
  Cancels all long orders with the specified symbol and places a new buylimit order. Required params: licenseID, price, risk.
  Parameters:
     licenseID (string) : Your PC license ID
     price (float) : Price or pips to set limit order (according to EA settings)
     risk (float) : Risk quantity (according to EA settings)
     sl (float) : Stop loss distance in pips or price
     tp (float) : Take profit distance in pips or price
     betrigger (float) : Breakeven will be activated after the position gains this number of pips
     beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
     trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
     traildist (float) : Distance of the trailing stop-loss from current price
     trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
     atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
     atrperiod (int) : ATR averaging period
     atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
     atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
     atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
     symbol (string) : The symbol to trigger this order on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment (maximum 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: A stop order alert string with valid PC syntax based on supplied parameters
 cancelshortsellstop(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug) 
  Cancels all short orders with the specified symbol and places a sellstop order. Required params: licenseID, price, risk.
  Parameters:
     licenseID (string) : Your PC license ID
     price (float) : Price or pips to set limit order (according to EA settings)
     risk (float) : Risk quantity (according to EA settings)
     sl (float) : Stop loss distance in pips or price
     tp (float) : Take profit distance in pips or price
     betrigger (float) : Breakeven will be activated after the position gains this number of pips
     beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
     trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
     traildist (float) : Distance of the trailing stop-loss from current price
     trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
     atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
     atrperiod (int) : ATR averaging period
     atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
     atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
     atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
     symbol (string) : The symbol to trigger this order on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment (maximum 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: A stop order alert string with valid PC syntax based on supplied parameters
 cancelshortselllimit(licenseID, price, risk, sl, tp, betrigger, beoffset, spread, trailtrig, traildist, trailstep, atrtimeframe, atrperiod, atrmultiplier, atrshift, atrtrigger, symbol, accfilter, comment, secret, freq, debug) 
  Cancels all short orders with the specified symbol and places a selllimit order. Required params: licenseID, price, risk.
  Parameters:
     licenseID (string) : Your PC license ID
     price (float) : Price or pips to set limit order (according to EA settings)
     risk (float) : Risk quantity (according to EA settings)
     sl (float) : Stop loss distance in pips or price
     tp (float) : Take profit distance in pips or price
     betrigger (float) : Breakeven will be activated after the position gains this number of pips
     beoffset (float) : Offset from entry price. This is the amount of pips you'd like to protect
     spread (float) : Enter the position only if the spread is equal or less than the specified value in pips
     trailtrig (float) : Trailing stop-loss will be activated after a trade gains this number of pips
     traildist (float) : Distance of the trailing stop-loss from current price
     trailstep (float) : Moves trailing stop-loss once price moves to favourable by a specified number of pips
     atrtimeframe (int) : ATR Trailing Stop timeframe, only updates once per bar close. Options: 1, 5, 15, 30, 60, 240, 1440
     atrperiod (int) : ATR averaging period
     atrmultiplier (float) : Multiple of ATR to utilise in the new SL computation, default = 1
     atrshift (int) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default = 0
     atrtrigger (int) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default = 0 (instant)
     symbol (string) : The symbol to trigger this order on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment (maximum 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: A stop order alert string with valid PC syntax based on supplied parameters
 cancellong(licenseID, symbol, accfilter, comment, secret, freq, debug) 
  Cancels all pending long orders with the specified symbol. Required params: licenseID.
  Parameters:
     licenseID (string) : Your PC license ID
     symbol (string) : Symbol to act on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: A cancel long alert command
 cancelshort(licenseID, symbol, accfilter, comment, secret, freq, debug) 
  Cancels all pending short orders with the specified symbol. Required params: licenseID.
  Parameters:
     licenseID (string) : Your PC license ID
     symbol (string) : Symbol to act on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: A cancel short alert command
 newsltpbuystop(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug) 
  Updates the stop loss and/or take profit of any pending buy stop orders on the given symbol. Required params: licenseID, sl and/or tp.
  Parameters:
     licenseID (string) : Your PC license ID
     sl (float) : Stop loss pips or price (according to EA settings)
     tp (float) : Take profit pips or price (according to EA settings)
     symbol (string) : Symbol to act on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 newsltpbuylimit(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug) 
  Updates the stop loss and/or take profit of any pending buy limit orders on the given symbol. Required params: licenseID, sl and/or tp.
  Parameters:
     licenseID (string) : Your PC license ID
     sl (float) : Stop loss pips or price (according to EA settings)
     tp (float) : Take profit pips or price (according to EA settings)
     symbol (string) : Symbol to act on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 newsltpsellstop(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug) 
  Updates the stop loss and/or take profit of any pending sell stop orders on the given symbol. Required params: licenseID, sl and/or tp.
  Parameters:
     licenseID (string) : Your PC license ID
     sl (float) : Stop loss pips or price (according to EA settings)
     tp (float) : Take profit pips or price (according to EA settings)
     symbol (string) : Symbol to act on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 newsltpselllimit(licenseID, sl, tp, symbol, accfilter, comment, secret, freq, debug) 
  Updates the stop loss and/or take profit of any pending sell limit orders on the given symbol. Required params: licenseID, sl and/or tp.
  Parameters:
     licenseID (string) : Your PC license ID
     sl (float) : Stop loss pips or price (according to EA settings)
     tp (float) : Take profit pips or price (according to EA settings)
     symbol (string) : Symbol to act on (defaults to current symbol)
     accfilter (float) : Optional minimum account balance filter
     comment (string) : Optional comment to include (max 20 characters)
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 eaoff(licenseID, secret, freq, debug) 
  Turns the EA off. Required params: licenseID.
  Parameters:
     licenseID (string) : Your PC license ID
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
 eaon(licenseID, secret, freq, debug) 
  Turns the EA on. Required params: licenseID.
  Parameters:
     licenseID (string) : Your PC license ID
     secret (string) : Optional secret key (must be enabled in dashboard)
     freq (string) : Alert frequency. Default = "all", options = "once_per_bar", "once_per_bar_close" and "none"
     debug (bool) : Turns on/off debug label
  Returns: The required alert syntax as a string
Session Breakout Scalper Trading BotHi Traders !
 Introduction: 
I have recently been exploring the world of automated algorithmic trading (as I prefer more objective trading strategies over subjective technical analysis (TA)) and would like to share one of my automation compatible (PineConnecter compatible) scripts “Session Breakout Scalper”.
The strategy is really simple and is based on time conditional breakouts although has more ”relatively” advanced optional features such as the regime indicators (Regime Filters) that attempt to filter out noise by adding more confluence states and the ATR multiple SL that takes into account volatility to mitigate the down side risk of the trade.
 What is Algorthmic Trading: 
Firstly what is algorithmic trading? Algorithmic trading also known as algo-trading, is a method of using computer programs (in this case pine script) to execute trades based on predetermined rules and instructions (this trading strategy). It's like having a robot trader who follows a strict set of commands to buy and sell assets automatically, without any human intervention.
 Important Note: 
For Algorithmic trading the strategy will require you having an essential TV subscription at the minimum (so that you can set alerts) plus a PineConnecter subscription (scroll down to the .”How does the strategy send signals” headings to read more)
 The Strategy Explained: 
 
 Is the Time input true ? (this can be changed by toggling times under the “TRADE MEDIAN TIMES” group for user inputs).
 Given the above is true the strategy waits x bars after the session and then calculates the highest high (HH) to lowest low (LL) range. For this box to form, the user defined amount of bars must print after the session. The box is symmetrical meaning the HH and LL are calculated over a lookback that is equal to the sum of user defined bars before and after the session (+ 1).
 The Strategy then simultaneously defines the HH as the buy level (green line) and the LL as the sell level (red line). note the strategy will set stop orders at these levels respectively.
 Enter a buy if price action crosses above the HH, and then cancel the sell order type (The opposite is true for a stop order).
 If the momentum based regime filters are true the strategy will check for the regime / regimes to be true, if the regime if false the strategy will exit the current trade, as the regime filter has predicted a slowing / reversal of momentum.
 
The image below shows the strategy executing these trading rules  ( Regime filters, "Trades on chart",  "Signal & Label" and  "Quantity" have been omitted. "Strategy label plots" has been switched to true) 
 Other Strategy Rules: 
 
 If a new session (time session which is user defined) is true (blue vertical line) and the strategy is currently still in a trade it will exit that trade immediately.
 It is possible to also set a range of percentage gain per day that the strategy will try to acquire, if at any point the strategy’s profit is within the percentage range then the position / trade will be exited immediately (This can be changed in the “PERCENT DAY GAIN” group for user inputs)
 
 Stops and Targets: 
The strategy has either static (fixed) or variable SL options. TP however is only static. The “STRAT TP & TP” group of user inputs is responsible for the SL and TP values (quoted in pips). Note once the ATR stop is set to true the SL values in the above group no longer have any affect on the SL as expected.
 What are the Regime Filters: 
The Larry Williams Large Trade Index (LWLTI): The Larry Williams Large Trade Index (LWTI) is a momentum-based technical indicator developed by iconic trader Larry Williams. It identifies potential entries and exits for trades by gauging market sentiment, particularly the buying and selling pressure from large market players. Here's a breakdown of the LWTI:
LWLTI components and their interpretation:
Oscillator: It oscillates between 0 and 100, with 50 acting as the neutral line.
Sentiment Meter: Values above 75 suggest a bearish market dominated by large selling, while readings below 25 indicate a bullish market with strong buying from large players.
Trend Confirmation: Crossing above 75 during an uptrend and below 25 during a downtrend confirms the trend's continuation.
The Andean Oscillator (AO) : The Andean Oscillator is a trend and momentum based indicator designed to measure the degree of variations within individual uptrends and downtrends in the prices.
 Regime Filter States: 
In trading, a regime filter is a tool used to identify the current state or "regime" of the market.
These Regime filters are integrated within the trading strategy to attempt to lower risk (equity volatility and/or draw down). The regime filters have different states for each market order type (buy and sell). When the regime filters are set to true, if these regime states fail to be true the trade is exited immediately.
For Buy Trades:
 
 LWLTI positive momentum state: Quotient of the lagged trailing difference and the ATR > 50
 AO positive momentum state: Bull line > Bear line (signal line is omitted)
 
For Sell Trades:
 
 LWLTI negative momentum stat: Quotient of the lagged trailing difference and the ATR < 50
 AO negative momentum state: Bull line < Bear line (signal line is omitted)
 
 How does the Strategy Send Signals: 
The strategy triggers a TV alert (you will neet to set a alert first), TV then sends a HTTP request to the automation software (PineConnecter) which receives the request and then communicates to an MT4/5 EA to automate the trading strategy.
For the strategy to send signals you must have the following
 
 At least a TV essential subscription
 This Script added to your chart
 A PineConnecter account, which is paid and not free. This will provide you with the expert advisor that executes trades based on these strategies signals.
 
For more detailed information on the automation process I would recommend you read the PineConnecter documentation and FAQ page.
 Dashboard: 
This Dashboard (top right by defualt) lists some simple trading statistics and also shows when a trade is live.
 Important Notice: 
- USE THIS STRATEGY AT YOUR OWN RISK AND ALWAYS DO YOUR OWN RESEARCH & MANUAL BACKTESTING !
- THE STRATEGY WILL NOT EXHIBIT THE BACKTEST PERFORMANCE SEEN BELOW IN ALL MARKETS !
Pineconnector Strategy Template (Connect Any Indicator)Hello traders,
If you're tired of manual trading and looking for a solid strategy template to pair with your indicators, look no further. 
This Pine Script v5 strategy template is engineered for maximum customization and risk management. 
Best part? 
It’s optimized for Pineconnector, allowing seamless integration with MetaTrader 4 and 5.
This powerful tool gives a lot of power to those who don't know how to code in Pinescript and are looking to automate their indicators' signals on Metatrader 4/5.
 IMPORTANT NOTES 
Pineconnector is a trading bot software that forwards TradingView alerts to your Metatrader 4/5 for automating trading.
Many traders don't know how to dynamically create Pineconnector-compatible alerts using the data from their TradingView scripts.
Traders using trading bots want their alerts to reflect the stop-loss/take-profit/trailing-stop/stop-loss to break options from your script and then create the orders accordingly.
This script showcases how to create Pineconnector alerts dynamically.
Pineconnector doesn't support alerts with multiple Take Profits.
As a workaround, for 2 TPs, I had to open two trades.
It's not optimal, as we end up paying more spreads for that extra trade - however, depending on your trading strategy, it may not be a big deal.
 TRADINGVIEW ALERTS 
1) You'll have to create one alert per asset X timeframe = 1 chart.
Example: 1 alert for EUR/USD on the 5 minutes chart, 1 alert for EUR/USD on the 15-minute chart (assuming you want your bot to trade the EUR/USD on the 5 and 15-minute timeframes)
2) Select the Order fills and alert() function calls condition
3) For each alert, the alert message is pre-configured with the text below
{{strategy.order.alert_message}}
Please leave it as it is.
It's a TradingView native variable that will fetch the alert text messages built by the script.
4) Don't forget to set the Pineconnector webhook URL in the Notifications tab of the TradingView alerts UI.
You’ll find the URL on the Pineconnector documentation website.
 EA CONFIGURATION 
1) The Pyramiding in the EA on Metatrader must be set to 2 if you want to trade with 2 TPs => as it's opening 2 trades.
If you only want 1 TP, set the EA Pyramiding to 1.
Regarding the other EA settings, please refer to the Pineconnector documentation on their website.
2) In the EA, you can set a risk (= position size type) in %/lots/USD, as in the TradingView backtest settings.
 KEY FEATURES 
I) Modular Indicator Connection
    * plug in your existing indicator into the template.
    * Only two lines of code are needed for full compatibility.
 Step 1: Create your connector 
Adapt your indicator with only 2 lines of code and then connect it to this strategy template.
To do so:
1) Find in your indicator where the conditions print the long/buy and short/sell signals.
2) Create an additional plot as below
I'm giving an example with a Two moving averages cross.
Please replicate the same methodology for your indicator, whether it's a MACD , ZigZag , Pivots , higher-highs, lower-lows, or whatever indicator with clear buy and sell conditions.
 
//@version=5
indicator("Supertrend", overlay = true, timeframe = "", timeframe_gaps = true)
atrPeriod = input.int(10,    "ATR Length", minval = 1)
factor =    input.float(3.0, "Factor",     minval = 0.01, step = 0.01)
  = ta.supertrend(factor, atrPeriod)
supertrend := barstate.isfirst ? na : supertrend
bodyMiddle = plot(barstate.isfirst ? na : (open + close) / 2, display = display.none)
upTrend =    plot(direction < 0 ? supertrend : na, "Up Trend",   color = color.green, style = plot.style_linebr)
downTrend =  plot(direction < 0 ? na : supertrend, "Down Trend", color = color.red,   style = plot.style_linebr)
fill(bodyMiddle, upTrend,   color.new(color.green, 90), fillgaps = false)
fill(bodyMiddle, downTrend, color.new(color.red,   90), fillgaps = false)
buy  = ta.crossunder(direction, 0)
sell = ta.crossunder(direction, 0)
//////// CONNECTOR SECTION //////// 
Signal = buy ? 1 : sell ? -1 : 0
plot(Signal, title = "Signal", display = display.data_window)
//////// CONNECTOR SECTION //////// 
 
 Important Notes 
🔥 The Strategy Template expects the value to be exactly 1 for the bullish signal and -1 for the bearish signal
Now, you can connect your indicator to the Strategy Template using the method below or that one.
 Step 2: Connect the connector 
1) Add your updated indicator to a TradingView chart
2) Add the Strategy Template as well to the SAME chart
3) Open the Strategy Template settings, and in the Data Source field, select your 🔌Connector🔌 (which comes from your indicator)
Note it doesn’t have to be named 🔌Connector🔌 - you can name it as you want - however, I recommend an explicit name you can easily remember.
From then, you should start seeing the signals and plenty of other stuff on your chart.
🔥 Note that whenever you update your indicator values, the strategy statistics and visuals on your chart will update in real-time
 II) Customizable Risk Management 
- Choose between percentage or USD modes for maximum drawdown.
- Set max consecutive losing days and max losing streak length.
		
- I used the code from my friend @JosKodify for the maximum losing streak. :) 
Will halt the EA and backtest orders fill whenever either of the safeguards above are “broken”
 III) Intraday Risk Management 
- Limit the maximum intraday losses both in percentage or USD.
- Option to set a maximum number of intraday trades.
- If your EA gets halted on an intraday chart, auto-restart it the next day.
 IV) Spread and Account Filters 
- Trade only if the spread is below a certain pip value.
- Set requirements based on account balance or equity.
 V) Order Types and Position Sizing 
- Choose between market, limit, or stop orders.
- Set your position size directly in the template.
Please use the position size from the “Inputs” and not the “Properties” tab.
 Reason : The template sends the order on the same candle as the entry signals - at those entry signals candles, the position size isn’t computed yet, and the template can’t then send it to Pineconnector.
However, you can use the position size type (USD, contracts, %) from the “Properties” tab for backtesting. 
In the EA, you can define the position size type for your orders in USD or lots or %.
 VI) Advanced Take-Profit and Stop-Loss Options 
- Choose to set your SL/TP in either pips or percentages.
- Option for multiple take-profit levels and trailing stop losses.
- Move your stop loss to break even +/- offset in pips for “risk-free” trades.
 VII) Logger 
The Pineconnector commands are logged in the TradingView logger.
You'll find more information about it in this  TradingView blog post .
 WHY YOU MIGHT NEED THIS TEMPLATE 
1) Transform your indicator into a Pineconnector trading bot more easily than before
 
  Connect your indicator to the template
  Create your alerts
  Set your EA settings
 
2) Save Time
Auto-generated alert messages for Pineconnector.
I tested them all, and I checked with the support team what could/can’t be done
3) Be in Control
Manage your trading risks with advanced features.
4) Customizable
Fits various trading styles and asset classes.
 REQUIREMENTS 
* Make sure you have your Pineconnector license ID.
* Create your alerts with the Pineconnector webhook URL
* If there is any issue with the template, ask me in the comments section - I’ll answer quickly.
 BACKTEST RESULTS FROM THIS POST 
1) I connected this strategy template to a dummy Supertrend script.
I could have selected any other indicator or concept for this script post.
I wanted to share an example of how you can quickly upgrade your strategy, making it compatible with Pineconnector.
2) The backtest results aren't relevant for this educational script publication.
I used realistic backtesting data but didn't look too much into optimizing the results, as this isn't the point of why I'm publishing this script.
This strategy is a template to be connected to any indicator - the sky is the limit. :) 
3) This template is made to take 1 trade per direction at any given time.
Pyramiding is set to 1 on TradingView.
The strategy default settings are:
* Initial Capital: 100000 USD
* Position Size: 1 contract
* Commission Percent: 0.075%
* Slippage: 1 tick
* No margin/leverage used
 WHAT’S COMING NEXT FOR YOU GUYS? 
I’ll make the same template for ProfitView, then for AutoView, and then for Alertatron.
All of those are free and open-source.
I have no affiliations with any of those companies - I'm publishing those templates as they will be useful to many of you.
Dave
Heatmap MACD Strategy - Pineconnector (Dynamic Alerts)Hello traders
This script is an upgrade of this template script.
 Heatmap MACD Strategy 
 Pineconnector 
Pineconnector is a trading bot software that forwards TradingView alerts to your Metatrader 4/5 for automating trading.
Many traders don't know how to dynamically create Pineconnector-compatible alerts using the data from their TradingView scripts.
 Traders using trading bots want their alerts to reflect the stop-loss/take-profit/trailing-stop/stop-loss to breakeven options from your script and then create the orders accordingly. 
This script showcases how to create Pineconnector alerts dynamically.
Pineconnector doesn't support alerts with multiple Take Profits.
As a workaround, for 2 TPs, I had to open two trades.
It's not optimal, as we end up paying more spreads for that extra trade - however, depending on your trading strategy, it may not be a big deal.
 TradingView Alerts 
1) You'll have to create one alert per asset X timeframe = 1 chart.
 Example : 1 alert for EUR/USD on the 5 minutes chart, 1 alert for EUR/USD on the 15-minute chart (assuming you want your bot to trade the EUR/USD on the 5 and 15-minute timeframes)
2) For each alert, the alert message is pre-configured with the text below
 {{strategy.order.alert_message}} 
Please leave it as it is.
It's a TradingView native variable that will fetch the alert text messages built by the script.
3) Don't forget to set the webhook URL in the Notifications tab of the TradingView alerts UI.
 EA configuration 
The  Pyramiding  in the EA on Metatrader must be set to  2  if you want to trade with 2 TPs => as it's opening 2 trades.
If you only want 1 TP, set the EA  Pyramiding  to 1.
Regarding the other EA settings, please refer to the Pineconnector documentation on their website.
 Logger 
The Pineconnector commands are logged in the TradingView logger.
You'll find more information about it from this  TradingView blog post 
 Important Notes 
1) This multiple MACDs strategy doesn't matter much.
I could have selected any other indicator or concept for this script post.
I wanted to share an example of how you can quickly upgrade your strategy, making it compatible with Pineconnector.
2) The backtest results aren't relevant for this  educational  script publication.
I used realistic backtesting data but didn't look too much into optimizing the results, as this isn't the point of why I'm publishing this script.
3) This template is made to take 1 trade per direction at any given time.
Pyramiding is set to 1 on TradingView.
The strategy default settings are:
 
  Initial Capital: 100000 USD
  Position Size: 1 contract
  Commission Percent: 0.075%
  Slippage: 1 tick
  No margin/leverage used
 
For example, those are realistic settings for trading CFD indices with low timeframes but not the best possible settings for all assets/timeframes.
 Concept 
The Heatmap MACD Strategy allows selecting one MACD in five different timeframes.
You'll get an exit signal whenever one of the 5 MACDs changes direction.
Then, the strategy re-enters whenever all the MACDs are in the same direction again.
It takes:
 
  long trades when all the 5 MACD histograms are bullish
  short trades when all the 5 MACD histograms are bearish
  
You can select the same timeframe multiple times if you don't need five timeframes.
For example, if you only need the 30min, the 1H, and 2H, you can set your timeframes as follow:
 
  30m
  30m
  30m
  1H
  2H
 
 Risk Management Features 
All the features below are pips-based.
 
  Stop-Loss
  Trailing Stop-Loss
  Stop-Loss to Breakeven after a certain amount of pips has been reached
  Take Profit 1st level and closing X% of the trade
  Take Profit 2nd level and close the remaining of the trade
 
 Custom Exit 
I added the option ON/OFF to close the opened trade whenever one of the MACD diverges with the others.
 Help me help the community 
If you see any issue when adding your strategy logic to that template regarding the orders fills on your Metatrader, please let me know in the comments.
I'll use your feedback to make this template more robust. :)
 What's next? 
I'll publish a more generic template built as a connector so you can connect any indicator to that Pineconnector template.
Then, I'll publish a template for Capitalise AI, ProfitView, AutoView, and Alertatron.
Thank you
Dave
PineConnector newsfilterThis script can send an eaoff message to the pineconnector-EA at a preset time, and an eaon message for when the EA should be reenabled.
Handy for temporarily disabling pineconnector during news events.
Can be adjusted according to the local timezone.
PineConnector newsfilterScript can send an eaoff message to the pineconnector-EA at a preset time, and an eaon message for when the EA should be reenabled.
Handy for temporarily disabling pineconnector during news events.
This version works for timezone UTC+2
ATR GOD Strategy by TradeSmart (PineConnector-compatible)This is a  highly-customizable trading strategy  made by TradeSmart, focusing mainly on ATR-based indicators and filters. The strategy is mainly intended for  trading forex , and has been optimized using the Deep Backtest feature on the 2018.01.01 - 2023.06.01 interval on the EUR/USD (FXCM) 15M chart, with a Slippage value of 3, and a Commission set to 0.00004 USD per contract. The strategy is also made  compatible with PineConnector , to provide an easy option to  automate the strategy  using a connection to MetaTrader. See tooltips for details on how to set up the bot, and check out our website for a  detailed guide  with images on how to automate the strategy.
 The strategy was implemented using the following logic: 
 Entry strategy: 
A total of 4 Supertrend values can be used to determine the entry logic. There is option to set up all 4 Supertrend parameters individually, as well as their potential to be used as an entry signal/or a trend filter. Long/Short entry signals will be determined based on the selected potential Supertrend entry signals, and filtered based on them being in an uptrend/downtrend (also available for setup). Please use the provided tooltips for each setup to see every detail.
 Exit strategy: 
4 different types of Stop Losses are available: ATR-based/Candle Low/High Based/Percentage Based/Pip Based. Additionally, Force exiting can also be applied, where there is option to set up 4 custom sessions, and exits will happen after the session has closed.
 Parameters of every indicator used in the strategy can be tuned in the strategy settings as follows: 
 Plot settings: 
 
 Plot Signals: true by default, Show all Long and Short signals on the signal candle
 Plot SL/TP lines: false by default, Checking this option will result in the TP and SL lines to be plotted on the chart.
 
 Supertrend 1-4: 
All the parameters of the Supertrends can be set up here, as well as their individual role in the entry logic.
 Exit Strategy: 
 
 ATR Based Stop Loss: true by default
 ATR Length (of the SL): 100 by default
 ATR Smoothing (of the SL): RMA/SMMA by default
 Candle Low/High Based Stop Loss: false by default, recent lowest or highest point (depending on long/short position) will be used to calculate stop loss value. Set 'Base Risk Multiplier' to 1 if you would like to use the calculated value as is. Setting it to a different value will count as an additional multiplier.
 Candle Lookback (of the SL): 50 by default
 Percentage Based Stop Loss: false by default, Set the stop loss to current price - % of current price (long) or price + % of current price (short).
 Percentage (of the SL): 0.3 by default
 Pip Based Stop Loss: Set the stop loss to current price - x pips (long) or price + x pips (short). Set 'Base Risk Multiplier' to 1 if you would like to use the calculated value as is. Setting it to a different value will count as an additional multiplier.
 Pip (of the SL): 10 by default
 Base Risk Multiplier: 4.5 by default, the stop loss will be placed at this risk level (meaning in case of ATR SL that the ATR value will be multiplied by this factor and the SL will be placed that value away from the entry level)
 Risk to Reward Ratio: 1.5 by default, the take profit level will be placed such as this Risk/Reward ratio is met
 
 Force Exiting: 
4 total Force exit on custom session close options: none applied by default. If enabled, trades will close automatically after the set session is closed (on next candle's open).
 Base Setups: 
 
 Allow Long Entries: true by default
 Allow Short Entries: true by default
 Order Size: 10 by default
 Order Type: Capital Percentage by default, allows adjustment on how the position size is calculated: Cash: only the set cash amount will be used for each trade Contract(s): the adjusted number of contracts will be used for each trade Capital  Percentage: a % of the current available capital will be used for each trade
 
 ATR Limiter: 
 
 Use ATR Limiter: true by default, Only enter into any position (long/short) if ATR value is higher than the Low Boundary and lower than the High Boundary.
 ATR Limiter Length: 50 by default
 ATR Limiter Smoothing: RMA/SMMA by default
 High Boundary: 1000 by default
 Low Boundary: 0.0003 by default
 MA based calculation: ATR value under MA by default, If not Unspecified, an MA is calculated with the ATR value as source. Only enter into position (long/short) if ATR value is higher/lower than the MA.
 MA Type: RMA/SMMA by default
 MA Length: 400 by default
 
 Waddah Attar Filter: 
 
 Explosion/Deadzone relation: Not specified by default, Explosion over Deadzone: trades will only happen if the explosion line is over the deadzone line; Explosion under Deadzone: trades will only happen if the explosion line is under the deadzone line; Not specified: the opening of trades will not be based on the relation between the explosion and deadzone lines.
 Limit trades based on trends: Not specified by default, Strong Trends: only enter long if the WA bar is colored green (there is an uptrend and the current bar is higher then the previous); only enter short if the WA bar is colored red (there is a downtrend and the current bar is higher then the previous); Soft Trends: only enter long if the WA bar is colored lime (there is an uptrend and the current bar is lower then the previous); only enter short if the WA bar is colored orange (there is a downtrend and the current bar is lower then the previous); All Trends: only enter long if the WA bar is colored green or lime (there is an uptrend); only enter short if the WA bar is colored red or orange (there is a downtrend); Not specified: the color of the WA bar (trend) is not relevant when considering entries.
 WA bar value: Not specified by default, Over Explosion and Deadzone: only enter trades when the WA bar value is over the Explosion and Deadzone lines; Not specified: the relation between the explosion/deadzone lines to the value of the WA bar will not be used to filter opening trades.
 Sensitivity: 150 by default
 Fast MA Type: SMA by default
 Fast MA Length: 10 by default
 Slow MA Type: SMA
 Slow MA Length: 20 by default
 Channel MA Type: EMA by default
 BB Channel Length: 20 by default
 BB Stdev Multiplier: 2 by default
 
 Trend Filter: 
 
 Use long trend filter 1: false by default, Only enter long if price is above Long MA.
 Show long trend filter 1: false by default, Plot the selected MA on the chart.
 TF1 - MA Type: EMA by default
 TF1 - MA Length: 120 by default
 TF1 - MA Source: close by default
 Use short trend filter 1: false by default, Only enter long if price is above Long MA.
 Show short trend filter 1: false by default, Plot the selected MA on the chart.
 TF2 - MA Type: EMA by default
 TF2 - MA Length: 120 by default
 TF2 - MA Source: close by default
 
 Volume Filter: 
 
 Only enter trades where volume is higher then the volume-based MA: true by default, a set type of MA will be calculated with the volume as source, and set length
 MA Type: RMA/SMMA by default
 MA Length: 200 by default
 
 Date Range Limiter: 
 
 Limit Between Dates: false by default
 Start Date: Jan 01 2023 00:00:00 by default
 End Date: Jun 24 2023 00:00:00 by default
 
 Session Limiter: 
 
 Show session plots: false by default, show market sessions on chart: Sidney (red), Tokyo (orange), London (yellow), New York (green)
 Use session limiter: false by default, if enabled, trades will only happen in the ticked sessions below.
 Sidney session: false by default, session between: 15:00 - 00:00 (EST)
 Tokyo session: false by default, session between: 19:00 - 04:00 (EST)
 London session: false by default, session between: 03:00 - 11:00 (EST)
 New York session: false by default, session between: 08:00 - 17:00 (EST)
 
 Trading Time: 
 
 Limit Trading Time: true by default, tick this together with the options below to enable limiting based on day and time
 Valid Trading Days Global: 123567 by default, if the Limit Trading Time is on, trades will only happen on days that are present in this field. If any of the not global Valid Trading Days is used, this field will be neglected. Values represent days: Sunday (1), Monday (2), ..., Friday (6), Saturday(7) To trade on all days use: 123457
 (1) Valid Trading Days: false, 123456 by default, values represent days: Sunday (1), Monday (2), ..., Friday (6), Saturday(7) The script will trade on days that are present in this field. Please make sure that this field and also (1) Valid Trading Hours Between is checked
 (1) Valid Trading Hours Between: false, 1800-2000 by default, hours between which the trades can happen. The time is always in the exchange's timezone
 All other options are also disabled by default
 
 PineConnector Automation: 
 
 Use PineConnector Automation: false by default, In order for the connection to MetaTrader to work, you will need do perform prerequisite steps, you can follow our full guide at our website, or refer to the official PineConnector Documentation. To set up PineConnector Automation on the TradingView side, you will need to do the following: 
1. Fill out the License ID field with your PineConnector License ID; 
2. Fill out the Risk (trading volume) with the desired volume to be traded in each trade (the meaning of this value depends on the EA settings in Metatrader. Follow the detailed guide for additional information); 
3. After filling out the fields, you need to enable the 'Use PineConnector Automation' option (check the box in the strategy settings); 
4. Check if the chart has updated and you can see the appropriate order comments on your chart; 
5. Create an alert with the strategy selected as Condition, and the Message as {{strategy.order.comment}} (should be there by default); 
6. Enable the Webhook URL in the Notifications section, set it as the official PineConnector webhook address and enjoy your connection with MetaTrader.
 License ID: 60123456789 by default
 Risk (trading volume): 1 by default
 
 NOTE!  Fine-tuning/re-optimization is highly recommended when using other asset/timeframe combinations.
3LS | 3 Line Strike Strategy [Kintsugi Trading]What is the 3LS | 3 Line Strike Strategy? 
Incorporating the 3 Line Strike candlestick pattern into our strategy was inspired by  Arty at The Moving Average  and the amazing traders at  TheTrdFloor . 
The Three Line Strike is a trend continuation candlestick pattern consisting of four candles. Depending on their heights and collocation, a bullish or a bearish trend continuation can be predicted.
  
In a symphony of trend analysis, price action, and volume we can find and place high-probability trades with the 3LS Strategy.
How to use it!
 ----- First, start by choosing a Stop-Loss Strategy, Stop PIP Size, and Risk/Reward Ratio  ----- 
- Stop-Loss Strategy
 
  Fixed PIP Size – This uses the top/bottom of the indicator candle and places a TP based on the chosen Risk:Reward ratio.
  ATR Trail (No set Target Profit, only uses ATR Stop)
  ATR Trail-Stop (Has set Target Profit, however, stop is based on ATR inputs)
**If you choose an ATR Stop-Loss Strategy - input the desired ATR period and Multiple you would like the stop to be calculated at**
**ATR Stop-Loss Strategies have a unique alert setup for Auto-Trading. See Auto-Trading Section**
- Risk/Reward Ratio = If you have a .5 risk/reward, it means you are risking $100 to make $50.
- Additional Stop PIP Size =  Number of PIPs over the default stop location of the top or bottom of the indicator candle.
  
 ----- Next, we set the Session Filter ----- 
Set the Timezone and Trade Session you desire. If no specific session is desired, simply set the Trade Session to 00:00 - 00:00.
  
 ----- Next, we set the Moving Average Cloud Fill ----- 
Enter the Fast and Slow Moving Average Length used to calculate trend direction:
 
  MA Period Fast
  MA Period Slow
These inputs will determine whether the strategy looks for Long or Short positions.
  
 ----- Next, we set the VSA – Volume Spread Analysis Settings ----- 
Check the box to show the indicator at the bottom of the chart if desired.
This is just a different visual output of the VSA | Volume Spread Analysis   indicator available for free under the community indicators tab. You can add that indicator to your chart and see the same output in candle format.
In combination with the Moving Average Cloud, the Volume Spread Analysis will help us determine when to take a trade and in what direction. 
The strategy is essentially looking for small reversals going against the overall trend and placing a trade once that reversal ends and the price moves back in the direction of the overall trend. 
The 3LS Strategy utilizes confirmation between trend, volume, and price action to place high probability trades.
The VSA is completely customizable by:
 
 Moving Average Length
 MA-1 Multiplier
 MA-2 Multiplier 
 MA-3 Multiplier
 
  
Check out the  VSA | Volume Spread Analysis   indicator in the community scripts section under the indicators tab to use this awesome resource on other strategies.
  
 ----- Next, we have the option to view the automated KT Bull/Bear Signals ----- 
Check the boxes to show the buy-sell signal on the chart if desired. 
  
 ----- Next, we set the risk we want to use if Auto Trading the strategy ----- 
I always suggest using no more than 1-3% of your total account balance per trade. Remember, if you have multiple strategies triggering per day with each using 1%, the total percent at risk will be much larger. 
For Example – if you have 10 strategies each risking 1% your total risk is 10% of your account, not 1%! Be mindful to only use 1-3% of your total account balance across all strategies, not just each individual one.
  
 ----- Finally, we backtest our ideas ----- 
After using the 'Strategy Tester' tab on TradingView to thoroughly backtest your predictions you are ready to take it to the next level - Automated Trading!
This was my whole reason for creating the script. If you work a full-time job, live in a time zone that is hard to trade, or just don't have the patience, this will be a game-changer for you as it was for me.
 Auto-Trading 
When it comes to auto-trading this strategy I have included two options in the script that utilize the alert messages generated by TradingView.
*Note: Please trade on a demo account until you feel comfortable enough to use real money, and then please stick to 1%-2% of your total account value in risk per trade.*
AutoView
PineConnector
  
**ATR Auto-Trading Alert Setup**
 How to create alerts on 3 Line Strike Strategy 
For Trailing Stops:
1) Adjust autoview/pineconnector settings 
2) Click "add alert" 
3) Select "Condition" = Strategy Name
4) Select "Order Fills Only" from the drop-down
3) Remove template message text from "message" box and place the exact text. '{{strategy.order.alert_message}}'
4) Click "create"
For Fixed Pip Stop:
1) Adjust autoview/pineconnector settings 
2) Click "add alert" 
3) Select "Condition" = Strategy Name
4) Select "alert() function calls only"
5) I like to title my Alert Name the same thing I named it as an Indicator Template to keep track
Good luck with your trading!
FTB Strategy (Automated)Hey traders!
This is a profitable strategy script I created to teach my students how to automate their scripts using 3rd party APIs (more info available in my profile link at the bottom of this page).
 What Is This? 
This strategy is called the "Follow The Bear" strategy.
It's a forex trading strategy designed for one purpose and one purpose only: to take advantage of a recurring pattern on EURUSD's 1-Hour chart during the European market open.
The basic explanation is this:
During the European open we want to see a rally followed by a swing high shooting star / reversal pinbar candle. This typically means that traders buying EURUSD during the European/London open are now trapped long, and as price begins to retrace they are forced to sell, fueling a short-term retracement.
This strategy takes advantage of that pattern by aggressively selling short with a tight stop-loss above the pinbar candle and a conservative target.
There are many ways to trade this pattern, but this script represents my personal method for trading it.
It is not 100% accurate (no strategy is), but it does have a considerably high win rate over the past 6+ years considering its simplicity and I've been trading it for several months and can attest to its edge over the markets (at least through the Oanda data feed which is what I use).
The strategy rules are this:
 
 Market: EURUSD
 Timeframe: 1-Hour
 Direction: Short Only
 Timezone: 6AM-10AM GMT
 Days: Tuesday, Wednesday, Thursday
 Entry: Close of Pinbar Setup
 Stop: 2 pips above signal candle
 Target: 1:1
 Risk: Up to you (backtest first! I use 1%)
 
The rule for the pinbar/shooting star candle pattern is that the candle must both open and close in the lower 50% of the bar's total size.
 Automation 
This script is already prepared to be auto-traded through a 3rd-party API that was created to relay TradingView alerts to your broker to execute and manage trades.
Sorry for the lack of information - due to TradingView's house rules I cannot go into any more detail here, but if you're interested in automating this script there is more info available in the resources offered under my profile link at the bottom of this page.
 Disclaimer 
The material and the resources offered here are for educational purposes only. Always do your own research and only execute trades based on your own personal judgement.
Trading foreign currencies can be a challenging and potentially profitable opportunity for investors. However, before deciding to participate in the forex market, you should carefully consider your investment objectives, level of experience, and risk appetite. Most importantly, do not invest money you cannot afford to lose.
There is considerable exposure to risk in any foreign exchange transaction. Any transaction involving currencies involves risks including, but not limited to, the potential for changing political and/or economic conditions that may substantially affect the price or liquidity of a currency, investments in foreign exchange speculation may also be susceptible to sharp rises and falls as the relevant market values fluctuate.
The leveraged nature of forex trading means that any market movement will have an equally proportional effect on your deposited funds. This may work against you as well as for you. Not only may investors get back less than they invested, but in the case of higher risk strategies, investors may lose the entirety of their investment. It is for this reason that when speculating in such markets it is advisable to use only risk capital.
Trading foreign exchange on margin carries a high level of risk, and may not be suitable for all investors. Past performance is not indicative of future results. The possibility exists that you could sustain a loss of some or all of your initial investment and therefore you should not invest money that you cannot afford to lose. You should be aware of all the risks associated with foreign exchange trading, and seek advice from an independent financial advisor if you have any doubts.










