Convert Indicator to EA

MQL4 Experten

Spezifikation

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 

Bewerbungen

1
Entwickler 1
Bewertung
(772)
Projekte
1039
44%
Schlichtung
50
8% / 50%
Frist nicht eingehalten
116
11%
Frei
2
Entwickler 2
Bewertung
(414)
Projekte
478
40%
Schlichtung
7
43% / 29%
Frist nicht eingehalten
16
3%
Frei
3
Entwickler 3
Bewertung
(39)
Projekte
44
16%
Schlichtung
1
100% / 0%
Frist nicht eingehalten
7
16%
Frei
4
Entwickler 4
Bewertung
(68)
Projekte
111
26%
Schlichtung
17
6% / 71%
Frist nicht eingehalten
15
14%
Frei
Veröffentlicht: 9 Beispiele
5
Entwickler 5
Bewertung
(121)
Projekte
134
66%
Schlichtung
36
25% / 56%
Frist nicht eingehalten
22
16%
Frei
Veröffentlicht: 10 Beispiele
Ähnliche Aufträge
I need an arrow that works on mt5 that shows winrate with potential to be triggered on binary.com or deriv. Show me example arrows as picture or video. I'm not interested in coming up with the idea i just want something that works and has source code. Show me examples and state your budget or cost for the solution
Hi, I have a specific set of rules and a strategy to execute a trade. I'm looking for a developer to assist me in developing an MQL5 EA based on my strategies
Project Overview We are seeking an experienced MetaTrader 5 (MT5) / MQL5 developer to design and build a production-ready Expert Advisor intended for live trading with capital at risk . This is not a hobby, experimental, or retail-grade EA. We are only interested in developers with proven experience delivering robust, well-tested MT5 systems . Project Objective Design and implement a high-quality MT5 Expert Advisor
Updated Freelance Job Instruction (Copy-Paste Ready) Description: Hello, I need a simple, secure MT4 Expert Advisor (pure MQL4, NO DLLs ) that protects my XAUUSD trading by instantly closing any new position opened by another EA (identified by magic number) when price is inside user-defined "block zones", and then enforces a cooldown period before allowing the next position from that EA. This is for risk management
I need someone to build a Telegram bot signal provider for IQ Option that works like this: 🔔 NEW SIGNAL! 🎫 Trade: 🇬🇧 GBP/USD 🇺🇸 (OTC) ⏳ Timer: 2 minutes ➡️ Entry: 5:29 PM 📈 Direction: BUY 🟩 ↪️ Martingale Levels: Level 1 → 5:31 PM Level 2 → 5:33 PM Level 3 → 5:35 PM Requirements: The bot should send signals automatically to Telegram. Must support multiple trades and martingale levels. I will test it for 3 days
Hi guys, — I’m looking to purchase an existing Expert Advisor with source code . Serious enquiries only, please. Below are my requirements: Mandatory requirements Source code required (full .mq5 , readable & well-commented preferred) Backtest period: 4 years — Jan 1, 2022 → Dec 31, 2025 (tick/data quality must be stated) Demo test: 1 month on a live/demo broker after backtest passes Target performance: ~15%
As in tittle, I need opening range breakout profitable EA, you mabe have ready made? If not we can create such EA together. Rules are Simple, I have programmed this EA, my budget is 30 USD
EA Development Request: Multi-Zone AutoTrading Blocker for MT4 (XAUUSD Focused) Description: Hello Freelancers, I'm a disciplined gold trader based in Canada, focusing on XAUUSD with a strong emphasis on risk management. I need a simple, bulletproof MT4 EA that disables AutoTrading (turning the button red) when price is inside any of 10 user-defined "block zones" to prevent any new positions from opening (from other
I am hiring an experienced MT4/MT5 EA developer to build a prop firm and personal account Expert Advisor for US30 and XAUUSD . The EA must be non-martingale , low drawdown , and designed for consistent profitability with strict risk control. Markets & Platform • Instruments: US30 and XAUUSD • Platform: MT4 or MT5 • EA must support .set file configurations Trading & Risk Requirements • Non-martingale • No
Hello, I am looking to purchase an existing MT5 Expert Advisor, specifically designed for scalping XAUUSD (Gold), with the following clear requirements: Core Requirements Instrument: XAUUSD (Gold) Timeframe: M1 or M5 Style: Real scalping with controlled risk No martingale / no grid strategies Stop Loss mandatory, proper risk management included EA must be already functional and ready to attach to the chart (not

Projektdetails

Budget
10 - 20 USD
Ausführungsfristen
von 1 bis 2 Tag(e)