From 4683eb62fa21c86886bca90f2b0d776d25b8c254 Mon Sep 17 00:00:00 2001 From: Nkondog Anselme Date: Wed, 16 Mar 2022 21:38:02 +0100 Subject: [PATCH] Initial commit. Working on DCA Manager --- Experts/Nkanven/CandleCount.ex5 | Bin 46606 -> 0 bytes Experts/Nkanven/GeminiHedge.ex5 | Bin 0 -> 23832 bytes Experts/Nkanven/GeminiHedge.mq5 | 78 ++++++++++ Include/Nkanven/GeminiHedge/CheckHistory.mqh | 27 ++++ .../Nkanven/GeminiHedge/CloseTransactions.mqh | 0 Include/Nkanven/GeminiHedge/DCAManager.mqh | 29 ++++ .../Nkanven/GeminiHedge/EntriesManager.mqh | Bin 0 -> 11206 bytes Include/Nkanven/GeminiHedge/LotSizeCal.mqh | 62 ++++++++ Include/Nkanven/GeminiHedge/Parameters.mqh | 140 ++++++++++++++++++ Include/Nkanven/GeminiHedge/Prechecks.mqh | 79 ++++++++++ Include/Nkanven/GeminiHedge/ScanPositions.mqh | 76 ++++++++++ Include/Nkanven/GeminiHedge/TradeManager.mqh | 0 Include/Nkanven/GeminiHedge/TradingHour.mqh | 62 ++++++++ gemini.drawio | 1 + 14 files changed, 554 insertions(+) delete mode 100644 Experts/Nkanven/CandleCount.ex5 create mode 100644 Experts/Nkanven/GeminiHedge.ex5 create mode 100644 Experts/Nkanven/GeminiHedge.mq5 create mode 100644 Include/Nkanven/GeminiHedge/CheckHistory.mqh create mode 100644 Include/Nkanven/GeminiHedge/CloseTransactions.mqh create mode 100644 Include/Nkanven/GeminiHedge/DCAManager.mqh create mode 100644 Include/Nkanven/GeminiHedge/EntriesManager.mqh create mode 100644 Include/Nkanven/GeminiHedge/LotSizeCal.mqh create mode 100644 Include/Nkanven/GeminiHedge/Parameters.mqh create mode 100644 Include/Nkanven/GeminiHedge/Prechecks.mqh create mode 100644 Include/Nkanven/GeminiHedge/ScanPositions.mqh create mode 100644 Include/Nkanven/GeminiHedge/TradeManager.mqh create mode 100644 Include/Nkanven/GeminiHedge/TradingHour.mqh create mode 100644 gemini.drawio diff --git a/Experts/Nkanven/CandleCount.ex5 b/Experts/Nkanven/CandleCount.ex5 deleted file mode 100644 index 22dcaeafd9a72a8585049f6c58efe02ee2ccc3fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46606 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 MB9ezFCjIyS0M|{6EC2ui diff --git a/Experts/Nkanven/GeminiHedge.ex5 b/Experts/Nkanven/GeminiHedge.ex5 new file mode 100644 index 0000000000000000000000000000000000000000..0dc87d4e1beae8f090edd3f024129e80b6a6122c GIT binary patch literal 23832 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 +#include //EA paramters +#include //Trading hours checks +#include //Trading conditions checks +#include //Trading conditions checks +#include //Lot size calculator +#include //Lot size calculator +//+------------------------------------------------------------------+ +//| Expert initialization function | +//+------------------------------------------------------------------+ + +//+------------------------------------------------------------------+ +//| | +//+------------------------------------------------------------------+ +int OnInit() + { +//--- +//--- + return(INIT_SUCCEEDED); + } +//+------------------------------------------------------------------+ +//| Expert deinitialization function | +//+------------------------------------------------------------------+ +void OnDeinit(const int reason) + { +//--- + + } +//+------------------------------------------------------------------+ +//| Expert tick function | +//+------------------------------------------------------------------+ +void OnTick() + { +//--- + TimeCurrent(dt); + string instruments[]; + + if(InpActivateDCAHedging) + { + string instruments[] = {InpInstrument1, InpInstrument2}; + } + else + { + string instruments[] = {InpInstrument1}; + } + + for(int i=0; i 0) + { + //return position exists + } + } +//+------------------------------------------------------------------+ diff --git a/Include/Nkanven/GeminiHedge/EntriesManager.mqh b/Include/Nkanven/GeminiHedge/EntriesManager.mqh new file mode 100644 index 0000000000000000000000000000000000000000..51dff0dc9f430136d093e760711bc11d40a32b4a GIT binary patch literal 11206 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 BQ9A$t literal 0 HcmV?d00001 diff --git a/Include/Nkanven/GeminiHedge/LotSizeCal.mqh b/Include/Nkanven/GeminiHedge/LotSizeCal.mqh new file mode 100644 index 0000000..7bf44fc --- /dev/null +++ b/Include/Nkanven/GeminiHedge/LotSizeCal.mqh @@ -0,0 +1,62 @@ +//+------------------------------------------------------------------+ +//| LotSizeCal.mqh | +//| Copyright 2021, Nkondog Anselme Venceslas | +//| https://www.mql5.com | +//+------------------------------------------------------------------+ +#property copyright "Copyright 2021, Nkondog Anselme Venceslas" +#property link "https://www.mql5.com" + + +//Lot Size Calculator +void LotSizeCalculate(double SL=0) + { +//If the position size is dynamic + if(InpRiskDefaultSize==RISK_DEFAULT_AUTO) + { + //If the stop loss is not zero then calculate the lot size + if(SL!=0) + { + double RiskBaseAmount=0; + Print("Compute lot size"); + + //TickValue is the value of the individual price increment for 1 lot of the instrument, expressed in the account currenty + double TickValue=SymbolInfoDouble(gSymbol,SYMBOL_TRADE_TICK_VALUE); + //Define the base for the risk calculation depending on the parameter chosen + if(InpRiskBase==RISK_BASE_BALANCE) + RiskBaseAmount=AccountInfoDouble(ACCOUNT_BALANCE); + if(InpRiskBase==RISK_BASE_EQUITY) + RiskBaseAmount=AccountInfoDouble(ACCOUNT_EQUITY); + if(InpRiskBase==RISK_BASE_FREEMARGIN) + RiskBaseAmount=AccountInfoDouble(ACCOUNT_FREEMARGIN); + + //Calculate the Position Size + gLotSize=((RiskBaseAmount*InpMaxRiskPerTrade/100)/(SL*TickValue)); + + Print("(RiskBaseAmount ", RiskBaseAmount, " InpMaxRiskPerTrade ", InpMaxRiskPerTrade, " SL ", SL, " TickValue ", TickValue); + } + + //If the stop loss is zero then the lot size is the default one + if(SL==0) + { + gLotSize=InpDefaultLotSize; + } + } +//Normalize the Lot Size to satisfy the allowed lot increment and minimum and maximum position size + gLotSize=MathFloor(gLotSize/SymbolInfoDouble(gSymbol,SYMBOL_VOLUME_STEP))*SymbolInfoDouble(gSymbol,SYMBOL_VOLUME_STEP); + + Print("LotSize ", gLotSize); +//Limit the lot size in case it is greater than the maximum allowed by the broker + if(gLotSize>SymbolInfoDouble(gSymbol,SYMBOL_VOLUME_MAX)) + gLotSize=SymbolInfoDouble(gSymbol,SYMBOL_VOLUME_MAX); + Print("Lot ", gLotSize, " Max lot ", SymbolInfoDouble(gSymbol,SYMBOL_VOLUME_MAX)); + + Print("LotSize2 ", gLotSize); +//If the lot size is too small then set it to 0 and don't trade + if(gLotSizeInpMaxStopLoss) + { + gIsPreChecksOk=false; + Print("Default Stop Loss must be between Minimum and Maximum Stop Loss Allowed"); + return; + } +//Check if the default take profit you are setting in above the minimum and below the maximum + if(InpDefaultTakeProfitInpMaxTakeProfit) + { + gIsPreChecksOk=false; + Print("Default Take Profit must be between Minimum and Maximum Take Profit Allowed"); + return; + } +//Check if the Lot Size is between the minimum and maximum + if(InpDefaultLotSizeInpMaxLotSize) + { + gIsPreChecksOk=false; + Print("Default Lot Size must be between Minimum and Maximum Lot Size Allowed"); + return; + } +//Slippage must be >= 0 + if(InpSlippage<0) + { + gIsPreChecksOk=false; + Print("Slippage must be a positive value"); + return; + } +//MaxSpread must be >= 0 + if(InpMaxSpread<0) + { + gIsPreChecksOk=false; + Print("Maximum Spread must be a positive value"); + return; + } +//MaxRiskPerTrade is a % between 0 and 100 + if(InpMaxRiskPerTrade<0 || InpMaxRiskPerTrade>100) + { + gIsPreChecksOk=false; + Print("Maximum Risk Per Trade must be a percentage between 0 and 100"); + return; + } +//Spread is acceptable + long SpreadCurr=(int)Spread; + Print("Spread ", Spread); + if(SpreadCurr>InpMaxSpread) + { + gIsPreChecksOk=false; + Print("Spread is higher than Max acceptable spread"); + return; + } + } +//+------------------------------------------------------------------+ diff --git a/Include/Nkanven/GeminiHedge/ScanPositions.mqh b/Include/Nkanven/GeminiHedge/ScanPositions.mqh new file mode 100644 index 0000000..6f636c8 --- /dev/null +++ b/Include/Nkanven/GeminiHedge/ScanPositions.mqh @@ -0,0 +1,76 @@ +//+------------------------------------------------------------------+ +//| ScanPositions.mqh | +//| Copyright 2021, Nkondog Anselme Venceslas | +//| https://www.linkedin.com/in/nkondog | +//+------------------------------------------------------------------+ +#property copyright "Copyright 2021, Nkondog Anselme Venceslas" +#property link "https://www.linkedin.com/in/nkondog" + +//Scan all positions to find the ones submitted by the EA +//NOTE This function is defined as bool because we want to return true if it is successful and false if it fails +void ScanPositions() + { + +//Scan all the orders, retrieving some of the details + gTotalPositions = PositionsTotal(); + gTotalOrders = OrdersTotal(); + gTotalBuyPositions = 0; + gTotalBuyOrders = 0; + + for(int i=0; i= InpDayTradingHourStart ", InpDayTradingHourStart ," ", dt.hour >= InpDayTradingHourStart); + Print("dt.hour ", dt.hour," <= InpDayTradingHourEnd ", InpDayTradingHourEnd ," ", dt.hour <= InpDayTradingHourEnd); + + //Check day trading hours + if(dt.hour >= InpDayTradingHourStart && dt.hour <= InpDayTradingHourEnd) + { + day_trading = true; + gIsOperatingHours=true; + Print("Day period trading"); + return; + } + + } +Print("InpTradingPeriods == NIGHT_TRADING ", InpTradingPeriods == NIGHT_TRADING); + if(InpTradingPeriods == NIGHT_TRADING) + { + //Check night trading hours + if(dt.hour >= InpNightTradingHourStart && dt.hour <= InpNightTradingHourEnd) + { + night_trading = true; + gIsOperatingHours=true; + Print("Night period trading"); + return; + } + } + + if(InpTradingPeriods == DAY_NIGHT_TRADING) + { + //Check night trading hours + if(day_trading || night_trading) + { + gIsOperatingHours=true; + Print("Day and night periods trading"); + return; + } + } + } +//+------------------------------------------------------------------+ diff --git a/gemini.drawio b/gemini.drawio new file mode 100644 index 0000000..0f476fe --- /dev/null +++ b/gemini.drawio @@ -0,0 +1 @@ +1Vpbb6s4EP41kXYfWgHmlsekTXtW291Wp5V6+uiAQ7wlODKmTc6vX1PM1YSQBEjahwqPx8bMfPMxM2EEblabewrXy3+Ii/yRpribEbgdaZqtjvn/WLBNBLqtJQKPYjcRqbngGf9GQqgIaYRdFJYUGSE+w+uy0CFBgBxWkkFKyWdZbUH88l3X0EOS4NmBvix9xS5bisfSrFz+A2Fvmd5ZNcUDr2CqLJ4kXEKXfBZEYDYCN5QQllytNjfIj22X2iVZd7djNjsYRQFrs8CYPv6GLxq+ZxDTt49JdLX6uFLNZJsP6EfiicVp2TY1AXK5RcSQULYkHgmgP8ulU0qiwEXxfRQ+ynUeCFlzocqF/yHGtsK9MGKEi5Zs5YvZBfb9G+IT+nVH4BrIdnUuDxkl76gwY2tzYJp8JjllfLSd5hCikETUQU020AWuIPUQa1I0MrdxuCOyQoxu+UKKfMjwR/kkUADPy/Ry3/AL4Z5DXKVLrpo4jBum6i8OtHV8Ga38RAFMPxBlmIP6Ac6R/0RCzDAJuMqcMEZWBYWJj714gsWOK3qIRMzHAXdFGmZK5oR4Ldo0u0E2mlgARHQIelAtMf7Mgy1VWRbizFR6srJmXERAdAlvoyW8d3lqIHjXGd70+YGnc45x04uvHmAUOEuuNZtIXvlcYoae1/DLGJ/8ZVS2aD3CjyWekzA/NvZiXtUGBb0q2f6JImeJnPdQsjNdktU84keY7rF4xbYL/ucodbZdLBT+141tNaNCKLZsXLvGtnpvttUk295BP0RHsErBtlCg2EcLVgPujNdR4E7iLCjec42CRCJYx270RZnCuPXp9hcfXCnXijZOJW/x9LVu26ngdlNccLstjp4QxdymiJbeHhLH7SW0BjLcz3FmI3quxD6tKU/s9EQwP0m2ja6UQagpFXQl5xSrcoBxV8FtQW0dK4S776ONy/cRuWcO12TDHLzZE5+AZyDh+YVG/cI54erOsayUYWzsAfFZ8GoPgdcqjjKG7BmvoFyy9ATY8UVkdGctcTTzRLwNkwNqcjW6Ow/h++F1GPumUPDw+oTb0z88ObEd5Dh17pjbhm50VexU8S/nJlZNblKNxs7sDWQuP0dodAl0uyXQgVLvqcOY9FACNJRGAtyrnyYS/RKmLUehaBmEsZ82OGQSTHIQqAcHnwuRvagNPtOx0XzRUfCZ9rVVrryy91Gx8lK1a0OOwd5qr5QDCtbmJOYmHZrvVXsZ+oXVXkCua79z7TVQvpoi8ph8FeiNCOkoXzUrRb7VT7pq2LW36ZV8gdwuuNTyKktUu4HrrgT5LDAepE1QxReoEmFPOB6k7ALWEZg9OZXMwZfj7a0Et8PAN0h1Btr+ALULlsNUZ0D+AerJjxMQ/tScKnDg8StCXURrmsYXnx6aleRFr0sNh2zK68ZZAmiDWRI/liGGb4WpPHziQam9e0TUdRlDbTscYHxiDB1FwZZWrjyA3Vz4WabVpN8TZcvtl5u49xK7JC8A775viIMW5d+gP7zp4IJiXGkX4+rolLSudaOtG1YYt2WFHXXLQG9WuUU9i7ssySvVg+s/wj8b4k250HanpZRJLPtZ7HzxJjdbJl+rQtTU0jrcwMN8SGCY1Zzl7AZu8z1ZXmg6PgxDnAARUiaLCxbeVWVea6WcQ93DR+3Z5eh0vGB9o8b4qezUJoi2w/npFgk7StWjXB6qlY20fsrQ6oH35UDVjHyvvtmYY/WTM+mWBPgfs9v7v/6958KXn5Pb5Gr6+ML/vz7+/Pvu4fH1NKrxKHQxB2tKKgEJ4rTAj7/tm0Ln3fvarXb2K3WrzCxIwNKEQ03HSeqgWRVmE0vKpCaEHfBZ5WNAYMp0llFXMaLUKvRb8Bkf5t/eJmjIP2AGs/8B \ No newline at end of file