MQL5
Experts
Statistics and mathematics
Panels and dialog boxes
Custom graphics
OpenCL
ALGLIB
C++
C#
JavaScript
PHP
MySQL
PostgreSQL
Python
Linux
RegExp
Photoshop
Trading robot/indicator debugging
Strategy optimization
Strategy modules
Collection of data on the internet
Uploading data to a website
Forex
Stocks
Options
Data mining
Product Design
Text translation
Text writing
Spécifications
double CalculateProfitOneLot(double entry_price,double exit_price) { double profit=0; if(!OrderCalcProfit(ORDER_TYPE_BUY,Symbol(),1.0,entry_price,exit_price,profit)) { Print(__FUNCTION__," Failed to calculate OrderCalcProfit(). Error ",GetLastError()); } return(profit); }
#define EXPERT_MAGIC 123456 // MagicNumber of the expert //+------------------------------------------------------------------+ //| Modification of pending orders | //+------------------------------------------------------------------+ void OnStart() { //--- declare and initialize the trade request and result of trade request MqlTradeRequest request={0}; MqlTradeResult result={0}; int total=OrdersTotal(); // total number of placed pending orders //--- iterate over all placed pending orders for(int i=0; i<total; i++) { //--- parameters of the order ulong order_ticket=OrderGetTicket(i); // order ticket string order_symbol=Symbol(); // symbol int digits=(int)SymbolInfoInteger(order_symbol,SYMBOL_DIGITS); // number of decimal places ulong magic=OrderGetInteger(ORDER_MAGIC); // MagicNumber of the order double volume=OrderGetDouble(ORDER_VOLUME_CURRENT); // current volume of the order double sl=OrderGetDouble(ORDER_SL); // current Stop Loss of the order double tp=OrderGetDouble(ORDER_TP); // current Take Profit of the order ENUM_ORDER_TYPE type=(ENUM_ORDER_TYPE)OrderGetInteger(ORDER_TYPE); // type of the order int offset = 50; // offset from the current price to place the order, in points double price; // order triggering price double point=SymbolInfoDouble(order_symbol,SYMBOL_POINT); // value of point //--- output information about the order PrintFormat("#%I64u %s %s %.2f %s sl: %s tp: %s [%I64d]", order_ticket, order_symbol, EnumToString(type), volume, DoubleToString(PositionGetDouble(POSITION_PRICE_OPEN),digits), DoubleToString(sl,digits), DoubleToString(tp,digits), magic); //--- if the MagicNumber matches, Stop Loss and Take Profit are not defined if(magic==EXPERT_MAGIC && sl==0 && tp==0) { request.action=TRADE_ACTION_MODIFY; // type of trade operation request.order = OrderGetTicket(i); // order ticket request.symbol =Symbol(); // symbol request.deviation=5; // allowed deviation from the price //--- setting the price level, Take Profit and Stop Loss of the order depending on its type if(type==ORDER_TYPE_BUY_LIMIT) { price = SymbolInfoDouble(Symbol(),SYMBOL_ASK)-offset*point; request.tp = NormalizeDouble(price+offset*point,digits); request.sl = NormalizeDouble(price-offset*point,digits); request.price =NormalizeDouble(price,digits); // normalized opening price } else if(type==ORDER_TYPE_SELL_LIMIT) { price = SymbolInfoDouble(Symbol(),SYMBOL_BID)+offset*point; request.tp = NormalizeDouble(price-offset*point,digits); request.sl = NormalizeDouble(price+offset*point,digits); request.price =NormalizeDouble(price,digits); // normalized opening price } else if(type==ORDER_TYPE_BUY_STOP) { price = SymbolInfoDouble(Symbol(),SYMBOL_BID)+offset*point; request.tp = NormalizeDouble(price+offset*point,digits); request.sl = NormalizeDouble(price-offset*point,digits); request.price =NormalizeDouble(price,digits); // normalized opening price } else if(type==ORDER_TYPE_SELL_STOP) { price = SymbolInfoDouble(Symbol(),SYMBOL_ASK)-offset*point; request.tp = NormalizeDouble(price-offset*point,digits); request.sl = NormalizeDouble(price+offset*point,digits); request.price =NormalizeDouble(price,digits); // normalized opening price } //--- send the request if(!OrderSend(request,result)) PrintFormat("OrderSend error %d",GetLastError()); // if unable to send the request, output the error code //--- information about the operation PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order); //--- zeroing the request and result values ZeroMemory(request); ZeroMemory(result); } } } //+------------------------------------------------------------------+
Répondu
1
Évaluation
Projets
12
25%
Arbitrage
1
0%
/
100%
En retard
0
Gratuit
2
Évaluation
Projets
46
28%
Arbitrage
9
0%
/
100%
En retard
7
15%
Gratuit
3
Évaluation
Projets
460
26%
Arbitrage
140
20%
/
59%
En retard
100
22%
Travail
4
Évaluation
Projets
1
100%
Arbitrage
0
En retard
0
Gratuit
5
Évaluation
Projets
477
69%
Arbitrage
6
67%
/
0%
En retard
2
0%
Travail
6
Évaluation
Projets
36
67%
Arbitrage
0
En retard
0
Gratuit
7
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
8
Évaluation
Projets
3
67%
Arbitrage
1
0%
/
0%
En retard
0
Gratuit
9
Évaluation
Projets
945
47%
Arbitrage
309
58%
/
27%
En retard
125
13%
Gratuit
10
Évaluation
Projets
146
34%
Arbitrage
13
8%
/
62%
En retard
26
18%
Gratuit
Publié : 6 codes
Commandes similaires
Early Killer EA
30+ USD
It must have automated stop loss. Something that can end poverty and kill the market early.It must take the trades for me whenever I start it it must work on tradeport ea
Mk
30+ USD
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 ranging markets. It should analyze the market using indicators like Moving Averages, RSI, MACD, and
1. IF price forms: - Higher highs + higher lows → TREND = BUY - Lower highs + lower lows → TREND = SELL ELSE → NO TRADE 2. IF: - Trend = BUY - Price retraces to support zone - Bullish engulfing candle forms - TDI green crosses above red (optional) THEN: - Execute BUY 3. IF: - Trend = SELL - Price retraces to resistance - Bearish engulfing forms - TDI confirms THEN: - Execute SELL 4. Risk per trade = 1% of account Lot
Informations sur le projet
Budget
30 - 200 USD
Délais
à 10 jour(s)