Find indicator " i gentor lsma ema" for ctrader

Created at 16 Feb 2015, 13:17
How’s your experience with the cTrader Platform?
Your feedback is crucial to cTrader's development. Please take a few seconds to share your opinion and help us improve your trading experience. Thanks!
SA

saxx

Joined 16.02.2015

Find indicator " i gentor lsma ema" for ctrader
16 Feb 2015, 13:17


Hello guys .. I need to convert the indicator "the gentor LSMA ema" from MQL4 to cTrader ... in 2calgo converter does not work ... I enclose below the indi

Thank's.

 

  i-GentorLSMA&EMA_v.1.0.mq4    |
//|                                                 FX Sniper, KimIV    |
//|   2005.08.20 KimIV  v.0.0                                           |
//| Combined in LSMA and EMA                                            |
//|   2005.08.20 KimIV  v.0.2                                           |
//| Synchronized numeration of the versions with i-GentorCCIM_v.0.2.mq4 |
//|   2005.08.21 KimIV  v.1.0                                           |
//| Distance from zero for EMA and LSMA is changable now                |
//+---------------------------------------------------------------------+
#property copyright "FX Sniper, KimIV"
#property link      "http://www.kimiv.ru"

#property indicator_separate_window
#property indicator_buffers 4

#property indicator_color1 Yellow
#property indicator_color2 Blue
#property indicator_color3 Red      
#property indicator_color4 Lime

//------- Âíåøíèå ïàðàìåòðû ------------------------------------------
extern int EMAPeriod  = 34;     // ÅÌÀ period
extern int LSMAPeriod = 25;     // LSMA period
extern int FromZero   = 3;      // Distance from zero level

//------- Áóôåðû èíäèêàòîðà ------------------------------------------
double LineHighEMA[];
double LineLowEMA[];
double LSMABuffer1[];
double LSMABuffer2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void init() {
  IndicatorDigits(2);

  SetIndexBuffer(0, LineHighEMA);
  SetIndexLabel (0, "EMA is above price");
  SetIndexStyle (0, DRAW_LINE, STYLE_SOLID, 3);
  SetIndexBuffer(1, LineLowEMA);
  SetIndexLabel (1, "EMA is below price");
  SetIndexStyle (1, DRAW_LINE, STYLE_SOLID, 3);
  SetIndexBuffer(2, LSMABuffer1);
  SetIndexLabel (2, "LSMA is above price");
  SetIndexStyle (2, DRAW_LINE, STYLE_SOLID, 3);
  SetIndexBuffer(3, LSMABuffer2);
  SetIndexLabel (3, "LSMA is below price");
  SetIndexStyle (3, DRAW_LINE, STYLE_SOLID, 3);
  Comment("");
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
  double sum, lengthvar, tmp, wt;
  int i, shift, counted_bars = IndicatorCounted();
  int Draw4HowLong, loopbegin;

  if (counted_bars<0) return;
  if (counted_bars>0) counted_bars--;
  counted_bars = Bars - counted_bars;
  for (shift=0; shift<counted_bars; shift++) {
    LineLowEMA[shift] = -FromZero;
    LineHighEMA[shift] = -FromZero;

    double EmaValue = iMA(NULL, 0, EMAPeriod, 0, MODE_EMA, PRICE_TYPICAL, shift);
    if (Close[shift]>EmaValue) LineHighEMA[shift] = EMPTY_VALUE;
    if (Close[shift]<EmaValue) LineLowEMA[shift] = EMPTY_VALUE;
  }

  Draw4HowLong = Bars-LSMAPeriod - 5;
  loopbegin = Draw4HowLong - LSMAPeriod - 1;

  for(shift=loopbegin; shift>=0; shift--) {
    sum = 0;
    for (i=LSMAPeriod; i>=1; i--) {
      lengthvar = LSMAPeriod + 1;
      lengthvar /= 3;
      tmp = 0;
      tmp = (i - lengthvar) * Close[LSMAPeriod-i+shift];
      sum+=tmp;
    }
    wt = sum * 6 / (LSMAPeriod * (LSMAPeriod + 1));

    LSMABuffer1[shift] = FromZero;
    LSMABuffer2[shift] = FromZero;

    if (wt>Close[shift]) LSMABuffer2[shift] = EMPTY_VALUE;
    if (wt<Close[shift]) LSMABuffer1[shift] = EMPTY_VALUE;
  }
}
//+------------------------------------------------------------------+

 


@saxx
Replies

Invalid
16 Feb 2015, 17:48

I have converted your code successfuly in 2cAlgo. Build was successful. 

 


@Invalid

saxx
16 Feb 2015, 19:04

Hi Invalid ... I could publish the installation file ".calgo".

I can not run c2algo... unsupported format

Thank' s.


@saxx

Invalid
17 Feb 2015, 11:41

RE:

Hi Saxx. I didn't get you.

  1. Take your code. Convert at http://2calgo.com/.
  2. Copy converted code.
  3. Create new Indicator in cAlgo
  4. Paste the code from step 2
  5. Build
  6. Create instance

Which step failed on your side?

saxx said:

Hi Invalid ... I could publish the installation file ".calgo".

I can not run c2algo... unsupported format

Thank' s.

 


@Invalid