指定
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;
}
}
}
//+------------------------------------------------------------------+
応答済み
1
評価
プロジェクト
972
47%
仲裁
32
38%
/
34%
期限切れ
96
10%
取り込み中
パブリッシュした人: 6 codes
2
評価
プロジェクト
72
22%
仲裁
13
46%
/
15%
期限切れ
5
7%
暇
3
評価
プロジェクト
641
41%
仲裁
25
48%
/
36%
期限切れ
46
7%
仕事中
4
評価
プロジェクト
10
50%
仲裁
6
17%
/
50%
期限切れ
3
30%
仕事中
5
評価
プロジェクト
228
80%
仲裁
22
27%
/
50%
期限切れ
11
5%
暇
パブリッシュした人: 24 articles, 1882 codes
6
評価
プロジェクト
18
28%
仲裁
4
50%
/
50%
期限切れ
1
6%
暇
7
評価
プロジェクト
214
75%
仲裁
0
期限切れ
0
暇
8
評価
プロジェクト
102
23%
仲裁
12
25%
/
17%
期限切れ
13
13%
暇
9
評価
プロジェクト
195
42%
仲裁
12
8%
/
50%
期限切れ
9
5%
仕事中
パブリッシュした人: 3 codes
10
評価
プロジェクト
79
6%
仲裁
46
11%
/
54%
期限切れ
7
9%
仕事中
類似した注文
I want developer who know how to create bot which immediately transfer specific crypto coin deposit to one crypto address to another specific address in just a second,, if you know about this then only comment on this post
require the development of a high-speed, fully automated trading Expert Advisor (EA) for MetaTrader 5 , optimized for live trading on both Deriv and Exness . The EA must be designed for fast execution, low latency, and reliability on real-money accounts , with full compatibility across broker-specific contract specifications, tick sizes, tick values, pricing formats, and volume rules. It should automatically detect
I need a custom Pocket Option binary options bot. This is NOT an MT5 EA. The bot must work directly with Pocket Option using API or WebSocket (NO clicker bot). Bot Requirements Generate simple Buy/Sell signals for OTC pairs Execute trades automatically on Pocket Option Allow me to set: Entry Amount (Level 0) Level 1 martingale amount Level 2 martingale amount Level 3 martingale amount If Level 0 loses → trade Level 1
Welcome to my freelance profile. I am a disciplined and detail-oriented trading systems specialist with strong expertise in: Algorithmic Trading (MT4 & MT5) EA/Indicator Setup & Technical Support Signal Creation, Optimization & Risk Structuring Strategy Testing & Performance Evaluation Trade Automation & System Fine-Tuning My work is based on accuracy, transparency, and strict professional standards. I ensure that
We are looking for a skilled developer with proven experience integrating the Deriv API WebSocket, ( https://developers.deriv.com/docs/getting-started ) to connect our trading web application with Deriv SmartTrader accounts. Our platform already generates AI-based trading signals , and the goal is to allow users to: Log in with their Deriv account (OAuth or API tokens) Fetch and display real-time account details
Job Title: Cloud-Based MT4/MT5 Trade Copier Developer (Project-Based) Project Overview: Looking for an experienced developer to build a cloud-hosted trade copier platform similar in concept to leading web-based multi-account trade copiers. The system must copy trades in real time between multiple MT4/MT5 accounts (and later other platforms), with low latency, strong security, and a modern web dashboard for
I want the Robots to execute buy/sell/TP/SL trades without me telling them to, Buy low Sell high Forex Pairs, I want to gain profit not lose profit, using INDICATORS, strategies, Expert Advisors, signals, Symbols, MA RSI, Awesome Accelerators', Algorithmic Trading and Scanners on real time data
Pazuzu
30+ USD
generate or create me a python coded file that has mql5 language requirements for a trading bot under the following instructions. the bot must execute trades if necessary the bot must trade 24/7 the bot must trade gold and currency the bot must make unlimited profit hourly the bot must enter market with caution after market analysis of 98 percent of clear trade
プロジェクト情報
予算
40+ USD