Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
Maximum Percentage of Equity Risk - librería para MetaTrader 5
- Visualizaciones:
- 1180
- Ranking:
- Publicado:
- 2015.03.09 12:59
- Actualizado:
- 2016.11.22 07:33
- ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
Este código permite establecer el porcentaje máximo del riesgo de la equidad.
El código comprueba si los lotes de compra/venta solicitados se ajustan al riesgo. Si no es así, los lotes se corrigen automáticamente de tal manera que se queden ajustados al riesgo establecido.
Código:
bool UseMaximumPercentageRisk=true; double MaximumPercentageRisk=25; #include <Trade\SymbolInfo.mqh> //+------------------------------------------------------------------+ //| GetLotSize RPTrade | //+------------------------------------------------------------------+ double GetLotSize(double lotsize) { //--- Gets pair specs CSymbolInfo symInfo; int digits_bn=symInfo.Digits(); double points_bn=symInfo.Point(); string symbol_bn=_Symbol; //--- adjust lot int tmpdecimal=1; double old_lot=lotsize; //--- if((NormalizeDouble(AccountInfoDouble(ACCOUNT_FREEMARGIN)*(MaximumPercentageRisk/100)/1000.0,tmpdecimal)<lotsize) && UseMaximumPercentageRisk) //¿se ajusta el lote al riesgo? { lotsize=NormalizeDouble(AccountInfoDouble(ACCOUNT_FREEMARGIN)*(MaximumPercentageRisk/100)/1000.0,tmpdecimal); //calcular nuevo tamaño del lote if(lotsize<SymbolInfoDouble(symbol_bn,SYMBOL_VOLUME_MIN)) //¿se ajusta el tamaño del lote al tamaño mínimo del lote del broker? { lotsize=SymbolInfoDouble(symbol_bn,SYMBOL_VOLUME_MIN); //¡No! Ajuste del tamaño del lote al tamaño mínimo del lote del broker Print(_Symbol," Lot adjusted from ",old_lot," para reducir el tamaño permitido por el servidor ",lotsize); } else { Print(_Symbol," Lot adjusted from ",old_lot," to ",lotsize," para la correspondencia a la condición del riesgo máximo. En cada operación se puede arriesgar sólo con ",MaximumPercentageRisk,"% del margen libre."); //Да! if(MathAbs(lotsize/SymbolInfoDouble(symbol_bn,SYMBOL_VOLUME_STEP)-MathRound(lotsize/SymbolInfoDouble(symbol_bn,SYMBOL_VOLUME_STEP)))>1.0E-10) //¿se ajusta el tamaño del lote al paso permitido por el broker? { lotsize=SymbolInfoDouble(symbol_bn,SYMBOL_VOLUME_STEP)*NormalizeDouble(lotsize/SymbolInfoDouble(symbol_bn,SYMBOL_VOLUME_STEP),0); //¡NO! Recalcular el tamaño del lote. Print("M-",_Symbol," Warning: Your calculated percentage at risk lot size of was not a multiple of minimal step",SymbolInfoDouble(symbol_bn,SYMBOL_VOLUME_STEP),". El tamaño del lote se ha cambiado a",lotsize); } } } return(lotsize); }
Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/code/2142
El indicador MultiBlauSMStochasticx7Signal muestra la información sobre las tendencias actuales usando los valores de siete indicadores BlauSMStochastic de diferentes marcos temporales.
BackgroundCandle_BlauSMStochastic_HTFEl indicador dibuja las velas del período de tiempo mayor como rectángulos coloreados de acuerdo con la dirección del histograma del indicador BlauSMStochastic.
El indicador dibuja las velas del período de tiempo mayor con rectángulos coloreados. Los rectángulos se rellenan de color de acuerdo con la dirección del histograma del indicador T3_TRIX.
Change Chart and TimeframeSe trata de los scripts modificados para el cambio rápido de los gráficos y períodos de tiempo en todos los gráficos mediante las teclas aceleradoras.