Trabalho concluído
Tempo de execução 4 dias
Comentário do desenvolvedor
wonderful client.. thank you for this.
Comentário do cliente
Cleaned up my buggy indicator nicely.
Termos de Referência
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
Respondido
1
Classificação
Projetos
507
40%
Arbitragem
159
17%
/
74%
Expirado
99
20%
Carregado
2
Classificação
Projetos
210
40%
Arbitragem
90
20%
/
43%
Expirado
85
40%
Livre
3
Classificação
Projetos
744
56%
Arbitragem
48
31%
/
31%
Expirado
120
16%
Livre
Publicou: 1 código
4
Classificação
Projetos
93
34%
Arbitragem
10
40%
/
30%
Expirado
5
5%
Livre
Pedidos semelhantes
Professional AI Automation Trading Bot for Forex & Crypto
500 - 1500 USD
Title Professional AI Automation Trading Bot for Forex & Crypto Solution Language Python (preferred) or MQL5 depending on integration requirements. Categories Expert Advisor (EA) for MetaTrader 5 Automated trading strategies AI/ML-based signal generation Risk management automation Required Skills Strong knowledge of MQL5/Python Experience with MetaTrader API integration Machine learning model deployment
Binance Ai Trading Bot $US700 budget negotiable
700 - 3000 USD
I need an Ai trading bot for Binance and BTC on MT5 that also uses order flow data. It should also make use of TSI- Temporal indicator sampling and also it should make use of fundamental analysis in the process of signal generation
MT5 EA Developer for Structured ICT/SMC Market Logic Requirements Specification: I need an MT5 Expert Advisor only in MQL5. No indicator, no script, no DLL, and no external API. The EA must be built on a rule-based ICT/SMC-style framework with objective, backtestable logic. I am not looking for social-media-style ICT/SMC interpretation. I need a developer who can convert trading concepts into clear coding rules. The
looking for a highly experienced mql5 developer to build a professional trading ea based on multi timeframe top down analysis and market structure concepts the system should combine higher timeframe context with lower timeframe execution and provide both precise logic and clean visual representation on chart ⸻ core requirements • implementation of multi timeframe logic higher timeframe bias combined with lower
Informações sobre o projeto
Orçamento
30+ USD
