A trade alert for the attached Arbitrage MACD indicator.

MQL4 Indicateurs Experts Forex

Spécifications

I am currently using the attached Arbitrage MACD indicator. However, there are no signal alerts associated with this indicator.

I would like to receive notifications on my android device  the bar after a blue long arrow appears and the bar after a red short arrow appears.




This is the current code:

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

//| v.22.04.07 |                                         ArrZZx2.mq4 |

//+------------+                                                     |

//|------------|              Bookkeeper, 2007, yuzefovich@gmail.com |

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

#property copyright ""

#property link      "http://www.forexter.land.ru/indicators.htm"

//----

#property indicator_chart_window

#property indicator_buffers 8

#property indicator_color1  Yellow

#property indicator_color2  RoyalBlue

#property indicator_color3  Blue

#property indicator_color4  Blue

#property indicator_color5  Blue

#property indicator_color6  Red

#property indicator_color7  Blue

#property indicator_color8  Red

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

extern int    SR     =3;  // =3..4

extern int    SRZZ   =12; // =4..12..20

extern int    MainRZZ=20; // =12..20..54...

extern int    FP     =21;

extern int    SMF    =3;  // =1..5

extern bool   DrawZZ =false;

extern int    PriceConst=0; // 0 - Close

                            // 1 - Open

                            // 2 - High

                            // 3 - Low

                            // 4 - (H+L)/2

                            // 5 - (H+L+C)/3

                            // 6 - (H+L+2*C)/4

//extern string Prefix="ArrZZx2"; 

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

double        Lmt[];

double        LZZ[];

double        SA[];

double        SM[];

double        Up[];

double        Dn[];

double        pUp[];

double        pDn[];

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

int LTF[6]={0,0,0,0,0,0},STF[5]={0,0,0,0,0}; 

int MaxBar, nSBZZ, nLBZZ, SBZZ, LBZZ;

bool First=true;

int prevBars=0;

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

void MainCalculation(int Pos) {

if((Bars-Pos)>(SR+1)) SACalc(Pos); else SA[Pos]=0; 

if((Bars-Pos)>(FP+SR+2)) SMCalc(Pos); else SM[Pos]=0; return; }

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

void SACalc(int Pos) { int sw, i, w, ww, Shift; double sum; 

switch(PriceConst) {

case  0: 

  SA[Pos]=iMA(NULL,0,SR+1,0,MODE_LWMA,PRICE_CLOSE,Pos);

  break;

case  1: 

  SA[Pos]=iMA(NULL,0,SR+1,0,MODE_LWMA,PRICE_OPEN,Pos);

  break;

/*case  2: 

  SA[Pos]=iMA(NULL,0,SR+1,0,MODE_LWMA,PRICE_HIGH,Pos);

  break;

case  3: 

  SA[Pos]=iMA(NULL,0,SR+1,0,MODE_LWMA,PRICE_LOW,Pos);

  break;*/

case  4: 

  SA[Pos]=iMA(NULL,0,SR+1,0,MODE_LWMA,PRICE_MEDIAN,Pos);

  break;

case  5: 

  SA[Pos]=iMA(NULL,0,SR+1,0,MODE_LWMA,PRICE_TYPICAL,Pos);

  break;

case  6: 

  SA[Pos]=iMA(NULL,0,SR+1,0,MODE_LWMA,PRICE_WEIGHTED,Pos);

  break;

default: 

  SA[Pos]=iMA(NULL,0,SR+1,0,MODE_LWMA,PRICE_OPEN,Pos);

  break; }

for(Shift=Pos+SR+2;Shift>Pos;Shift--) { sum=0.0; sw=0; i=0; w=Shift+SR;

ww=Shift-SR; if(ww<Pos) ww=Pos;

while(w>=Shift) {i++; sum=sum+i*SnakePrice(w); sw=sw+i; w--; }

while(w>=ww) { i--; sum=sum+i*SnakePrice(w); sw=sw+i; w--; }

SA[Shift]=sum/sw; } return; }

//----

double SnakePrice(int Shift) {

switch(PriceConst) {

   case  0: return(Close[Shift]);

   case  1: return(Open[Shift]);

   /*case  2: return(High[Shift]);

   case  3: return(Low[Shift]);*/

   case  4: return((High[Shift]+Low[Shift])/2);

   case  5: return((Close[Shift]+High[Shift]+Low[Shift])/3);

   case  6: return((2*Close[Shift]+High[Shift]+Low[Shift])/4);

   default: return(Open[Shift]); } }

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

