Bitcoin Scalper – Input Parameters
LotSize
Sets the lot size for the first order in trades, controlling the initial trade volume.
LotSizeSecond
Defines the lot size for the second pending order, typically larger than the first.
LotSizeIncrement
Balance increment at which lot sizes are doubled, used for dynamic lot sizing.
SMAPeriod
Period for the Simple Moving Average (SMA) used to evaluate candle conditions for trading.
Slippage
Maximum price slippage in points allowed when executing trades.
CheckBearishCandle
If true, buy orders are placed only if the last candle is bearish and below the SMA.
CheckBullishCandle
If true, sell orders are placed only if the last candle is bullish and above the SMA.
CloseProfitPercent
Closes trades when profit reaches this percentage of account balance (0.5% by default).
DrawdownClosePercent
Closes all trades when drawdown from balance to equity reaches this percentage.
ProfitTargetPercent
Closes all trades and disables trading when total profit reaches this percentage.
BuyLimitOffsetPoints
Offset in points below the candle low for the first buy limit order.
SellLimitOffsetPoints
Offset in points above the candle high for the first sell limit order.
BuyLimitOffsetPointsSecond
Offset in points below the candle low for the second buy limit order.
SellLimitOffsetPointsSecond
Offset in points above the candle high for the second sell limit order.
AllowSundayTrading
Enables or disables trading on Sundays.
SundayStart
Start hour for trading on Sundays (0-23, broker server time).
SundayStop
Stop hour for trading on Sundays (0-23, broker server time).
AllowMondayTrading
Enables or disables trading on Mondays.
MondayStart
Start hour for trading on Mondays (0-23, broker server time).
MondayStop
Stop hour for trading on Mondays (0-23, broker server time).
AllowTuesdayTrading
Enables or disables trading on Tuesdays.
TuesdayStart
Start hour for trading on Tuesdays (0-23, broker server time).
TuesdayStop
Stop hour for trading on Tuesdays (0-23, broker server time).
AllowWednesdayTrading
Enables or disables trading on Wednesdays.
WednesdayStart
Start hour for trading on Wednesdays (0-23, broker server time).
WednesdayStop
Stop hour for trading on Wednesdays (0-23, broker server time).
AllowThursdayTrading
Enables or disables trading on Thursdays.
ThursdayStart
Start hour for trading on Thursdays (0-23, broker server time).
ThursdayStop
Stop hour for trading on Thursdays.
AllowFridayTrading
Enables or disables trading on Fridays.
FridayStart
Start hour for trading on Fridays (0-23, broker server time).
FridayStop
Stop hour for trading on Fridays (0-23, broker server time).
AllowSaturdayTrading
Enables or disables trading on Saturdays.
SaturdayStart
Start hour for trading on Saturdays (0-23, broker server time).
SaturdayStop
Stop hour for trading on Saturdays (0-23, broker server time).
CloseAllOnCADCHFBuy
Closes all non-CADCHF trades and orders when a CADCHF buy order is detected.
MinOrderSeparationPoints
Minimum separation in points between pending orders to prevent overlap.
CustomTradeComment
Custom comment added to trades for identification.
RiskTolerance
Sets risk level for lot sizing: PropFirm (1x), Conservative (2x), Moderate (4x), Aggressive (8x).
CloseMode
Determines whether to close buy/sell sides separately or based on total profit.

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.

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