MQL5
Asesores Expertos
Estadística y matemáticas
Paneles de Control y Ventanas de Diálogo
Gráficos personalizados
OpenCL
ALGLIB
C++
C#
JavaScript
PHP
MySQL
PostgreSQL
Python
Linux
RegExp
Photoshop
Depuración de robots/indicadores
Optimización de estrategias
Módulo de estrategias
Compilación de datos de internet
Carga de datos a la página
Fórex
Acciones
Opciones
Minería de datos
Diseño de productos
Traducción de textos
Escritura de textos
Tarea técnica
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); } } } //+------------------------------------------------------------------+
Han respondido
1
Evaluación
Proyectos
12
25%
Arbitraje
1
0%
/
100%
Caducado
0
Libre
2
Evaluación
Proyectos
46
28%
Arbitraje
9
0%
/
100%
Caducado
7
15%
Libre
3
Evaluación
Proyectos
460
26%
Arbitraje
140
20%
/
59%
Caducado
100
22%
Trabaja
4
Evaluación
Proyectos
1
100%
Arbitraje
0
Caducado
0
Libre
5
Evaluación
Proyectos
476
69%
Arbitraje
6
67%
/
0%
Caducado
2
0%
Trabaja
6
Evaluación
Proyectos
36
67%
Arbitraje
0
Caducado
0
Libre
7
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
8
Evaluación
Proyectos
3
67%
Arbitraje
1
0%
/
0%
Caducado
0
Libre
9
Evaluación
Proyectos
945
47%
Arbitraje
309
58%
/
27%
Caducado
125
13%
Libre
10
Evaluación
Proyectos
146
34%
Arbitraje
13
8%
/
62%
Caducado
26
18%
Libre
Ha publicado: 6 ejemplos
Solicitudes similares
Robot Requirements Specification
30 - 100 USD
step by step and structure this into a full IEEE 830 / ISO/IEC/IEEE 29148 style Requirements Specification. This format will include: Introduction System Overview Functional and Performance Requirements Traceability Matrix (linking requirements to test cases) Verification and Validation Compliance Standards 1. Introduction 1.1 Purpose The purpose of this document is to define the technical requirements for the
Requesting for XAUUSD Trading Developer
50 - 100 USD
Hello, I’m reaching out because I’m interested in hiring you to develop a custom trading bot for me. The bot should trade only XAUUSD (Gold) and be designed for long-term account growth using my own trading account size. Here are the core requirements: - Account size: $300 - Asset: XAUUSD only - Risk management: Strict and properly controlled - Risk-to-reward ratio: Clearly defined and consistently applied -
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
Información sobre el proyecto
Presupuesto
30 - 200 USD
Plazo límite de ejecución
a 10 día(s)