PlutusPA PingPong v20.27
This guide explains all EA input sections in order, with numerical examples, practical purpose, importance, and clear differences between similar modules. All numbers are illustrative only and may vary by symbol, broker digits, execution model, and account conditions.
01BASIC - General Identity
This section defines the EA identity on the account. It prevents interference between different EA instances and defines the global trading direction.
| Input | Explanation | Numerical example |
|---|---|---|
| Magic Number | Identifies orders and positions managed by this EA. | If Magic = 990001, the EA will not manage trades with Magic = 990002. |
| Strategy Instance ID | Optional text ID for separating multiple setups on the same symbol. | London setup = LON, New York setup = NY. |
| Trade Comment Tag | Custom text tag added to trade comments for tracking. | PLUTUS-TEST or XAU-M15. |
| Trade Direction | Global direction permission: Buy Only, Sell Only, or Both. | Buy Only blocks sell orders even if PingPong is allowed to sell. |
02BASIC - Lot and Position Size
This section controls position size and the price tolerance used to consider a level as touched.
| Input | Purpose | Example |
|---|---|---|
| Base Buy Lot | Main lot size for buy positions. | 0.01 opens buy positions at 0.01 lot. |
| Base Sell Lot | Main lot size for sell positions. | 0.02 makes sell positions larger than buy positions if both directions are allowed. |
| Entry Touch Tolerance | Allowed distance around a level to treat it as touched. | If the level is 4000.00 and tolerance is 0.30, the touch zone is 3999.70 to 4000.30. |
03BASIC - Trading Sessions
Trading sessions define when the EA is allowed to operate, using broker server time. Up to four separate sessions can be configured.
| Input | Explanation | Example |
|---|---|---|
| Session 1 Start / End | Main trading window. | 08:00 to 12:00. |
| Session 2/3/4 | Optional additional windows. | 15:00 to 19:00 for a US-session window. |
| Broker Session Safety Buffer Minutes | Safety buffer around broker market sessions to reduce market-closed errors. | 2 minutes avoids operations too close to session end. |
04BASIC - Session End Behavior
This section defines what the EA should do after a session ends. It does not define the trading window itself; it defines the action outside the window.
| Option | Meaning | Numerical example |
|---|---|---|
| KEEP ALL | Keep positions and pending orders unchanged. | 2 open positions and 3 pending orders remain. |
| CANCEL PENDING | Cancel pending orders only. | A Buy position stays open, but Buy Limit/Sell Limit orders are removed. |
| CLOSE POSITIONS | Close open positions. | 3 managed positions are closed. |
| CLOSE ALL + CANCEL | Close all positions and cancel all pending orders. | Full cleanup at session end. |
| Close Profit / Close Loss | Close only profitable or losing positions while cancelling pending orders. | Close profitable positions at +25 while leaving losing positions if configured that way. |
| Close Basket Profit | Close the basket if it is profitable at session end. | If basket floating P/L is +12, the EA may close it. |
05LEVEL ENGINE - Auto Anchor Source
This section builds the automatic level map around the Anchor. It is the main level source when Level Source Mode = Auto.
| Input | Purpose |
|---|---|
| Anchor Timeframe | Defines the timeframe used to refresh the anchor and level map. |
| Level Source Mode | Auto uses calculated levels; Manual uses user-provided levels. |
| Use Anchor Level | Adds the Anchor itself as an active level. |
| Upper / Lower Level Count | Number of upper/lower ratio levels to use. |
| Upper / Lower Expansion Ratios | Ratios that distribute levels around the Anchor. |
Full Range = 10.00
Upper Ratios = 0.25, 0.50, 0.75, 1.00Upper levels become 4002.50, 4005.00, 4007.50, and 4010.00. If Upper Level Count = 2, only 4002.50 and 4005.00 are used.
06LEVEL ENGINE - Renko / ATR Source
This section defines the size of the range used to build automatic levels. It controls the width of the map, not the center of the map.
| Input | Explanation | Example |
|---|---|---|
| Range Bar Timeframe | Timeframe used to calculate ATR/range data. | M15 or M5. |
| Range ATR Period | Number of bars used for ATR calculation. | 14. |
| Range ATR Average | Additional averaging/smoothing. | 1 means minimal extra smoothing. |
| Range Box Multiplier | Multiplier applied to the range value. | ATR = 8 and multiplier = 1.5 gives distance = 12. |
07LEVEL ENGINE - Manual Trigger Levels
This section is used when the trader wants to manually define the working levels. In Manual mode, the EA uses these lists instead of calculated auto levels.
| Input | Explanation | Input example |
|---|---|---|
| Manual Buy Trigger Levels | Levels used to build buy-side logic. | 3990,4000,4010,4020 |
| Manual Sell Trigger Levels | Levels used to build sell-side logic. | 4020,4010,4000,3990 |
08ENTRY ENGINE - Pending Orders
This section converts the active level map into pending orders. It does not calculate new levels; it decides how existing levels should be armed.
| Input | Meaning | Numerical example |
|---|---|---|
| Pending Build Mode | Controls how pending orders are constructed from levels. | With 4000 and 4010, the EA may wait for 4010 to be touched and then place Buy Limit at 4000. |
| Order Coverage Mode | Controls whether all qualified zones or only one pair is used. | With 5 zones, All Qualified can arm several orders; Pair Only focuses on one area. |
| Nearest Trigger Only | Uses the nearest qualified trigger only. | Current price 4005; it focuses on the nearest 4010/4020 zone. |
| Delete Opposite Pending On Position | Deletes opposite-side pending orders when a position opens. | Buy position opened → sell pending orders can be removed. |
| Use Trigger Cooldown | Prevents repeated arming of the same trigger too quickly. | Cooldown = 15 minutes. |
| Use Minimum Rearm Distance | Requires price to move away before the same area is armed again. | Minimum Rearm = 5.0 price units. |
| Use Pending Order Expiry | Sets a time validity for pending orders. | Expiry = 60 minutes. |
| Use Max Pending Per Side | Limits buy and sell pending orders separately. | Max Buy = 2 and Max Sell = 2. |
| Use Pending Margin Guard | Checks margin before placing a new order. | If free margin would drop below 25, the order is blocked. |
| Use Smart Pending Cleanup | Removes old pending orders that no longer match the current map. | A Buy Limit at 3950 may be removed if the new map is around 4000-4020. |
| Use Order Aging Protection | Removes pending orders that stay active too long. | Max age = 180 minutes. |
09ENTRY PROTECTION - Spread and Manual News
This section protects execution quality. Even if a valid entry exists, the EA can block it when spread or news time is unsuitable.
| Input | Explanation | Example |
|---|---|---|
| Use Max Spread Filter | Blocks new orders when spread is above the allowed value. | Max Spread = 1.0; spread 1.8 blocks entries. |
| Cancel Pending If Spread Too High | Removes pending orders when spread becomes too high. | High news spread can cancel close pending orders. |
| Use Spread Shock Protection | Detects sudden spread expansion. | Normal spread 0.5 suddenly jumps to 2.0. |
| Spread Shock Action | Action when a spread shock is detected. | Pause New Entries or Cancel Pending. |
| Spread Shock Cooldown Minutes | Waiting time after a shock. | 5 minutes. |
| Use Manual News Filter | Manual broker-server-time news windows. | 15:25-16:10. |
| Manual News Action | Action during a news block. | Pause New Entries or Cancel Pending. |
10ENTRY PROTECTION - Range Filter
The Range Filter measures market movement over a selected lookback. It decides whether the market is too quiet, normal, or too aggressive for new entries.
| Input | Explanation | Numerical example |
|---|---|---|
| Range Mode | Measurement mode: Points, ATR, or Percent. | Points uses the direct High-Low range. |
| Range Timeframe | Timeframe used for the range measurement. | M15. |
| Range Lookback Bars | Number of completed bars to measure. | 20 bars. |
| Use Minimum Range | Blocks trading if movement is too weak. | Minimum = 10; Range = 6 is blocked. |
| Use Maximum Range | Blocks trading if movement is too aggressive. | Maximum = 80; Range = 120 is blocked. |
| Range ATR settings | Used when Range Mode = ATR. | ATR = 12 and multiplier = 1.5 gives threshold = 18. |
11SL / TP / Trailing
This section controls protection for each individual position. It is different from Basket Management, which manages groups.
| Mode | Meaning | Example |
|---|---|---|
| OFF | No protection of that type. | Stop Loss Off means no SL from this section. |
| POINTS | Distance-based protection. | Buy from 4000 and SL Points = 10 gives SL near 3990. |
| PERCENT | Percent of entry price. | Buy 4000 and TP 1% gives TP near 4040. |
| ATR | Volatility-based distance. | ATR = 8 and multiplier 1.5 gives distance = 12. |
12BASKET MANAGEMENT
A basket is the group of open positions managed by the EA on the same symbol and magic/instance. Basket management evaluates the group rather than one individual trade.
| Input | Purpose | Example |
|---|---|---|
| Basket Exit Mode | By-direction points or total floating money. | Total Float Money closes if the basket reaches +50. |
| Use Basket Take Profit | Closes the basket at group profit. | +20 +15 +18 = +53; target 50 closes. |
| Use Basket Stop Loss | Closes the basket at group loss. | Total floating = -50; SL Money = 50 closes. |
| Basket Minimum Positions | Minimum position count before basket logic acts. | If min = 2 and only one position is open, it does not act. |
| Use Balanced Hedge Profit Exit | Closes balanced buy/sell hedge exposure when net profit is positive enough. | Buy Lots 0.10, Sell Lots 0.10, net +7, minimum +5 closes. |
| Hedge Exit Mode | Instant Close or Profit Lock. | Profit Lock protects part of the hedge profit instead of closing immediately. |
| Close Balanced Hedge Mode | Close all balanced positions or best matched group. | With 6 positions, close only the best matched 2 buy + 2 sell group. |
| Hedge Balance Mode | Balance by lots only or by lots and count. | Buy 0.05+0.05 and Sell 0.10 is lot-balanced but not count-balanced. |
| Hedge Lot Balance Tolerance | Allowed lot difference between buy and sell. | Buy 0.20 and Sell 0.19 with tolerance 0.02 is balanced. |
| Hedge Count Tolerance | Allowed count difference between buy and sell positions. | Buy count 3 and Sell count 2 with tolerance 1 is accepted. |
| Hedge Lock Profit Money | Profit amount to protect after lock activation. | Hedge reaches +10 and lock protects +5. |
| Use Position Pressure Exit | Exits when too many positions exist and profit condition is met. | 8 positions and +20 profit can trigger pressure exit. |
13SAFETY - Daily Limits
Daily Limits protect the whole trading day based on broker server time. They are not limited to the currently open basket.
| Input | Explanation | Example |
|---|---|---|
| Use Daily Profit Lock | Stops or limits trading after daily profit target. | Target = 100. If today reaches +100, Daily Profit Action is applied. |
| Daily Profit Includes Floating | Whether floating P/L is included in daily profit. | Closed +80 and Floating +25 gives +105 if true. |
| Daily Profit Action | What to do after reaching the daily profit target. | Pause New Entries or Close All Cancel Pending. |
| Use Daily Loss Limit | Daily loss protection. | Loss Limit = 100 triggers at -100. |
| Use Max Trades Per Day | Limits total daily trades. | Max = 20 blocks new entries after 20 trades. |
| Use Max Floating Drawdown | Limits current floating drawdown. | Floating DD = -120 and limit = 100 triggers action. |
14SAFETY - Equity Protection
Equity Protection monitors account equity or EA-managed floating P/L depending on the selected scope. It can protect profit peaks and account progress.
| Input | Explanation | Example |
|---|---|---|
| Equity Control Scope | ACCOUNT monitors account equity; MANAGED_FLOATING monitors EA-managed floating P/L only. | Manual trades affect ACCOUNT but not MANAGED_FLOATING. |
| Equity Target Mode / Value | Money or percent equity target. | Start Equity 1000, target money 100 triggers near 1100. |
| Equity Trail Start | When equity trailing becomes active. | Start Value 30 activates after +30. |
| Equity Trail Distance Money | Allowed pullback after trail starts. | Peak 1080 and distance 20 gives protection near 1060. |
| Use Profit Giveback Protection | Tracks the highest peak and closes if equity gives back too much. | Peak 1100 and giveback 50 closes near 1050 if conditions are met. |
| Minimum Peak Profit To Activate | Protection activates only after enough profit above the base. | Base 1000 and minimum 30 means it activates at 1030+. |
| Minimum Open Positions To Trigger | Giveback close requires enough open positions. | Minimum 3; two positions will not trigger it. |
| After Giveback Action | What happens after closing. | Restart, Pause Until Next Session, or Stop For Day. |
| Rearm Only After New Peak | Rearms only after a new equity peak is created. | After close at 1050, it waits for a new peak before rearming. |
15ADVANCED - Cluster and Balanced Zone
This section prevents same-direction order/position crowding in a small area. It is an entry filter, not an exit system.
| Input | Explanation | Numerical example |
|---|---|---|
| Use Same Direction Cluster Filter | Blocks additional same-direction orders in crowded zones. | Buy at 4000 and Buy at 4002 can block a new Buy at 4003 if distance is 5. |
| Cluster Count Mode | Counts open positions, pending orders, or both. | Open + Pending provides stronger density control. |
| Cluster Distance Mode | Fixed, ATR, or percent-of-price zone distance. | Fixed = 5, ATR = 1.2 × ATR, Percent = 0.10% of price. |
| Max Same Direction Orders In Zone | Maximum same-direction exposure inside the zone. | Max = 1 allows only one Buy in the local zone. |
| Use Balanced Zone Reset | Allows state reset when the area becomes balanced. | If buy and sell exposure becomes similar, the zone may be considered balanced. |
| Balanced Zone Can Bypass Cluster | Allows balance to bypass the cluster block. | If true, a balanced area may allow a new order even after a cluster block. |
| Balance Check Mode | Balance by count or volume. | Volume is better when lots are different. |
| Balance Count / Volume Tolerance | Allowed difference between buy and sell exposure in the zone. | Buy Lots 0.20 and Sell Lots 0.19 with tolerance 0.02 is balanced. |
16PINGPONG - Neighbor Retest Engine
PingPong is an additional entry method that works between neighboring levels. When price touches a level, it can arm a retest order at the neighboring level.
| Input | Explanation | Example |
|---|---|---|
| Use PingPong Retest Engine | Enables or disables the engine. | false disables PingPong. |
| Run With Standard Entry Engine | Run PingPong together with the standard engine or separately. | true means Standard + PingPong. |
| Allow PingPong Buy/Sell Retests | Allows buy-side or sell-side retests. | Disable Sell Retests for buy-only retest behavior. |
| Arm Opposite Stop-Limit | Prepares opposite logic around the neighbor level. | A touched upper level can prepare a retest and an opposite action depending on settings. |
| Respect Cluster Filter | Makes PingPong obey cluster restrictions. | If a buy zone is crowded, PingPong does not add another buy. |
| Max PingPong Pending Per Side | Limit PingPong pending orders per direction. | 1 allows one PingPong buy and one PingPong sell. |
| PingPong Touch Tolerance | Price tolerance for level touch detection. | 0.5 means within half a price unit counts as touched. |
| PingPong Cooldown Minutes | Prevents repeated touch handling too quickly. | 1 or 5 minutes depending on aggressiveness. |
17DISPLAY - Anchor Levels
This section is chart-display only. It does not affect trading logic.
| Input | Explanation |
|---|---|
| Show Anchor Levels | Shows or hides level lines. |
| Anchor Color | Color of the anchor line. |
| Resistance Color | Color of upper levels. |
| Support Color | Color of lower levels. |
18DISPLAY - Dashboard and Emergency Buttons
The dashboard is the monitoring center. It can display trading state, filter status, nearest levels, hedge exit state, Profit Giveback state, Safe Mode state, and setup quality.
| Input | Explanation | Example |
|---|---|---|
| Show Dashboard | Shows the information panel. | true displays the dashboard. |
| Dashboard Font / Color / Position | Controls dashboard appearance and location. | Corner Left Upper, X=10, Y=20. |
| Show Nearest Levels | Displays nearest active levels. | Nearest Support 3995, Nearest Resistance 4005. |
| Show Setup Quality Status | Displays Good / Warning / Blocked style state. | Blocked because spread is too high or session is closed. |
| Show Emergency Buttons | Shows chart buttons for quick manual control. | Close All or Cancel Pending, depending on available buttons. |
| Show Safe Mode Button | Adds a Safe Mode button that pauses new entries while open-position management continues. | Safe Mode On blocks new entries, but Basket/Equity management can still operate. |
19TESTER / DEBUG
This section is for testing and diagnostics. Heavy logging is not recommended for normal live operation because it can overload the Journal.
| Input | Explanation | When to use |
|---|---|---|
| Enable Tester Validation Assist | Helps Strategy Tester validation behavior. | Useful for Market validation-style testing. |
| Log Anchor Refresh Summary | Prints a summary when levels refresh. | When reviewing auto levels. |
| Print Startup Summary | Prints startup configuration summary. | To confirm settings at launch. |
| Debug Mode | Enables broader diagnostics. | For troubleshooting only. |
| Print Trade Decisions | Prints trade decision details. | To understand why an order was or was not placed. |
| Print Filter Decisions | Prints filter decision details. | To identify spread/range/session blocks. |
Differences Between Similar Sections
| Section | What it does | Places orders? | Closes positions? | Quick example |
|---|---|---|---|---|
| Level Engine | Builds the level map. | No | No | Anchor 4000 creates 3995 and 4005. |
| Entry Engine | Converts levels into pending orders. | Yes | Usually no | Places Buy Limit at 4000. |
| Spread / News / Range Filters | Accept or reject entry environment. | No, but allows/blocks | Can cancel pending depending on action | Spread 2.0 blocks entry. |
| SL / TP / Trailing | Manages each individual position. | No | Yes, individual trade | Buy 4000, TP 4020. |
| Basket Management | Manages current open position group. | No | Yes | Closes basket at +50. |
| Daily Limits | Manages whole-day result. | Blocks new entries after limit | Depends on action | Stops after +100 daily profit. |
| Equity Protection | Protects equity or managed floating P/L. | No | Yes, if configured | Peak 1100 and pullback to 1050 closes. |
| Cluster | Blocks crowded same-direction zones. | No, but blocks additions | No | Blocks new Buy near old Buy. |
| PingPong | Additional neighbor retest entry engine. | Yes | No | Touch 4010 arms retest at 4000. |
| Dashboard | Displays status and manual controls. | Only via buttons | Only via buttons / monitoring | Shows Good/Blocked and Safe Mode. |