I would like to create an anchored vwap and multiple standard deviations from the avwap

Trabalho concluído

Tempo de execução 9 minutos
Comentário do desenvolvedor
Excellent customer. Its specifications were clear and specific. The negotiation was quite fast and fluid. Thank you very much for your Job.

Termos de Referência

I have created some code and when I execute I can see the correct values using Print but I cannot seem to get the code to plot the vwap. In my code, the vwap is not yet anchored. So, i would like it anchored to a specified time (input) and further I would like to then be able to use the indicator within an EA to create parameters such that if price interacts with the avwap or one of the standard deviations from the avwap then buy or sell. This is actually step one of my strategy since it also uses other indicators such as EMAs and multi time frame EMAs. If a developer can get this avwap and standard deviation indicator working for me then I would like to think I can learn from the code to then create more indicators that I can ultimately call in in EA to open and close positions. An alternative may be that a developer interacts with me via a tutorial using an online video conferencing tool and teaches / guides me as to what I need to do.

Here is my code as it is:

//+------------------------------------------------------------------+
//|                                                Anchored_VWAP.mq5 |
//|                                                             Aabh |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Aabh"
#property link      ""
#property version   "1.00"
#property indicator_chart_window

#property indicator_buffers 1
#property indicator_plots 1

#property indicator_type1 DRAW_LINE
#property indicator_label1 "VWAP_Daily"
#property indicator_color1 clrGhostWhite
#property indicator_style1 STYLE_SOLID
#property indicator_width1 4



//--- input parameters

input int Interval = 1;

//bool time;
//int startTime = T'0:00:00';
//int endTime = T'23:58:00';

//int startTime = 0;
//int endTime = 23;


MqlRates rates[];
double volumesum, volume_times_close, vwap_now, vwap_square, vwap_sd, u, x, y, z;
double vtc[], v[], vwap[], vwap_sqr[], vwap_SD[];
int arraylimit = 24, i = 0;


   datetime tm = TimeCurrent(); //gets current time in datetime data type
   string str = TimeToString(tm,TIME_MINUTES); //changing the data type to a string
   string current = StringSubstr(str, 0, 2); //selecting the first two characters of the datetime e.g. if it's 5:00:00 then it'll save it as 5, if it's 18 it will save 18.
   int currentTimeInt = StringToInteger(current); //changes the string to an integer

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {


   ArraySetAsSeries(rates,true);
//   ArraySetAsSeries(vwap,true);
//   ArraySetAsSeries(vwap_SD,true);
   
      

   IndicatorSetInteger(INDICATOR_DIGITS,_Digits);

   SetIndexBuffer(0,vwap,INDICATOR_DATA);


   ObjectCreate(0,"VWAP_Daily",OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,"VWAP_Daily",OBJPROP_CORNER,3);
   ObjectSetInteger(0,"VWAP_Daily",OBJPROP_XDISTANCE,180);
   ObjectSetInteger(0,"VWAP_Daily",OBJPROP_YDISTANCE,40);
   ObjectSetInteger(0,"VWAP_Daily",OBJPROP_COLOR,indicator_color1);
   ObjectSetInteger(0,"VWAP_Daily",OBJPROP_FONTSIZE,7);
   ObjectSetString(0,"VWAP_Daily",OBJPROP_FONT,"Verdana");
   ObjectSetString(0,"VWAP_Daily",OBJPROP_TEXT," ");

   

   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int pReason)
  {
   ObjectDelete(0,"VWAP_Daily");

  }      
      
   
 void OnTick()

 {  
 int copied=CopyRates(
                        Symbol(),             // symbol name
                        PERIOD_CURRENT,       // Don't hard code constants PERIOD_CURRENT
                        0,                   // Shift 
                        100,                   // how many bars back    
                        rates                 // array
                     );
 
   static int   LastBarCount = 0;

ArrayResize(vtc,arraylimit);
ArrayResize(v,arraylimit);
ArrayResize(vwap,arraylimit);
ArrayResize(vwap_sqr,arraylimit);
ArrayResize(vwap_SD,arraylimit);

for(i;i<arraylimit;i++)
   {
    if (Bars(_Symbol, _Period) > LastBarCount)
      {LastBarCount = Bars(_Symbol, _Period);
      Print(LastBarCount);
      Print(i);
      Print("bar real volume " + (string) rates[1].tick_volume);
      Print("bar close " + (string) rates[1].close);
      volume_times_close = rates[1].tick_volume * rates[1].close;
      volumesum = rates[1].tick_volume;

      Print("vtc " + (string) volume_times_close);


      
      //volume times close
      Print("vtc " + (string) volume_times_close);
      if (i == 0)
         ArrayFill(vtc,i,1,volume_times_close);
      else
         ArrayFill(vtc,i,1,vtc[i-1]+volume_times_close);
      Print("vtc array " + (string) i + " " + (string) vtc[i]);
      
      //volume
      Print("v " + (string) volumesum);
      if (i == 0)
         ArrayFill(v,i,1,volumesum);
      else
         ArrayFill(v,i,1,v[i-1]+volumesum);
      Print("v array " + (string) i + " " + (string) v[i]);
      
      //vwap
      ArrayFill(vwap,i,1,vtc[i]/v[i]);
      Print("vwap array " + (string) i + " " + (string) vwap[i]);
      
      //vwap squared      
//      Print("vwap_sqr " + (string) vwap_square);
      u = rates[1].close-vwap[i];
      Print("u " + u);
      x = pow(u,2);
      Print("x " + x);
      Print("x*volume " + x*volumesum);
//      y = v[i];
//      z = x*v;
      if (i == 0)
         ArrayFill(vwap_sqr,i,1,pow((rates[1].close-vwap[i]),2)*volumesum);
      else
         ArrayFill(vwap_sqr,i,1,vwap_sqr[i-1]+pow((rates[1].close-vwap[i]),2)*volumesum);
      Print("vwap_sqr array " + (string) i + " " + (string) vwap_sqr[i]);
      
      //vwap standard deviaton
      ArrayFill(vwap_SD,i,1,MathSqrt(vwap_sqr[i]/v[i]));
      Print("vwap_SD array " + (string) i + " " + (string) vwap_SD[i]);      
      

      }
    else
    return; 

   
   
   
   }

/*
ObjectCreate(0,"High",OBJ_HLINE,0,0,PriceInformation[HighestCandle].high); //set object properties
         ObjectSetInteger(0,"High",OBJPROP_WIDTH,2);              //set object width
         ObjectSetInteger(0,"High",OBJPROP_COLOR,clrIndigo);      //set object colour
         */
}


