Ea creation from indicator

Termos de Referência

i need a robot based on this indicator with the possibility to add hours and choose the days to trade, also when the new signal appears close the last position and open the new one, there must be only one trade per time, leave the indicator attached to the symbol.

code: 

//+----------------------------------------------+
//|  Parameters of drawing the bearish indicator |
//+----------------------------------------------+
//---- drawing the indicator 1 as a symbol
#property indicator_type1   DRAW_ARROW
//---- Magenta color is used as the color of the bearish indicator line
#property indicator_color1  Magenta
//---- thickness of line of the indicator 1 is equal to 4
#property indicator_width1  4
//---- displaying of the bearish label of the indicator
#property indicator_label1  "Brain1Sell"
//+----------------------------------------------+
//|  Parameters of drawing the bullish indicator |
//+----------------------------------------------+
//---- drawing the indicator 2 as a line
#property indicator_type2   DRAW_ARROW
//---- lime color is used as the color of the bullish line of the indicator
#property indicator_color2  Lime
//---- thickness of line of the indicator 2 is equal to 4
#property indicator_width2  4
//---- displaying of the bullish label of the indicator
#property indicator_label2 "Brain1Buy"

//+----------------------------------------------+
//| Input parameters of the indicator            |
//+----------------------------------------------+
input int ATR_Period=7; //Period of ATR
input int STO_Period=9; //Period of Stochastic
input ENUM_MA_METHOD MA_Method = MODE_SMA; //Method of averaging
input ENUM_STO_PRICE STO_Price = STO_LOWHIGH; //Method of prices calculation
//+----------------------------------------------+

//---- declaration of dynamic arrays that further
// will be used as indicator buffers
double SellBuffer[];
double BuyBuffer[];
//----
double d,s;
int p,x1,x2,P_,StartBars,OldTrend;
int ATR_Handle,STO_Handle;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
//--- initialization of global variables
   d=2.3;
   s=1.5;
   x1 = 53;
   x2 = 47;
   StartBars=MathMax(ATR_Period,STO_Period)+2;
//---- getting handle of the ATR indicator
   ATR_Handle=iATR(NULL,0,ATR_Period);
   if(ATR_Handle==INVALID_HANDLE)Print(" Failed to get handle of the ATR indicator");
//---- getting handle of the Stochastic indicator
   STO_Handle=iStochastic(NULL,0,STO_Period,STO_Period,1,MA_Method,STO_Price);
   if(STO_Handle==INVALID_HANDLE)Print(" Failed to get handle of the Stochastic indicator");

//---- turning a dynamic array into an indicator buffer
   SetIndexBuffer(0,SellBuffer,INDICATOR_DATA);
//---- shifting the start of drawing of the indicator 1
   PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,StartBars);
//---- Create label to display in DataWindow
   PlotIndexSetString(0,PLOT_LABEL,"Brain1Sell");
//---- indicator symbol
   PlotIndexSetInteger(0,PLOT_ARROW,108);
//---- indexing elements in the buffer as in timeseries
   ArraySetAsSeries(SellBuffer,true);

//---- turning a dynamic array into an indicator buffer
   SetIndexBuffer(1,BuyBuffer,INDICATOR_DATA);
//---- shifting the start of drawing of the indicator 2
   PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,StartBars);
//---- Create label to display in DataWindow
   PlotIndexSetString(1,PLOT_LABEL,"Brain1Buy");
//---- indicator symbol
   PlotIndexSetInteger(1,PLOT_ARROW,108);
//---- indexing elements in the buffer as in timeseries
   ArraySetAsSeries(BuyBuffer,true);

//---- Setting the format of accuracy of displaying the indicator
   IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
//---- name for the data window and for the label of sub-windows
   string short_name="BrainTrend1Sig";
   IndicatorSetString(INDICATOR_SHORTNAME,short_name);
//----  
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---- checking the number of bars to be enough for the calculation
   if(BarsCalculated(ATR_Handle)<rates_total
      || BarsCalculated(STO_Handle)<rates_total
      || rates_total<StartBars)
      return(0);

//---- declaration of local variables
   int to_copy,limit,bar;
   double value2[],Range[],range,range2,val1,val2,val3;

//---- calculations of the necessary amount of data to be copied and
//the limit starting number for loop of bars recalculation
   if(prev_calculated>rates_total || prev_calculated<=0)// checking for the first start of calculation of an indicator
     {
      to_copy=rates_total; // calculated number of all bars
      limit=rates_total-StartBars; // starting number for calculation of all bars
     }
   else
     {
      to_copy=rates_total-prev_calculated+1; // calculated number of new bars
      limit=rates_total-prev_calculated; // starting number for calculation of new bars
     }

