Off-topic posts - page 21

 

Good day. Can any one help me? I like to make an EA with Schaff Trend cycle Indicator. The EA will indicate if the color of the line changes. here is the indicator i download. Thank you in advance. <Deleted>


//------------------------------------------------------------------

#property copyright   "Copyright 2017, mladen"
#property link        "mladenfx@gmail.com"
#property description "Schaff Trend Cycle"
#property version     "1.00"
//------------------------------------------------------------------
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_plots   1
#property indicator_label1  "Schaff Trend Cycle value"
#property indicator_type1   DRAW_COLOR_LINE
#property indicator_color1  clrSilver,clrLimeGreen,clrOrange
#property indicator_width1  2
//
//-----------------
//

double valcolor[];

enum enPrices
  {
   pr_close,      // Close
   pr_open,       // Open
   pr_high,       // High
   pr_low,        // Low
   pr_median,     // Median
   pr_typical,    // Typical
   pr_weighted,   // Weighted
   pr_average,    // Average (high+low+open+close)/4
   pr_medianb,    // Average median body (open+close)/2
   pr_tbiased,    // Trend biased price
   pr_tbiased2,   // Trend biased (extreme) price
   pr_haclose,    // Heiken Ashi close
   pr_haopen ,    // Heiken Ashi open
   pr_hahigh,     // Heiken Ashi high
   pr_halow,      // Heiken Ashi low
   pr_hamedian,   // Heiken Ashi median
   pr_hatypical,  // Heiken Ashi typical
   pr_haweighted, // Heiken Ashi weighted
   pr_haaverage,  // Heiken Ashi average
   pr_hamedianb,  // Heiken Ashi median body
   pr_hatbiased,  // Heiken Ashi trend biased price
   pr_hatbiased2  // Heiken Ashi trend biased (extreme) price
  };
// input parameters
input int       SchaffPeriod = 32;       // Schaff period
input int       FastEma      = 23;       // Fast EMA period
input int       SlowEma      = 50;       // Slow EMA period
input double    SmoothPeriod = 3;        // Smoothing period
input enPrices  Price        = pr_close; // Price

double  val[],valc[],macd[],fastk1[],fastd1[],fastk2[];
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnInit()
  {
   SetIndexBuffer(0,val,INDICATOR_DATA);
   SetIndexBuffer(1,valc,INDICATOR_COLOR_INDEX);
   SetIndexBuffer(2,macd,INDICATOR_CALCULATIONS);
   SetIndexBuffer(3,fastk1,INDICATOR_CALCULATIONS);
   SetIndexBuffer(4,fastk2,INDICATOR_CALCULATIONS);
   SetIndexBuffer(5,fastd1,INDICATOR_CALCULATIONS);
   IndicatorSetString(INDICATOR_SHORTNAME,"Schaff Trend Cycle ("+(string)SchaffPeriod+","+(string)FastEma+","+(string)SlowEma+","+(string)SmoothPeriod+")");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   if(Bars(_Symbol,_Period)<rates_total) return(-1);
//
//
//
   double alpha=2.0/(1.0+SmoothPeriod);
   int i=(int)MathMax(prev_calculated-1,0); for(; i<rates_total && !_StopFlag; i++)
     {
      double price=getPrice(Price,open,close,high,low,i,rates_total);
      macd[i]=iEma(price,FastEma,i,rates_total,0)-iEma(price,SlowEma,i,rates_total,1);
      int    start    = MathMax(i-SchaffPeriod+1,0);
      double lowMacd  = macd[ArrayMinimum(macd,start,SchaffPeriod)];
      double highMacd = macd[ArrayMaximum(macd,start,SchaffPeriod)]-lowMacd;
      fastk1[i] = (highMacd > 0) ? 100*((macd[i]-lowMacd)/highMacd) : (i>0) ? fastk1[i-1] : 0;
      fastd1[i] = (i>0) ? fastd1[i-1]+alpha*(fastk1[i]-fastd1[i-1]) : fastk1[i];
      double lowStoch  = fastd1[ArrayMinimum(fastd1,start,SchaffPeriod)];
      double highStoch = fastd1[ArrayMaximum(fastd1,start,SchaffPeriod)]-lowStoch;
      fastk2[i] = (highStoch > 0) ? 100*((fastd1[i]-lowStoch)/highStoch) : (i>0) ? fastk2[i-1] : 0;
      val[i]    = (i>0) ?  val[i-1]+alpha*(fastk2[i]-val[i-1]) : fastk2[i];
      valc[i]   = (i>0) ? (val[i]>val[i-1]) ? 1 : (val[i]<val[i-1]) ? 2 : 0 : 0;
     }
     
   return(i);
   
  }
