Termos de Referência
here's the code,
+------------------------------------------------------------------+
//| kama.mq4 |
//| Copyright 2022, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//| Heikin/Kaufman Strategy Expert Advisor |
//| By OpenAI (ChatGPT) |
//+------------------------------------------------------------------+
// Inputs
input int Length = 5;
input double Fastend = 2.5;
input int Slowend = 20;
input int test = 0;
input int sloma = 20;
// Indicator buffers
double nAMABuffer[];
double fmaBuffer[];
double smaBuffer[];
double ha_closeBuffer[];
double mha_closeBuffer[];
// External variables
extern double LotSize = 0.01; // Trading lot size
extern int StopLoss = 50; // Stop loss in pips
extern int TakeProfit = 100; // Take profit in pips
// Trading parameters
int ticket = -1;
int slippage = 3;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void 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 start = prev_calculated > 0 ? prev_calculated - 1 : 0;
ArrayResize(nAMABuffer, rates_total);
ArrayResize(fmaBuffer, rates_total);
ArrayResize(smaBuffer, rates_total);
ArrayResize(ha_closeBuffer, rates_total);
ArrayResize(mha_closeBuffer, rates_total);
double nfastend = 2 / (Fastend + 1);
double nslowend = 2 / (Slowend + 1);
for(int i = start; i < rates_total; i++)
{
double xPrice = (high[i] + low[i] + close[i]) / 3;
double xvnoise = MathAbs(xPrice - xPrice[test]);
double nsignal = MathAbs(xPrice - xPrice[i - Length]);
double nnoise = 0;
for(int j = i - Length + 1; j <= i; j++)
{
double xv = MathAbs((high[j] + low[j] + close[j]) / 3 - (high[j - 1] + low[j - 1] + close[j - 1]) / 3);
nnoise += xv;
}
double nefratio = nnoise != 0 ? nsignal / nnoise : 0;
double nsmooth = MathPow(nefratio * (nfastend - nslowend) + nslowend, 2);
nAMABuffer[i] = i > 0 ? nAMABuffer[i - 1] + nsmooth * (xPrice - nAMABuffer[i - 1]) : xPrice;
int ha_t = iCustom(NULL, 0, "Heikin Ashi", 0, i);
ha_closeBuffer[i] = iCustom(NULL, 0, "Heikin Ashi", 2, i, ha_t);
mha_closeBuffer[i] = iCustom(NULL, res1, "Heikin Ashi", 1, i, ha_t);
if(i >= test)
{
fmaBuffer[i] = iMAOnArray(mha_closeBuffer, rates_total, 1, 0, test, i);
}
if(i >= sloma)
{
smaBuffer[i] = iMAOnArray(ha_closeBuffer, rates_total, sloma, 0, MODE_EMA, i);
}
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int OnInit()
{
SetIndexBuffer(0, fmaBuffer);
SetIndexBuffer(1, smaBuffer);
SetIndexStyle(0, DRAW_LINE);
SetIndexStyle(1, DRAW_LINE);
SetIndexLabel(0, "MA");
SetIndexLabel(1, "SMA");
double emptyBufferArray[];
{
int totalBars = ArraySize(open); // Retrieve the size of the 'open' array
int start = prev_calculated > 0 ? prev_calculated - 1 : 0;
// Rest of your code...
for(int i = start; i < totalBars; i++)
{
// Processing for each bar
}
// Rest of your code...
}
SetIndexBuffer(2, emptyBufferArray, INDICATOR_DATA);
double emptyBufferArray2[];
ArrayResize(emptyBufferArray2, rates_total);
SetIndexBuffer(3, emptyBufferArray2, INDICATOR_DATA);
SetIndexStyle(2, DRAW_ARROW);
SetIndexStyle(3, DRAW_ARROW);
SetIndexArrow(2, SYMBOL_ARROWUP);
SetIndexArrow(3, SYMBOL_ARROWDOWN);
SetIndexEmptyValue(2, 0);
SetIndexEmptyValue(3, 0);
return INIT_SUCCEEDED;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
ArrayFree(nAMABuffer);
ArrayFree(fmaBuffer);
ArrayFree(smaBuffer);
ArrayFree(ha_closeBuffer);
ArrayFree(mha_closeBuffer);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnTick()
{
if(ticket == -1 && OrdersTotal() == 0)
{
int rates_total = RatesTotal();
int start = MathMax(0, rates_total - 1 - 1000);
for(int i = start; i < rates_total; i++)
{
if(fmaBuffer[i - 1] > smaBuffer[i - 1] && fmaBuffer[i] < smaBuffer[i])
{
ObjectCreate("CrossUnder", OBJ_TRIANGLE, 0, Time[i], High[i], 0);
ObjectSet("CrossUnder", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("CrossUnder", OBJPROP_WIDTH, 1);
ObjectSet("CrossUnder", OBJPROP_BACK, Red);
ObjectSetText("CrossUnder", "S", 8, "Arial", Red);
}
}
if(fmaBuffer[rates_total - 2] > smaBuffer[rates_total - 2] && fmaBuffer[rates_total - 1] < smaBuffer[rates_total - 1])
{
ticket = OrderSend(Symbol(), OP_BUY, LotSize, Ask, slippage, Ask - StopLoss * Point, Ask + TakeProfit * Point);
if(ticket < 0)
Print("Error opening buy order:", GetLastError());
}
else
{
if(ticket == -1 && OrdersTotal() == 0)
{
int crossUnderBar = -1;
{
if(fmaBuffer[i - 1] > smaBuffer[i - 1] && fmaBuffer[i] < smaBuffer[i])
{
crossUnderBar = i;
}
}
if(crossUnderBar != -1)
{
double crossUnderPrice = Low[crossUnderBar];
ObjectCreate("CrossUnder", OBJ_TRIANGLE, 0, Time[crossUnderBar], crossUnderPrice, 0);
ObjectSet("CrossUnder", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("CrossUnder", OBJPROP_WIDTH, 1);
ObjectSet("CrossUnder", OBJPROP_BACK, Red);
ObjectSetText("CrossUnder", "S", 8, "Arial", Red);
}
// Rest of your code...
}
// Rest of your code...
}
{
ticket = OrderSend(Symbol(), OP_SELL, LotSize, Bid, slippage, Bid + StopLoss * Point, Bid - TakeProfit * Point);
if(ticket < 0)
Print("Error opening sell order:", GetLastError());
}
}
if(ticket >= 0)
{
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
{
if(OrderType() == OP_BUY && Bid - OrderStopLoss() > TakeProfit * Point)
{
if(OrderModify(ticket, OrderOpenPrice(), Bid - TakeProfit * Point, OrderTakeProfit(), 0, Green))
{
ticket = -1;
}
else
{
Print("Error modifying buy order:", GetLastError());
}
}
else
if(OrderType() == OP_SELL && OrderStopLoss() - Ask > TakeProfit * Point)
{
if(OrderModify(ticket, OrderOpenPrice(), Ask + TakeProfit * Point, OrderTakeProfit(), 0, Green))
{
ticket = -1;
}
else
{
Print("Error modifying sell order:", GetLastError());
}
}
}
else
{
Print("Error selecting order:", GetLastError());
ticket = -1;
}
}
}
//+------------------------------------------------------------------+
Respondido
1
Classificação
Projetos
990
47%
Arbitragem
33
36%
/
36%
Expirado
98
10%
Trabalhando
Publicou: 6 códigos
2
Classificação
Projetos
72
22%
Arbitragem
13
46%
/
15%
Expirado
5
7%
Livre
3
Classificação
Projetos
641
41%
Arbitragem
25
48%
/
36%
Expirado
46
7%
Trabalhando
4
Classificação
Projetos
10
50%
Arbitragem
6
17%
/
50%
Expirado
3
30%
Trabalhando
5
Classificação
Projetos
228
80%
Arbitragem
22
27%
/
50%
Expirado
11
5%
Livre
Publicou: 24 artigos, 1882 códigos
6
Classificação
Projetos
18
28%
Arbitragem
4
50%
/
50%
Expirado
1
6%
Livre
7
Classificação
Projetos
220
75%
Arbitragem
0
Expirado
0
Livre
8
Classificação
Projetos
102
23%
Arbitragem
12
25%
/
17%
Expirado
13
13%
Livre
9
Classificação
Projetos
195
42%
Arbitragem
13
8%
/
54%
Expirado
9
5%
Livre
Publicou: 3 códigos
10
Classificação
Projetos
80
6%
Arbitragem
46
11%
/
54%
Expirado
7
9%
Trabalhando
Pedidos semelhantes
Darwish
50 - 100 USD
I want a bot that runs on any timeframe, but for now, I’ll set it on 1 minute. It should watch for buy and sell signals. Each time it opens a trade, as soon as it makes a small profit like 1, 2, or 3 dollars it closes, then checks for the next signal. If it sees a buy, it buys; if it sees a sell, it sells—just repeating the cycle, over and over, until I stop it
📢 Project Title:MT5 Expert Advisor (EA) – Advanced Renko Strategy (Full Automation) 📄 Project Description:I want to develop a fully automated MT5 Expert Advisor (EA) based on my existing TradingView Renko strategy.I already have a working Pine Script that generates Buy/Sell alerts with ATR and other logic. Now I need the same strategy to be fully converted into MT5 EA with built-in Renko logic (no external
Need trading robot
30 - 100 USD
I need a trading robot specifically for gold (XAUUSD) that follows a high-probability scalping and intraday strategy based on 15-minute candle confirmations. The bot should identify key support and resistance zones, detect breakouts, fake breakouts, and pullbacks before entering trades. It must include entry conditions based on candle patterns such as engulfing and rejection wicks, and optionally fair value gaps
Boom and crash detector
30+ USD
I need a very accurate MT5 boom and crash indicator which shows when to buy and when to sell with no repaint. The indicator should show with an arrow where to buy for boom just before the spike and sell for crash just before the spike
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
XAUUSD Grid + Martingale hedging MT5
150 - 500 USD
I need an Expert Advisor (EA) for XAUUSD using a Grid + Martingale + Hedging strategy. Main features: • Open Buy & Sell at start (hedging) • Grid system with adjustable step (price-based levels) • Lot multiplier (martingale-style) • Fixed TP per trade + basket TP (close all in profit) • Continuous re-entry after TP • Risk management (max trades, max lot, equity stop) Additional requirements: • EA must include access
XAUUSD Daily 7 PM Strategy
40+ USD
1. Trade Execution Timing The EA must execute trades exactly at 7:00 PM IST (Indian Standard Time) every trading day. Time conversion must be handled internally if the broker server time differs from IST. Execution should trigger only once per day (no duplicate trades). 2. Trade Type At 7:00 PM IST, the EA must: Open 1 Buy/Sell (Long/Short) position (configurable) 3. Order Execution Method Orders must be placed
XAUUSD Grid + Hedging EA (MT4/MT5)
200 - 500 USD
I need for an EA for XAUUSD using a grid + Martingle + hedging strategy developer Main features: • Open Buy & Sell at start (hedging) • Grid system with adjustable step (price-based levels) • Lot multiplier (martingale-style) • Fixed TP per trade + basket TP (close all in profit) • Continuous re-entry after TP • Risk management (max trades, max lot, equity stop) EA should be stable, error-free, and work with
Mkiheme elite Bots
50 - 150 USD
I need a fully automated strategies trading futures, that works with pine scripts on tradingview.com . I need a fully automated trading robot designed to generate consistent profits while strictly controlling risk and minimizing losses. The robot should use a combination of strategies, including trend-following, scalping, and price action, and must be able to adapt to different market conditions such as trending and
I am looking for an experienced Pine Script developer to create a custom TradingView indicator based on a rule-based forex trading strategy. The strategy focuses on breakout and retest setups, combined with multi-timeframe confirmation for precise entries. Scope of Work Detect key support and resistance levels Identify strong breakout candles (close beyond level with momentum) Confirm valid retest of the broken level
Informações sobre o projeto
Orçamento
40+ USD