Re: MT4 Indicator requests and ideas

17967
can this be converted to mt4 ?

this is supposed to be 90% accurate
with grats :)

Code: Select all

//+------------------------------------------------------------------+
//|                                            BrahmastraV3_Beta.mq5 |
//|                          Copyright 2018, Vishal Sharma, mrrich06 |
//|                           Creation Date:2019/07/12 Time:11:43:52 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2019, Vishal Sharma, mrrich06"
#property link "https://www.earnforex.com/forum/threads/90-accurate-indicator-super-signal-for-mt5-little-modification-needed.30433/"
#property description "Credits:- Enivid (Administrator,Staff Member) of earnforex.com"
//---- indicator version number
#property version   "3.00"
//--- indicator settings
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots   2
#property indicator_type1   DRAW_ARROW
#property indicator_type2   DRAW_ARROW
#property indicator_color1  Blue
#property indicator_color2  Red
#property indicator_label1  "ShuVi Up"
#property indicator_label2  "ShuVi Down"
//+------------------------------------------------------------------+
//| Inputs                                                           |
//+------------------------------------------------------------------+
int leftbars      = 2;
int rightbars     = 2;
int shift         = 0;
 
//For Alet---------------------------------------
input int    TriggerCandle=1;
input bool   EnableNativeAlerts = true;
input bool   EnableSoundAlerts  = true;
input string SoundFileName="alert.wav";
datetime LastAlertTime = D'01.01.1970';
int LastAlertDirection = 0;
//+----------------------------------------------+
//--- indicator buffers
double ExtUpperBuffer[];
double ExtLowerBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,ExtUpperBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,ExtLowerBuffer,INDICATOR_DATA);
   IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
//--- sets first bar from what index will be drawn
   PlotIndexSetInteger(0,PLOT_ARROW,110);//115,249
   PlotIndexSetInteger(1,PLOT_ARROW,110);//92,249
//--- sets drawing line empty value--
   PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,EMPTY_VALUE);
   PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE);
//--- initialization done
  }
//+------------------------------------------------------------------+
//|  Accelerator/Decelerator Oscillator                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,      // size of the price[] array
                const int prev_calculated,  // bars handled on a previous call
                const datetime &time[],     // Time
                const double &Open[],       // Open
                const double &High[],       // High
                const double &Low[],        // Low
                const double &Close[],      // Close
                const long &TickVolume[],   // Tick Volume
                const long &Volume[],       // Real Volume
                const int &Spread[])        // Spread
  {
   int i,j;
   int limit;
   int countup=0;
   int countdown=0;
//--- I need leftbars+rightbars+1 to calculate the indicator
   if(rates_total<leftbars+rightbars+1)
      return(0);
//---
   if(prev_calculated<leftbars+rightbars+1)
     {
      limit=leftbars;
      //--- clean up arrays
      ArrayInitialize(ExtUpperBuffer,0);
      ArrayInitialize(ExtLowerBuffer,0);
     }
   else
     {
      limit=rates_total-(leftbars+rightbars+1);
     }
//--- we calculate the indicator
   for(i=limit;i<=rates_total-leftbars-1;i++)
     {
      for(j=1;j<=leftbars;j++)
        {
         if(High[i]>High[i+j]) countup=countup+1;
         if(Low[i]<Low[i+j]) countdown=countdown+1;
        }
      for(j=1;j<=rightbars;j++)
        {
         if(High[i]>High[i-j]) countup=countup+1;
         if(Low[i]<Low[i-j]) countdown=countdown+1;
        }
      if(countup==leftbars+rightbars)
         ExtUpperBuffer[i+shift]=High[i];
 
      else ExtUpperBuffer[i+shift]=ExtUpperBuffer[i+shift-1];
 
      if(countdown==leftbars+rightbars)
         ExtLowerBuffer[i+shift]=Low[i];
 
      else ExtLowerBuffer[i+shift]=ExtLowerBuffer[i+shift-1];
      countup=0;
      countdown=0;
     }
 
//For Alert----------------------------------------------------------
   if(((TriggerCandle>0) && (time[0]>LastAlertTime)) || (TriggerCandle==0))
     {
 
      string Text;
      // Up Arrow Alert
      if((ExtUpperBuffer[TriggerCandle]>0) && ((TriggerCandle>0) || ((TriggerCandle==0) && (LastAlertDirection!=1))))
        {
         printf("Alert function of BUY Arrow has been run.");
         Text="BrahmastraV3: "+Symbol()+" - "+EnumToString(Period())+" - Up.";
         if(EnableNativeAlerts) Alert(Text);
         if(EnableSoundAlerts) PlaySound(SoundFileName);
         LastAlertTime=time[0];
         LastAlertDirection=1;
        }
      // Down Arrow Alert
      if((ExtLowerBuffer[TriggerCandle]>0) && ((TriggerCandle>0) || ((TriggerCandle==0) && (LastAlertDirection!=-1))))
        {
         printf("Alert function of SELL Arrow has been run.");
         Text="BrahmastraV3: "+Symbol()+" - "+EnumToString(Period())+" - Down.";
         if(EnableNativeAlerts) Alert(Text);
         if(EnableSoundAlerts) PlaySound(SoundFileName);
         LastAlertTime=time[0];
         LastAlertDirection=-1;
        }
     }
//-------------------------------------------------------------------  
 
//--- OnCalculate done. Return new prev_calculated.
   return(rates_total);
  }
 
