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
475
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
Jonah
30+ USD
//+------------------------------------------------------------------+ //| RSI + Bollinger Bands EA (MT5) | //| Built for Jonah | //+------------------------------------------------------------------+ #property strict #property version "1.00" //================ INPUTS ================= input string SymbolName = "XAUUSD"; input double LotSize = 0.01; input int
1.Sinyal Perdagangan : Sinyal beli: garis MACD utama memotong garis sinyal ke atas (macd_current>signal_current && macd_previous<signal_previous). Sinyal jual: garis MACD utama memotong garis sinyal ke bawah (macd_current<signal_current && macd_previous>signal_previous). Gambar di bawah menunjukkan kasus beli dan jual. 2. Posisi ditutup pada sinyal yang berlawanan: Posisi beli ditutup pada sinyal jual, dan posisi
Informations sur le projet
Budget
30 - 200 USD
Délais
à 10 jour(s)