Hola a todos. He estado tratando de resolver esto por un tiempo pero no he podido. Algo de ayuda con esto estaría bien. El código siguiente es el que implementa mis transacciones largas, pero sigo recibiendo el error OrderSend 4051 suma de lotes no válida para la función OrderSend. He probado diferentes métodos pero nada parece funcionar. Al usar este código dentro de las dimensiones de mi lote, estoy tratando de obtener muchas dimensiones que solo van a arriesgar mi porcentaje por operación, pero utilizando una pérdida de pérdida variable como referencia. El stoploss varía de comercio a comercio ya que es el mínimo más bajo en 50 velas atrás. Si conoce una forma más simple o mejor que también sería valorada.
Editar: estoy buscando incorporar la administración de riesgodinero en mis transacciones usando este método.
Código de variables:
Código insertado extern int Risk_Percent = 3;/Porcentaje de la cuenta a riesgo por operación. Dual LowestShift = iLowest (Símbolo (), PERIOD_H1, MODE_LOW, 50, 1);/Encuentra la vela usando el más bajo no en 50 velas atrás. Double Lowest = iLow (Symbol (), PERIOD_H1, LowestShift);/Encuentra el mínimo de la vela utilizada por LowestShift double Buy_Take_Profit = ((Bid-Lowest) Ask);/Para hacer el intercambio 1: 1
Código de ejecución:
Código insertado if (Condition1 gt; Condition2) if (Condition3 lt; Condition4) if (Condition5 lt; Bid) if (getOpenOrders () == 0) double Buy_Lots = NormalizeDouble (((AccountBalance () * (Risk_Percent100))(((Bid-Lowest) * 100000) * (MarketInfo (Symbol (), MODE_TICKVALUE)))), 2); Buy_Order = OrderSend (Symbol (), OP_BUY, Buy_Lots, Ask, 30, Lowest, Buy_Take_Profit, NULL, 2000,0, clrGreen);