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.

LotSize

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.

LotSizeSecond

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.

LotSizeIncrement

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.

SMAPeriod

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.

Slippage

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.

CheckBearishCandle

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.

CheckBullishCandle

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.

CloseProfitPercent

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.

DrawdownClosePercent

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.

ProfitTargetPercent

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.

BuyLimitOffsetPoints

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.

SellLimitOffsetPoints

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.

BuyLimitOffsetPointsSecond

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.

SellLimitOffsetPointsSecond

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.

AllowSundayTrading

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.

SundayStart

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.

SundayStop

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.

AllowMondayTrading

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.

MondayStart

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.

MondayStop

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.

AllowTuesdayTrading

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.

TuesdayStart

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.

TuesdayStop

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.

AllowWednesdayTrading

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.

WednesdayStart

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.

WednesdayStop

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.

AllowThursdayTrading

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.

ThursdayStart

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.

ThursdayStop

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.

AllowFridayTrading

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.

FridayStart

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.

FridayStop

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.

AllowSaturdayTrading

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.

SaturdayStart

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.

SaturdayStop

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.

CloseAllOnCADCHFBuy

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.

MinOrderSeparationPoints

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.

CustomTradeComment

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.

RiskTolerance

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.

CloseMode

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.

Categories

Recent Posts

Social Icon

Have Any Query Feel Free Contact
(1)245-45678 call

We’re a team of creatives who are excited about unique ideas and help fin-tech companies to create amazing identity by crafting top-notch UI/UX.

Contact Us

Stay Connected

Create your account