void SMCalc(int i) { double t, b;

for(int Shift=i+SR+2;Shift>=i;Shift--) {

t=SA[ArrayMaximum(SA,FP,Shift)]; b=SA[ArrayMinimum(SA,FP,Shift)];

SM[Shift]=(2*(2+SMF)*SA[Shift]-(t+b))/2/(1+SMF); } return; }

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

void LZZCalc(int Pos) { 

int i,RBar,LBar,ZZ,NZZ,NZig,NZag; 

i=Pos-1; NZig=0; NZag=0;

while(i<MaxBar && ZZ==0) { i++; LZZ[i]=0; RBar=i-MainRZZ; 

if(RBar<Pos) RBar=Pos; LBar=i+MainRZZ;

if(i==ArrayMinimum(SM,LBar-RBar+1,RBar)) { ZZ=-1; NZig=i; }

if(i==ArrayMaximum(SM,LBar-RBar+1,RBar)) { ZZ=1;NZag=i; } }

if(ZZ==0) return; NZZ=0;

if(i>Pos) { if(SM[i]>SM[Pos]) { if(ZZ==1) {

if(i>=Pos+MainRZZ && NZZ<5) { NZZ++; LTF[NZZ]=i; } NZag=i; 

LZZ[i]=SM[i]; } }

else { if(ZZ==-1) { if(i>=Pos+MainRZZ && NZZ<5) { NZZ++; LTF[NZZ]=i; }

NZig=i; LZZ[i]=SM[i]; } } }

while(i<LBZZ || NZZ<5) {  LZZ[i]=0; RBar=i-MainRZZ; 

if(RBar<Pos) RBar=Pos; LBar=i+MainRZZ;

if(i==ArrayMinimum(SM,LBar-RBar+1,RBar)) {

if(ZZ==-1 && SM[i]<SM[NZig]) { 

if(i>=Pos+MainRZZ && NZZ<5) LTF[NZZ]=i; LZZ[NZig]=0; LZZ[i]=SM[i]; 

NZig=i; }

if(ZZ==1) { if(i>=Pos+MainRZZ && NZZ<5) { NZZ++; LTF[NZZ]=i; } 

LZZ[i]=SM[i]; ZZ=-1; NZig=i; } }

if(i==ArrayMaximum(SM,LBar-RBar+1,RBar)) {

if(ZZ==1 && SM[i]>SM[NZag]) { 

if(i>=Pos+MainRZZ && NZZ<5) LTF[NZZ]=i; LZZ[NZag]=0; LZZ[i]=SM[i]; 

NZag=i; }

if(ZZ==-1) { if(i>=Pos+MainRZZ && NZZ<5) { NZZ++; LTF[NZZ]=i; } 

LZZ[i]=SM[i]; ZZ=1; NZag=i; } } i++; if(i>MaxBar) return; } 

nLBZZ=Bars-LTF[5]; LZZ[Pos]=SM[Pos]; return; }

//----

