enum ENUM_MONEY_MGMT { MMTAccount,//Saldo em conta MMTFixed//Saldo fixo }; class MoneyMgmt { public: ENUM_MONEY_MGMT mgmt; double MyCapital; double MyMargin; double MyMarginFrac; MoneyMgmt(void) { mgmt=MMTAccount; MyCapital=0; MyMargin=0; MyMarginFrac=2; } double Balance(void) { switch (mgmt) { case MMTAccount:return AccountInfoDouble(ACCOUNT_BALANCE);break; case MMTFixed:return(MyCapital);break; } return(0); } double Equity(AssetData &data[]) { switch (mgmt) { case MMTAccount:return AccountInfoDouble(ACCOUNT_EQUITY);break; case MMTFixed:return(MyCapital+FloatProfit(data));break; } return(0); } double MarginFree(AssetData &data[]) { switch (mgmt) { case MMTAccount:return (MyMarginFrac*AccountInfoDouble(ACCOUNT_BALANCE)-Invested(data));break; case MMTFixed:return(MyMargin-Invested(data));break; } return(0); } double FloatProfit(AssetData &data[]) { switch (mgmt) { case MMTAccount:return AccountInfoDouble(ACCOUNT_PROFIT);break; case MMTFixed: { double profit=0; for (int i=0;i