//---- copy the newly appeared data into the Range[] and value2[] arrays
   if(CopyBuffer(ATR_Handle,0,0,to_copy,Range)<=0) return(0);
   if(CopyBuffer(STO_Handle,0,0,to_copy,value2)<=0) return(0);

//---- indexing elements in arrays, as in timeseries  
   ArraySetAsSeries(Range,true);
   ArraySetAsSeries(value2,true);
   ArraySetAsSeries(open,true);
   ArraySetAsSeries(high,true);
   ArraySetAsSeries(low,true);
   ArraySetAsSeries(close,true);

//---- restore values of the variables
   p=P_;

//---- main cycle of calculation of the indicator
   for(bar=limit; bar>=0; bar--)
     {
      //---- memorize values of the variables before running at the current bar
      if(rates_total!=prev_calculated && bar==0)
         P_=p;

      range=Range[bar]/d;
      range2=Range[bar]*s/4;
      val1 = 0.0;
      val2 = 0.0;
      SellBuffer[bar]=0.0;
      BuyBuffer[bar]=0.0;

      val3=MathAbs(close[bar]-close[bar+2]);
      if(value2[bar] < x2 && val3 > range) p = 1;
      if(value2[bar] > x1 && val3 > range) p = 2;

      if(val3<=range) continue;

      if(value2[bar]<x2 && (p==1 || p==0))
        {
         if(OldTrend>0) SellBuffer[bar]=high[bar]+range2;
         if(bar!=0)OldTrend=-1;
        }
      if(value2[bar]>x1 && (p==2 || p==0))
        {
         if(OldTrend<0) BuyBuffer[bar]=low[bar]-range2;
         if(bar!=0)OldTrend=+1;
        }
     }
//----    
   return(rates_total);
  }
//+------------------------------------------------------------------+


Arquivos anexados:

Respondido

