量化交易系统

MT4-Harmonic Shark

  • 型号:
Main Image

The indicator detects and displays Shark harmonic pattern (see the screenshot). The pattern is plotted by the extreme values of the ZigZag indicator (included in the resources, no need to install). After detecting the pattern, the indicator notifies of that by a pop-up window, a mobile notification and an email. The indicator highlights the process of the pattern formation and not just the complete pattern. In the former case, it is displayed in the contour triangles. After the pattern is complete, a potential reversal zone appears on the chart.


Parameters

  • zzDepth, zzDev, zzBack - ZigZag parameters
  • AB_min (ab/ax), AB_max (ab/ax) - minimum and maximum ratio of AB and AX levels
  • BC_min (bc/ab), BC_max (bc/ab) - minimum and maximum ratio of BC and AB levels
  • OC_min (bc/ob), OC_max (bc/ob) - minimum and maximum ratio of BC and OB levels
  • bearColor - bearish pattern color
  • bullColor - bullish pattern color
  • CountBars - limit the amount of bars to be processed by the indicator (reduces the initial download time)
  • UseAlert - enable pop-up messages
  • UseNotification - enable push notifications
  • UseMail - enable email notifications
  • prefix - text label for indicator objects on a chart (enter various values for these parameters when applying several indicators to the chart)
  • MessageAdd - text line added to the notifications sent to indicators
  • ShowPreset - allow the pattern display during its formation
  • CustomEventBuy,CustomEventSell - chart events

  • Sample to use signals in EA:

    void OnTick() {
     double x;
     x = iCustom(Symbol(),PERIOD_CURRENT,"Harmonic-Shark",0,1); if (x != 0 && x != EMPTY_VALUE) goBuy();
     x = iCustom(Symbol(),PERIOD_CURRENT,"Harmonic-Shark",2,1); if (x != 0 && x != EMPTY_VALUE) goSell();
    }
    void goBuy() { // function for open BUY
    }
    void goSell() { // function for open SELL
    }
    
    void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) {
     switch (id) {
      case CHARTEVENT_CUSTOM+100: 
       goBuy(); break;
      case CHARTEVENT_CUSTOM+101: 
       goSell(); break;
     }
    }
    
    void goBuy() { // function for open BUY
    }
    
    void goSell() { // function for open SELL
    }