void SZZCalc(int Pos) { 

int i,RBar,LBar,ZZ,NZZ,NZig,NZag; 

i=Pos-1; NZig=0; NZag=0;

while(i<=LBZZ && ZZ==0) { i++; pDn[i]=0; pUp[i]=0; Dn[i]=0; Up[i]=0; 

Lmt[i]=0; RBar=i-SRZZ; if(RBar<Pos) RBar=Pos; LBar=i+SRZZ;

if(i==ArrayMinimum(SM,LBar-RBar+1,RBar)) { ZZ=-1; NZig=i; }

if(i==ArrayMaximum(SM,LBar-RBar+1,RBar)) { ZZ=1; NZag=i; } }

if(ZZ==0) return; NZZ=0;

if(i>Pos) { if(SM[i]>SM[Pos]) { if(ZZ==1) {

if(i>=Pos+SRZZ && NZZ<4) { NZZ++; STF[NZZ]=i; } NZag=i; 

Dn[i-1]=Open[i-1]; } }

else { if(ZZ==-1) { if(i>=Pos+SRZZ && NZZ<4) { NZZ++; STF[NZZ]=i; }

NZig=i; Up[i-1]=Open[i-1]; } } }

while(i<=LBZZ || NZZ<4) { pDn[i]=0; pUp[i]=0; Dn[i]=0; Up[i]=0; 

Lmt[i]=0; RBar=i-SRZZ; if(RBar<Pos) RBar=Pos; LBar=i+SRZZ;

if(i==ArrayMinimum(SM,LBar-RBar+1,RBar)) {

if(ZZ==-1 && SM[i]<SM[NZig]) { 

if(i>=Pos+SRZZ && NZZ<4) STF[NZZ]=i; Up[NZig-1]=0; Up[i-1]=Open[i-1]; 

NZig=i; } if(ZZ==1) { if(i>=Pos+SRZZ && NZZ<4) { NZZ++; STF[NZZ]=i; } 

Up[i-1]=Open[i-1]; ZZ=-1; NZig=i;  } }

if(i==ArrayMaximum(SM,LBar-RBar+1,RBar)) {

if(ZZ==1 && SM[i]>SM[NZag]) { 

if(i>=Pos+SRZZ && NZZ<4) STF[NZZ]=i; Dn[NZag-1]=0; Dn[i-1]=Open[i-1]; 

NZag=i; } if(ZZ==-1) { if(i>=Pos+SRZZ && NZZ<4) { NZZ++; STF[NZZ]=i; } 

Dn[i-1]=Open[i-1]; ZZ=1; NZag=i; } } i++; if(i>LBZZ) return; } 

nSBZZ=Bars-STF[4]; return; }

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

void ArrCalc() { int i,j,k,n,z=0; double p, b;

i=LBZZ; while(LZZ[i]==0) i--; j=i; p=LZZ[i]; i--; while(LZZ[i]==0) i--; 

if(LZZ[i]>p) z=1; if(LZZ[i]>0 && LZZ[i]<p) z=-1; p=LZZ[j]; i=j-1;  

while(i>0) { if(LZZ[i]>p) { z=-1; p=LZZ[i]; }

if(LZZ[i]>0 && LZZ[i]<p) { z=1;  p=LZZ[i]; }

if(z>0 && Dn[i]>0) { Lmt[i]=Open[i]; Dn[i]=0; }

if(z<0 && Up[i]>0) { Lmt[i]=Open[i]; Up[i]=0; }

if(z>0 && Up[i]>0) { if(i>1) { j=i-1; k=j-SRZZ+1; if(k<0) k=0; 

n=j; while(n>=k && Dn[n]==0) { pUp[n]=Up[i]; pDn[n]=0; n--; } } 

if(i==1) pUp[0]=Up[i]; } 

if(z<0 && Dn[i]>0) { if(i>1) { j=i-1; k=j-SRZZ+1; if(k<0) k=0; 

n=j; while(n>=k && Up[n]==0) { pDn[n]=Dn[i]; pUp[n]=0; n--; } } 

if(i==1) pDn[0]=Dn[i]; } 

i--; } return; }

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

void deinit() { 

return; }

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

int init() { IndicatorBuffers(8);

SetIndexBuffer(0,Lmt);

SetIndexStyle(0,DRAW_ARROW,EMPTY,2); SetIndexArrow(0,251);

SetIndexEmptyValue(0,0.0);

SetIndexBuffer(1,LZZ);

if(DrawZZ) {

SetIndexStyle(1,DRAW_SECTION,EMPTY,2);

SetIndexEmptyValue(1,0.0); }

else SetIndexStyle(1,DRAW_NONE);

SetIndexBuffer(2,SA); SetIndexStyle(2,DRAW_NONE);

SetIndexBuffer(3,SM); SetIndexStyle(3,DRAW_NONE);

SetIndexBuffer(4,Up); SetIndexStyle(4,DRAW_ARROW,EMPTY,1);

SetIndexArrow(4,233); SetIndexEmptyValue(4,0.0);

SetIndexBuffer(5,Dn); SetIndexStyle(5,DRAW_ARROW,EMPTY,1);

SetIndexArrow(5,234); SetIndexEmptyValue(5,0.0);

SetIndexBuffer(6,pUp); SetIndexStyle(6,DRAW_ARROW);

SetIndexArrow(6,217); SetIndexEmptyValue(6,0.0);

SetIndexBuffer(7,pDn); SetIndexStyle(7,DRAW_ARROW);

SetIndexArrow(7,218); SetIndexEmptyValue(7,0.0); return(0); }

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