1
Desenvolvedor 1
Classificação
(21)
Projetos
20
10%
Arbitragem
2
50% / 50%
Expirado
0
Livre
2
Desenvolvedor 2
Classificação
(97)
Projetos
120
39%
Arbitragem
9
89% / 0%
Expirado
0
Livre
3
Desenvolvedor 3
Classificação
(164)
Projetos
234
22%
Arbitragem
17
65% / 18%
Expirado
1
0%
Ocupado
4
Desenvolvedor 4
Classificação
(206)
Projetos
336
16%
Arbitragem
23
39% / 30%
Expirado
18
5%
Ocupado
5
Desenvolvedor 5
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Trabalhando
6
Desenvolvedor 6
Classificação
(25)
Projetos
33
15%
Arbitragem
6
33% / 50%
Expirado
5
15%
Trabalhando
7
Desenvolvedor 7
Classificação
(354)
Projetos
416
34%
Arbitragem
2
100% / 0%
Expirado
0
Livre
8
Desenvolvedor 8
Classificação
(89)
Projetos
112
24%
Arbitragem
11
45% / 18%
Expirado
8
7%
Livre
9
Desenvolvedor 9
Classificação
(2440)
Projetos
3075
66%
Arbitragem
77
48% / 14%
Expirado
340
11%
Livre
10
Desenvolvedor 10
Classificação
(20)
Projetos
26
46%
Arbitragem
0
Expirado
0
Trabalhando
11
Desenvolvedor 11
Classificação
(402)
Projetos
707
49%
Arbitragem
57
16% / 49%
Expirado
130
18%
Livre
12
Desenvolvedor 12
Classificação
(309)
Projetos
394
21%
Arbitragem
44
59% / 23%
Expirado
48
12%
Carregado
13
Desenvolvedor 13
Classificação
(356)
Projetos
562
33%
Arbitragem
24
67% / 8%
Expirado
17
3%
Livre
14
Desenvolvedor 14
Classificação
(18)
Projetos
24
38%
Arbitragem
0
Expirado
2
8%
Trabalhando
15
Desenvolvedor 15
Classificação
(158)
Projetos
175
43%
Arbitragem
6
0% / 67%
Expirado
8
5%
Livre
16
Desenvolvedor 16
Classificação
(6)
Projetos
10
0%
Arbitragem
0
Expirado
2
20%
Trabalhando
17
Desenvolvedor 17
Classificação
(1134)
Projetos
1436
62%
Arbitragem
21
57% / 10%
Expirado
43
3%
Livre
18
Desenvolvedor 18
Classificação
(62)
Projetos
192
73%
Arbitragem
4
100% / 0%
Expirado
1
1%
Livre
19
Desenvolvedor 19
Classificação
(186)
Projetos
189
76%
Arbitragem
2
100% / 0%
Expirado
0
Livre
20
Desenvolvedor 20
Classificação
(478)
Projetos
541
33%
Arbitragem
27
41% / 44%
Expirado
8
1%
Ocupado
21
Desenvolvedor 21
Classificação
(11)
Projetos
11
27%
Arbitragem
0
Expirado
0
Livre
22
Desenvolvedor 22
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
23
Desenvolvedor 23
Classificação
(379)
Projetos
407
70%
Arbitragem
3
100% / 0%
Expirado
2
0%
Carregado
Pedidos semelhantes
The requirements for the order of robots XAUUSD and XAGUSD EURUSD forex in the STOP loss TAKE profit signal in this order, you can bring benefits to the changes in the market, that is, when the market changes frequently, it will also help to prevent losses and bring great profits
I'm seeking a C# developer with Quantower experience to assist me in exporting data from the Option Analytic panel in real-time via an API. This data will be exported based on a window app, not a web app. You can review the document at the following link : . https://github.com/Quantower/Examples/blob/master/IndicatorExamples/GetOptionsInfo.cs Please check it before bidding NOTE : - Quantower is an app, not web
Hi Would you be able to decompile and/or create a scalper EA with the option I do ask. I had somebody built a EA called Drawdown manager for me that I do use to manage risk of any EA that I test and I have the built code. My problem is that I cannot backtest this EA Fast M1 Gold Scalper and/or cobra adrenaline with the protection that I do include in my Drawdown Manager. To backtest a EA, you can only backtest 1 at
Please I Need A Programmer Who Can Create A Requirement Specification Document For My Trading System THE IDEA OF THE INDICATOR Create A Standard ZigZag Auto Fibo Indicator Combined With A ZigZag Fibonacci Time Zone Indicator Which Has The Specified Levels Written In The Indicator Strategy TEXT FILE/DOCUMENT HOW DOES THE INDICATOR KNOW AN UPTREND MOVEMENT? If Price Hasn't Touched The 123.6% Level Of The Recent Static
My idea _Anna. 50+ USD
I'm looking for a strategy where I can specify two points, such as Point A and Point B, which could be based on today's high/low or yesterday’s high/low, etc. I should have the option to define these points. The system should execute a buy order when the price goes above Point A, with the ability to set a target in percentage or points, as well as a stop-loss. Similarly, when the price drops below Point B, it should
THE IDEA OF THE INDICATOR Create A Standard ZigZag Auto Fibo Indicator Combined With A ZigZag Fibonacci Time Zone Indicator Which Has The Specified Levels Written In The Indicator Strategy TEXT FILE/DOCUMENT HOW DOES THE INDICATOR KNOW AN UPTREND MOVEMENT? If Price Hasn't Touched The 123.6% Level Of The Recent Static Uptrend Zig Zag Fibo Retracement Tool Then The Indicator Knows That The Market Is In An Uptrend And
no order will be given until you prove that you are capable to code , so at least make a basic demo first to take the final order from me. and i can not afford to pay more than 30 usd. so its final offer EA should work with any pair like jpy , oil and Gold pairs along with EURUSD , GBPUSD etc and GBPJPY and too Lot size … its fixed for all. So which ever size client set . it will set for all the trades Gap between
My Goal: I want to make an EA that makes money using AI.. with zero losses and 100% winning chances and we will continue to upgrade and design the EA until we reach our goal. this could be a long term project
Hi, To help with algorithm development, I need an experienced PineScript and TRADELOCKER coder to convert an indicator from TradingView to Tradelocker, then create an expert advisor (EA) with the same logic as the indicator and the features I want in the expert advisor (Rules & Conditions). Please only apply if you have experience converting scripts from TradingView to Tradelocker. I also need to make sure that the
Hello, I need a coder to help with an algorithm development by converting METATRADER EA INTO TRADELOCKER then build an EA with the same logic of the METATRADER and in addition to the ideas I want in the expert advisor(Rules & Conditions) of exactly the features needed for implementation to have the expert advisor designing as my expected products, ONLY REACH OUT IF YOU HAVE BEEN CONVERTING SCRIPT FROM METATRADER TO

Informações sobre o projeto

Orçamento
45+ USD
IVA (22%): 9.9 USD
Total: 55 USD
Desenvolvedor
40.5 USD

Cliente

Pedidos postados1
Número de arbitragens0