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
475
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
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
Olá, preciso de um programador para montar um indicador com base na sobrevenda do estocastico, volume macd, para uma estrategia de reversão e falso rompimento com regioes de OB validos minimas e maximas de H1, H4, D1 e canais para confluencias, quero que seja didatico visualmente e com cores, sons de alertas e algum sinal de call ou put como setas indicando reversões e falsos rompimentos e continuidade
Información sobre el proyecto
Presupuesto
30 - 200 USD
Plazo límite de ejecución
a 10 día(s)