TripleBullet

25 3月 2024, 10:53
Hashimoto Takuma
0
27


A Quick Start Guide for EA Beginners

Are you new to considering EA, or have you been contemplating its adoption for some time? Do you find

yourself overwhelmed by the barrage of technical jargon and the myriad parameters you need to understand and select? Frankly, I believe that comprehending intricate settings and adjusting them while operating can be quite daunting for beginners.


Even though you aim to profit from automated trading, entrusting intricate settings to users without proper risk management can lead to uncertainty about whether the settings are correct and progress with apprehension.


To address such concerns, TripleBullet provides a Quick Start Guide to ensure that anyone can easily implement it. Rest assured, it's designed for everyone, from beginners to advanced users, allowing for worry-free long-term usage.


Whether you've had failed attempts with other EAs or are considering one for the first time, TripleBullet is an EA that I confidently recommend as a developer. It has been meticulously crafted to pursue users' benefits.


Please consider TripleBullet, an EA built with user benefits in mind.


※explore its detailed specifications here


Beginner's Quick Start Guide

You can quickly start using the EA by following the setup below:


SetUp

  1. Provide a hedging-enabled account.

  2. Maximum Leverage: Set to 25x

  3. Timeframe: Monthly

  4. Currency Pair: Specify EURGBP



Setting Parameters

Parameter

Value

Roll

Usage

debugMode

false

Log Output

tWhen set to true, debug logs are displayed in the journal.

magicNumber

98352

Magic Number

Set a unique value that does not overlap with other EAs.

stopEquity

0

Safe Feature

No new orders will be placed when the equity falls below this value. Set to 0 to disable.

stopMarginLevel

500

Safe Feature

No new orders will be placed when the margin level falls below this value. Set to 0 to disable.

stopDrawDownPer

20


Safe Feature

No new orders will be placed when the drawdown exceeds this percentage. Set to 100 to disable.

spreadLimit

20

Safe Feature

No new orders will be placed when the spread exceeds this value. Set to a large number to disable.

risk

2.5

Safe Feature

Automatically calculates lot size based on risk. Cannot be set simultaneously with lot. Set to 0 to disable.

lot

0

Safe Feature

Sets a fixed lot size for trades. Cannot be set simultaneously with risk. Set to 0 to disable.

pricePeriod

36

Trading Strategy

Determines how many monthly periods to use for calculations.

noTradeCoreRange

0.16

Trading Strategy

Determines the core range.

positionHalf

31

Trading Strategy

Determines the position size outside the core range.

minTP

95

Trading Strategy

Sets the minimum TakeProfit in pips.

maxTP

271

Trading Strategy

Sets the maximum TakeProfit in pips.

sl

0

Trading Strategy

Sets the StopLoss in pips. Set to 0 to disable.

symbol2

USDCHF

Logic

Specifies an additional currency pair for trading. Make sure to use the correct pair name from MarketWatch.

symbol3

AUDNZD

Logic

Specifies an additional currency pair for trading. Make sure to use the correct pair name from MarketWatch.



Specifications / Logic and Parameters

Basic Specifications

TripleBullet is designed to identify demand, imposing restrictions where necessary while avoiding constraints where unnecessary.

The design places heavy emphasis on user experience, ensuring parameters can be adjusted without difficulty.


  • Account

    • Please use an account that allows hedging.

  • Currency Pairs:

    • No restrictions. All currency pairs are available for trading.

  • Minimum Required Deposit:

    • Adjustable. Users can set the required deposit amount according to their preferences.

  • Timeframe:

    • Please utilize the monthly timeframe for trading.


Parameter Summary

Parameter

Roll

Usage

debugMode

Log Output

tWhen set to true, debug logs are displayed in the journal.

magicNumber

Magic Number

Set a unique value that does not overlap with other EAs.

stopEquity

Safe Feature

No new orders will be placed when the equity falls below this value. Set to 0 to disable.

stopMarginLevel

Safe Feature

No new orders will be placed when the margin level falls below this value. Set to 0 to disable.

stopDrawDownPer

