JPYTrader
- Uzman Danışmanlar
- Courage Sampson Orji
- Sürüm: 1.30
- Güncellendi: 27 Temmuz 2023
- Etkinleştirmeler: 10
JP¥Trader 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/2118848 | |
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¥Trader 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¥Trader. Note that lotMode must be set to SCALED for optimal performance.SETTINGS
JP¥Trader'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¥Trader instance trades |
KNOWN BUGS
- JP¥Trader'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¥Trader'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¥Trader's version 1.10 improved the price action retracements algorithm, using Fibonacci retracements. Regardless, gains are NOT taken automatically.
JP¥Trader'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¥Trader'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).