量化交易系统

MT5-JPYTrader

  • 型号:
Main Image

JP¥T rader is an MQL5 Expert Advisor (EA) that trades Japanese Yen (JPY) currency pairs on the 30 minutes timeframe.

The strategy combines moving averages with good old support & resistance levels, to provide trading signals. Signals are sent only when all moving averages are stacked in increasing order - for long (BUY) trades; and decreasing order - for short (SELL) trades. It is particularly designed for swing trading, and prop trading (in a few cases), with all trading positions opened at market price at trend continuation.

Onboarding
Monitoring
https://www.avatrade.com/trading-account?tag=192108

https://www.mql5.com/en/signals/2070326
https://vigco.co/rEvuam


trustworthy brokers with transparent trading environment
live account(s) signal(s) monitoring

Tests were done for 2020-2023 market history (Dec.27 - Apr.20), with AUD , CAD , CHF , EUR , GBP , and USD pairs supported.

Minimum & maximum position sizes are also provided for easy trades management and scaling, and multiple currency trading is supported by attaching to each currency chart separately.

JP ¥T rader does NOT attach to multiple charts by default since each currency pair requires specific settings.


TRADING

Trading positions are opened one at a time for each currency pair. In the case where multiple positions are opened for a currency pair, properties of all orders - both pending and active - are used to determine the allowable position size for those subsequent orders. This is to allow forward compatibility with a future version supporting multiple trading positions.

Minimum and maximum position sizes can be used to - not only manage trade risks, but also - scale up to larger trades sizes as balance grows over time.

A scaling strategy is required, and only 2 - or 3- stage scaling strategies are currently supported. A 3-stage strategy is used by default, however, a 2-stage strategy may also be adopted.  Note that the closest lot size to the maximum position size in your scaling strategy is used for the largest trade.

For instance, consider any 2 currency pairs, with either $100 or $1000 account balance. Only 2 positions may be open at a time on your account - one for each traded currency pair. The scaling strategy for each EA instance will be applied to it's trades. It is recommended to use a ( 0.02,0.2 ) or ( 0.1,1.0 ) scaling strategy respectively. In the case of the former (i.e. $100 balance), position size for stage 3 is the nearest to 0.2 (i.e. 0.32); and, for the latter, a 1.6 position size is used, as it is closest to 1.0.

A 2-stage scaling strategy may also be perfect for other markets, however this is NOT recommended. Using larger scaling strategies IS NOT yet recommended for JP ¥T rader. Note that lotMode mu st be set to SCALED for optimal performance.


SETTINGS

JP ¥T rader's settings are designed to be simple and easy to understand. The list below outlines each setting and it's purpose.

General Settings

doBuyTrades
enables trading BUY signals
buyTradesMult
position risk multiplier (risk margin multiplier to determine BUY trade exit)
doSellTrades
enables trading SELL signals
sellTradesMult
position risk multiplier (risk margin multiplier to determine SELL trade exit)
timedTradesStart
trading start time
timedTradesStop
trading stop time
    Trade Settings
tmpLot
minimum position size (minimum recommended is 0.02)
tmpLotMax
maximum position size (determined by broker)
dMultiple
period multiplier (trade signal filter #1, direct relationship with trade signal frequency)
pMultiple
profits multiplier (determines choppy price action, when to take partial profits and move risk margin)
rMultiple
range multiplier (primary choppy/sideways market determinant. Only changes if required by market)
slDistance
position risk level (distance from trade entry price to stop loss, automatically converted to PIPs)
pDistance
position entry distance (distance from trade signal price to desired entry price, auto-converted)
tmpSleepMult
EA sleep time (wait interval between trades, whether profit or loss. trade signal filter #2)
Other Settings
doAggression
Attempt to recover loss trades.
pFunc Trade signals detection function.
lFunc Trade signals loss function.
lotMode
Trade position sizing mode.
tmpOrdersMax
maximum positions opened (current default is 1, multiple simultaneous orders not yet supported)
tmpMagic
unique magic number to differentiate JP ¥T rader instance trades

KNOWN BUGS

  • JP ¥T rader's inconsistent maximum position lot sizing should be considered a bug. However, this can be corrected very easily by specifying the exact quadruple of the last lot size in your scaling strategy. Moreover, a 2-stage scaling strategy may also be used, and the exact maximum (2nd stage) position size specified (e.g. 0.02.0.08,0.32 or 0.02,0.08 ).
  • JP ¥T rader's price action retracement algorithm was fairly accurate, in that, a position with unrealized gains WILL become a loss trade if price action retraces during that trade. This is the single most significant contributor to losing trades. However, JP ¥T rader's version 1.10 improved the price action retracements algorithm, using Fibonacci retracements. Regardless, gains are NOT taken automatically .
JP ¥T rader's version 1.30 introduced functions to improve the price retracement algorithm, and discontinued using Fibonacci retracements. Therefore, it is recommended to allow automatic execution without human intervention - however, trades with the largest size in your scaling strategy may have their risk margin(s) (stop-loss) moved manually without any adverse impact to EA performance. Note that closing a trade position manually adversely impacts the performance of this EA.
  • Notifications are sent only when trade positions are entered, and when the risk margin(s) for the trade position(s) are moved successfully by your broker - either to break-even, or to claim unrealized gains. JP ¥T rader's version 1.10 also sends notifications when there are unrealized gains to be taken and EA has not moved stop-loss , however, version 1.3 removes this feature as it is recommended to fire and forget this version.

FUTURE ROADMAP

  • Introduce range trading algorithm to further minimize losses.
  • Determine functional settings for profitable prop trading on more currency pairs ( AUDJPY now included ).
  • Add more community features (e.g. doAutoTrade ).