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;
faq/support/crm/report_server_mt4/mysql.txt · Last modified: 2019/04/10 08:50 by 127.0.0.1
Back to top
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0