risk fixed % balance
// =================================================================
// MONEY MANAGEMENT LOGIC
// =================================================================
Method double RiskFixedPctBalance(double OpenPrice, double SL) //unexpected 'double'
vars:
double MoneyToRisk, // double MoneyToRisk(0),
double OneLotSLInMoney,
double TradeSize;
begin
MoneyToRisk = (InitialCapital + NetProfit) * mmRiskPercent / 100;
OneLotSLInMoney = Absvalue(OpenPrice - SL) * PointValue;
TradeSize = IntPortion(MoneyToRisk / OneLotSLInMoney * Power(10, mmDecimals)) / Power(10, mmDecimals); //Round down to mmDecimals
If TradeSize <= 0 then return mmLotsIfNoMM; //syntax error, unexpected 'identificator'
If TradeSize > mmMaxLots then return mmMaxLots;
Return TradeSize;
end;
And same BUG with Risk fixed % of account, Fixed amount
Status changed from New to Waiting for information
SQ_RiskFixedPctBalance
------------------------------
inputs:
OpenPrice( numericsimple ),
SL( numericsimple ),
RiskPercent( numericsimple ),
Decimals( numericsimple ),
LotsIfNoMM( numericsimple ),
MaxLots( numericsimple ),
InitialCapital( numericsimple );
vars:
double MoneyToRisk( 0 ),
double OneLotSLInMoney( 0 ),
double TradeSize( 0 );
MoneyToRisk = (InitialCapital + NetProfit) * RiskPercent / 100;
OneLotSLInMoney = Absvalue(OpenPrice - SL) * PointValue;
If OneLotSLInMoney > 0 then
TradeSize = IntPortion(MoneyToRisk / OneLotSLInMoney * Power(10, Decimals)) / Power(10, Decimals) //Round down to Decimals
Else
TradeSize = 0;
If TradeSize <= 0 then TradeSize = LotsIfNoMM;
If TradeSize > MaxLots then TradeSize = MaxLots;
SQ_RiskFixedPctBalance = TradeSize;