Safe Feature

No new orders will be placed when the drawdown exceeds this percentage. Set to 100 to disable.

spreadLimit

Safe Feature

No new orders will be placed when the spread exceeds this value. Set to a large number to disable.

risk

Safe Feature

Automatically calculates lot size based on risk. Cannot be set simultaneously with lot. Set to 0 to disable.

lot

Safe Feature

Sets a fixed lot size for trades. Cannot be set simultaneously with risk. Set to 0 to disable.

pricePeriod

Trading Strategy

Determines how many monthly periods to use for calculations.

noTradeCoreRange

Trading Strategy

Determines the core range.

positionHalf

Trading Strategy

Determines the position size outside the core range.

minTP

Trading Strategy

Sets the minimum TakeProfit in pips.

maxTP

Trading Strategy

Sets the maximum TakeProfit in pips.

sl

Trading Strategy

Sets the StopLoss in pips. Set to 0 to disable.

symbol2

Logic

Specifies an additional currency pair for trading. Make sure to use the correct pair name from MarketWatch.

symbol3

Logic

Specifies an additional currency pair for trading. Make sure to use the correct pair name from MarketWatch.


Trade Selection

You can trade up to three pairs simultaneously.

  • The first pair is determined based on the currency pair of the chart where the EA is running.

  • The second pair is determined by [symbol2], and the third pair by [symbol3].

    • If [symbol2] and [symbol3] are left empty, the number of traded symbols will decrease.


    Note:

    Do not set symbols that are not in the Market Watch.

    Some brokers may use original symbol names.

    For example, if the symbol name is "EURGBP-" in the Market Watch, please set "EURGBP-" instead of "EURGBP".


    Grid Range Determination

    In this EA, the trading strategy is based on the highest (Highest) and lowest (Lowest) prices over the past [PricePeriod] months, derived from the current candlestick.


    The calculation formulas for each item are as follows:

    • Highest = Highest price over the past [PricePeriod] months

    • Lowest = Lowest price over the past [PricePeriod] months

    • Distance = Difference between the Highest and Lowest prices

    • CenterLine = Midpoint between the Highest and Lowest prices, calculated as (Distance / 2) + Lowest


    These values are used to calculate the interval for trading.



    Trading

    All trades are executed as market orders. No limit orders are placed.

    This allows for the suppression of trades during periods of spread widening.


    Trading strategy is determined based on the CenterLine:

    → Only short trades are executed when prices are above the CenterLine.

    → Only long trades are executed when prices are below the CenterLine.


    Trade Prohibited Range

    The parameter [noTradeCoreRange] determines whether trading is prohibited.


    No trades are executed within a range of [noTradeCoreRange] pips above and below the CenterLine.

    By prohibiting trades around the CenterLine, losses are minimized even if the exchange rate fluctuates significantly.


    The range where trading is prohibited is calculated as follows:

    • No trade range: 

      • (CenterLine - Distance * [noTradeCoreRange]) ~
        (CenterLine + Distance * [noTradeCoreRange])


    In other words, if [noTradeCoreRange] is set to 0.5 or higher, no trades will be executed.


    Take Profit(TP) and Trade Interval for Each Position

    There is one position for each interval.

    The calculation formula for the interval is as follows:

    • interval = Distance / [positionHalf]

      • However, if interval < [minTP] pips, then interval = [minTP].

      • However, if interval > [maxTP] pips, then interval = [maxTP].




    If there is already a position within the interval range above and below the current price, no trades will be executed. Additionally, the Take Profit (TP) for the position is set to the same value as the interval.


    In general, the maximum number of positions will be close to [positionHalf], but this may not be the case if the interval is equal to or less than [minTP] pips, or if it exceeds [maxTP] pips.


    There is no interference between intervals for each currency pair. Each currency pair has its own interval management.


    Stoploss

    By default, there is no stop loss set. This is because not having a stop loss is the basic strategy of this EA.


    The specific values for stop loss are as follows:

    • Stoploss (for long trades) = Ask - [sl] pips

    • Stoploss (for short trades) = Bid + [sl] pips


    ※ When [sl] = 0, no stop loss is set (default setting).


    Lot

    We offer two methods for determining lot sizes: fixed lot method and variable lot method. 

    If the lot size falls below the minimum lot size set by the broker, no trades will be executed.


    Fixed Lot

    In this method, lot size is determined by the following formula:

    • Lot = [lot]


    Variable Lot

    In this method, lot size is determined by the following formula:

    • Lot = Surplus Margin * [risk] / Amount required to purchase 1 lot


    • When the drawdown increases, the lot size decreases, and when there is surplus, the lot size increases, allowing for risk-controlled compound trading.

    • This makes it easier to balance when trading multiple pairs. 

      • With Fixed Lot, there may be an imbalance in the amount invested in each pair, as the required margin for EURUSD and USDJPY, for example, differs. 

      • However, with Variable Lot, as the lot size is based on the surplus margin, this issue does not arise.


    ※ In the case of Variable Lot, as the lot size is calculated based on the surplus margin, increasing leverage will increase the surplus margin, leading to higher risk than anticipated. Please be cautious when changing leverage.

    ※ If you wish to use Variable Lot, please set [lot] to 0.


    Safe Functionality

    • Trading will be temporarily paused if the current spread is equal to or greater than [spreadLimit].

      • To disable, set [spreadLimit] = 99999999...

    • Trading will be temporarily paused if the current equity falls below [stopEquity].

      •  To disable, set [stopEquity] = 0.

    • Trading will be temporarily paused if the margin level falls below [stopMarginLevel].

      •  To disable, set [stopMarginLevel] = 0.

    • Trading will be temporarily paused if the drawdown exceeds [stopDrawDownPer].

      • To disable, set [stopDrawDownPer] = 100.


    magicNumber

    To differentiate the positions managed by this EA from those managed by other EAs, please set [magicNumber] to a unique value. 

    This EA will only operate on positions associated with the specified [magicNumber].


    Logs

    For any issues or troubles that occur within the EA, they will be displayed at the top left corner of the chart.



    When [debugMode] is turned on, you can also check the logs in the Journal section of MT5, in addition to the top left corner of the chart.


    ※Please note that if [debugMode] is turned on, an excessive accumulation of logs may cause storage issues on MT5 or the machine, leading to malfunctions. Please use it while monitoring the remaining storage space carefully.


    Optimization

    Optimizing for the pairs you want to use can lead to even higher performance.

    • When operating multiple pairs, selecting pairs with low correlation can help diversify risks.

    • Please specify the minimum lot ([lot] should be set to either 0.1 or 0.01).

    • Set [noTradeCoreRange] to less than 0.5.

    • Set [risk] = 0.

    • It is recommended to turn off the safety function.

    • For optimization evaluation, it is recommended to use "Complex Criterion Max".

    • For optimization, it is recommended to have a testing period of at least three years.

    • To avoid curve-fitting, it is recommended to allocate half of the testing period for forward testing.



    Recommended optimization parameters for FX pairs are as follows. 

    Please adjust according to your preferences and machine specifications:



    Parameter

    Start

    Step

    Stop

    pricePeriod

    1

    1

    96

    noTradeCoreRange

    0

    0.05

    0.5

    positionHalf

    1

    1

    50

    minTP

    10

    5

    100

    maxTP

    101

    10

    301


    Sample Optimization Results

    Below are the best settings obtained through optimization on the developer's machine (EURGBP):

    Parameter

    Value

    pricePeriod

    36

    noTradeCoreRange

    0.16

    positionHalf

    31

    minTP

    95

    maxTP

    271

    symbol1

    USDCHF

    symbol2

    AUDNZD


    Error Message During Optimization

    If you encounter an error message like the following during optimization, it may indicate that the optimization is not proceeding as expected:



    In such cases, it is recommended to check the details of the error using "Visualize Test".



    Input the parameter set that may have caused the failure, and start the "Visualize Test".



    You can confirm the details of the error (alert message) using this feature.




    それを友達とシェアしてください: