Размещено 4 месяца назад по предмету
Информатика
от
alekseyakoba
Прошу помогите с кодом на С++
Код который есть:
#include
#include
class ModuleBase {
public:
virtual void OnTick(double price) = 0;
virtual void CloseAll() = 0;
virtual ~ModuleBase() = default;
};
class ModuleBorders : public ModuleBase {
public:
explicit ModuleBorders(AccountInterface* account)
: account(account), positionId(-1) {}
void OnTick(double price) override {
if (price == 1.0 && positionId == -1) {
double availableBalance = account->GetAvailBalance();
if (availableBalance > 0) {
double positionSize = availableBalance / price;
positionId = account->OpenPosition(positionSize);
}
} else if (price == 10.0 && positionId != -1) {
account->ClosePosition(positionId);
positionId = -1;
}
}
void CloseAll() override {
if (positionId != -1) {
account->ClosePosition(positionId);
positionId = -1;
}
}
private:
AccountInterface* account;
int positionId;
};
class ModulesRouter {
public:
void OnTick(double price) {
for (auto module : modules) {
module->OnTick(price);
}
}
void AddModule(ModuleBase* ptr) {
modules.push_back(ptr);
}
void CloseAll() {
for (auto module : modules) {
module->CloseAll();
}
}
private:
std::vector modules;
};
Но пишет, что ошибка при исполнении, помогите кто может даю 100 баллов (если что все фото по порядку идут)
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.