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
Risk management EA
30 - 200 USD
Looking to develop risk management EA for personal use probably commercially in the future. I want the EA to have a display panel with 0.1, 0.2, 0.5,1,2,3 percent risk management button. I also want BE, partial closure of 0.25,0.5,0.75 and full closure panel on both profit and loss. I’ll also like to include trailing stop, 2 trades max per day and BE+spread option. I’ll be attaching the image for a guidance on what
Sierra Chart Alerts to MT5 via Webhook (Alert Manager File Version) Objective: Create a Custom Study (ACSIL / C++) that monitors alerts from the Alert Manager file and forwards any valid alert directly to MT5 via an HTTP POST (Webhook) in JSON format. Additional Note: The study should allow adding any modifications in the future and provide clear insights into the alert points in Sierra Chart. 1. Data Flow Diagram
Ea.Mix
30+ USD
I am in need of a good scalping bot for gold or any currency pair. If you have one that is working, reach out. You must be able to provide a trial version so I can test the bot myself
GRID EA with PRUNING
80+ USD
MT5 Expert Advisor Development Project Overview I am looking for an experienced MQL5 developer to build a custom MetaTrader 5 Expert Advisor based on a grid-cycle trading framework. This is not a standard grid EA . The system combines: Session-based trade initiation Multi-filter signal generation Dynamic grid management Advanced basket management State-machine-driven trade lifecycle management Dynamic take-profit
In need of a scalping bot
30+ USD
I am in need of a good scalping bot for gold or any currency pair. If you have one that is working, reach out. You must be able to provide a trial version so I can test the bot myself
US30 Friday Range Breaker Pro
30 - 100 USD
Test instructions: - Run EA on US30 (Dow Jones) - Timeframe: H1 - Test period: last 3–6 months - Use default risk settings (1% per setup) - Check Friday breakout logic only Expected behavior: - EA should mark Friday High/Low - Wait for candle close breakout - Wait for retracement into range - Enter only when H1 candle closes inside range - Execute 2 trades per setup (TP1 = 1R, TP2 = 2R) - Respect 1.5% daily loss
MANAGERS FOR MT4 AND MT5 TRADES
49+ USD
ART 1: NUMBER OF TRADES ALLOWED IN ONE DIRECTION: Maximum number of trades in one direction = ------------------------------ ------------------------------ ------------------------------ -------------- par PART 2 PARTIAL CLOSURE OF STOPLOSS: Total STOPLOSS =------ Pips 1a: Percentage of Stoploss =--% 1b Percentage of Lot size =--% 2a: Percentage oe of Lot size =--% f Stoploss =--% 2b
MT5 Expert Advisor (EA) Acquisition Request – Proven XAUUSD Martingale / Grid EA I am looking to purchase a fully developed, actively traded, and proven MT5 Expert Advisor for XAUUSD (Gold) that uses Martingale, Grid, Averaging, Recovery, or Hybrid Recovery techniques. Mandatory Verification Requirement To be considered, please provide: - MT5 Investor Password (Read-Only Access) for verification - Account Number /
Developers needed for mt4, mt5 EAs
45 - 50 USD
Looking to buy profitable MT4/MT5 Expert Advisors (EAs). Requirements: • Fully automated • 6+ months backtest • 100+ trades • No martingale or grid systems Send: • Backtest report • Max drawdown • Markets traded • Brief strategy summary Only original EAs developed by you. Long-term collaboration available
I am looking for an experienced MQL5 developer to create a custom indicator for MetaTrader 5. The project requirements and indicator logic will be shared privately with the selected candidate to protect the concept and implementation details. Requirements: Strong experience with MQL5 indicator development. Ability to create clean, efficient, and well-structured code. Experience with custom buffers, chart objects
Informations sur le projet
Budget
30+ USD