//------------------------------------------------------------------
// custom functions
//------------------------------------------------------------------
double workEma[][2];
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double iEma(double price,double period,int r,int _bars,int instanceNo=0)
  {
   if(ArrayRange(workEma,0)!=_bars) ArrayResize(workEma,_bars);

   workEma[r][instanceNo]=price;
   if(r>0 && period>1)
      workEma[r][instanceNo]=workEma[r-1][instanceNo]+(2.0/(1.0+period))*(price-workEma[r-1][instanceNo]);
   return(workEma[r][instanceNo]);
  }
//
//----------------------
//
#define _pricesInstances 1
#define _pricesSize      4
double workHa[][_pricesInstances*_pricesSize];
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double getPrice(int tprice,const double &open[],const double &close[],const double &high[],const double &low[],int i,int _bars,int instanceNo=0)
  {
   if(tprice>=pr_haclose)
     {
      if(ArrayRange(workHa,0)!=_bars) ArrayResize(workHa,_bars); instanceNo*=_pricesSize;
      double haOpen;
      if(i>0)
         haOpen  = (workHa[i-1][instanceNo+2] + workHa[i-1][instanceNo+3])/2.0;
      else   haOpen  = (open[i]+close[i])/2;
      double haClose = (open[i] + high[i] + low[i] + close[i]) / 4.0;
      double haHigh  = MathMax(high[i], MathMax(haOpen,haClose));
      double haLow   = MathMin(low[i] , MathMin(haOpen,haClose));

      if(haOpen  <haClose) { workHa[i][instanceNo+0] = haLow;  workHa[i][instanceNo+1] = haHigh; }
      else                 { workHa[i][instanceNo+0] = haHigh; workHa[i][instanceNo+1] = haLow;  }
      workHa[i][instanceNo+2] = haOpen;
      workHa[i][instanceNo+3] = haClose;
      //
      //--------------------
      //
      switch(tprice)
        {
         case pr_haclose:     return(haClose);
         case pr_haopen:      return(haOpen);
         case pr_hahigh:      return(haHigh);
         case pr_halow:       return(haLow);
         case pr_hamedian:    return((haHigh+haLow)/2.0);
         case pr_hamedianb:   return((haOpen+haClose)/2.0);
         case pr_hatypical:   return((haHigh+haLow+haClose)/3.0);
         case pr_haweighted:  return((haHigh+haLow+haClose+haClose)/4.0);
         case pr_haaverage:   return((haHigh+haLow+haClose+haOpen)/4.0);
         case pr_hatbiased:
            if(haClose>haOpen)
            return((haHigh+haClose)/2.0);
            else  return((haLow+haClose)/2.0);
         case pr_hatbiased2:
            if(haClose>haOpen)  return(haHigh);
            if(haClose<haOpen)  return(haLow);
            return(haClose);
        }
     }
//
//--------------------------
//
   switch(tprice)
     {
      case pr_close:     return(close[i]);
      case pr_open:      return(open[i]);
      case pr_high:      return(high[i]);
      case pr_low:       return(low[i]);
      case pr_median:    return((high[i]+low[i])/2.0);
      case pr_medianb:   return((open[i]+close[i])/2.0);
      case pr_typical:   return((high[i]+low[i]+close[i])/3.0);
      case pr_weighted:  return((high[i]+low[i]+close[i]+close[i])/4.0);
      case pr_average:   return((high[i]+low[i]+close[i]+open[i])/4.0);
      case pr_tbiased:
         if(close[i]>open[i])
         return((high[i]+close[i])/2.0);
         else  return((low[i]+close[i])/2.0);
      case pr_tbiased2:
         if(close[i]>open[i]) return(high[i]);
         if(close[i]<open[i]) return(low[i]);
         return(close[i]);
     }
   return(0);
  }
  
  
//+------------------------------------------------------------------+

Files:
 

@MDJahangir



1. I have the general question regarding the MT5 platform?


I have opened a trade in WTI on 09.07.2020 17:10:49, open price was 18.12 with 4 lots trade and all of a after crossing 30 min it was changed to 20.12.  I have an account with ATA Markets Live.  It was the fraud is taken place but my account manager and other support team is telling that when I opened a trade it was opened @ 20.12, which is reached today to this point.


Now I am asking my $ 8000 dollar are taken from my account by making fraud in my account. So i need your help to fight against this kind of Brokers who are sucking the blood of the common personal which are investing to earn some amount for living a better life.


