//+------------------------------------------------------------------+//| Enum Lor or Risk |//+------------------------------------------------------------------+enum ENUM_LOT_OR_RISK
{
lots=0, // Constant lot
risk=1, // Risk in percent
};
//+------------------------------------------------------------------+
inputdouble MaximumRisk = 0.01; // Maximum Risk in percentageinputdouble DecreaseFactor = 3; // Descrease factorinput ENUM_LOT_OR_RISK InpLotOrRisk = lots; // Money management: Lot OR Risk
//+------------------------------------------------------------------+//| Calculate optimal lot size |//+------------------------------------------------------------------+double TradeSizeOptimized(void)
{
double price=0.0;
double margin=0.0;
//--- select lot sizeif(!SymbolInfoDouble(_Symbol,SYMBOL_ASK,price))
return(0.0);
if(!OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,1.0,price,margin))
return(0.0);
if(margin<=0.0)
return(0.0);
double lot=0;
//---switch(InpLotOrRisk)
{
case lots:
lot=MaximumRisk;
break;
case risk:
lot=NormalizeDouble(AccountInfoDouble(ACCOUNT_MARGIN_FREE)*MaximumRisk/margin,2);
default:
break;
}
//--- calculate number of losses orders without a breakif(DecreaseFactor>0)
{
//--- select history for accessHistorySelect(0,TimeCurrent());
//---int orders=HistoryDealsTotal(); // total history dealsint losses=0; // number of losses orders without a breakfor(int i=orders-1; i>=0; i--)
{
ulong ticket=HistoryDealGetTicket(i);
if(ticket==0)
{
Print("HistoryDealGetTicket failed, no trade history");
break;
}
//--- check symbolif(HistoryDealGetString(ticket,DEAL_SYMBOL)!=_Symbol)
continue;
//--- check Expert Magic numberif(HistoryDealGetInteger(ticket,DEAL_MAGIC)!=Magic_Number)
continue;
//--- check profitdouble profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
if(profit>0.0)
break;
if(profit<0.0)
losses++;
}
//---if(losses>1)
lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
}
//--- normalize and check limitsdouble stepvol=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_STEP);
lot=stepvol*NormalizeDouble(lot/stepvol,0);
double minvol=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
if(lot<minvol)
lot=minvol;
double maxvol=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX);
if(lot>maxvol)
lot=maxvol;
//--- return trading volumereturn(lot);
}
//+------------------------------------------------------------------+
donde lote - insertarTradeSizeOptimized()
Tengo que corregirlo en Expert Advisor - de lo contrario no es correcto allí
1 posibilidad : la línea 1 abrirá la línea 4 a una distancia determinada, la línea 2 abrirá la línea 3 a una distancia determinada.
2ª posibilidad: la línea 7 abrirá una línea 10 a una distancia determinada , que se mueve detrás del precio y cuando éste la toca, se dispara una orden. la línea 8 abrirá una línea 9 a una distancia determinada, - la misma acción que para 7 y 10.
#versión de la propiedad "1.01"
Hay otra opción - lalínea 1abrirá 4 y 9.la línea 2 abrirá 3 y 10.
Resultó ser otra posibilidad - lalínea 1abrirá 4 y 9. la línea 2 abrirá 3 y 10.
la línea 7 abrirá 10 y 3 . la línea 8 abrirá 9 y 4
para abrir las posiciones en sentido inverso y no tocar elcomando de configuraciónObj::
hay una inversión -
ahora he comenzado la prueba - no haré nada hasta el final del mes, me pregunto qué pasará. - lote, lo he puesto en riesgo - de alguna manera calculará
probablemente no es suficiente - debería haber sido más. ahora tenemos que esperar de nuevo, puntos de entrada y establecer el TargetProfit = 35000.00;// Target Profit
//+------------------------------------------------------------------+inputstring t0="------ Parameters --------"; // Настройка Экспертаinputstring Template = "ADX"; // Имя шаблона(without '.tpl')inputdatetime HoursFrom = D'1970.01.01'; // Время старта Экспертаinputdatetime HoursTo = D'2030.12.31'; // Время закрытия всех позицийinputdouble TargetProfit = 900000.00; // Целевая прибыльinputuint maxLimits = 1; // Кол-во Позиции Открыть в одну сторонуinputdouble MaximumRisk = 0.01; // Maximum Risk in percentageinputdouble DecreaseFactor = 3; // Descrease factorinput ENUM_LOT_OR_RISK InpLotOrRisk = lots; // Money management: Lot OR Risk
abre posiciones desde el indicador de líneas pivote timezone.mq5 desde la línea R2 - abajo S2 - arriba
el indicador no se puede borrar - sus líneas se actualizan al día siguiente
probablemente no es suficiente - debería haber sido más. ahora tenemos que esperar de nuevo, puntos de entrada y establecer el TargetProfit = 35000.00; // Target Profit
abre posiciones desde el indicador de líneas pivote timezone.mq5 desde la línea R2 - abajo S2 - arriba
el indicador no se puede borrar - sus líneas se actualizan al día siguiente
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.
de prescribir correctamente el riesgo
donde lote - insertarTradeSizeOptimized()
Tengo que corregirlo en Expert Advisor - de lo contrario no es correcto allí
renombrado - experto completado. todos los errores corregidos. Título <Movimiento del caballo ><Movimiento del caballo
Añadido al anterior Experto, dos métodos para la línea Horizontal.
1 posibilidad : la línea 1 abrirá la línea 4 a una distancia determinada, la línea 2 abrirá la línea 3 a una distancia determinada.
2ª posibilidad: la línea 7 abrirá una línea 10 a una distancia determinada , que se mueve detrás del precio y cuando éste la toca, se dispara una orden. la línea 8 abrirá una línea 9 a una distancia determinada, - la misma acción que para 7 y 10.
#versión de la propiedad "1.01"
Hay otra opción - lalínea 1abrirá 4 y 9.la línea 2 abrirá 3 y 10.
lalínea 7abrirá 10 y 3 .la línea 8 abrirá 9 y4
para abrir las posiciones en el reverso y no toque elcomando de configuraciónObj::
hay una inversión -
#versión de la propiedad "1.01"
Resultó ser otra posibilidad - lalínea 1abrirá 4 y 9. la línea 2 abrirá 3 y 10.
la línea 7 abrirá 10 y 3 . la línea 8 abrirá 9 y 4
para abrir las posiciones en sentido inverso y no tocar elcomando de configuraciónObj::
hay una inversión -
ahora he comenzado la prueba - no haré nada hasta el final del mes, me pregunto qué pasará. - lote, lo he puesto en riesgo - de alguna manera calculará
¡No está mal! Lentamente - pero está mejorando
¡Sí! Va directamente a la cima.
renombrado - experto completado. todos los errores corregidos. Título <Movimiento del caballo ><Movimiento del caballo
Interesante asesor experto.
setinput double TargetProfit = 30000.00;// Beneficio objetivo
probablemente no es suficiente - debería haber sido más. ahora tenemos que esperar de nuevo, puntos de entrada y establecer el TargetProfit = 35000.00;// Target Profit
abre posiciones desde el indicador de líneas pivote timezone.mq5 desde la línea R2 - abajo S2 - arriba
el indicador no se puede borrar - sus líneas se actualizan al día siguiente
el indicador está abajo - buscaré el enlace al indicador en el sitio webhttps://www.mql5.com/ru/code/1114
setinput double TargetProfit = 30000.00; // Beneficio objetivo
probablemente no es suficiente - debería haber sido más. ahora tenemos que esperar de nuevo, puntos de entrada y establecer el TargetProfit = 35000.00; // Target Profit
abre posiciones desde el indicador de líneas pivote timezone.mq5 desde la línea R2 - abajo S2 - arriba
el indicador no se puede borrar - sus líneas se actualizan al día siguiente
el indicador de abajo - ahora buscando en el sitio web el enlace al indicadorhttps://www.mql5.com/ru/code/1114
esta es una de las opciones. pero hay un millón de opciones
Se me olvidó decir lo del lote - ajustado a la entrada de riesgo ENUM_LOT_OR_RISK InpLotOrRisk = lotes;// Gestión del dinero: Lote O Riesgo
(información experta en .log) qué avisos se emiten https://www.mql5.com/ru/docs/event_handlers/ondeinit#versión de la propiedad "1.02"
encontró otra forma para los botones
aquí seleccionamos
en la apertura de la posición - el stop loss se fija inmediatamente ( línea horizontal amarilla)
ajustado aquí -input double InpStopLoss = 55;// Obj: Stop Loss, en pips (1.00045-1.00055=1 pips)
desactivar set 0