EA Goku

TopicStarter

Moderator
Apr 15, 2024
9,289
4
38

Introduction​


In the world of automated trading, the efficiency of a trading robot can often be a game-changer for traders seeking consistent profits with minimal drawdowns. One such robot that's garnered attention in the trading community is EA Goku. But does it live up to the hype? Let's dive into its main functions, analyze its results over the past year, and discuss its pros and cons.

Description of Functions​


EA Goku claims to offer a variety of features designed to enhance trading performance and safety. Some of the key functions include:

  • Adaptive Strategies: The robot uses multiple trading strategies that adapt to different market conditions.
  • Risk Management: Implements robust risk management techniques to minimize drawdowns.
  • Customizable Settings: Offers various settings that can be tailored to individual trading styles.
  • Compatibility: Works seamlessly on multiple currency pairs and timeframes.
  • Market Movement Resistance: Designed to withstand significant market movements.

Analysis of Results​


Over the past year, EA Goku has shown a consistent performance, with gradual growth in the deposit and minimal drawdowns.

had this to say: The trading result is good. The advisor is very safe and, most importantly, not aggressive. Withstands large movements in the market. The author offers different settings, and I tested them all on demo accounts and switched to real trading. There is a good profit, a small drawdown. The gradual growth of the deposit is the dream of every trader.

While user feedback is generally positive, it's essential to maintain a critical perspective. A rating of 5 sounds like a dream come true, but it's always crucial to verify these claims with actual trading results and statistics.

[HEADING=2]Pros and Cons[/HEADING]

[B]Pros:[/B]
[LIST]
[*]Adaptive to various market conditions.
[*]Low drawdown.
[*]Customizable settings for different trading styles.
[*]Handles significant market movements well.
[*]Positive user feedback.
[/LIST]

[B]Cons:[/B]
[LIST]
[*]Lack of transparency in the robot's algorithm.
[*]Dependence on specific market conditions for optimal performance.
[*]Potential for over-optimism in user reviews.
[/LIST]

[HEADING=2]Source Code of EA Goku[/HEADING]

Unfortunately, the original source code of EA Goku sold on MQL5 is not publicly available. However, based on the detailed description and functionalities provided on the MQL5 site, we can create a similar EA.

If you have any questions about the code, feel free to ask. Note that this example code comes from [URL=https://easytradingforum.com]easytradingforum.com[/URL], and our team at EASY Trading Team does not sell EA Goku but has created a robot based on its description.

[CODE]mql5
//+------------------------------------------------------------------+
//| EA Goku.mq5 |
//| Forex Robot EASY Team |
//| https://forexroboteasy.com/ |
//| Year: 2024 |
//+------------------------------------------------------------------+
#include <Trade\Trade.mqh>
CTrade trade;

//--- input parameters
input ENUM_TIMEFRAMES TimeFrame = PERIOD_H1; // Trading Timeframe
input double LotSize = 0.1; // Lot Size
input double StopLoss = 50; // Stop Loss (in pips)
input double TakeProfit = 100; // Take Profit (in pips)
input double TrailingStop = 20; // Trailing Stop (in pips)
input string TradingPair = EURUSD; // Trading Pair
input int MaPeriod = 14; // Moving Average Period
input ENUM_MA_METHOD MaMethod = MODE_SMA; // Moving Average Method
input double MaxRisk = 2.0; // Max Risk Percentage per trade

//--- indicator handles
int maHandle;

//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- Set up indicator handle
maHandle = iMA(TradingPair, TimeFrame, MaPeriod, 0, MaMethod, PRICE_CLOSE);
if (maHandle == INVALID_HANDLE)
{
Print(Error initializing Moving Average indicator);
return INIT_FAILED;
}

//--- Initialization succeeded
Print(EA Goku initialized successfully.);
return INIT_SUCCEEDED;
}

//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//--- Cleanup
Print(EA Goku deinitialized.);
}

//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//--- Variables for storing indicator values
double maValue;

//--- Get the value of the Moving Average
if (CopyBuffer(maHandle, 0, 0, 1, maValue) <= 0)
{
Print(Failed to get Moving Average value);
return;
}