Is there any technical issue raised on the DATE 09-July-2020 after EST 17:10:49, can you tell me please and help me to raise a complain against the fraud happened to me.

 
MDJahangir:b 1. I have the general question regarding the MT5 platform?

Don't Hijack other threads for your off-topic post. Next time, make your own, new, thread.

 

Does that mean that MQL4 is put to death sentence?

I think there is more people using MQL4 than MQL5.


Is there anyway to know what is the user's base for each platform? means how many users actually use MQL4 and MQL5?

 
Hesham Ahmed Kamal Barakat:

Does that mean that MQL4 is put to death sentence?

I think there is more people using MQL4 than MQL5.


Is there anyway to know what is the user's base for each platform? means how many users actually use MQL4 and MQL5?

MQL4 and MQL5 are the programming language.
Metatrader 4 (MT4) and Metatrader 5 (MT5) are the trading platform.

Does that mean that MQL4 is put to death sentence?

In general - that means nothing for us (for traders).
It means only the following:

  • we can download MT4 from the brokers' websites only (the brokers are continuing to support MT4);
  • there are no any improvements of MT4 in the future; we can expect minor bug fixig only. You asked to improve something on MT4? So, I explained that it will not be done.
 
Sergey Golubev:

MQL4 and MQL5 are the programming language.
Metatrader 4 (MT4) and Metatrader 5 (MT5) are the trading platform.

In general - that means nothing for us (for traders).
It means only the following:

  • we can download MT4 from the brokers' websites only (the brokers are continuing to support MT4);
  • there are no any improvements of MT4 in the future; we can expect minor bug fixig only. You asked to improve something on MT4? So, I explained that it will not be done.

I understand what you mean.

But i am asking if there is anyway to know the user base for MetaTrader4 and MetaTrader5?

To see if it's worth it to create anything for MetaTrader4 or not.

Also broker's websites don't have any updates for the platform itself. I got MT4 from more than one broker and both are with these limited stuff that i mentioned.


So really the big question, which i hope you or other moderators have any idea about. What is the use base like for both platforms?

 
Hesham Ahmed Kamal Barakat:

I understand what you mean.

But i am asking if there is anyway to know the user base for MetaTrader4 and MetaTrader5?

To see if it's worth it to create anything for MetaTrader4 or not.

Also broker's websites don't have any updates for the platform itself. I got MT4 from more than one broker and both are with these limited stuff that i mentioned.


So really the big question, which i hope you or other moderators have any idea about. What is the use base like for both platforms?

MT4 is bigger , MT5 is better .

Build for both right now ,and definately test on MT5 - prefer the MetaQuotes Demo MT5 version for testing .

Same for signals , if you build a signal for mt4 or mt5 ,test it on MT5 - prefer the MetaQuotes Demo MT5 version again.

To put it bluntly ,if you can test on MT5 dont test on MT4

 
Hesham Ahmed Kamal Barakat:

I understand what you mean.

But i am asking if there is anyway to know the user base for MetaTrader4 and MetaTrader5?

To see if it's worth it to create anything for MetaTrader4 or not.

Also broker's websites don't have any updates for the platform itself. I got MT4 from more than one broker and both are with these limited stuff that i mentioned.


So really the big question, which i hope you or other moderators have any idea about. What is the use base like for both platforms?

You can use what you want (MT4 or MT5).

As to MT4 so the brokers are having updates for MT4, but the first update is coming from MetaQuotes-Demo server.
So, open demo account with MetaQuotes-Demo and update MT4 (as I know - the latest build is 1265 now).

----------------

It was same talking for MT3 compare with MT4 many years ago.
The people told that Metatrader 3 is the best for Windows '95 with Pentium 1 ..
But we do not have Windows '95 now ... and there is no Pentium 1 ... so ..
But I am still thinking that Windows'95 was the best Windows version.

You can check the thread -

It may be same for MT4 compare with MT5 for example.

BrainTrading System for MT3
BrainTrading System for MT3
  • 2005.09.30
  • www.mql5.com
Find BrainTrading 7.0 for Metatrader 3 Opensource. Any improvements or other versions are welcome...
 

Forum on trading, automated trading systems and testing trading strategies

New MetaTrader 4 Platform build 1280

MetaQuotes, 2020.07.23 14:56

The MetaTrader 4 platform update will be released on Friday, July the 24th, 2020. This version provides enhancements for built-in MQL5.community services, as well as error fixes and platform stability improvements.

The update will be available through the Live Update system.


 
I rented two hosting on two different platforms that do not work and cannot run the EA and I have a message from the system that I am unable to activate the EA, knowing that I had used it in the same way.
Files:
hpsting.png  273 kb
Reason: