Aquí están las maravillas de la prueba de un programa EA en MT5 (ver imagen-archivo)... ¿Puede haber eqividad positiva con un saldo negativo? y cuando el saldo es negativo? Antes de pasarme a Trading Nation cambié mucho de opinión y nunca llegué a hacerlo... Creo que es hora de dormir un poco)
Si alguien está interesado en el código abierto y en el set, que me avise. - Sin duda, lo publicaré. He comenzado a dominar MT5 con la cobertura y ahora, - milagros, sin embargo)
No hay milagros. Tengo una posición abierta con un gran superávit y una posición cerrada con una pérdida que supera mi saldo. No estoy perdiendo porque tengo fondos suficientes para mantener una posición abierta.
Artyom Trishkin: No hay milagros. Hay posiciones abiertas con un gran superávit, y hay una posición cerrada con una pérdida mayor que el tamaño del balance. No hay ningún inconveniente porque hay fondos suficientes para mantener las posiciones abiertas.
Ya he intentado todo, todavía da error 2016.04.15 13:17:24 Core 1 2016.03.29 09:00:00 falló el cierre de la posición #64 comprar 0,81 EURUSD por la posición #0 [Solicitud no válida]
¿Qué campos hay que rellenar y cuáles no? Supongo que no importa si la posición abierta es corta o larga.
//+------------------------------------------------------------------+//| Закрытие позиции по типу |//+------------------------------------------------------------------+void PositionClose(double lot, int P_type,long id)
{
Print("Вход в функцию Закрытие позиции по типу !");
ZeroMemory(mrequest); ZeroMemory(mresult); // обнуляем значения mrequest, mresult//--- Получить текущее значение котировки в структуру типа MqlTickif(!SymbolInfoTick(_Symbol,latest_price))
{
Alert("Ошибка получения последних котировок - ошибка:",GetLastError(),"!!");
return;
}
//--- формируем торговый запрос
mrequest.action = TRADE_ACTION_CLOSE_BY; // закрыть позицию встречной
mrequest.order = id;
// mrequest.action = TRADE_ACTION_DEAL; // немедленное исполнение// mrequest.price = NormalizeDouble(latest_price.bid,_Digits); // последняя цена ask// mrequest.sl = 0; // Stop Loss// mrequest.tp = 0; // Take Profit
mrequest.symbol = _Symbol; // символ
mrequest.volume = lot; // количество лотов для торговли// mrequest.magic = MAGIC; // Magic Number// if (P_type == 0) mrequest.type = ORDER_TYPE_SELL; // проверяем тип позиции// if (P_type == 1) mrequest.type = ORDER_TYPE_BUY;
mrequest.type = ORDER_TYPE_CLOSE_BY;
mrequest.type_filling = ORDER_FILLING_FOK; // тип исполнения ордера - все или ничего
mrequest.deviation=10; // проскальзывание от текущей ценыif( OrderSend(mrequest,mresult)>0) // если значение отосланного ордера не ноль, то
{ if(mresult.retcode==10009 || mresult.retcode==10008)
Print(" позиция закрыта !");
} else {
Print(ResultRetcodeDescription(mresult.retcode));
return;
}
}
Estoy probando un Asesor Experto multidivisa y me gustaría ver en el visualizador todas las ventanas de todos los pares de divisas que se están negociando.
En la ayuda del visualizador se habla de un comando "Chart" en la sección "View" del menú principal del visualizador, que parece que se utiliza para abrir nuevos gráficos. Pero por alguna razón no tengo el comando "Chart" en absoluto y, en consecuencia, no puedo abrir gráficos de pares adicionales. ¿Cuál es el problema aquí?
Ya he intentado todo, todavía da error 2016.04.15 13:17:24 Core 1 2016.03.29 09:00:00 falló el cierre de la posición #64 comprar 0,81 EURUSD por la posición #0 [Solicitud no válida]
¿Qué campos hay que rellenar y cuáles no? Según tengo entendido, no importa si la posición es larga o corta.
Utilizar un código mínimo - utilizar la biblioteca estándar:
ES 009:12:21.189 Trade 2016.04.1400:00:30 instant sell 0.01 EURUSD at 1.12728 (1.12728 / 1.12736 / 1.12728)
IL 009:12:21.189 Trades 2016.04.1400:00:30 deal #2 sell 0.01 EURUSD at 1.12728 done (based on order #2)
OP 009:12:21.189 Trade 2016.04.1400:00:30 deal performed [#2 sell 0.01 EURUSD at 1.12728]
NF 009:12:21.189 Trade 2016.04.1400:00:30 order performed sell 0.01 at 1.12728 [#2 sell 0.01 EURUSD at 1.12728]
GJ 009:12:21.192 TestEA (EURUSD,H1) 2016.04.1400:00:30 CTrade::OrderSend: instant sell 0.01 EURUSD at 1.12728 [done at 1.12728]
KH 009:12:21.192 Trade 2016.04.1400:00:31 instant buy 0.02 EURUSD at 1.12736 (1.12728 / 1.12736 / 1.12728)
OD 009:12:21.192 Trades 2016.04.1400:00:31 deal #3 buy 0.02 EURUSD at 1.12736 done (based on order #3)
GI 009:12:21.193 Trade 2016.04.1400:00:31 deal performed [#3 buy 0.02 EURUSD at 1.12736]
LM 009:12:21.193 Trade 2016.04.1400:00:31 order performed buy 0.02 at 1.12736 [#3 buy 0.02 EURUSD at 1.12736]
NS 009:12:21.193 TestEA (EURUSD,H1) 2016.04.1400:00:31 CTrade::OrderSend: instant buy 0.02 EURUSD at 1.12736 [done at 1.12736]
OP 009:12:21.193 TestEA (EURUSD,H1) 2016.04.1400:00:32 Вход в функцию Закрытие позиции по типу !
GI 009:12:21.193 Trade 2016.04.1400:00:32 close position #2 sell 0.01 EURUSD by position #3 buy 0.02 EURUSD (1.12728 / 1.12736 / 1.12728)
OM 009:12:21.193 Trades 2016.04.1400:00:32 deal #4 buy 0.01 EURUSD at 1.12736 done (based on order #4)
RK 009:12:21.193 Trades 2016.04.1400:00:32 deal #5 sell 0.01 EURUSD at 1.12728 done (based on order #4)
EF 009:12:21.193 TestEA (EURUSD,H1) 2016.04.1400:00:32 CTrade::OrderSend: unknown action 10 [done]
EI 009:12:21.423 Trade 2016.04.1423:59:59 position closed due end of test at 1.12663 [#3 buy 0.01 EURUSD 1.12736]
JG 009:12:21.423 Trades 2016.04.1423:59:59 deal #6 sell 0.01 EURUSD at 1.12663 done (based on order #5)
HN 009:12:21.423 Trade 2016.04.1423:59:59 deal performed [#6 sell 0.01 EURUSD at 1.12663]
IS 009:12:21.423 Trade 2016.04.1423:59:59 order performed sell 0.01 at 1.12663 [#5 sell 0.01 EURUSD at 1.12663]
Aquí están las maravillas de la prueba de un programa EA en MT5 (ver imagen-archivo)... ¿Puede haber eqividad positiva con un saldo negativo? y cuando el saldo es negativo? Antes de pasarme a Trading Nation cambié mucho de opinión y nunca llegué a hacerlo... Creo que es hora de dormir un poco)
Si alguien está interesado en el código abierto y en el set, que me avise. - Sin duda, lo publicaré. He comenzado a dominar MT5 con la cobertura y ahora, - milagros, sin embargo)
No hay milagros. Hay posiciones abiertas con un gran superávit, y hay una posición cerrada con una pérdida mayor que el tamaño del balance. No hay ningún inconveniente porque hay fondos suficientes para mantener las posiciones abiertas.
Por favor, pueden decirme cuál es mi error.
for(int i=0;i<N_Sell;i++) printf("OpenSellTime[%d] = %G",i,TimeToString(OpenSellTime[i],TIME_DATE|TIME_MINUTES)," PriceOpenSell[%d] = %G",i,PriceOpenSell[i]);
La fecha de la matriz OpenSellTime no se imprime y no la segunda parte de la expresión - PriceOpenSell.
Y, no puedo encontrar sobre los comandosprintf como%G y%d.
Buenas tardes a todos)
Esta es una pregunta para un tonto en programación...
Estoy intentando compilar un EA para una nueva compilación. El compilador me da muchos errores diferentes...
Aquí está uno de ellos
if(oppositedelete){delete( OP_SELLSTOP);delete( OP_SELLLIMIT);}
Hay 2 errores marcados en rojo en este fragmento de código:'(' - puntero de objeto esperado
Habiendo leído un poco sobre el tema del error, entendí que el nombre está reservado y debo reemplazarlo...
Así que la pregunta es con qué sustituirlo.
Buenas tardes a todos)
Esta es una pregunta para un tonto en programación...
Estoy intentando compilar un EA para una nueva compilación y el compilador me da muchos errores diferentes...
Aquí está uno de ellos
if(oppositedelete){delete( OP_SELLSTOP);delete( OP_SELLLIMIT);}
Hay 2 errores marcados en rojo en este fragmento de código:'(' - puntero de objeto esperado
Habiendo leído un poco sobre el tema del error, entendí que el nombre está reservado y debo reemplazarlo...
Así que la pregunta es con qué sustituirlo.
Hay esta línea en el código
Print (";OpenSellTime - ",TimeToString(OpenSellTime[N_Sell],TIME_DATE|TIME_MINUTES), ";PriceOpenSell", PriceOpenSell[N_Sell]);
¿Por qué recibo este texto en la salida?
OpenSellTime - 2015.12.01 11:15
donde ";" y la segunda parte es"PriceOpenSell"?
Hay esta línea en el código
Print (";OpenSellTime - ",TimeToString(OpenSellTime[N_Sell],TIME_DATE|TIME_MINUTES), ";PriceOpenSell", PriceOpenSell[N_Sell]);
¿Por qué recibo este texto en la salida?
OpenSellTime - 2015.12.01 11:15
¿dónde está el ";" y la segunda parte"PriceOpenSell"?
eliminado ";" - trabajado.
La pregunta sobre printf sigue siendo...
¿Cómo puedo enviar correctamente una solicitud de cierre de una posición de contador?
Si cierro como antes, al contrario, se laca ))
Ya he intentado todo, todavía da error 2016.04.15 13:17:24 Core 1 2016.03.29 09:00:00 falló el cierre de la posición #64 comprar 0,81 EURUSD por la posición #0 [Solicitud no válida]
¿Qué campos hay que rellenar y cuáles no? Supongo que no importa si la posición abierta es corta o larga.
Hola, Pregunta sobre el probador.
Estoy probando un Asesor Experto multidivisa y me gustaría ver en el visualizador todas las ventanas de todos los pares de divisas que se están negociando.
En la ayuda del visualizador se habla de un comando "Chart" en la sección "View" del menú principal del visualizador, que parece que se utiliza para abrir nuevos gráficos. Pero por alguna razón no tengo el comando "Chart" en absoluto y, en consecuencia, no puedo abrir gráficos de pares adicionales. ¿Cuál es el problema aquí?
¿Cómo puedo enviar correctamente una solicitud de cierre de una posición de contador?
Si cierro como antes, al contrario, se laca ))
Ya he intentado todo, todavía da error 2016.04.15 13:17:24 Core 1 2016.03.29 09:00:00 falló el cierre de la posición #64 comprar 0,81 EURUSD por la posición #0 [Solicitud no válida]
¿Qué campos hay que rellenar y cuáles no? Según tengo entendido, no importa si la posición es larga o corta.
Utilizar un código mínimo - utilizar la biblioteca estándar:
Registro de agentes: