Convert Indicator to EA

MQL4 专家

指定

Add conditional buy n sell code for opening a trade and reverse closing code in the following ea code

- entry of buy at onset of blue dot

- exit of buy at onset of Pink dot

- entry of Sell at onset of pink dot

- exit of Sell at onset of blue dot 

 Var MA Indicator

//+------------------------------------------------------------------+

//|                                                  var_mov_avg.mq4 |

//|                                 Copyright © 2016, Dmitri Migunov |

//|                                            sniper_dragon@mail.ru |

//|                                                                  |

//|          Thanks for previous version 2004, GOODMAN & Mstera è AF |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2016, Dmitri Migunov"

#property link      "sniper_dragon@mail.ru"

#property version   "1.00"

      

#property indicator_chart_window

#property indicator_buffers 4

#property indicator_color1  clrSienna

#property indicator_color2  clrBlue

#property indicator_color3  clrMagenta

#property indicator_color4  clrYellow


//---- input parameters

input

  int

    periodAMA = 50, // period of AMA

    nfast     = 15, // first noise filter parameter. Higher values make indicator less sensitive to spikes.

    nslow     = 10; // second noise filter parameter. Higher values make indicator less sensitive to spikes.


input

  double

    G   = 1.0,  // the power of filtered part in the moving average. Another way to make the signal line smoother.

    dK  = 0.1;  // doesn't really influence anything much.


input

  bool

    UseAlert  = false,  // if true then alerts will be used.

    UseSound  = false;  // if true then sound will be used in alerts.


input

  string

    SoundFile = "expert.wav"; // name of the sound file for alerts.


input

  int

    offsetInPips = 30;  // maximal offset signal dots from current price


//---- buffers

double

  kAMAbuffer[],

  kAMAupsig[],

  kAMAdownsig[],

  signalBuffer[];


//+------------------------------------------------------------------+

int

  cbars     = 0;


double

  slowSC,

  fastSC,

  dSC,

  dKPoint;


bool

  SoundBuy  = false,

  SoundSell = false;


//+------------------------------------------------------------------+

//| Custom indicator initialization function                         |

//+------------------------------------------------------------------+

int OnInit(void){

//---- indicators

  SetIndexStyle( 0, DRAW_LINE, 0, 2 );

  SetIndexStyle( 1, DRAW_ARROW, STYLE_SOLID, 2 );

  SetIndexArrow( 1, 159 );

  SetIndexStyle( 2, DRAW_ARROW, STYLE_SOLID, 2 );

  SetIndexArrow( 2, 159 );

  SetIndexStyle( 3, DRAW_ARROW, STYLE_SOLID, 1 );

  SetIndexArrow( 3, 159 );

   

  SetIndexBuffer( 0, kAMAbuffer );

  SetIndexBuffer( 1, kAMAupsig );

  SetIndexBuffer( 2, kAMAdownsig );

  SetIndexBuffer( 3, signalBuffer );

   

  IndicatorDigits( Digits );

  

//--- calculate this variables when start

  slowSC  = 2.0 / ( nslow + 1 );

  fastSC  = 2.0 / ( nfast + 1 );

  dSC     = fastSC - slowSC;

  dKPoint = dK * Point;


//--- initialization done

  return(INIT_SUCCEEDED);

}


//+------------------------------------------------------------------+

//| Custom indicator iteration function                              |

//+------------------------------------------------------------------+

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[])

{

  int

    pos = 0;

   

  double

    AMA,

    AMA0,

    signal,

    ER,

    ERSC,

    SSC,

    ddK;

  

  string

    message;

   

  if( prev_calculated == rates_total ) return( rates_total );

    

  cbars   = prev_calculated;

  

  if( rates_total <= ( periodAMA+2 ) ){

    return( rates_total );

  }


//---- check for possible errors

  if( cbars < 0 ) return(-1);


//---- last counted bar will be recounted

  if( cbars > 0 ) cbars--;

  

  pos   = rates_total - periodAMA - 2;

  AMA0  = close[ pos+1 ];

  

  for( int p=pos; p>=0; p-- ){

    signal    = MathAbs( close[ p ] - close[ p+periodAMA ] );

    ER        = signal / getNoise( close, p );

    ERSC      = ER * dSC;

    SSC       = ERSC + slowSC;

    ddK       = MathPow( SSC, G ) * ( close[p] - AMA0 );

    AMA       = AMA0 + ddK;

    AMA0      = AMA;

    

    int

      offset  = ( high[p] - low[p] ) / Point() * 2;


    if( offset < 5 )            offset = 5;

    if( offset > offsetInPips ) offset = offsetInPips;

    

    kAMAbuffer[p]   = AMA;

    kAMAupsig[p]    = 0;

    kAMAdownsig[p]  = 0;

    signalBuffer[p] = 0;


    if( MathAbs( ddK ) <= dKPoint )  continue;

    

    if( ddK > 0 ) kAMAupsig[p]    = AMA;

    if( ddK < 0 ) kAMAdownsig[p]  = AMA;


    if( kAMAupsig[p] != EMPTY_VALUE && kAMAupsig[p] != 0 && SoundBuy ){

      SoundBuy        = false;

      signalBuffer[p] = MathMin( close[p+1], low[p] ) - offset * Point;

      if( 0 == p )  showAlert( "BUY @ " + Ask );

    } 

  

    if ( !SoundBuy && ( EMPTY_VALUE == kAMAupsig[p] || 0 == kAMAupsig[p] ) ){

      SoundBuy = true;

    }

    

    if ( kAMAdownsig[p] != EMPTY_VALUE && kAMAdownsig[p] != 0 && SoundSell ){

      SoundSell       = false;

      signalBuffer[p] = MathMax( close[ p+1 ], high[p] ) + offset * Point;

      if( 0 == p )  showAlert( "Sell @" + Bid );

    }

  

    if( !SoundSell && ( EMPTY_VALUE == kAMAdownsig[p] || 0 == kAMAdownsig[p] )){

      SoundSell = true;

    }

  }

  


  return( rates_total );

}