int start() { int counted_bars=IndicatorCounted(); int limit,i,j,n;

if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--;

if(First==true) { 

if(SR<2) SR=2; if(Bars<=2*(MainRZZ+FP+SR+2)) return(-1); 

if(SRZZ<=SR) SRZZ=SR+1; MaxBar=Bars-(MainRZZ+FP+SR+2);

LBZZ=MaxBar; SBZZ=LBZZ; prevBars=Bars; First=false; }

limit=Bars-counted_bars; for(i=limit;i>=0;i--) { MainCalculation(i); }

if(prevBars!=Bars) { SBZZ=Bars-nSBZZ; LBZZ=Bars-nLBZZ; prevBars=Bars; } 

SZZCalc(0); LZZCalc(0); ArrCalc(); return(0); }

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


Répondu

1
Développeur 1
Évaluation
(19)
Projets
24
8%
Arbitrage
9
33% / 33%
En retard
1
4%
Chargé
2
Développeur 2
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
3
Développeur 3
Évaluation
(25)
Projets
34
26%
Arbitrage
4
50% / 25%
En retard
4
12%
Gratuit
4
Développeur 4
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
5
Développeur 5
Évaluation
Projets
1
0%
Arbitrage
0
En retard
0
Gratuit
6
Développeur 6
Évaluation
(460)
Projets
801
48%
Arbitrage
73
19% / 52%
En retard
140
17%
Travail
7
Développeur 7
Évaluation
(44)
Projets
58
3%
Arbitrage
6
0% / 67%
En retard
5
9%
Travail
8
Développeur 8
Évaluation
(169)
Projets
179
46%
Arbitrage
3
33% / 33%
En retard
1
1%
Travail
9
Développeur 9
Évaluation
(12)
Projets
21
43%
Arbitrage
8
0% / 50%
En retard
3
14%
Gratuit
10
Développeur 10
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
11
Développeur 11
Évaluation
(48)
Projets
57
35%
Arbitrage
15
27% / 60%
En retard
1
2%
Travail
12
Développeur 12
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
13
Développeur 13
Évaluation
(384)
Projets
495
23%
Arbitrage
59
56% / 25%
En retard
58
12%
Travail
14
Développeur 14
Évaluation
(2671)
Projets
3404
68%
Arbitrage
77
48% / 14%
En retard
342
10%
Gratuit
Publié : 1 code
15
Développeur 15
Évaluation
(13)
Projets
17
24%
Arbitrage
1
100% / 0%
En retard
4
24%
Travail
16
Développeur 16
Évaluation
(2)
Projets
3
0%
Arbitrage
0
En retard
0
Travail
17
Développeur 17
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
18
Développeur 18
Évaluation
(1)
Projets
1
0%
Arbitrage
0
En retard
0
Gratuit
19
Développeur 19
Évaluation
(268)
Projets
602
34%
Arbitrage
64
20% / 58%
En retard
147
24%
Travail
Publié : 1 article, 22 codes
20
Développeur 20
Évaluation
(50)
Projets
64
20%
Arbitrage
11
27% / 55%
En retard
5
8%
Gratuit
21
Développeur 21
Évaluation
(49)
Projets
63
57%
Arbitrage
4
75% / 25%
En retard
1
2%
Gratuit
22
Développeur 22
Évaluation
(19)
Projets
27
11%
Arbitrage
11
9% / 55%
En retard
12
44%
Gratuit
23
Développeur 23
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
24
Développeur 24
Évaluation
(642)
Projets
869
48%
Arbitrage
29
38% / 17%
En retard
63
7%
Gratuit
25
Développeur 25
Évaluation
(8)
Projets
9
56%
Arbitrage
0
En retard
0
Gratuit
26
Développeur 26
Évaluation
(79)
Projets
89
31%
Arbitrage
9
11% / 56%
En retard
4
4%
Chargé
27
Développeur 27
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
28
Développeur 28
Évaluation
(12)
Projets
25
4%
Arbitrage
1
0% / 0%
En retard
7
28%
Gratuit
29
Développeur 29
Évaluation
Projets
1
0%
Arbitrage
1
100% / 0%
En retard
0
Gratuit
30
Développeur 30
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
31
Développeur 31
Évaluation
(27)
Projets
33
36%
Arbitrage
0
En retard
2
6%
Gratuit
32
Développeur 32
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
33
Développeur 33
Évaluation
(3)
Projets
7
29%
Arbitrage
0
En retard
4
57%
Gratuit
34
Développeur 34
Évaluation
(316)
Projets
321
70%
Arbitrage
2
100% / 0%
En retard
0
Gratuit
Publié : 1 code
35
Développeur 35
Évaluation
(613)
Projets
690
42%
Arbitrage
2
100% / 0%
En retard
1
0%
Travail
Publié : 9 codes
36
Développeur 36
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
37
Développeur 37
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
38
Développeur 38
Évaluation
(251)
Projets
295
76%
Arbitrage
13
77% / 0%
En retard
4
1%
Gratuit
39
Développeur 39
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
40
Développeur 40
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
Commandes similaires
We are seeking talented Graphic Designers capable of transforming concepts into visually striking representations. Whether your expertise lies in branding, marketing materials, or digital graphics, we welcome your application. Our criteria include: - Creativity and originality - Effective communication skills - Prompt delivery of work - A comprehensive and professional portfolio We invite you to submit your portfolio
I already have the source code of an MT5 Expert Advisor. The EA is about 70% complete. I need someone to modify and complete it. Requirements: • Manage EURUSD only. • Manage manual trades only (Magic Number = 0). • Support unlimited manual positions simultaneously. • Automatically add a 10-pip Stop Loss if a position has no Stop Loss. • Automatically add a 10-pip Take Profit if a position has no Take Profit. • Do not
I am looking for an expert MQL5 developer to build a robust, professional Expert Advisor for Gold (XAUUSD). The EA must be Event-Driven (OnTick) with no 'Sleep' functions, ensuring instant execution. ​ Core Logic: ​ Grid Strategy: Start with 0.02 Buy/Sell. Lot size sequence: 0.02, 0.03, 0.05, 0.09, 0.14, 0.26, 0.44, 0.75, 1.28, 2.18 (Max 10 steps). ​ Dynamic TP: Total basket TP must update instantly upon new order
SETJEO'S GOLD EA 30 - 200 USD
double GetTodayProfit() { double profit = 0; datetime today = StringToTime(TimeToString(TimeCurrent(), TIME_DATE)); HistorySelect(today, TimeCurrent()); for(int i = HistoryDealsTotal() - 1; i >= 0; i--) { ulong ticket = HistoryDealGetTicket(i); if(HistoryDealGetString(ticket, DEAL_SYMBOL) == _Symbol) { profit += HistoryDealGetDouble(ticket, DEAL_PROFIT); } } return profit; }
مطلوب موشر مع ربطه علي بوت تداول قوي جدا مختبر ومجرب مع التاكيد علي نسبه النجاح يتم انشاءه علي جميع الموشرات في الفوركس الذهب والبتكوين والus100 مع شرح للستراتيجية ونتايج اختيار اذا كان مجرب
I have an expert advisor's investor login. I want you to study it and make me the exact same EA. There should be absolutely no differences or mistakes. You should have great observation skills for this aswell
I am looking for an experienced MQL5 developer to code a simple grid trading strategy into an Expert Advisor. The strategy logic is already defined, and I am looking for someone with strong MQL5 development experience to implement it accurately and efficiently. If you are interested and have relevant experience, please get in touch so we can discuss the project details
I am looking for an experienced MQL5 or MQL4 developer with a strong background in low-latency algorithmic trading, market data integration, arbitrage and execution optimization. The project involves developing a high-performance HFT Expert Advisor (EA) for XAUUSD or US30 on IC Markets that is designed for robust execution in both demo and live environments. The EA may use market data feeds (such as lmax,one zero or
I am looking for an experienced MQL5 or MQL4 developer with a strong understanding of high-frequency trading (HFT) concepts who can explain how certain HFT-style strategies have historically been able to pass proprietary firm evaluations while also being profitable on demo accounts and capable of transitioning successfully to live trading. I am interested in understanding the legitimate trading logic, execution
Looking for a Prop Firm Trading Bot (Gold/XAUUSD Preferred) I am looking for an experienced developer who can either: Create a custom prop firm trading bot, or Provide an existing, proven prop firm trading bot. Requirements: Preferably trades Gold (XAUUSD) . Designed to pass prop firm evaluation challenges. Must respect the following risk parameters: Daily Drawdown: Maximum 5% Overall Maximum Drawdown: 10% Strong

Informations sur le projet

Budget
45+ USD

Client

(6)
Commandes passées7
Nombre d'arbitrages0