/*
 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[])
{
   return (rates_total);
}
  */


Respondido

1
Desenvolvedor 1
Classificação
(499)
Projetos
749
63%
Arbitragem
33
27% / 45%
Expirado
23
3%
Livre
2
Desenvolvedor 2
Classificação
(249)
Projetos
397
38%
Arbitragem
82
41% / 20%
Expirado
69
17%
Carregado
3
Desenvolvedor 3
Classificação
(71)
Projetos
97
43%
Arbitragem
2
50% / 0%
Expirado
2
2%
Livre
Pedidos semelhantes
Mt5 bot 60+ USD
This code integrates the bounds checking logic into your existing GBPUSD Basic Indicator script. It ensures that array indices are checked before accessing array elements, which should help prevent "array out of range" errors
Hello Developers, I need an EA automatic and semi auto combined with RSI indicator, a situation whereas at a particular time frame defined by user the robot will open sell position once the price touched 70 level of RSI indicator and candle stick closed is a bear candle and opens another position once the following candle stick closed as bear candle stick martingale multiply lot size by defined user on the direction
I am looking to have a specific strategy of mine based off a mean reversion indicator in trading view, developed into a EA on MQL5. An understanding of pine script and MQL5 is mandatory for this project. It is a martingale strategy. I am only using one indicator off of trading view, no more
Omega Bot 30 - 40 USD
Hello to everyone reading this, I have a strategy that's great and I want to turn it into a bot, the strategy is based on 3 moving averages on the main chart and Macd indicator, I want the bot to enter and exit trades(for example 3 Moving average crossover to the upside on m15 plus macd crossover to the upside(apply to specific settings) , signal buy and enter buy trades and exit only when the is a crossover to the
Please convert the TradingView strategy Pine Script into an MT5 Expert Advisor (EA) auto trader. (Ill provide the pine script) The EA should be based on identifying order blocks and imbalances. Trades should trigger whenever there's a wick candle break in an imbalance area or within an order block area
Please convert the TradingView strategy Pine Script into an MT5 Expert Advisor (EA) auto trader. (Ill provide the pine script) The EA should be based on identifying order blocks and imbalances. Trades should trigger whenever there's a wick candle break in an imbalance area or within an order block area
Hello, I am a trader and I trade on MT4/5 platform , but now I want to upgrade my trading so I need an expert who can code an Expert advisor EA for me with my strategy on MT4/MT5, so if you are an expert in coding I am expecting your response
Dear colleagues, I have a small request for development. It is required to develop an indicator to display the 1-2-3 pattern. Standard strategy format for the indicator. Line display, separate line buffers for long and short signals. Arrow entry point. Separate input buffers for long and short signals, that is, separate arrows. Marks of TP and SL levels at entry point. The indicator should analyze the selected
Please convert the TradingView strategy Pine Script into an MT5 Expert Advisor (EA) auto trader. (I'll provide pine script code) The EA should be based on identifying order blocks and imbalances. Trades should trigger whenever there's a wick candle break in an imbalance area or within an order block area
Nt8 30+ USD
I trade in NT8 and would like to code an Elliott wave measurment tool, which is very easy because I have the major Script for that.We need only to add some aspects into it. If you are interested,if you can do this do well to bid on it

Informações sobre o projeto

Orçamento
30+ USD
Desenvolvedor
27 USD
Prazo
de 1 para 2 dias