Техническое задание
#define ExtBotName "AK-47 Scalper EA" //Bot Name #define Version "1.00" //--- input parameters extern string EASettings = "---------------------------------------------"; //-------- <EA Settings> -------- input int InpMagicNumber = 124656; //Magic Number extern string TradingSettings = "---------------------------------------------"; //-------- <Trading Settings> -------- input double Inpuser_lot = 0.01; //Lots input double InpSL_Pips = 3.5; //Stoploss (in Pips) input double InpMax_spread = 0.5; //Maximum allowed spread (in Pips) (0 = floating) extern string MoneySettings = "---------------------------------------------"; //-------- <Money Settings> -------- input bool isVolume_Percent = true; //Allow Volume Percent input double InpRisk = 3; //Risk Percentage of Balance (%) input string TimeSettings = "---------------------------------------------"; //-------- <Trading Time Settings> -------- input bool InpTimeFilter = true; //Trading Time Filter input int InpStartHour = 2; //Start Hour input int InpStartMinute = 30; //Start Minute input int InpEndHour = 21; //End Hour input int InpEndMinute = 0; //End Minute
2. local variables initialization
//--- Variables int Pips2Points; // slippage 3 pips 3=points 30=points double Pips2Double; // Stoploss 15 pips 0.015 0.0150 int InpMax_slippage = 3; // Maximum slippage allow_Pips. bool isOrder = false; // just open 1 order int slippage; string strComment = "";
3. Main Code
a/ Expert initialization function
int OnInit() { //--- //3 or 5 digits detection //Pip and point if (Digits % 2 == 1) { Pips2Double = _Point*10; Pips2Points = 10; slippage = 10* InpMax_slippage; } else { Pips2Double = _Point; Pips2Points = 1; slippage = InpMax_slippage; } //--- return(INIT_SUCCEEDED); }
b/ Expert tick function
void OnTick() { //--- if(IsTradeAllowed() == false) { Comment("AK-47 EA\nTrade not allowed."); return; } MqlDateTime structTime; TimeCurrent(structTime); structTime.sec = 0; //Set starting time structTime.hour = InpStartHour; structTime.min = InpStartMinute; datetime timeStart = StructToTime(structTime); //Set Ending time structTime.hour = InpEndHour; structTime.min = InpEndMinute; datetime timeEnd = StructToTime(structTime); double acSpread = MarketInfo(Symbol(), MODE_SPREAD); StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL); strComment = "\n" + ExtBotName + " - v." + (string)Version; strComment += "\nGMT time = " + TimeToString(TimeGMT(),TIME_DATE|TIME_SECONDS); strComment += "\nTrading time = [" + (string)InpStartHour + "h" + (string)InpStartMinute + " --> " + (string)InpEndHour + "h" + (string)InpEndMinute + "]"; strComment += "\nCurrent Spread = " + (string)acSpread + " Points"; strComment += "\nCurrent stoplevel = " + (string)StopLevel + " Points"; Comment(strComment); //Update Values UpdateOrders(); TrailingStop(); //Check Trading time if(InpTimeFilter) { if(TimeCurrent() >= timeStart && TimeCurrent() < timeEnd) { if(!isOrder) OpenOrder(); } } else { if(!isOrder) OpenOrder(); } }
3.1 Calculate signal in order to send orders
void OpenOrder(){ //int OrdType = OP_SELL;//-1; double TP = 0; double SL = 0; string comment = ExtBotName; //Calculate Lots double lot1 = CalculateVolume(); //if(OrdType == OP_SELL){ double OpenPrice = NormalizeDouble(Bid - (StopLevel * _Point) - (InpSL_Pips/2) * Pips2Double, Digits); SL = NormalizeDouble(Ask + StopLevel * _Point + InpSL_Pips/2 * Pips2Double, Digits); if(CheckSpreadAllow()) //Check Spread { if(!OrderSend(_Symbol, OP_SELLSTOP, lot1, OpenPrice, slippage, SL, TP, comment, InpMagicNumber, 0, clrRed)) Print(__FUNCTION__,"--> OrderSend error ",GetLastError()); } //} }
3.2 Calculate Volume
double CalculateVolume() { double LotSize = 0; if(isVolume_Percent == false) { LotSize = Inpuser_lot; } else { LotSize = (InpRisk) * AccountFreeMargin(); LotSize = LotSize /100000; double n = MathFloor(LotSize/Inpuser_lot); //Comment((string)n); LotSize = n * Inpuser_lot; if(LotSize < Inpuser_lot) LotSize = Inpuser_lot; if(LotSize > MarketInfo(Symbol(),MODE_MAXLOT)) LotSize = MarketInfo(Symbol(),MODE_MAXLOT); if(LotSize < MarketInfo(Symbol(),MODE_MINLOT)) LotSize = MarketInfo(Symbol(),MODE_MINLOT); } return(LotSize); }
3.3 EA has function "trailing Stop", SL will change every time price change (down)
void TrailingStop() { for(int i = OrdersTotal() - 1; i >= 0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if((OrderMagicNumber() == InpMagicNumber) && (OrderSymbol() == Symbol())) //_Symbol)) { //For Sell Order if(OrderType() == OP_SELL) { //--Calculate SL when price changed double SL_in_Pip = NormalizeDouble(OrderStopLoss() - (StopLevel * _Point) - Ask, Digits) / Pips2Double; if(SL_in_Pip > InpSL_Pips){ double newSL = NormalizeDouble(Ask + (StopLevel * _Point) + InpSL_Pips * Pips2Double, Digits); if(!OrderModify(OrderTicket(), OrderOpenPrice(), newSL, OrderTakeProfit(), 0, clrRed)) { Print(__FUNCTION__,"--> OrderModify error ",GetLastError()); continue; } } } //For SellStop Order else if(OrderType() == OP_SELLSTOP) { double SL_in_Pip = NormalizeDouble(OrderStopLoss() - (StopLevel * _Point) - Ask, Digits) / Pips2Double; if(SL_in_Pip < InpSL_Pips/2){ double newOP = NormalizeDouble(Bid - (StopLevel * _Point) - (InpSL_Pips/2) * Pips2Double, Digits); double newSL = NormalizeDouble(Ask + (StopLevel * _Point) + (InpSL_Pips/2) * Pips2Double, Digits); if(!OrderModify(OrderTicket(), newOP, newSL, OrderTakeProfit(), 0, clrRed)) { Print(__FUNCTION__,"--> Modify PendingOrder error!", GetLastError()); continue; } } } } } } }
Откликнулись
1
Оценка
Проекты
34
53%
Арбитраж
1
100%
/
0%
Просрочено
1
3%
Свободен
2
Оценка
Проекты
105
60%
Арбитраж
0
Просрочено
0
Свободен
3
Оценка
Проекты
39
23%
Арбитраж
14
0%
/
93%
Просрочено
4
10%
Свободен
4
Оценка
Проекты
691
42%
Арбитраж
2
100%
/
0%
Просрочено
1
0%
Свободен
Опубликовал: 9 примеров
5
Оценка
Проекты
12
0%
Арбитраж
5
20%
/
80%
Просрочено
2
17%
Свободен
6
Оценка
Проекты
258
61%
Арбитраж
4
50%
/
25%
Просрочено
10
4%
Свободен
7
Оценка
Проекты
262
21%
Арбитраж
23
52%
/
17%
Просрочено
0
Работает
8
Оценка
Проекты
35
20%
Арбитраж
5
40%
/
40%
Просрочено
0
Свободен
Опубликовал: 1 пример
9
Оценка
Проекты
0
0%
Арбитраж
0
Просрочено
0
Свободен
Опубликовал: 1 пример
10
Оценка
Проекты
266
29%
Арбитраж
0
Просрочено
3
1%
Работает
Опубликовал: 2 примера
11
Оценка
Проекты
708
33%
Арбитраж
45
44%
/
42%
Просрочено
14
2%
Загружен
12
Оценка
Проекты
245
74%
Арбитраж
7
100%
/
0%
Просрочено
1
0%
Работает
Опубликовал: 1 статью
Похожие заказы
English Description (For Developers): I need a custom Expert Advisor (EA) for MT5 to trade ONLY ETHUSD based on trend-following and counter-trendline breakout-retest with an M1 execution filter and strict risk management. Trading Logic: 1. Trend Filter: Price must be below 200 EMA on both H1 and M15 timeframes for Short (Sell) trades. (Opposite for Long/Buy trades). 2. Setup: On the M15 chart, after a strong move in
Build NINJATRADER 8
30+ USD
Can you Build a custom NinjaTrader 8 ChartStyle or BarsType called Optimized Footprint Bars. This project is urgent and i need someone that's wiiling to do his project with me kinldy bid for this. Thanks
I am looking for an expert MQL5 developer to build a robust, professional Expert Advisor for Gold (XAUUSD). The EA must be Event-Driven (OnTick) with no 'Sleep' functions, ensuring instant execution. Core Logic: Grid Strategy: Start with 0.02 Buy/Sell. Lot size sequence: 0.02, 0.03, 0.05, 0.09, 0.14, 0.26, 0.44, 0.75, 1.28, 2.18 (Max 10 steps). Dynamic TP: Total basket TP must update instantly upon new order
I am looking for an expert MQL5 developer to build a robust, professional Expert Advisor for Gold (XAUUSD). The EA must be Event-Driven (OnTick) with no 'Sleep' functions, ensuring instant execution. Core Logic: Grid Strategy: Start with 0.02 Buy/Sell. Lot size sequence: 0.02, 0.03, 0.05, 0.09, 0.14, 0.26, 0.44, 0.75, 1.28, 2.18 (Max 10 steps). Dynamic TP: Total basket TP must update instantly upon new order
I have an expert advisor's investor login. I want you to study it and make me the exact same EA. There should be absolutely no differences or mistakes. You should have great observation skills for this aswell
HFT / Latency Arbitrage / Scalper needed
30 - 5000 USD
I am looking for an experienced MQL5 or MQL4 developer with a strong background in low-latency algorithmic trading, market data integration, arbitrage and execution optimization. The project involves developing a high-performance HFT Expert Advisor (EA) for XAUUSD or US30 on IC Markets that is designed for robust execution in both demo and live environments. The EA may use market data feeds (such as lmax,one zero or
Hft gold ea live account ic market
30 - 3000 USD
I am looking for an experienced MQL5 or MQL4 developer with a strong understanding of high-frequency trading (HFT) concepts who can explain how certain HFT-style strategies have historically been able to pass proprietary firm evaluations while also being profitable on demo accounts and capable of transitioning successfully to live trading. I am interested in understanding the legitimate trading logic, execution
Developer to build a simple EA
30+ USD
I am looking for an experienced MQL5 developer to code a custom Expert Advisor for MetaTrader 5 based on my own private trading strategy.I have all the specific entry rules, exit conditions, and risk management parameters fully prepared. I will share these exact details with the selected developer via direct message once the job is initiated.The final delivery must include the clean, fully commented source code (.mq5
Hello, I'm interested in a quote to convert my manual trading strategy into an automated strategy for NinjaTrader. Please note, I would like the quote based on the work and not my available budget; therefore, I entered $5 for the budget. Additionally, I would appreciate knowing how long it would take to build/test. I would prefer to have it sooner rather than later but selected 7 days not knowing how long it takes to
Siraj Durrani
30 - 50 USD
Title: Need MT4 Expert Advisor for XAUUSD (SMC/ICT Strategy) Requirements: I need a professional MT4 Expert Advisor (EA) for XAUUSD based on Smart Money Concepts (SMC) / ICT strategy. Features: - Platform: MetaTrader 4 (MT4) - Symbol: XAUUSD - Automatic Buy and Sell trades. - Detect market trend automatically. - Use Break of Structure (BOS) and Change of Character (CHoCH) for trend confirmation. - Enter trades only
Информация о проекте
Бюджет
30 - 200 USD
Сроки выполнения
от 1 до 100 дн.