Siempre una posición (swing) - siempre una única posición en el mercado = 200 órdenes
Cualquier posición - cualquier posición = 185 órdenes
Debe haber más órdenes en la condición "Cualquier posición" que en la condición "Siempre una sola posición en el mercado".
En el caso de Cualquier posición - cualquier posición, se activa la restricción del volumen total máximo permitido en la cuenta - porque abre todas las posiciones indiscriminadamente. Y en algún momento llega un momento de desbordamiento del volumen total permitido en la cuenta, y se dejan de abrir posiciones.
Y en el caso de Siempre una posición (swing) - "sólo una posición" - la restricción puede funcionar sólo si el volumen establecido inicialmente de la posición abierta es mayor que el máximo permitido. Y el EA, como promete el autor, simplemente ajustará este lote al posible.
Tal vez sea más fácil para usted mirar en modo visual, en lugar de tratar de hacer conclusiones prematuras basadas en el número de órdenes en los informes? ;)
intOnInit()
{
//--- Configuración de los parámetros de negociaciónif(!SetTradeParameters())
returnINIT_FAILED;
La propia función. El modo que podría causar lo que insinúas está desactivado.
//+------------------------------------------------------------------+//| Configuración de los parámetros de negociación|//+------------------------------------------------------------------+bool SetTradeParameters()
{
//--- Establecer el símboloResetLastError();
if(!symbol_info.Name(Symbol()))
{
Print(__FUNCTION__,": Error setting ",Symbol()," symbol: ",GetLastError());
returnfalse;
}
//--- Obtener preciosResetLastError();
if(!symbol_info.RefreshRates())
{
Print(__FUNCTION__,": Error obtaining ",symbol_info.Name()," data: ",GetLastError());
returnfalse;
}
if(account_info.MarginMode()==ACCOUNT_MARGIN_MODE_RETAIL_NETTING)
{
Print(__FUNCTION__,": ",account_info.MarginModeDescription(),"-account. EA should work on a hedge account.");
returnfalse;
}
//--- Ajuste automático del tipo de llenado
trade.SetTypeFilling(GetTypeFilling());
//--- Instalando Magik
trade.SetExpertMagicNumber(InpMagic);
//--- Ajuste de deslizamiento
trade.SetDeviationInPoints(InpDeviation);
//--- Ajuste del lote con corrección del valor introducido
lot=CorrectLots(InpVolume);
//--- El modo de envío asíncrono de órdenes está desactivadotrade.SetAsyncMode(false);//---returntrue;
}
//+------------------------------------------------------------------+
kwlin_089: Este modo no funciona en este EA: InpModeOpened==OPENED_MODE_SWING
¿Por qué?
Miro el código y veo
//+------------------------------------------------------------------+//| La función de negociación|//+------------------------------------------------------------------+int Trade(const ENUM_PATTERN_TYPE &pattern_type,constint index)
{
ENUM_POSITION_TYPE type=patt.PositionPattern(pattern_type);
int number=0,last_total=list_trade_patt.Total();
//--- Siempre una posición en el mercado Comprar o Venderif(InpModeOpened==OPENED_MODE_SWING)
{
if(type==POSITION_TYPE_BUY && NumberSell()>0) CloseSell();if(type==POSITION_TYPE_SELL && NumberBuy()>0) CloseBuy();
}
//--- Sólo una posición de compraif(InpModeOpened==OPENED_MODE_BUY_ONE)
{
if(NumberBuy()>0) returnWRONG_VALUE;
if(type==POSITION_TYPE_SELL) return last_total;
}
//--- Cualquier cantidad Comprarif(InpModeOpened==OPENED_MODE_BUY_MANY)
if(type==POSITION_TYPE_SELL) return last_total;
//--- Sólo una posición de Ventaif(InpModeOpened==OPENED_MODE_SELL_ONE)
{
if(NumberSell()>0) returnWRONG_VALUE;
if(type==POSITION_TYPE_BUY) return last_total;
}
//--- Cualquier número de Ventaif(InpModeOpened==OPENED_MODE_SELL_MANY)
if(type==POSITION_TYPE_BUY) return last_total;
//--- Se superan todas las comprobaciones o se selecciona cualquier coli чество любых позиций - открываем позициюif(to_logs)
Print(__FUNCTION__,": To open ",(type==POSITION_TYPE_BUY ? "Buy" : "Sell")," position by pattern ",patt.DescriptPattern(pattern_type));
if(OpenPosition(pattern_type)) list_trade_patt.Delete(index);//--- Devuelve el número de posiciones abiertasreturn last_total-list_trade_patt.Total();
}
//+------------------------------------------------------------------+
Si es modo swing.
si es necesario abrir una compra y hay ventas, entonces cerrar ventas
si es necesario abrir una venta y hay compras, entonces cerrar compras.
Si se superan todas las comprobaciones, abra la posición necesaria.
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Véanse las cláusulas de modo.
punto 5 = 3 oficios
item 3 = 18 tr.
p.5 + p.3 = 21 tr. p.5 + p.3 <= p.2
pero p.2 = 200 tr y no <= 21 tr.
El Asesor Experto es para cuentas de cobertura. Es imposible invertir una posición. Hay que cerrar una posición y abrir otra.
Está optimizado.
Siempre una posición (swing) - siempre una sola posición en el mercado = 200 órdenes
Cualquier posición - cualquier posición = 185 órdenes
En la condición "cualquier posición" debería haber más órdenes que en la condición "siempre una sola posición en el mercado
Optimización en curso.
Siempre una posición (swing) - siempre una única posición en el mercado = 200 órdenes
Cualquier posición - cualquier posición = 185 órdenes
Debe haber más órdenes en la condición "Cualquier posición" que en la condición "Siempre una sola posición en el mercado".
En el caso de Cualquier posición - cualquier posición, se activa la restricción del volumen total máximo permitido en la cuenta - porque abre todas las posiciones indiscriminadamente. Y en algún momento llega un momento de desbordamiento del volumen total permitido en la cuenta, y se dejan de abrir posiciones.
Y en el caso de Siempre una posición (swing) - "sólo una posición" - la restricción puede funcionar sólo si el volumen establecido inicialmente de la posición abierta es mayor que el máximo permitido. Y el EA, como promete el autor, simplemente ajustará este lote al posible.
Tal vez sea más fácil para usted mirar en modo visual, en lugar de tratar de hacer conclusiones prematuras basadas en el número de órdenes en los informes? ;)
De ahí viene el código:
La propia función. El modo que podría causar lo que insinúas está desactivado.
¿O he entendido mal tu insinuación?
De ahí viene el código:
La propia función. El modo que puede causar lo que sugieres está desactivado.
¿O he entendido mal tu sugerencia?
Esta situación se refiere al modo síncrono.
Este modo no funciona en este EA: InpModeOpened==OPENED_MODE_SWING
¿Por qué?
Miro el código y veo
- Si es modo swing.
- si es necesario abrir una compra y hay ventas, entonces cerrar ventas
- si es necesario abrir una venta y hay compras, entonces cerrar compras.
- Si se superan todas las comprobaciones, abra la posición necesaria.
¿O estoy malinterpretando algo? Explíquese.¿Por qué?
Estoy mirando el código y lo veo:
- Si es modo swing.
- si es necesario abrir una compra y hay ventas, entonces cerrar ventas.
- si es necesario abrir una venta y hay compras, entonces cerrar compras.
- Si se pasan todas las comprobaciones, abrir la posición deseada.
¿O estoy malinterpretando algo? Explíquese.Artem, según tengo entendido, estamos hablando de posiciones que "desaparecen". En mt4 estos son SL y TP. No puedo juzgar sobre mt5...
Artem, como yo lo entiendo, estamos hablando de "desaparecer" posiciones. En mt4 estos son SL y TP. No puedo juzgar sobre mt5....
Así que será lo mismo en MT5. Si hay una orden de compra de 0.1, el stop es una orden de venta de 0.1
Usted sabe mejor, pero a veces alguien prefiere comprobar.