Delete Entries_Newest.mq5
This commit is contained in:
@@ -1,333 +0,0 @@
|
|||||||
//+------------------------------------------------------------------+
|
|
||||||
//| TigerObserver.mq5 |
|
|
||||||
//| Copyright 2023, MetaQuotes Ltd. |
|
|
||||||
//| https://www.mql5.com |
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
#property copyright "Copyright 2023, MetaQuotes Ltd."
|
|
||||||
#property link "https://www.mql5.com"
|
|
||||||
#property version "1.00"
|
|
||||||
|
|
||||||
|
|
||||||
#include "Algo_Skeleton_Functions.mqh"
|
|
||||||
|
|
||||||
long H4_SUPPORT_ZONE_CLR ;
|
|
||||||
long H4_RESISTANCE_ZONE_CLR ;
|
|
||||||
long H1_SUPPORT_ZONE_CLR;
|
|
||||||
long H1_RESISTANCE_ZONE_CLR;
|
|
||||||
long M30_SUPPORT_ZONE_CLR ;
|
|
||||||
long M30_RESISTANCE_ZONE_CLR ;
|
|
||||||
|
|
||||||
int OnInit()
|
|
||||||
{
|
|
||||||
//--- create timer
|
|
||||||
EventSetTimer(60);
|
|
||||||
|
|
||||||
// ONLY FOR VISULAZITAION ON STRATEGY TESTER
|
|
||||||
iClose(_Symbol,PERIOD_W1,1);
|
|
||||||
iClose(_Symbol,PERIOD_D1,1);
|
|
||||||
iClose(_Symbol,PERIOD_H4,5);
|
|
||||||
iClose(_Symbol,PERIOD_H1,5);
|
|
||||||
iClose(_Symbol,PERIOD_M30,5);
|
|
||||||
iClose(_Symbol,PERIOD_M15,5);
|
|
||||||
|
|
||||||
H4_SUPPORT_ZONE_CLR = clrBlack ;
|
|
||||||
H4_RESISTANCE_ZONE_CLR = clrBlack ;
|
|
||||||
|
|
||||||
if(ENTRY_BASED_H1_STRUCTURE == true && ENTRY_BASED_M30_STRUCTURE == false){
|
|
||||||
M30_SUPPORT_ZONE_CLR = clrBlack ;
|
|
||||||
M30_RESISTANCE_ZONE_CLR = clrBlack ;
|
|
||||||
|
|
||||||
H1_SUPPORT_ZONE_CLR = clrAliceBlue ;
|
|
||||||
H1_RESISTANCE_ZONE_CLR = clrDarkGray ;
|
|
||||||
|
|
||||||
}
|
|
||||||
else if(ENTRY_BASED_H1_STRUCTURE == false && ENTRY_BASED_M30_STRUCTURE == true){
|
|
||||||
M30_SUPPORT_ZONE_CLR = clrAliceBlue ;
|
|
||||||
M30_RESISTANCE_ZONE_CLR = clrDarkGray ;
|
|
||||||
|
|
||||||
H1_SUPPORT_ZONE_CLR = clrBlack ;
|
|
||||||
H1_RESISTANCE_ZONE_CLR = clrBlack ;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
objectsManager.addTextTiger();
|
|
||||||
|
|
||||||
for(int i=0; i<NUM_MAX_ALLOWED_TRADES ; i++)
|
|
||||||
{
|
|
||||||
BuyActiveTradesArray[i] = NULL ;
|
|
||||||
SellActiveTradesArray[i] = NULL ;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//objectsManager.addMarketDescriptionTextTiger();
|
|
||||||
|
|
||||||
//---
|
|
||||||
return(INIT_SUCCEEDED);
|
|
||||||
}
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
//| Expert deinitialization function |
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
void OnDeinit(const int reason)
|
|
||||||
{
|
|
||||||
//--- destroy timer
|
|
||||||
Print("Buys Count: " + buysCount);
|
|
||||||
Print("Sells Count: " + sellsCount);
|
|
||||||
EventKillTimer();
|
|
||||||
|
|
||||||
}
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
//| Expert tick function |
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
void OnTick()
|
|
||||||
{
|
|
||||||
//---
|
|
||||||
|
|
||||||
cleanBuyTradesArr();
|
|
||||||
cleanSellTradesArr();
|
|
||||||
secureProfitIfNeeded();
|
|
||||||
|
|
||||||
if(newCandleDetectorM15.isNewCandle())
|
|
||||||
{
|
|
||||||
|
|
||||||
// UPDATING M30 ZONES
|
|
||||||
if(zoneContainerSupport_M30.getNumberOfActiveZones()>0){
|
|
||||||
updateNormalZonesSupport(zoneContainerSupport_M30,PERIOD_M30,"PERIOD_M30",M30_SUPPORT_ZONE_CLR,rangeDistanceBetweenZonesActual_M30,0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(zoneContainer_M30.getNumberOfActiveZones()> 0){
|
|
||||||
updateNormalZonesResistance(zoneContainer_M30,PERIOD_M30,"PERIOD_M30",M30_RESISTANCE_ZONE_CLR,rangeDistanceBetweenZonesActual_M30,0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
//| |
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
if(newCandleDetector30M.isNewCandle())
|
|
||||||
{
|
|
||||||
|
|
||||||
if(trail_based_m30){
|
|
||||||
trailAllOpenPositionsIfNeeded(PERIOD_M30);
|
|
||||||
}
|
|
||||||
datetime currTime = TimeCurrent();
|
|
||||||
ObjectSetString(0,"clockTextTiger",OBJPROP_TEXT,TimeToString(currTime,TIME_MINUTES));
|
|
||||||
|
|
||||||
detectAndDrawResistanceOnTimeFrame(PERIOD_M30,"PERIOD_M30",M30_RESISTANCE_ZONE_CLR,zoneContainer_M30,rangeDistanceBetweenZonesActual_M30,0);
|
|
||||||
detectAndDrawSupportOnTimeFrame(PERIOD_M30,"PERIOD_M30",M30_SUPPORT_ZONE_CLR,zoneContainerSupport_M30,rangeDistanceBetweenZonesActual_M30,0);
|
|
||||||
if(ENTRY_BASED_M30_STRUCTURE){
|
|
||||||
|
|
||||||
handleBuys(zoneContainer_M30,PERIOD_M30,"PERIOD_M30",cleanRangeUponEntryActual);
|
|
||||||
handleSells(zoneContainerSupport_M30,PERIOD_M30,"PERIOD_M30",cleanRangeUponEntryActual);
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
|
|
||||||
handleBullishBreakouts(zoneContainer_M30,PERIOD_M30,"PERIOD_M30");
|
|
||||||
handleBearishBreakouts(zoneContainerSupport_M30,PERIOD_M30,"PERIOD_M30");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// UPDATING H1 ZONES
|
|
||||||
if(zoneContainerSupport_H1.getNumberOfActiveZones()>0){
|
|
||||||
updateNormalZonesSupport(zoneContainerSupport_H1,PERIOD_H1,"PERIOD_H1",H1_SUPPORT_ZONE_CLR,rangeDistanceBetweenZonesActual_H1,1000);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(zoneContainer_H1.getNumberOfActiveZones()> 0){
|
|
||||||
updateNormalZonesResistance(zoneContainer_H1,PERIOD_H1,"PERIOD_H1",H1_RESISTANCE_ZONE_CLR,rangeDistanceBetweenZonesActual_H1,1000);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
zoneContainerSupport_M30.printZonesSortedArray();
|
|
||||||
zoneContainer_M30.printZonesSortedArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
//| |
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
|
|
||||||
if(newCandleDetector1H.isNewCandle()){
|
|
||||||
|
|
||||||
if(trail_based_h1){
|
|
||||||
trailAllOpenPositionsIfNeeded(PERIOD_H1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
detectAndDrawResistanceOnTimeFrame(PERIOD_H1,"PERIOD_H1",H1_RESISTANCE_ZONE_CLR,zoneContainer_H1,rangeDistanceBetweenZonesActual_H1,1000);
|
|
||||||
detectAndDrawSupportOnTimeFrame(PERIOD_H1,"PERIOD_H1",H1_SUPPORT_ZONE_CLR,zoneContainerSupport_H1,rangeDistanceBetweenZonesActual_H1,1000);
|
|
||||||
|
|
||||||
if(ENTRY_BASED_H1_STRUCTURE){
|
|
||||||
|
|
||||||
handleBuys(zoneContainer_H1,PERIOD_H1,"PERIOD_H1",cleanRangeUponEntryActual);
|
|
||||||
handleSells(zoneContainerSupport_H1,PERIOD_H1,"PERIOD_H1",cleanRangeUponEntryActual);
|
|
||||||
}
|
|
||||||
|
|
||||||
else{
|
|
||||||
handleBullishBreakouts(zoneContainer_H1,PERIOD_H1,"PERIOD_H1");
|
|
||||||
handleBearishBreakouts(zoneContainerSupport_H1,PERIOD_H1,"PERIOD_H1");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// UPDATING H4 ZONES
|
|
||||||
if(zoneContainerSupport_H4.getNumberOfActiveZones()>0){
|
|
||||||
updateNormalZonesSupport(zoneContainerSupport_H4,PERIOD_H4,"PERIOD_H4",H4_SUPPORT_ZONE_CLR,rangeDistanceBetweenZonesActual_H4,2000);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(zoneContainer_H4.getNumberOfActiveZones()> 0){
|
|
||||||
updateNormalZonesResistance(zoneContainer_H4,PERIOD_H4,"PERIOD_H4",H4_RESISTANCE_ZONE_CLR,rangeDistanceBetweenZonesActual_H4,2000);
|
|
||||||
}
|
|
||||||
|
|
||||||
Print("H1 zones :");
|
|
||||||
//zoneContainerSupport_H1.printZonesSortedArray();
|
|
||||||
//zoneContainer_H1.printZonesSortedArray();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(newCandleDetector4H.isNewCandle()){
|
|
||||||
last_H4_candle_broke_structure = false ;
|
|
||||||
|
|
||||||
if(trail_based_h4){
|
|
||||||
trailAllOpenPositionsIfNeeded(PERIOD_H4);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
detectAndDrawResistanceOnTimeFrame(PERIOD_H4,"PERIOD_H4",H4_RESISTANCE_ZONE_CLR,zoneContainer_H4,rangeDistanceBetweenZonesActual_H4,2000);
|
|
||||||
detectAndDrawSupportOnTimeFrame(PERIOD_H4,"PERIOD_H4",H4_SUPPORT_ZONE_CLR,zoneContainerSupport_H4,rangeDistanceBetweenZonesActual_H4,2000);
|
|
||||||
|
|
||||||
// BREAK OF STRUCTURE HANDLING
|
|
||||||
|
|
||||||
|
|
||||||
handleBullishBreakouts(zoneContainer_H4,PERIOD_H4,"PERIOD_H4");
|
|
||||||
handleBearishBreakouts(zoneContainerSupport_H4,PERIOD_H4,"PERIOD_H4");
|
|
||||||
|
|
||||||
//handleBuys(zoneContainer_H4,PERIOD_H4,"PERIOD_H4",cleanRangeUponEntryActual);
|
|
||||||
//handleSells(zoneContainerSupport_H4,PERIOD_H4,"PERIOD_H4",cleanRangeUponEntryActual);
|
|
||||||
|
|
||||||
//Print("H4, Zones:");
|
|
||||||
//zoneContainerSupport_H4.printZonesSortedArray();
|
|
||||||
//zoneContainer_H4.printZonesSortedArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(newCandleDetectorDaily.isNewCandle())
|
|
||||||
{
|
|
||||||
|
|
||||||
//detectAndDrawResistanceOnTimeFrame(PERIOD_D1,"PERIOD_D1",clrYellow,clrYellow,zoneContainer_D1);
|
|
||||||
//updateBreakAboveStructureAndDelete(zoneContainer_D1,PERIOD_D1,"PERIOD_D1");
|
|
||||||
objectsManager.drawVerticalLine(clrAqua, TimeCurrent());
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
//| |
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
if(newCandleDetectorWeekly.isNewCandle())
|
|
||||||
{
|
|
||||||
|
|
||||||
objectsManager.drawVerticalLine(clrRed, TimeCurrent());
|
|
||||||
|
|
||||||
weekCounter++ ;
|
|
||||||
|
|
||||||
if(weekCounter == deleteAllZonesAfter_Weeks){
|
|
||||||
|
|
||||||
//deleteAllzonesWithGUI();
|
|
||||||
weekCounter = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
//| Timer function |
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
void OnTimer()
|
|
||||||
{
|
|
||||||
//---
|
|
||||||
|
|
||||||
}
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
//| Trade function |
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
void OnTrade()
|
|
||||||
{
|
|
||||||
//---
|
|
||||||
|
|
||||||
}
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
//| TradeTransaction function |
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
void OnTradeTransaction(const MqlTradeTransaction& trans,
|
|
||||||
const MqlTradeRequest& request,
|
|
||||||
const MqlTradeResult& result)
|
|
||||||
{
|
|
||||||
//---
|
|
||||||
|
|
||||||
}
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
//| Tester function |
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
double OnTester()
|
|
||||||
{
|
|
||||||
//---
|
|
||||||
double ret=0.0;
|
|
||||||
//---
|
|
||||||
|
|
||||||
//---
|
|
||||||
return(ret);
|
|
||||||
}
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
//| TesterInit function |
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
void OnTesterInit()
|
|
||||||
{
|
|
||||||
//---
|
|
||||||
|
|
||||||
}
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
//| TesterPass function |
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
void OnTesterPass()
|
|
||||||
{
|
|
||||||
//---
|
|
||||||
|
|
||||||
}
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
//| TesterDeinit function |
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
void OnTesterDeinit()
|
|
||||||
{
|
|
||||||
//---
|
|
||||||
|
|
||||||
}
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
//| ChartEvent function |
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
void OnChartEvent(const int id,
|
|
||||||
const long &lparam,
|
|
||||||
const double &dparam,
|
|
||||||
const string &sparam)
|
|
||||||
{
|
|
||||||
//---
|
|
||||||
|
|
||||||
}
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
//| BookEvent function |
|
|
||||||
//+------------------------------------------------------------------+
|
|
||||||
void OnBookEvent(const string &symbol)
|
|
||||||
{
|
|
||||||
//---
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user