Ea creation from indicator

Spécifications

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);
  }
//+------------------------------------------------------------------+


Dossiers :

Répondu

1
Développeur 1
Évaluation
(21)
Projets
20
10%
Arbitrage
2
50% / 50%
En retard
0
Gratuit
2
Développeur 2
Évaluation
(97)
Projets
120
39%
Arbitrage
9
89% / 0%
En retard
0
Gratuit
3
Développeur 3
Évaluation
(164)
Projets
234
22%
Arbitrage
17
65% / 18%
En retard
1
0%
Occupé
4
Développeur 4
Évaluation
(206)
Projets
336
16%
Arbitrage
23
39% / 30%
En retard
18
5%
Occupé
5
Développeur 5
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Travail
6
Développeur 6
Évaluation
(25)
Projets
33
15%
Arbitrage
6
33% / 50%
En retard
5
15%
Travail
7
Développeur 7
Évaluation
(354)
Projets
416
34%
Arbitrage
2
100% / 0%
En retard
0
Gratuit
8
Développeur 8
Évaluation
(89)
Projets
112
24%
Arbitrage
11
45% / 18%
En retard
8
7%
Gratuit
9
Développeur 9
Évaluation
(2440)
Projets
3075
66%
Arbitrage
77
48% / 14%
En retard
340
11%
Gratuit
10
Développeur 10
Évaluation
(20)
Projets
26
46%
Arbitrage
0
En retard
0
Travail
11
Développeur 11
Évaluation
(402)
Projets
707
49%
Arbitrage
57
16% / 49%
En retard
130
18%
Gratuit
12
Développeur 12
Évaluation
(309)
Projets
394
21%
Arbitrage
44
59% / 23%
En retard
48
12%
Chargé
13
Développeur 13
Évaluation
(356)
Projets
562
33%
Arbitrage
24
67% / 8%
En retard
17
3%
Gratuit
14
Développeur 14
Évaluation
(18)
Projets
24
38%
Arbitrage
0
En retard
2
8%
Travail
15
Développeur 15
Évaluation
(158)
Projets
175
43%
Arbitrage
6
0% / 67%
En retard
8
5%
Gratuit
16
Développeur 16
Évaluation
(6)
Projets
10
0%
Arbitrage
0
En retard
2
20%
Travail
17
Développeur 17
Évaluation
(1134)
Projets
1436
62%
Arbitrage
21
57% / 10%
En retard
43
3%
Gratuit
18
Développeur 18
Évaluation
(62)
Projets
192
73%
Arbitrage
4
100% / 0%
En retard
1
1%
Gratuit
19
Développeur 19
Évaluation
(186)
Projets
189
76%
Arbitrage
2
100% / 0%
En retard
0
Gratuit
20
Développeur 20
Évaluation
(478)
Projets
541
33%
Arbitrage
27
41% / 44%
En retard
8
1%
Occupé
21
Développeur 21
Évaluation
(11)
Projets
11
27%
Arbitrage
0
En retard
0
Gratuit
22
Développeur 22
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
23
Développeur 23
Évaluation
(379)
Projets
407
70%
Arbitrage
3
100% / 0%
En retard
2
0%
Chargé
Commandes similaires
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

Informations sur le projet

Budget
45+ USD
TVA (22%): 9.9 USD
Total: 55 USD
Pour le développeur
40.5 USD

Client

Commandes passées1
Nombre d'arbitrages0