Trend Expert Advisor

Trabalho concluído

Tempo de execução 2 minutos
Comentário do cliente
Super Programmierer kann man nur empfehlen, geht auf die Kunden wünsche ein und kann sie umsetzten. gerne wieder . danke :)

Termos de Referência

hallo,


Suche einen Deutschsprachigen Programmierer der mir einen bereits vorhandenen mql4 Indikator zu einem mql4 Expert Advisor um Programmieren kann bzw. so schreiben kann dass wenn das "Popup Fenster" des Indikators erscheint der EA Automatisch Handelt (selbstständig Positionen eröffnet oder bei gegen signal wieder schließt)


Der Indikator reagiert bei Eintritt der ereignisses beim eröffnen einer neuen Kerze mit einem Alarm "Popup Fenster"


In dem angewendetem Chartfenster erscheint ein

Blauer Punkt für eine evtl. "Long BUY Position".

und ein Roter Punkt für evtl. "Short SELL Position "

der erscheinte Punkt im chart gleicht dem  Risiko der Einstellungen z.B RISK 4


Der EXPERT ADVISOR sollte bei dem eintritt der Ereignisses Positionen eröffnen

Roter Punkt    "Short SELL Position "

Blauer Punkt   "Long BUY Position"


Eingaben (Variable)

Der Stop Loss sollte man manuell zusätzlich einstellen können (Pips) oder dem jeweiligem Punkt im chart entsprechen zuordnen

Der Take Profit sollte ebenfalls eingestellt werden können (Pips) (Manuell Variabl einstellbar)

Breakeven SL auf Entry bei z.b 10 Pips (Manuell Variable einstellbar)

Magic Number zb. 666 (Manuell Variable einstellbar)

Ebenfalls sollte man wie im Indikator  RISK und ALLBARS manuell eingestellt werden können (Manuell Variabl einstellbar)


//----
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 RoyalBlue
#property indicator_color2 Red
//----
extern int RISK=4;
extern int AllBars=250;
int up=0,dn=0;
double val1buffer[];
double val2buffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_ARROW,EMPTY);
   SetIndexArrow(0,108);
   SetIndexBuffer(0, val1buffer);
   //
   SetIndexStyle(1,DRAW_ARROW,EMPTY);
   SetIndexArrow(1,108);
   SetIndexBuffer(1, val2buffer);
   //----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   double value2;
   double value3;
   double value10=10;
   double value11;
   double x1=70;
   double x2=30;
   int TrueCount;
   int counter;
   int MRO1;
   int MRO2;
   int i1;
   double Range;
   double AvgRange;
   double val1;
   double val2;
   double Table_value2[500][2];
   int counted_bars=IndicatorCounted();
   //
   value10=3+RISK*2;
   x1=67+RISK;
   x2=33-RISK;
   value11=value10;
//----------------------------
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;       //last bar recounted
   int i;
   int shift=Bars-counted_bars-1;
   if (shift > AllBars) shift=AllBars;
   for(i=shift; i>0; i--)
     {
      counter=i;
      Range=0;
      AvgRange=0;
      for(counter=i ;counter<=i+9;counter++)
        {
         AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
        }
      Range=AvgRange/10;
      counter=i;
      TrueCount=0;
      while(counter<i+9 && TrueCount<1)
        {
         if (MathAbs(Open[counter]-Close[counter+1])>=Range*2.0 )
            TrueCount++;
         counter++;
        }
      if (TrueCount>=1)
         MRO1=counter;
      else
         MRO1=-1;
      counter=i;
      TrueCount=0;
      while(counter<i+6 && TrueCount<1)
        {
         if(MathAbs(Close[counter+3]-Close[counter])>=Range*4.6)
         {TrueCount++;}
         counter++;
        }
      if(TrueCount>=1)
         MRO2=counter;
      else
         MRO2=-1;
      if (MRO1>-1)
         value11=3;
      else
         value11=value10;
      if (MRO2>-1)
         value11=4;
      else
         value11=value10;
      //----
      value2=100-MathAbs(iWPR(NULL,0,value11,i));
      Table_value2[i][0]=i;
      Table_value2[i][1]=value2;
      val1=0;
      val2=0;
      value3=0;
      //-------------------     val1 
      if (value2<x2) //  x2 = 30
        {
         i1=1;
         while(Table_value2[i+i1][1]>=x2 && Table_value2[i+i1][1]<=x1)
         {i1++;}
         if (Table_value2[i+i1][1]>x1)
           {
            value3=High[i]+Range*0.5;
            val1=value3;
           }
        }
      //-------------------     val2 
      if(value2>x1) // x1 = 70
        {
         i1=1;
         while(Table_value2[i+i1][1]>=x2 && Table_value2[i+i1][1]<=x1)
         {i1++;}
         if (Table_value2[i+i1][1]< x2)
           {
            value3=Low[i]-Range*0.5;
            val2=value3;
           }
        }
      if (val2!=0 && up==0 )
        {
         val1buffer[i]= val2-1*Point;
         up=1;
         dn=0;
         if(shift<=2)
           {
            Alert (Symbol()," ",Period(),"M  Asctrend BUY ");
           }
        }
      if (val1 !=0 && dn==0)
        {
         val2buffer[i]= val1+1*Point;
         dn=1;
         up=0;
         if(shift<=2)
           {
            Alert (Symbol()," ",Period(),"M   Asctrend SELL ");
           }
        }
     }
   return(0);
//----
  }
//+------------------------------------------------------------------+

Respondido

1
Desenvolvedor 1
Classificação
(807)
Projetos
1127
43%
Arbitragem
47
49% / 23%
Expirado
84
7%
Livre
2
Desenvolvedor 2
Classificação
(2666)
Projetos
3397
68%
Arbitragem
77
48% / 14%
Expirado
342
10%
Livre
Publicou: 1 código
3
Desenvolvedor 3
Classificação
(1125)
Projetos
1813
61%
Arbitragem
14
64% / 7%
Expirado
84
5%
Livre
4
Desenvolvedor 4
Classificação
(1304)
Projetos
1732
49%
Arbitragem
53
70% / 13%
Expirado
38
2%
Livre

Informações sobre o projeto

Orçamento
30 - 60 USD
Prazo
de 1 para 30 dias