Execute the scripts
CREATE TABLE `mt4_trade_symbols` ( `Ticket` int(11) NOT NULL, `Bid` float NOT NULL, `Ask` float NOT NULL, `Symbol` varchar(12) DEFAULT NULL, `Digits` int(11) NOT NULL DEFAULT '0', `Count` int(11) NOT NULL DEFAULT '0', `Visible` int(11) NOT NULL DEFAULT '0', `Type` int(11) NOT NULL DEFAULT '0', `Point` float NOT NULL DEFAULT '0', `Spread` int(11) NOT NULL DEFAULT '0', `SpreadBalance` int(11) NOT NULL DEFAULT '0', `Direction` int(11) NOT NULL DEFAULT '0', `UpdateFlag` int(11) NOT NULL DEFAULT '0', `LastTime` datetime NOT NULL DEFAULT '1900-01-01 00:00:00', `High` float NOT NULL DEFAULT '0', `Low` float NOT NULL DEFAULT '0', `Commission` float NOT NULL DEFAULT '0', `CommissionType` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`Ticket`), CONSTRAINT `fk__mt4_trade_symbols__mt4_trades` FOREIGN KEY (`Ticket`) REFERENCES `mt4_trades` (`TICKET`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `mt4_risk_records` ( `TICKET` INT NOT NULL, `SCALPING` TEXT NULL, `BALANCE` DOUBLE NOT NULL, `GROUP` CHAR(16) NOT NULL, `LOGIN` INT(11) NOT NULL, PRIMARY KEY (`TICKET`), CONSTRAINT `fk_Ticket` FOREIGN KEY (`TICKET`) REFERENCES `mt4_trades` (`TICKET`), CONSTRAINT `fk_Login` FOREIGN KEY (`LOGIN`) REFERENCES `mt4_trades` (`LOGIN`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `mt4_price_histories` ( `Date` datetime NOT NULL, `Symbol` varchar(12) DEFAULT NULL, `Open` float NOT NULL, `High` float NOT NULL, `Low` float NOT NULL, `Close` float NOT NULL, PRIMARY KEY (`Date`, `Symbol`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; create table mt4_user_mappings ( LOGIN int not null primary key, SITEID smallint(6) not null, constraint fk_user_mappings_login foreign key (LOGIN) references mt4_users (LOGIN) ) ; ALTER TABLE mt4_trades ADD INDEX `INDEX_LOGIN_OPENTIME_CMD` (`LOGIN`,`OPEN_TIME`,`CMD`); ALTER TABLE mt4_trades ADD INDEX `INDEX_LOGIN_CLOSETIME_CMD` (`LOGIN`,`CLOSE_TIME`,`CMD`);
Update User Mappings:
CREATE OR REPLACE FUNCTION func_Update_MT4_User_Mappings() RETURNS void AS $func$ BEGIN INSERT INTO report.mt4_user_mappings ("LOGIN", "SITEID") SELECT ta."Login", ps."ProxyPort" FROM "TradingAccounts" ta JOIN "UserProfile" up ON ta."UserId" = up."UserId" JOIN "BusinessUnits" bu ON up."BusinessUnitId" = bu."Id" JOIN "PortalSettings" ps ON bu."PortalId" = ps."PortalId" WHERE ta."TradingPlatformType" = 2 AND ta."Login" NOTNULL AND NOT EXISTS(SELECT "LOGIN" FROM report.mt4_user_mappings WHERE "LOGIN" = ta."Login"); END; $func$ LANGUAGE plpgsql; --SELECT * FROM report.mt4_user_mappings;Back to top