Job finished
Execution time 2 hours
Feedback from employee
thanks. fast approval.
Specification
Hello I need you to fix this 2 OSMA indicators into Icustom indicator. I have used the OsMA xb4 and osma color (mtf + alerts) to created the Icustom but it did not work . so I want you to fix .
See attached the original MQL4 file used to create the above icustoms . I have added all of them so that you review eberything your self. If you need any additional information please do not hesitate to let me know. Thank you.
The first i did is for OsMA xb4
//+------------------------------------------------------------------+ //| Indicator: OSMA.mq4 | //| Created with EABuilder.com | //| https://www.eabuilder.com | //+------------------------------------------------------------------+ #property copyright "Created with EABuilder.com" #property link "https://www.eabuilder.com" #property version "1.00" #property description "" #property tester_indicator "OsMA Color xb4" #include <stdlib.mqh> #include <stderror.mqh> //--- indicator settings #property indicator_separate_window #property indicator_buffers 4 #property indicator_type1 DRAW_ARROW #property indicator_width1 1 #property indicator_color1 0xFFAA00 #property indicator_label1 "Buy" #property indicator_type2 DRAW_ARROW #property indicator_width2 1 #property indicator_color2 0x0000FF #property indicator_label2 "Sell" #property indicator_type3 DRAW_ARROW #property indicator_width3 1 #property indicator_color3 0xFFAA00 #property indicator_label3 "Buy" #property indicator_type4 DRAW_ARROW #property indicator_width4 1 #property indicator_color4 0x0000FF #property indicator_label4 "Sell" //--- indicator buffers double Buffer1[]; double Buffer2[]; double Buffer3[]; double Buffer4[]; double myPoint; //initialized in OnInit void myAlert(string type, string message) { if(type == "print") Print(message); else if(type == "error") { Print(type+" | OSMA @ "+Symbol()+","+IntegerToString(Period())+" | "+message); } else if(type == "order") { } else if(type == "modify") { } } //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { IndicatorBuffers(4); SetIndexBuffer(0, Buffer1); SetIndexEmptyValue(0, EMPTY_VALUE); SetIndexArrow(0, 241); SetIndexBuffer(1, Buffer2); SetIndexEmptyValue(1, EMPTY_VALUE); SetIndexArrow(1, 242); SetIndexBuffer(2, Buffer3); SetIndexEmptyValue(2, EMPTY_VALUE); SetIndexArrow(2, 241); SetIndexBuffer(3, Buffer4); SetIndexEmptyValue(3, EMPTY_VALUE); SetIndexArrow(3, 242); //initialize myPoint myPoint = Point(); if(Digits() == 5 || Digits() == 3) { myPoint *= 10; } return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ 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[]) { int limit = rates_total - prev_calculated; //--- counting from 0 to rates_total ArraySetAsSeries(Buffer1, true); ArraySetAsSeries(Buffer2, true); ArraySetAsSeries(Buffer3, true); ArraySetAsSeries(Buffer4, true); //--- initial zero if(prev_calculated < 1) { ArrayInitialize(Buffer1, EMPTY_VALUE); ArrayInitialize(Buffer2, EMPTY_VALUE); ArrayInitialize(Buffer3, EMPTY_VALUE); ArrayInitialize(Buffer4, EMPTY_VALUE); } else limit++; //--- main loop for(int i = limit-1; i >= 0; i--) { if (i >= MathMin(5000-1, rates_total-1-50)) continue; //omit some old rates to prevent "Array out of range" or slow calculation //Indicator Buffer 1 if(iCustom(NULL, PERIOD_CURRENT, "OsMA Color xb4", 12, 26, 9, 0, i) == 1 && iCustom(NULL, PERIOD_CURRENT, "OsMA Color xb4", 12, 26, 9, 0, i) != EMPTY_VALUE //OsMA Color xb4 is not equal to fixed value ) { Buffer1[i] = Low[i]; //Set indicator value at Candlestick Low } else { Buffer1[i] = EMPTY_VALUE; } //Indicator Buffer 2 if(iCustom(NULL, PERIOD_CURRENT, "OsMA Color xb4", 12, 26, 9, 2, i) == 1 && iCustom(NULL, PERIOD_CURRENT, "OsMA Color xb4", 12, 26, 9, 2, i) != EMPTY_VALUE //OsMA Color xb4 is not equal to fixed value ) { Buffer2[i] = High[i]; //Set indicator value at Candlestick High } else { Buffer2[i] = EMPTY_VALUE; } //Indicator Buffer 3 if(iCustom(NULL, PERIOD_CURRENT, "OsMA Color xb4", 12, 26, 9, 1, i) == 1 && iCustom(NULL, PERIOD_CURRENT, "OsMA Color xb4", 12, 26, 9, 1, i) != EMPTY_VALUE //OsMA Color xb4 is not equal to fixed value ) { Buffer3[i] = Low[i]; //Set indicator value at Candlestick Low } else { Buffer3[i] = EMPTY_VALUE; } //Indicator Buffer 4 if(iCustom(NULL, PERIOD_CURRENT, "OsMA Color xb4", 12, 26, 9, 3, i) == 1 && iCustom(NULL, PERIOD_CURRENT, "OsMA Color xb4", 12, 26, 9, 3, i) != EMPTY_VALUE //OsMA Color xb4 is not equal to fixed value ) { Buffer4[i] = High[i]; //Set indicator value at Candlestick High } else { Buffer4[i] = EMPTY_VALUE; } } return(rates_total); } //+------------------------------------------------------------------+
The second one I did is for osma color (mtf + alerts)
//+------------------------------------------------------------------+ //| Indicator: OSMA.mq4 | //| Created with EABuilder.com | //| https://www.eabuilder.com | //+------------------------------------------------------------------+ #property copyright "Created with EABuilder.com" #property link "https://www.eabuilder.com" #property version "1.00" #property description "" #property tester_indicator "osma color (mtf + alerts)" #include <stdlib.mqh> #include <stderror.mqh> //--- indicator settings #property indicator_separate_window #property indicator_buffers 4 #property indicator_type1 DRAW_ARROW #property indicator_width1 1 #property indicator_color1 0xFFAA00 #property indicator_label1 "Buy" #property indicator_type2 DRAW_ARROW #property indicator_width2 1 #property indicator_color2 0x0000FF #property indicator_label2 "Sell" #property indicator_type3 DRAW_ARROW #property indicator_width3 1 #property indicator_color3 0xFFAA00 #property indicator_label3 "Buy" #property indicator_type4 DRAW_ARROW #property indicator_width4 1 #property indicator_color4 0x0000FF #property indicator_label4 "Sell" //--- indicator buffers double Buffer1[]; double Buffer2[]; double Buffer3[]; double Buffer4[]; double myPoint; //initialized in OnInit void myAlert(string type, string message) { if(type == "print") Print(message); else if(type == "error") { Print(type+" | OSMA @ "+Symbol()+","+IntegerToString(Period())+" | "+message); } else if(type == "order") { } else if(type == "modify") { } } //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { IndicatorBuffers(4); SetIndexBuffer(0, Buffer1); SetIndexEmptyValue(0, EMPTY_VALUE); SetIndexArrow(0, 241); SetIndexBuffer(1, Buffer2); SetIndexEmptyValue(1, EMPTY_VALUE); SetIndexArrow(1, 242); SetIndexBuffer(2, Buffer3); SetIndexEmptyValue(2, EMPTY_VALUE); SetIndexArrow(2, 241); SetIndexBuffer(3, Buffer4); SetIndexEmptyValue(3, EMPTY_VALUE); SetIndexArrow(3, 242); //initialize myPoint myPoint = Point(); if(Digits() == 5 || Digits() == 3) { myPoint *= 10; } return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ 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[]) { int limit = rates_total - prev_calculated; //--- counting from 0 to rates_total ArraySetAsSeries(Buffer1, true); ArraySetAsSeries(Buffer2, true); ArraySetAsSeries(Buffer3, true); ArraySetAsSeries(Buffer4, true); //--- initial zero if(prev_calculated < 1) { ArrayInitialize(Buffer1, EMPTY_VALUE); ArrayInitialize(Buffer2, EMPTY_VALUE); ArrayInitialize(Buffer3, EMPTY_VALUE); ArrayInitialize(Buffer4, EMPTY_VALUE); } else limit++; //--- main loop for(int i = limit-1; i >= 0; i--) { if (i >= MathMin(5000-1, rates_total-1-50)) continue; //omit some old rates to prevent "Array out of range" or slow calculation //Indicator Buffer 1 if(iCustom(NULL, PERIOD_CURRENT, "osma color (mtf + alerts)", PERIOD_CURRENT, 12, 4, 26, 4, 9, 1, true, false, true, false, false, false, "alert2.wav", true, 0, i) != 0 && iCustom(NULL, PERIOD_CURRENT, "osma color (mtf + alerts)", PERIOD_CURRENT, 12, 4, 26, 4, 9, 1, true, false, true, false, false, false, "alert2.wav", true, 0, i) != EMPTY_VALUE //osma color (mtf + alerts) is not equal to fixed value ) { Buffer1[i] = Low[i]; //Set indicator value at Candlestick Low } else { Buffer1[i] = EMPTY_VALUE; } //Indicator Buffer 2 if(iCustom(NULL, PERIOD_CURRENT, "osma color (mtf + alerts)", PERIOD_CURRENT, 12, 4, 26, 4, 9, 1, true, false, true, false, false, false, "alert2.wav", true, 2, i) != 0 && iCustom(NULL, PERIOD_CURRENT, "osma color (mtf + alerts)", PERIOD_CURRENT, 12, 4, 26, 4, 9, 1, true, false, true, false, false, false, "alert2.wav", true, 2, i) != EMPTY_VALUE //osma color (mtf + alerts) is not equal to fixed value ) { Buffer2[i] = High[i]; //Set indicator value at Candlestick High } else { Buffer2[i] = EMPTY_VALUE; } //Indicator Buffer 3 if(iCustom(NULL, PERIOD_CURRENT, "osma color (mtf + alerts)", PERIOD_CURRENT, 12, 4, 26, 4, 9, 1, true, false, true, false, false, false, "alert2.wav", true, 1, i) != 0 && iCustom(NULL, PERIOD_CURRENT, "osma color (mtf + alerts)", PERIOD_CURRENT, 12, 4, 26, 4, 9, 1, true, false, true, false, false, false, "alert2.wav", true, 1, i) != EMPTY_VALUE //osma color (mtf + alerts) is not equal to fixed value ) { Buffer3[i] = Low[i]; //Set indicator value at Candlestick Low } else { Buffer3[i] = EMPTY_VALUE; } //Indicator Buffer 4 if(iCustom(NULL, PERIOD_CURRENT, "osma color (mtf + alerts)", PERIOD_CURRENT, 12, 4, 26, 4, 9, 1, true, false, true, false, false, false, "alert2.wav", true, 3, i) != 0 && iCustom(NULL, PERIOD_CURRENT, "osma color (mtf + alerts)", PERIOD_CURRENT, 12, 4, 26, 4, 9, 1, true, false, true, false, false, false, "alert2.wav", true, 3, i) != EMPTY_VALUE //osma color (mtf + alerts) is not equal to fixed value ) { Buffer4[i] = High[i]; //Set indicator value at Candlestick High } else { Buffer4[i] = EMPTY_VALUE; } } return(rates_total); } //+------------------------------------------------------------------+
Responded
1
Rating
Projects
5
0%
Arbitration
0
Overdue
0
Free
2
Rating
Projects
124
44%
Arbitration
14
29%
/
50%
Overdue
17
14%
Free
3
Rating
Projects
106
54%
Arbitration
3
0%
/
67%
Overdue
8
8%
Working
Published: 10 codes
4
Rating
Projects
81
11%
Arbitration
12
67%
/
25%
Overdue
5
6%
Free
Published: 14 articles, 6 codes
5
Rating
Projects
717
34%
Arbitration
34
71%
/
9%
Overdue
22
3%
Free
6
Rating
Projects
1462
63%
Arbitration
21
57%
/
10%
Overdue
43
3%
Free
7
Rating
Projects
945
47%
Arbitration
309
58%
/
27%
Overdue
125
13%
Free
8
Rating
Projects
2
0%
Arbitration
0
Overdue
0
Free
Similar orders
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
MT4/MT5 TRADES MANAGER
100+ USD
MT4/MT5 TRADES MANAGER PART 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 of Lot size =--% f
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
Live chart [ expert is not executing trades on xauusd ] , Deleting Existing Parameter not in use , Live Chart Adjustments Only , No Need to Change anything else , expert will be live testing Throughout
Prepare expert for xauusd live chart [ expert is not executing trades on xauusd ] . Deletion and cleaning code . Trailing Stop Rule to follow the given method . Live Chart Only
SNIPER X AI
30 - 120 USD
I need help in building a Robot SNIPER X AI — FINAL BUILD Trading System Type AI Scalping + Sniper Entry Expert Advisor Platforms MetaTrader 4 MetaTrader 5 Supported Brokers � exness.com � justmarkets.com � deriv.com Universal MT4/MT5 broker support FINAL CORE FEATURES ✅ AI Scalping Engine ✅ Sniper Entries ✅ Auto Buy/Sell ✅ EMA Trend Detection ✅ RSI Momentum Filter ✅ Smart Stop Loss ✅ Dynamic Take Profit ✅ Trailing
//+------------------------------------------------------------------+ //| $10 Smart Scalping Bot for MT5 | //| EURGBP + AUDUSD + XAGUSD Optimized | //+------------------------------------------------------------------+ #property strict #include <Trade/Trade.mqh> CTrade trade; //========================= INPUTS ================================== input double LotSize = 0.01; input int FastEMA = 20; input int SlowEMA =
Am looking for Professional programmer who can build below analysis bot as specified below. The indicators will be provided. 🔷 1. CORE ARCHITECTURE OF YOUR EA Your EA has 3 modes: ✅ Mode 1: Indicator 1 Strategy (9-Signal Engine) ✅ Mode 2: Indicator 2 Strategy (Multi-indicator confluence) ✅ Mode 3: Hybrid Mode (Indicator 1 filters Indicator 2) 🔷 2. PAIR SELECTION LOGIC EA will NOT auto-scan market (based on your
Matriks programında güzel bir stratejim var, meta da kayıtlı olmayan iki indikatörümü de metaya yükledim, stratejim belli, ama robot oluşturmak konusunda bilgim eksik. Yardım istiyorum. Acil dönüş bekliyorum. 12-276 üssel ortalamayı hangi yöne keserse, alphatrend indikaörüde bunu desteklesin, kendi gömdüpüm diğer bir indikatörde seviyelere göre alsın satsın
Modification of ctrader cbot
30+ USD
Hi. Could you slightly rewrite my cBot for me to use a 5-minute chart without a fixed target? The stop should be a trailing stop at the level of the initial range
Project information
Budget
30+ USD
Deadline
to 1 day(s)