Bitcoin-Scalper.mq4 Input Parameters
This page explains each input parameter in the Bitcoin-Scalper.mq4 Expert Advisor, detailing its purpose and the effects of changing its value. Click on each input title to expand or collapse its description.
Purpose: Defines the lot size for the first buy/sell limit order placed by the EA.
Effect of Changing:
– Increasing the Value: Increases the position size (e.g., 0.2), leading to higher potential profits or losses per trade, increasing risk and margin requirements.
– Decreasing the Value: Decreases the position size (e.g., 0.01), reducing risk and margin usage but lowering potential profits.
– Invalid Values (≤ 0): The EA will fail to initialize, as lot sizes must be positive and within broker limits.
Purpose: Sets the lot size for the second buy/sell limit order placed further from the candle’s low/high.
Effect of Changing:
– Increasing the Value: Increases the position size for the second order (e.g., 0.4), amplifying risk and potential reward for deeper pullback entries.
– Decreasing the Value: Decreases the position size (e.g., 0.1), reducing risk and margin requirements for the second order.
– Invalid Values (≤ 0): The EA will fail to initialize, as lot sizes must be positive.
Purpose: Specifies the account balance increment (in account currency) at which the lot size doubles, used for dynamic lot sizing.
Effect of Changing:
– Increasing the Value: Requires a larger balance increase (e.g., 4000.0) to double the lot size, slowing lot size growth and reducing risk.
– Decreasing the Value: Allows lot size doubling at smaller balance increments (e.g., 1000.0), increasing position sizes faster and raising risk.
– Invalid Values (≤ 0): The EA will fail to initialize, displaying an alert, as it cannot calculate lot size adjustments.
Purpose: Defines the period (number of bars) for the Simple Moving Average (SMA) used to determine buy/sell limit order placement conditions.
Effect of Changing:
– Increasing the Value: A larger period (e.g., 50) makes the SMA smoother, reducing sensitivity to price fluctuations and potentially decreasing false signals but lagging more.
– Decreasing the Value: A smaller period (e.g., 10) makes the SMA more responsive, increasing trade frequency but risking more noise-driven trades.
– Invalid Values (≤ 0): The EA will fail to initialize, as the SMA calculation requires a positive period.
Purpose: Sets the maximum allowable price slippage (in points) for order execution.
Effect of Changing:
– Increasing the Value: Allows larger price deviations (e.g., 50), increasing the likelihood of order execution in volatile markets but potentially at less favorable prices.
– Decreasing the Value: Restricts slippage (e.g., 10), ensuring closer adherence to the requested price but potentially causing more failed executions in fast markets.
– Invalid Values (< 0): Negative slippage is invalid, but the EA will typically use the default broker slippage if set incorrectly.
Purpose: Enables or disables the condition that the last candle must be bearish and below the SMA for placing buy limit orders.
Effect of Changing:
– true: Requires the last candle to be bearish (close < open) and below the SMA, reducing buy orders in non-pullback scenarios.
– false: Removes the bearish candle condition, allowing buy limit orders regardless of candle direction, increasing trade frequency.
Purpose: Enables or disables the condition that the last candle must be bullish and above the SMA for placing sell limit orders.
Effect of Changing:
– true: Requires the last candle to be bullish (close > open) and above the SMA, reducing sell orders in non-pullback scenarios.
– false: Removes the bullish candle condition, allowing sell limit orders regardless of candle direction, increasing trade frequency.
Purpose: Sets the profit target (as a percentage of account balance) for closing all open positions, either separately for buy/sell or combined based on `CloseMode`.
Effect of Changing:
– Increasing the Value: Requires a higher profit percentage (e.g., 1.0%) to close trades, holding positions longer for larger gains but increasing risk.
– Decreasing the Value: Lowers the profit target (e.g., 0.2%), closing trades earlier with smaller profits, reducing risk exposure.
– Invalid Values (< 0): Negative values are invalid, but the EA may default to not closing trades based on profit.
Purpose: Specifies the drawdown percentage (balance to equity) at which all non-CADCHF trades are closed and pending orders canceled.
Effect of Changing:
– Increasing the Value: Allows a larger drawdown (e.g., 10.0%) before closing trades, increasing risk tolerance but potentially leading to larger losses.
– Decreasing the Value: Closes trades at a smaller drawdown (e.g., 2.0%), reducing risk but potentially closing profitable trades prematurely.
– Invalid Values (< 0): The EA will fail to initialize, displaying an alert, as drawdown percentage must be non-negative.
Purpose: Sets the overall profit target (as a percentage of account balance) at which all non-CADCHF trades are closed, pending orders canceled, and trading disabled.
Effect of Changing:
– Increasing the Value: Requires a higher profit (e.g., 20.0%) to stop trading, aiming for larger gains but holding trades longer.
– Decreasing the Value: Stops trading at a lower profit (e.g., 5.0%), securing gains earlier but potentially missing further opportunities.
– Invalid Values (< 0): The EA will fail to initialize, displaying an alert, as profit target must be non-negative.
Purpose: Sets the distance (in points) below the previous candle’s low for placing the first buy limit order.
Effect of Changing:
– Increasing the Value: Places the first buy limit order further below the candle low (e.g., 20000 points), targeting larger pullbacks but reducing trade frequency.
– Decreasing the Value: Places the order closer to the candle low (e.g., 5000 points), increasing trade frequency but risking less favorable entries.
– Invalid Values (< 0): The EA will fail to initialize, displaying an alert, as the offset must be non-negative.
Purpose: Sets the distance (in points) above the previous candle’s high for placing the first sell limit order.
Effect of Changing:
– Increasing the Value: Places the first sell limit order further above the candle high (e.g., 20000 points), targeting larger pullbacks but reducing trade frequency.
– Decreasing the Value: Places the order closer to the candle high (e.g., 5000 points), increasing trade frequency but risking less favorable entries.
– Invalid Values (< 0): The EA will fail to initialize, displaying an alert, as the offset must be non-negative.
Purpose: Sets the distance (in points) below the previous candle’s low for placing the second buy limit order.
Effect of Changing:
– Increasing the Value: Places the second buy limit order further below the candle low (e.g., 30000 points), targeting deeper pullbacks and reducing trigger likelihood.
– Decreasing the Value: Places the order closer to the candle low (e.g., 10000 points), increasing trigger likelihood but potentially overlapping with the first order.
– Invalid Values (< 0): The EA will fail to initialize, displaying an alert, as the offset must be non-negative.
Purpose: Sets the distance (in points) above the previous candle’s high for placing the second sell limit order.
Effect of Changing:
– Increasing the Value: Places the second sell limit order further above the candle high (e.g., 30000 points), targeting deeper pullbacks and reducing trigger likelihood.
– Decreasing the Value: Places the order closer to the candle high (e.g., 10000 points), increasing trigger likelihood but potentially overlapping with the first order.
– Invalid Values (< 0): The EA will fail to initialize, displaying an alert, as the offset must be non-negative.
Purpose: Enables or disables trading on Sundays.
Effect of Changing:
– true: Allows trading on Sundays within the specified `SundayStart` and `SundayStop` hours, increasing trading opportunities if the broker supports weekend trading.
– false: Disables trading on Sundays, reducing exposure to potential weekend price gaps.
Purpose: Sets the starting hour (0-23, broker server time) for trading on Sundays if `AllowSundayTrading` is enabled.
Effect of Changing:
– Increasing the Value: Delays trading start (e.g., 12 for 12:00 PM), potentially missing early market movements.
– Decreasing the Value: Starts trading earlier (e.g., 0 for midnight), increasing trading opportunities but possibly during low liquidity periods.
– Invalid Values (<0 or >23): The EA will fail to initialize, displaying an alert.
Purpose: Sets the ending hour (0-23, broker server time) for trading on Sundays if `AllowSundayTrading` is enabled.
Effect of Changing:
– Increasing the Value: Extends trading later (e.g., 22 for 10:00 PM), increasing trading opportunities but possibly during low liquidity periods.
– Decreasing the Value: Ends trading earlier (e.g., 12 for 12:00 PM), reducing exposure to volatile late sessions.
– Invalid Values (<0 or >23): The EA will fail to initialize, displaying an alert.
Purpose: Enables or disables trading on Mondays.
Effect of Changing:
– true: Allows trading on Mondays within the specified `MondayStart` and `MondayStop` hours.
– false: Disables trading on Mondays, potentially avoiding volatile market openings.
Purpose: Sets the starting hour (0-23, broker server time) for trading on Mondays if `AllowMondayTrading` is enabled.
Effect of Changing:
– Increasing the Value: Delays trading start (e.g., 12 for 12:00 PM), potentially missing early market movements.
– Decreasing the Value: Starts trading earlier (e.g., 0 for midnight), increasing trading opportunities.
– Invalid Values (<0 or >23): The EA will fail to initialize, displaying an alert.
Purpose: Sets the ending hour (0-23, broker server time) for trading on Mondays if `AllowMondayTrading` is enabled.
Effect of Changing:
– Increasing the Value: Extends trading later (e.g., 22 for 10:00 PM), increasing trading opportunities.
– Decreasing the Value: Ends trading earlier (e.g., 12 for 12:00 PM), reducing exposure to late market sessions.
– Invalid Values (<0 or >23): The EA will fail to initialize, displaying an alert.
Purpose: Enables or disables trading on Tuesdays.
Effect of Changing:
– true: Allows trading on Tuesdays within the specified `TuesdayStart` and `TuesdayStop` hours.
– false: Disables trading on Tuesdays, potentially reducing trading opportunities.
Purpose: Sets the starting hour (0-23, broker server time) for trading on Tuesdays if `AllowTuesdayTrading` is enabled.
Effect of Changing:
– Increasing the Value: Delays trading start (e.g., 12 for 12:00 PM), potentially missing early market movements.
– Decreasing the Value: Starts trading earlier (e.g., 0 for midnight), increasing trading opportunities.
– Invalid Values (<0 or >23): The EA will fail to initialize, displaying an alert.
Purpose: Sets the ending hour (0-23, broker server time) for trading on Tuesdays if `AllowTuesdayTrading` is enabled.
Effect of Changing:
– Increasing the Value: Extends trading later (e.g., 22 for 10:00 PM), increasing trading opportunities.
– Decreasing the Value: Ends trading earlier (e.g., 12 for 12:00 PM), reducing exposure to late market sessions.
– Invalid Values (<0 or >23): The EA will fail to initialize, displaying an alert.
Purpose: Enables or disables trading on Wednesdays.
Effect of Changing:
– true: Allows trading on Wednesdays within the specified `WednesdayStart` and `WednesdayStop` hours.
– false: Disables trading on Wednesdays, potentially avoiding mid-week volatility.
Purpose: Sets the starting hour (0-23, broker server time) for trading on Wednesdays if `AllowWednesdayTrading` is enabled.
Effect of Changing:
– Increasing the Value: Delays trading start (e.g., 12 for 12:00 PM), potentially missing early market movements.
– Decreasing the Value: Starts trading earlier (e.g., 0 for midnight), increasing trading opportunities.
– Invalid Values (<0 or >23): The EA will fail to initialize, displaying an alert.
Purpose: Sets the ending hour (0-23, broker server time) for trading on Wednesdays if `AllowWednesdayTrading` is enabled.
Effect of Changing:
– Increasing the Value: Extends trading later (e.g., 22 for 10:00 PM), increasing trading opportunities.
– Decreasing the Value: Ends trading earlier (e.g., 12 for 12:00 PM), reducing exposure to late market sessions.
– Invalid Values (<0 or >23): The EA will fail to initialize, displaying an alert.
Purpose: Enables or disables trading on Thursdays.
Effect of Changing:
– true: Allows trading on Thursdays within the specified `ThursdayStart` and `ThursdayStop` hours.
– false: Disables trading on Thursdays, potentially reducing trading opportunities.
Purpose: Sets the starting hour (0-23, broker server time) for trading on Thursdays if `AllowThursdayTrading` is enabled.
Effect of Changing:
– Increasing the Value: Delays trading start (e.g., 12 for 12:00 PM), potentially missing early market movements.
– Decreasing the Value: Starts trading earlier (e.g., 0 for midnight), increasing trading opportunities.
– Invalid Values (<0 or >23): The EA will fail to initialize, displaying an alert.
Purpose: Sets the ending hour (0-23, broker server time) for trading on Thursdays if `AllowThursdayTrading` is enabled.
Effect of Changing:
– Increasing the Value: Extends trading later (e.g., 22 for 10:00 PM), increasing trading opportunities.
– Decreasing the Value: Ends trading earlier (e.g., 12 for 12:00 PM), reducing exposure to late market sessions.
– Invalid Values (<0 or >23): The EA will fail to initialize, displaying an alert.
Purpose: Enables or disables trading on Fridays.
Effect of Changing:
– true: Allows trading on Fridays within the specified `FridayStart` and `FridayStop` hours.
– false: Disables trading on Fridays, potentially avoiding volatile market closings.
Purpose: Sets the starting hour (0-23, broker server time) for trading on Fridays if `AllowFridayTrading` is enabled.
Effect of Changing:
– Increasing the Value: Delays trading start (e.g., 12 for 12:00 PM), potentially missing early market movements.
– Decreasing the Value: Starts trading earlier (e.g., 0 for midnight), increasing trading opportunities.
– Invalid Values (<0 or >23): The EA will fail to initialize, displaying an alert.
Purpose: Sets the ending hour (0-23, broker server time) for trading on Fridays if `AllowFridayTrading` is enabled.
Effect of Changing:
– Increasing the Value: Extends trading later (e.g., 22 for 10:00 PM), increasing trading opportunities.
– Decreasing the Value: Ends trading earlier (e.g., 12 for 12:00 PM), reducing exposure to late market sessions.
– Invalid Values (<0 or >23): The EA will fail to initialize, displaying an alert.
Purpose: Enables or disables trading on Saturdays.
Effect of Changing:
– true: Allows trading on Saturdays within the specified `SaturdayStart` and `SaturdayStop` hours, increasing trading opportunities if the broker supports weekend trading.
– false: Disables trading on Saturdays, reducing exposure to potential weekend price gaps.
Purpose: Sets the starting hour (0-23, broker server time) for trading on Saturdays if `AllowSaturdayTrading` is enabled.
Effect of Changing:
– Increasing the Value: Delays trading start (e.g., 12 for 12:00 PM), potentially missing early market movements.
– Decreasing the Value: Starts trading earlier (e.g., 0 for midnight), increasing trading opportunities.
– Invalid Values (<0 or >23): The EA will fail to initialize, displaying an alert.
Purpose: Sets the ending hour (0-23, broker server time) for trading on Saturdays if `AllowSaturdayTrading` is enabled.
Effect of Changing:
– Increasing the Value: Extends trading later (e.g., 22 for 10:00 PM), increasing trading opportunities.
– Decreasing the Value: Ends trading earlier (e.g., 12 for 12:00 PM), reducing exposure to late market sessions.
– Invalid Values (<0 or >23): The EA will fail to initialize, displaying an alert.
Purpose: Enables or disables closing all non-CADCHF trades and canceling non-CADCHF pending orders when a CADCHF buy order is detected.
Effect of Changing:
– true: Closes all non-CADCHF trades and cancels their pending orders when a CADCHF buy is active, preventing new orders until the CADCHF buy is manually closed.
– false: Disables this behavior, allowing normal trading to continue regardless of CADCHF buy orders.
Purpose: Specifies the minimum distance (in points) between pending orders of the same type to prevent order clustering.
Effect of Changing:
– Increasing the Value: Increases the minimum gap between orders (e.g., 10 points), reducing the number of pending orders in tight price ranges.
– Decreasing the Value: Decreases the minimum gap (e.g., 2 points), allowing more orders in a smaller price range, increasing trade frequency.
– Invalid Values (< 0): Negative values are invalid, but the EA may default to a minimum separation defined by the broker.
Purpose: Specifies the comment prefix added to orders placed by the EA for identification in the trading terminal.
Effect of Changing:
– Changing the Value: Alters the comment text (e.g., “BitcoinScalper”), affecting only order identification without impacting trading logic.
– Empty String: Orders will have no comment or use default broker comments, potentially making it harder to identify EA-specific trades.
Purpose: Sets the risk multiplier for lot sizing, with options: PropFirm (1x), Conservative (2x), Moderate (4x), Aggressive (8x).
Effect of Changing:
– PropFirm (1x): Uses the base lot size, minimizing risk and margin usage.
– Conservative (2x): Doubles the lot size, increasing risk and potential reward moderately.
– Moderate (4x): Quadruples the lot size, significantly increasing risk and reward.
– Aggressive (8x): Multiplies the lot size by 8, maximizing risk and potential reward, suitable for high-risk strategies.
Purpose: Determines whether trades are closed based on separate buy/sell profit targets or combined total profit, with options: CLOSE_SEPARATE or CLOSE_COMBINED.
Effect of Changing:
– CLOSE_SEPARATE: Closes buy and sell trades independently when their respective profits reach `CloseProfitPercent`, allowing partial basket closures.
– CLOSE_COMBINED: Closes all trades when the total profit reaches `CloseProfitPercent`, treating all positions as a single basket.



