Job finished
Execution time 4 days
Feedback from employee
wonderful client.. thank you for this.
Feedback from customer
Cleaned up my buggy indicator nicely.
Specification
So as the title suggest, I am looking for someone to debug and briefly explain my errors in my code.
The indicator looks like this on the chart
There are 4 bugs to fix
- Indicator applies to the chart fine but doesn't seem to run after initialization.
- Indicator only works on 1 hour charts and higher.
- Indicator "freezes" on start on new period.
- Graphic panel doesn't update to represent indicator value.
Examples of coding include the following
- Custom strength algo
int i,pos;
////---
if(rates_total<=1)
return(0);
////--- preliminary calculation
if(prev_calculated>1) pos=prev_calculated-1;
else pos=1;
for(i=pos-1; i<rates_total; i++)
{double eg = 50 + (((iClose("EURGBP",0,i)-iClose("EURGBP",0,(i+Delta)))/(iHigh("EURGBP",0,(iHighest("EURGBP",0,MODE_HIGH,Delta,i)))-iLow("EURGBP",0,(iLowest("EURGBP",0,MODE_LOW,Delta,i)))))*100)/2;
double ea = 50 + (((iClose("EURAUD",0,i)-iClose("EURAUD",0,(i+Delta)))/(iHigh("EURAUD",0,(iHighest("EURAUD",0,MODE_HIGH,Delta,i)))-iLow("EURAUD",0,(iLowest("EURAUD",0,MODE_LOW,Delta,i)))))*100)/2;
double en = 50 + (((iClose("EURNZD",0,i)-iClose("EURNZD",0,(i+Delta)))/(iHigh("EURNZD",0,(iHighest("EURNZD",0,MODE_HIGH,Delta,i)))-iLow("EURNZD",0,(iLowest("EURNZD",0,MODE_LOW,Delta,i)))))*100)/2;
double eu = 50 + (((iClose("EURUSD",0,i)-iClose("EURUSD",0,(i+Delta)))/(iHigh("EURUSD",0,(iHighest("EURUSD",0,MODE_HIGH,Delta,i)))-iLow("EURUSD",0,(iLowest("EURUSD",0,MODE_LOW,Delta,i)))))*100)/2;
double ec = 50 + (((iClose("EURCAD",0,i)-iClose("EURCAD",0,(i+Delta)))/(iHigh("EURCAD",0,(iHighest("EURCAD",0,MODE_HIGH,Delta,i)))-iLow("EURCAD",0,(iLowest("EURCAD",0,MODE_LOW,Delta,i)))))*100)/2;
double eh = 50 + (((iClose("EURCHF",0,i)-iClose("EURCHF",0,(i+Delta)))/(iHigh("EURCHF",0,(iHighest("EURGBP",0,MODE_HIGH,Delta,i)))-iLow("EURCHF",0,(iLowest("EURCHF",0,MODE_LOW,Delta,i)))))*100)/2;
double ej = 50 + (((iClose("EURJPY",0,i)-iClose("EURJPY",0,(i+Delta)))/(iHigh("EURJPY",0,(iHighest("EURJPY",0,MODE_HIGH,Delta,i)))-iLow("EURJPY",0,(iLowest("EURJPY",0,MODE_LOW,Delta,i)))))*100)/2;
EURBuffer[i] = (eg+ea+en+eu+ec+eh+ej)/7;
//--- and so
- graphic panel
//+------------------------------------------------------------------+ //| Create Panel | //+------------------------------------------------------------------+ void CreatePanel() //+------------------------------------------------------------------+ { string name="label_"; for(int i=1;i<=24; i++) { string labelname=name+IntegerToString(i,3,'0'); switch(i) { case 1: createBarGraph(labelname,264,43,30,2); break; case 2: createBarGraph(labelname,232,43,30,2); break; case 3: createBarGraph(labelname,200,43,30,2); break; //--- and so on } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| create Bar Graph | //+------------------------------------------------------------------+ void createBarGraph(string lname,int xdistance,int ydistance,int xsize,int ysize) //+------------------------------------------------------------------+ { int ypoint=ydistance; string name=lname+"_"; for(int num=51; num>=1; num--) { createRectangleLabel(name+IntegerToString(num,2,'0'),xdistance,ypoint,xsize,ysize); ypoint+=2; } } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Create Rectangle Label | //+------------------------------------------------------------------+ void createRectangleLabel(string name,int xdist,int ydist,int xsize,int ysize,) { ObjectCreate(name,OBJ_RECTANGLE_LABEL,0,0,0); //--- and so on } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Create Edit | //+------------------------------------------------------------------+ void createEdit(string name,int xdist,int ydist,int xsize,int ysize,string text,int fontsize,color clr) //+------------------------------------------------------------------+ { ObjectCreate(name,OBJ_EDIT,0,0,0); //--- and so on } //+------------------------------------------------------------------+
- graphic panel update
objectSetBlank("label_001"); objectSetGraph("label_001_",EURBuffer[0],C'128,128,128',C'134,121,121',C'140,115,115',C'147,108,108',C'153,102,102',C'159,96,96',C'166,89,89',C'172,83,83',C'179,77,77',C'185,70,70',C'191,64,64',C'198,57,57',C'204,51,51',C'210,45,45',C'217,38,38',C'223,32,32',C'230,25,25',C'236,19,19',C'242,13,13',C'249,6,6',C'255,0,0'); ObjectSetString(0,"label_017",OBJPROP_TEXT,DoubleToString(EURBuffer[0],0));
- Set graph
//+------------------------------------------------------------------+ //| object Set Graph | //+------------------------------------------------------------------+ void objectSetGraph(string name,double value,color a,color b,color c,color d,color e,color f,color g,color h,color i,color j,color k,color l,color m,color n,color o,color p,color q,color r,color s,color t,color u) { //--- ObjectSet(name+"51",OBJPROP_COLOR,a); if(value > 2.0) ObjectSet(name + "50", OBJPROP_COLOR, a); if(value > 4.0) ObjectSet(name + "49", OBJPROP_COLOR, b); if(value > 6.0) ObjectSet(name + "48", OBJPROP_COLOR, b); if(value > 8.0) ObjectSet(name + "47", OBJPROP_COLOR, c); if(value > 10.0) ObjectSet(name + "46", OBJPROP_COLOR, c); if(value > 12.0) ObjectSet(name + "45", OBJPROP_COLOR, d); if(value > 14.0) ObjectSet(name + "44", OBJPROP_COLOR, d); if(value > 16.0) ObjectSet(name + "43", OBJPROP_COLOR, e); if(value > 18.0) ObjectSet(name + "42", OBJPROP_COLOR, e); if(value > 20.0) ObjectSet(name + "41", OBJPROP_COLOR, f); if(value > 22.0) ObjectSet(name + "40", OBJPROP_COLOR, f); //--- and so on
The full code is 440 lines and will be provided upon expression of interest.
Thank you for your time
Bob
Responded
1
Rating
Projects
507
40%
Arbitration
159
17%
/
74%
Overdue
99
20%
Loaded
2
Rating
Projects
210
40%
Arbitration
90
20%
/
43%
Overdue
85
40%
Free
3
Rating
Projects
743
56%
Arbitration
47
32%
/
30%
Overdue
119
16%
Working
Published: 1 code
4
Rating
Projects
93
34%
Arbitration
10
40%
/
30%
Overdue
5
5%
Free
Similar orders
Ai bot
100 - 300 USD
I’m looking for one person who is both a Forex trader and a programmer . I don’t want a coder who only writes code without understanding the market, and I don’t want a trader who can’t program. I want someone who actively trades and understands market behavior, liquidity, volatility, and risk management. Most importantly, the bot must be built using real artificial intelligence that learns and adapts , not just
EA grid hunter
30 - 200 USD
1. Platform & Environment Platform: MetaTrader 5 (MT5 ONLY) Language: MQL5 Account type: ECN / Netting or Hedging Designed for broker rebate/commission return programs No DLLs, no external dependencies 2. Strategy Overview The EA is a high-frequency scalping Expert Advisor focused on maximizing the number of trades with minimal price movement, where the main source of profitability is broker rebate rather than market
Olá, preciso de um programador para montar um indicador com base na sobrevenda do estocastico, volume macd, para uma estrategia de reversão e falso rompimento com regioes de OB validos minimas e maximas de H1, H4, D1 e canais para confluencias, quero que seja didatico visualmente e com cores, sons de alertas e algum sinal de call ou put como setas indicando reversões e falsos rompimentos e continuidade
Pazuzu
30+ USD
generate or create me a python coded file that has mql5 language requirements for a trading bot under the following instructions. the bot must execute trades if necessary the bot must trade 24/7 the bot must trade gold and currency the bot must make unlimited profit hourly the bot must enter market with caution after market analysis of 98 percent of clear trade
Project information
Budget
30+ USD