//+------------------------------------------------------------------+
Attachments
These users thanked the author Chickenspicy for the post:
RodrigoRT7
0 + 0 = 0
Infinite / Infinite = 1
1 way to Heaven & it matters

Re: MT4 Indicator requests and ideas

17968
Chickenspicy wrote: Tue Mar 14, 2023 12:40 pm can this be converted to mt4 ?

this is supposed to be 90% accurate
with grats :)

Did you read the thread? The indicator repaints and this is an intentional part of the author's strategy.

Just want to make sure you're aware of this before one of this forum's programmers starts working on it.
These users thanked the author TransparentTrader for the post:
Chickenspicy

Re: MT4 Indicator requests and ideas

17969
TransparentTrader wrote: Tue Mar 14, 2023 12:46 pm Did you read the thread? The indicator repaints and this is an intentional part of the author's strategy.

Just want to make sure you're aware of this before one of this forum's programmers starts working on it.
after requested by many of the users I'm providing my personal strategy for the indicator.

To obtain 90% accuracy you must strictly follow the below given rules.

(Chart Time Frame: M1) || (Binary Option Expiry Period: 60 Seconds)

Rule 1:
Set you chart according to below provided image Or you can just use the below provided template ("TriNetra.tpl")and your chart will look same like mine.

Rule 2:
We all know this quote "Trend is your friend" so, go to M5,M15,M30 and H1 chart and check for the trend if it's DOWN then we must be ready for PUT with 60 seconds expiry on M1 chart and if it's UP then we must be ready for CALL with 60 seconds expiry on M1 chart.
(For the one who find difficult to check the trend. Just do one thing check the candle if it's BLACK it's DOWN and if it's WHITE it's UP.)

Rule 3:
Well all know this quote- "Patient is the key to success." So, we wait for the condition to meet.

Conditions:
After you have find the trend, goto M1 chart and wait until the candle crosses the "BrahmastraV3_Beta" HORIZONTAL LINES(BLUE and RED).

-If the trend is UP then WHITE candle must cross the BLUE horizontal line and you take 60 second expiry in the NEXT candle.
-If the trend is DOWN then BLACK candle must cross the RED horizontal line and you take 60 second expiry in the NEXT candle.

==================================================================================
REMEMBER:-

NOTE 1:- Only take trades where the candles are of approximate or same size and are of same color. Don't take trade where the crossing candle is bigger or smaller than other candles.

NOTE 2:- Check the market watch window and wait till the time when, the crossing candle has 2 seconds left to expire then you place the trade on your broker for 60 seconds expiry for the next upcoming candle.
==================================================================================

This strategy is a pure price action so, you must be ready with your broker and currency pair for 60 seconds trading. The key to success to this strategy is the timing. Timing must be perfect.
0 + 0 = 0
Infinite / Infinite = 1
1 way to Heaven & it matters


Who is online

Users browsing this forum: Akela, DVanAssen, IBM oBot [Bot], kvak, Majestic-12 [Bot], merlin66, TransparentTrader, waylon, WhatsApp [Bot], Woodyz and 111 guests