Tâche terminée
Temps d'exécution 4 jours
Commentaires de l'employé
wonderful client.. thank you for this.
Commentaires du client
Cleaned up my buggy indicator nicely.
Spécifications
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
Répondu
1
Évaluation
Projets
507
40%
Arbitrage
159
17%
/
74%
En retard
99
20%
Chargé
2
Évaluation
Projets
210
40%
Arbitrage
90
20%
/
43%
En retard
85
40%
Gratuit
3
Évaluation
Projets
744
56%
Arbitrage
48
31%
/
31%
En retard
120
16%
Gratuit
Publié : 1 code
4
Évaluation
Projets
93
34%
Arbitrage
10
40%
/
30%
En retard
5
5%
Gratuit
Commandes similaires
EA Crafter
500+ USD
Act as a professional Quantitative Developer and Risk Manager. I want to build a systematic trading strategy rulebook that prioritizes capital preservation and statistical edge over raw performance. Please generate a structured trading strategy using the following framework: 1. ASSET CLASS & TIMEFRAME: - Asset: [e.g., Apple (AAPL), Bitcoin (BTC), or EUR/USD] - Timeframe: [e.g., 5-minute, 1-hour, Daily] 2. CORE
Driven Multiple Choice
30+ USD
Part 1: Project setup Input settings (risk, stop loss, take profit, EMA periods) Indicator initialization Trade management framework Part 2: Trading logic EMA crossover detection Buy/Sell entry rules One-trade-per-symbol check Part 3: Risk management Automatic lot size calculation Stop-loss and take-profit placement Trade execution and error handling Part 4: Final touches On-screen information Optimization
# H4 Zone Retest EA (MQL5) An automated trading Expert Advisor (EA) for MetaTrader 5, developed in MQL5. The EA trades gold (XAUUSD) using a multi-timeframe breakout and retest strategy: it defines the first H4 candle of each day as a trading zone, detects breakouts on the M5 chart, waits for a retest, and executes trades with risk management, trailing stops, and optional news filtering. --- ## Features - H4 → M5
Advanced Forex Expert Advisor-fully automated system
200 - 300 USD
I require a custom EA and an accompanying custom indicator built in MQL5 for Meta Trader 4/5. The EA must be fully automated (Algo Trading); Telegram-Signal-Linked and named 'AMK Fx'
Informations sur le projet
Budget
30+ USD
