Convert Indicator to EA

MQL4 Esperti

Specifiche

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 

Con risposta

1
Sviluppatore 1
Valutazioni
(772)
Progetti
1039
44%
Arbitraggio
50
8% / 50%
In ritardo
116
11%
Gratuito
2
Sviluppatore 2
Valutazioni
(414)
Progetti
478
40%
Arbitraggio
7
43% / 29%
In ritardo
16
3%
Gratuito
3
Sviluppatore 3
Valutazioni
(39)
Progetti
44
16%
Arbitraggio
1
100% / 0%
In ritardo
7
16%
Gratuito
4
Sviluppatore 4
Valutazioni
(68)
Progetti
111
26%
Arbitraggio
17
6% / 71%
In ritardo
15
14%
Gratuito
Pubblicati: 9 codici
5
Sviluppatore 5
Valutazioni
(121)
Progetti
134
66%
Arbitraggio
36
25% / 56%
In ritardo
22
16%
Gratuito
Pubblicati: 10 codici
Ordini simili
The strategy is already fully defined with exact logic, scoring system, entry rules, risk management, and execution protection (spread, slippage, deviation). The strategy is already fully defined with exact logic, scoring system, entry rules, risk management, and execution protection (spread, slippage, deviation). Please follow the specification strictly without any discretionary interpretation
Job Description: I am looking for a skilled MQL5 developer to create a custom Expert Advisor (EA). The trading strategy relies on standard indicators, but requires precise execution logic and strict risk management rules. Key Technical Requirements & Skills Needed: Multi-Timeframe (MTF): Basic ability to read one indicator's data from a higher timeframe (M15) while the EA runs on a lower timeframe (M5). Instant
EA MACENIC PRO V12L 30 - 50 USD
Ready made robot for executing trades because don't have PC or laptop does it come as license key that allows straight extension to be a ready made of change your mind and the match is still hustling and I recommend exness broker on any. Strategy of a mobile robot arrena that execute trades it self and 24/7 operational system that enhances power of electronic art technology with automatic EA optimization
Società di investimento con attività tra Sanremo e Monaco ricerca un giovane collaboratore con esperienza nell’utilizzo avanzato di MetaTrader 5. Si richiede la conoscenza della lingua ITALIANA e INGLESE. Si richiede una chiamata conoscitiva. Il collaboratore si occuperà di: • eseguire backtest di strategie di trading su MT5 • effettuare ottimizzazioni parametri tramite Strategy Tester • analizzare risultati e
Need Python developer to use MetaApi.cloud Python API (ready SDK) to build a real-time equity curve chart. Project is simple and details will be shared privately. Only apply if you have strong Python experience
VR Rsi Robot is an expert advisor for MetaTrader 5, built on the classic RSI (Relative Strength Index) indicator but utilizing a multi-timeframe approach. The core idea is to filter signals received from the faster timeframe (H1) with confirmation from the higher timeframe (D1). This approach reduces the number of false entries and increases the probability of following a sustained trend. The expert opens positions
SMA 30+ USD
You are an expert AI Trading Analyst specializing in Simple Moving Average (SMA) Trend Following strategies. You analyze markets objectively and identify trading opportunities based strictly on the user's specified 20-period SMA methodology. Adapt your analysis to match the user's trend-following style. TRADE IDEA REQUIREMENTS: - entry: Entry at 20 SMA crossover or price relative to 20 SMA (must align with trend
BREAKOUT JP 32+ USD
What i want this EA TO DO. Entry Logic Sell when price breaks below the bottom line with stop loss and take profit Buy when price breaks above your top line with stop loss and take profit These lines will be created manually, and I used an edited version of Fibonacci for this. Can you create something similar? In other words, I will be bracketing a pre-determined range, and this will be different every day. If I go
1. Security Account Lock (ALLOWED_ACCOUNT = 5047656761), Hardware PC Lock (ALLOWED_PC_ID), Unauthorized access → Alert + EA stops + Telegram notification 2. Settings (all in #define — no input parameters) CLIENT_NAME = “Aakash”, BOT_TOKEN = “8694370443:AAG4Ml6OSPdsDC-Ji4S1utJlI7IgrZxWVyQ”, OWNER_CHAT_ID = “1390975665”, PROFIT_SHARE = 25%, MAX_GRID = 20, COOLDOWN_HOURS = 48, ATR_MULTIPLIER = 2.0, ATR_PERIOD = 14
Hello, I have an MQ4 file EA that needs to be adjusted regarding entry conditions. ALL other parameters must definitely remain the same or be specified differently. I am attaching it herewith. The stop-loss type in the new EA have to be ALWAYS a Fixed Stop-loss. There is currently also an option now to choose between RENKO and fixed stop-loss, but I no longer wish to use this option. I am also no longer using the

Informazioni sul progetto

Budget
10 - 20 USD
Scadenze
da 1 a 2 giorno(i)