//--- Signal generation logic
double lastClose = iClose(TradingPair, TimeFrame, 0);
if (lastClose > maValue)
{
// Buy signal logic
if (PositionSelect(TradingPair) == false)
OpenOrder(ORDER_TYPE_BUY);
}
else if (lastClose < maValue)
{
// Sell signal logic
if (PositionSelect(TradingPair) == false)
OpenOrder(ORDER_TYPE_SELL);
}

//--- Manage trailing stop for open positions
ManageTrailingStop();
}

//+------------------------------------------------------------------+
//| Function to open orders |
//+------------------------------------------------------------------+
void OpenOrder(int orderType)
{
double volume = CalculateVolume();
double price = (orderType == ORDER_TYPE_BUY) ? SymbolInfoDouble(TradingPair, SYMBOL_ASK) : SymbolInfoDouble(TradingPair, SYMBOL_BID);
double sl = (orderType == ORDER_TYPE_BUY) ? price - StopLoss * Point() : price + StopLoss * Point();
double tp = (orderType == ORDER_TYPE_BUY) ? price + TakeProfit * Point() : price - TakeProfit * Point();

if (!trade.PositionOpen(TradingPair, orderType, volume, price, sl, tp))
{
Print(Order failed: , trade.ResultRetcodeDescription());
}
}

//+------------------------------------------------------------------+
//| Function to calculate the lot size based on risk management |
//+------------------------------------------------------------------+
double CalculateVolume()
{
double riskPerTrade = AccountBalance() * MaxRisk / 100;
double pipValue = SymbolInfoDouble(TradingPair, SYMBOL_TRADE_TICK_VALUE);
double volume = riskPerTrade / (StopLoss * pipValue);

//--- Ensuring calculated volume is within the allowed lot size
return MathMin(volume, LotSize);
}

//+------------------------------------------------------------------+
//| Function to manage trailing stops |
//+------------------------------------------------------------------+
void ManageTrailingStop()
{
for (int i = PositionsTotal() - 1; i >= 0; i--)
{
if (PositionGetSymbol(i) == TradingPair)
{
double sl, tp, price;
int orderType = PositionGetInteger(POSITION_TYPE);

if (orderType == ORDER_TYPE_BUY)
{
price = SymbolInfoDouble(TradingPair, SYMBOL_BID);
sl = PositionGetDouble(POSITION_SL);
if ((price - sl) > (TrailingStop * Point()))
{
sl = price - TrailingStop * Point();
trade.PositionModify(PositionGetInteger(POSITION_TICKET), sl, PositionGetDouble(POSITION_TP));
}
}
else if (orderType == ORDER_TYPE_SELL)
{
price = SymbolInfoDouble(TradingPair, SYMBOL_ASK);
sl = PositionGetDouble(POSITION_SL);
if ((sl - price) > (TrailingStop * Point()))
{
sl = price + TrailingStop * Point();
trade.PositionModify(PositionGetInteger(POSITION_TICKET), sl, PositionGetDouble(POSITION_TP));
}
}
}
}
}

//+------------------------------------------------------------------+
//| Expert trailing stop function |
//+------------------------------------------------------------------+
//| Function to handle logging and notifications |
//+------------------------------------------------------------------+
void LogAndNotify(string message)
{
//--- Function to log trades and send notifications
Print(message);
//--- Placeholder for email/push notification code
}
//+------------------------------------------------------------------+

[/CODE]

[HEADING=2]Download EA Goku Now - Efficient Automated Trading Solution[/HEADING]

If you are looking to take your trading to the next level with automated strategies, consider downloading a version of EA Goku. Although we don't sell the original robot, you can benefit from a similar algorithm designed by our team. For more details, visit [URL=https://forexroboteasy.com/trading-robot/ea-goku/]EA Goku Download[/URL]. Let's continue the discussion on the forum and share our experiences!
 

Attachments

  • EA Goku.mq5
    6.3 KB · Views: 0
Just acquired the EA and am excited to dive in! Could you share the setup instructions and the configuration files? Looking forward to maximizing my trading potential!