Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 802
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
ChartFirst
Devuelve el identificador del primer gráfico del terminal cliente.
Entiendo que este es el gráfico más a la izquierda
Lamentablemente no es así, es fácil comprobarlo:
1. abrir 2-3 pares de divisas en el terminal
2. ejecutar el código para comprobarlo:
Vagamente sospecho que no. Te escribiré mañana, ahora estoy en el trabajo.
¿Quién sabe si es posible modificar el TakeProfit de una orden abierta a la zona negativa si la operación está en la zona negativa?
Mientras esperaba una respuesta, he investigado un poco y he hecho esto. ¿Se mostrará correctamente? Es domingo y no quiero esperar hasta medianoche para saber si lo he escrito correctamente.
symbol = Symbol();
double bid =MarketInfo(symbol,MODE_BID); // Запрос значения Bid
double ask =MarketInfo(symbol,MODE_ASK); // Запрос значения Ask
double point =MarketInfo(symbol,MODE_POINT);//Запрос Point
double value =MarketInfo(OrderSymbol(), MODE_TICKVALUE);// Размер минимального изменения цены инструмента в валюте депозита
double stoplevel = MarketInfo(symbol,MODE_STOPLEVEL);
double digits = MarketInfo(symbol,MODE_DIGITS);
if( bid<= stoploss1||step1 == 0)
{
step1++;
stoplevel= NormalizeDouble(stoplevel*point,digits);
stoploss1 = ask-stoplevel;
takeprofit1 = ask+stoplevel;
double profit =0.5;
double takeprofit2= profit * point * value * lot1 + bid;
takeprofit2 = NormalizeDouble(takeprofit2,digits);
if (takeprofit2 > takeprofit1)
takeprofit1 = takeprofit2;
Mientras esperaba una respuesta, busqué y encontré algo e hice esto. ¿Se mostrará correctamente? Es domingo y no quiero esperar hasta la medianoche para saber si lo escribí correctamente.
symbol = Symbol();
double bid =MarketInfo(symbol,MODE_BID); // Запрос значения Bid
double ask =MarketInfo(symbol,MODE_ASK); // Запрос значения Ask
double point =MarketInfo(symbol,MODE_POINT);//Запрос Point
double value =MarketInfo(OrderSymbol(), MODE_TICKVALUE);// Размер минимального изменения цены инструмента в валюте депозита
double stoplevel = MarketInfo(symbol,MODE_STOPLEVEL);
double digits = MarketInfo(symbol,MODE_DIGITS);
if( bid<= stoploss1||step1 == 0)
{
step1++;
stoplevel= NormalizeDouble(stoplevel*point,digits);
stoploss1 = ask-stoplevel;
takeprofit1 = ask+stoplevel;
double profit =0.5;
double takeprofit2= profit * point * value * lot1 + bid;
takeprofit2 = NormalizeDouble(takeprofit2,digits);
if (takeprofit2 > takeprofit1)
takeprofit1 = takeprofit2;
¿No es más fácil?
.
Voy a utilizar este programa no sólo para el comercio, sino también para el análisis de la historia. Tendré que calcular cuántas órdenes para los parámetros requeridos habrían sido abiertas durante un determinado período de tiempo. así que todo tiene que ser calculado manualmente
https://www.mql5.com/ru/forum/351
.