double  getNoise( const double &close[], const int pos ){

  double

    noise = 0.000000001;

    

  for( int i=0; i<periodAMA; i++ ){

    noise += MathAbs( close[ pos+i ] - close[ pos+i+1 ] );

  }

  

  return noise;

}


void  showAlert( string message ){

  message  = TimeCurrent() + " " + Symbol() + " " + Period() + "M " + message;

  Comment( message );


  if( ! UseAlert ) return;

  if( UseSound ) PlaySound( SoundFile );

   

  Alert( message );

}


Thanks 

反馈

1
开发者 1
等级
(772)
项目
1039
44%
仲裁
50
8% / 50%
逾期
116
11%
空闲
2
开发者 2
等级
(414)
项目
478
40%
仲裁
7
43% / 29%
逾期
16
3%
空闲
3
开发者 3
等级
(39)
项目
44
16%
仲裁
1
100% / 0%
逾期
7
16%
空闲
4
开发者 4
等级
(68)
项目
111
26%
仲裁
17
6% / 71%
逾期
15
14%
空闲
发布者: 9 代码
5
开发者 5
等级
(121)
项目
134
66%
仲裁
36
25% / 56%
逾期
22
16%
空闲
发布者: 10 代码
相似订单
Expert MQL5 Developer 30 - 200 USD
Transform Your Trading Strategy into a Powerful Automated Reality! Are you looking for a reliable developer to automate your trading edge? I specialize in creating high-performance Expert Advisors (EAs) and custom indicators for MT5, tailored exactly to your unique trading rules. Why work with me? Tailor-Made Solutions: Whether it’s SMC (Smart Money Concepts), ICT, Grid, Martingale, or Scalping—I code it all based on
💡🤝 I am open to various proposals and product ideas — cooperation, partnership, or joint ventures are welcome. 🛂✈️ I can also assist with arranging a visa or passport for a European Union country 🇪🇺 ✅🤝 I am looking for an honest, reliable, and serious partner. 🚫❌ Serious offers only, please. 📩💬 Feel free to contact me if you are genuinely interested
I am looking for an experienced MQL5 developer to create a high-performance Super Scalper EA for MetaTrader 5, designed specifically for XAUUSD trading on IC Markets. Only serious developers with proven scalping experience should apply. 🔧 General Requirements Platform: MetaTrader 5 (MT5) Instrument: XAUUSD Timeframe: M1 – M15 Broker: IC Markets Initial capital: $100–150 USD Minimum lot: 0.01 Risk per trade
Hi! I need a trading bot/robot to automate my trades. I don't need much complicated bot. I want it to enter, exit trade and can do this in matter of second or multiple times in a second. Should be able to adjust, put SL/TP in the same menu. Would appreciate your ideas! Please write to me before anything else
I need bot that will auto execute trades bases on my price-action strategies all entries on XAUUSD and fire webhooks straight into my Exness MT5 account so trades are opened, managed, and closed without manual intervention. Core logic • Entry signals come exclusively from candlestick patterns. The exact patterns (e.g. Engulfing, Doji, Hammer) can be finalised together once you are on board, but the code must make it
I am looking for an experienced specialist to assist with the installation and configuration of multiple existing trading robots for use on prop firm accounts. Requirements: Proven experience working with high-performance and profitable trading robots Strong knowledge of prop firm requirements and constraints Assistance with MT4 setup and prop account connectivity Hands-on support and availability for follow-up
Based on 5 ema, 200, 100, 50 , 5 ema apply to high and 5 ema apply to low, reach out for more information........... . . . . . . . . . . . . . . . . . . . . . . Tp should be based on rr with options of fixed profit as well as percentange
I want to create an SMC bot base on ICT and Market structure,the bot must be able to keep adding on more positions while started.The bot must have a perfect risk management
Hi, im not looking into developing a new EA. I am looking into purchasing an existing EA that can deliver such results like: mq5 source, 4‑year backtest (2022‑2025) report, equity curve, trade list, strategy description, and 1‑month demo access. Please without concrete prove of experience functioning existing EA working perfectly and as contained on my description, then we can't strike a deal. Thank you
Title: Ultimate Quantum EA V1.01 | Dynamic Hedge Recovery System Description: Professional automated trading system designed for high-precision execution and advanced risk management. Key Features: Dynamic Hedge Recovery: Automatically manages losing trades by opening calculated hedge positions (2x-3x) to exit in total profit. Basket Profit Management: Closes all open positions once the total dollar profit target is

项目信息

预算
10 - 20 USD
截止日期
 1  2 天