āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛-āĻŸāĻžāĻ‡āĻŽ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ Q āĻāĻŦāĻ‚ KDB+ āĻ­āĻžāĻˇāĻžāĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯

āĻ•ā§‡āĻĄāĻŋāĻŦāĻŋ+ āĻŦā§‡āĻ¸, āĻ•āĻŋāĻ‰ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ­āĻžāĻˇāĻž āĻ•ā§€, āĻ¤āĻžāĻĻā§‡āĻ° āĻļāĻ•ā§āĻ¤āĻŋ āĻāĻŦāĻ‚ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻ•ā§€ āĻ¤āĻž āĻ†āĻŽāĻžāĻ° āĻ†āĻ—ā§‡āĻ° āĻ˛ā§‡āĻ–āĻžāĻ¯āĻŧ āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻĒā§āĻ°āĻŦāĻ¨ā§āĻ§ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤āĻ­āĻžāĻŦā§‡ āĻ­ā§‚āĻŽāĻŋāĻ•āĻž. āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡, āĻ†āĻŽāĻ°āĻž Q-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻŦ āĻ¯āĻž āĻ‡āĻ¨āĻ•āĻžāĻŽāĻŋāĻ‚ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻŦā§‡ āĻāĻŦāĻ‚ "āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛ āĻŸāĻžāĻ‡āĻŽ" āĻŽā§‹āĻĄā§‡ āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻāĻ•āĻ¤ā§āĻ°ā§€āĻ•āĻ°āĻŖ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻŦā§‡ (āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻĄā§‡āĻŸāĻžāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ…āĻ‚āĻļā§‡āĻ° āĻ†āĻ—ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĨāĻžāĻ•āĻŦā§‡)āĨ¤ Q-āĻāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻšāĻ˛ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ•ā§āĻŸāĻ° āĻ­āĻžāĻˇāĻž āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻ• āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¨āĻ¯āĻŧ, āĻ¤āĻžāĻĻā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻ°ā§‡, āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻœāĻŸāĻŋāĻ˛ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ Q āĻāĻŦāĻ‚ āĻāĻ° āĻ†āĻ¤ā§āĻŽā§€āĻ¯āĻŧ K, ​​J, APL āĻāĻ° āĻŽāĻ¤ā§‹ āĻ­āĻžāĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ–ā§āĻ¯āĻžāĻ¤āĨ¤ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡, āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¯āĻž āĻœāĻžāĻ­āĻžāĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ āĻ•ā§‹āĻĄā§‡āĻ° āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨ āĻ¨ā§‡āĻ¯āĻŧ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻ˛ā§‡āĻ–āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ†āĻŽāĻŋ āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ•āĻŋ.

āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛-āĻŸāĻžāĻ‡āĻŽ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ Q āĻāĻŦāĻ‚ KDB+ āĻ­āĻžāĻˇāĻžāĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯

āĻ­ā§‚āĻŽāĻŋāĻ•āĻž

KDB+ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ•āĻ˛āĻžāĻŽāĻžāĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¯āĻž āĻ–ā§āĻŦ āĻŦā§‡āĻļāĻŋ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻĄā§‡āĻŸāĻžāĻ° āĻ‰āĻĒāĻ° āĻĻā§ƒāĻˇā§āĻŸāĻŋ āĻ¨āĻŋāĻŦāĻĻā§āĻ§ āĻ•āĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ (āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽāĻ¯āĻŧ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡) āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ†āĻ°ā§āĻĨāĻŋāĻ• āĻĒā§āĻ°āĻ¤āĻŋāĻˇā§āĻ āĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ - āĻŦā§āĻ¯āĻžāĻ‚āĻ•, āĻŦāĻŋāĻ¨āĻŋāĻ¯āĻŧā§‹āĻ— āĻ¤āĻšāĻŦāĻŋāĻ˛, āĻŦā§€āĻŽāĻž āĻ•ā§‹āĻŽā§āĻĒāĻžāĻ¨āĻŋāĨ¤ Q āĻ­āĻžāĻˇāĻž āĻšāĻ˛ KDB+ āĻāĻ° āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ­āĻžāĻˇāĻž āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ‡ āĻĄā§‡āĻŸāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ Q āĻŽāĻ¤āĻžāĻĻāĻ°ā§āĻļ āĻšāĻ˛ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻ•ā§āĻˇāĻ¤āĻž, āĻ¯āĻ–āĻ¨ āĻ¸ā§āĻŦāĻšā§āĻ›āĻ¤āĻž āĻŦāĻ˛āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻāĻ‡ āĻ¸āĻ¤ā§āĻ¯ā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨ā§āĻ¯āĻžāĻ¯ā§āĻ¯ āĻ¯ā§‡ āĻ­ā§‡āĻ•ā§āĻŸāĻ° āĻ­āĻžāĻˇāĻžāĻŸāĻŋ āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻŦā§‹āĻāĻž āĻ•āĻ āĻŋāĻ¨ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ°ā§‡āĻ•āĻ°ā§āĻĄāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤āĻ¤āĻž āĻāĻŦāĻ‚ āĻ¸āĻŽā§ƒāĻĻā§āĻ§āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻ…āĻ¨ā§‡āĻ• āĻŦāĻĄāĻŧ āĻ…āĻ‚āĻļ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ, āĻ¯āĻž āĻļā§‡āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦā§‹āĻāĻž āĻ¸āĻšāĻœ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡āĨ¤

āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻ†āĻŽāĻ°āĻž Q-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻžāĻ™ā§āĻ— āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ Q āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ kx āĻ•ā§‹āĻŽā§āĻĒāĻžāĻ¨āĻŋāĻ° āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸā§‡ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡ 32-āĻŦāĻŋāĻŸ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ - www.kx.com. āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻšāĻ˛ā§‡, āĻ†āĻĒāĻ¨āĻŋ Q, āĻŦāĻ‡āĻ¯āĻŧā§‡āĻ° āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻŦā§‡āĻ¨ Q āĻ¨āĻļā§āĻŦāĻ°āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŦāĻ‚ āĻāĻ‡ āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĨ¤

āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ—āĻ āĻ¨

āĻāĻ•āĻŸāĻŋ āĻ‰ā§ŽāĻ¸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻĒā§āĻ°āĻ¤āĻŋ 25 āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻĒāĻžāĻ āĻžāĻ¯āĻŧāĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ KDB+ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĢāĻžāĻ‡āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¸ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ§āĻ°ā§‡ āĻ¨ā§‡āĻŦ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ°āĻŖā§€ (āĻŦāĻžāĻŖāĻŋāĻœā§āĻ¯), āĻ¯āĻžāĻ° āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻ˛āĻžāĻŽ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡: āĻ¸āĻŽāĻ¯āĻŧ (āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻ¸āĻŽāĻ¯āĻŧ), āĻ¸āĻŋāĻŽ (āĻ¸ā§āĻŸāĻ• āĻāĻ•ā§āĻ¸āĻšā§‡āĻžā§āĻœā§‡ āĻ•ā§‹āĻŽā§āĻĒāĻžāĻ¨āĻŋāĻ° āĻĒāĻĻāĻŦā§€ - āĻ†āĻ‡āĻŦāĻŋāĻāĻŽ, AAPL,â€Ļ), āĻŽā§‚āĻ˛ā§āĻ¯ (āĻ¯ā§‡ āĻĻāĻžāĻŽā§‡ āĻļā§‡āĻ¯āĻŧāĻžāĻ° āĻ•ā§‡āĻ¨āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛), āĻ†āĻ•āĻžāĻ° (āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻ†āĻ•āĻžāĻ°)āĨ¤ 25 āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻšāĻžāĻ°ā§‡, āĻ–ā§āĻŦ āĻ›ā§‹āĻŸ āĻ¨āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ–ā§āĻŦ āĻĻā§€āĻ°ā§āĻ˜ āĻ¨āĻ¯āĻŧā§ˇ āĻāĻ° āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻ…āĻ°ā§āĻĨ āĻšāĻ˛ āĻĄā§‡āĻŸāĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻŦāĻžāĻĢāĻžāĻ° āĻ•āĻ°āĻž āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ¤ā§‡ āĻ†āĻ¸ā§‡ā§ˇ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ˛ā§‹āĻĄā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻŦāĻžāĻĢāĻžāĻ°āĻŋāĻ‚ āĻ¸āĻš āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ° āĻĻāĻŋāĻ•ā§‡ āĻŦāĻžāĻĢāĻžāĻ°āĻŋāĻ‚ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻž āĻ¸āĻšāĻœ āĻšāĻŦā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻ°āĻ˛āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ā§‡ āĻĢā§‹āĻ•āĻžāĻ¸ āĻ•āĻ°āĻŦāĨ¤

āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸āĻŋāĻŽ āĻ•āĻ˛āĻžāĻŽ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ†āĻ—āĻ¤ āĻĒā§āĻ°āĻ¤ā§€āĻ•ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻ—āĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ - āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš āĻŽā§‚āĻ˛ā§āĻ¯, āĻ—āĻĄāĻŧ āĻŽā§‚āĻ˛ā§āĻ¯, āĻ¯ā§‹āĻ—āĻĢāĻ˛ā§‡āĻ° āĻ†āĻ•āĻžāĻ° āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻ¤āĻĨā§āĻ¯āĨ¤ āĻ¸āĻ°āĻ˛āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻ§āĻ°ā§‡ āĻ¨ā§‡āĻŦ āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨āĻ­āĻžāĻŦā§‡ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯ā§‡āĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻžāĻ¨ āĻĒā§‡āĻ¤ā§‡, āĻĻā§āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻœāĻžāĻ¨āĻž āĻ¯āĻĨā§‡āĻˇā§āĻŸ - āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻāĻŦāĻ‚ āĻ†āĻ—āĻ¤ āĻŽāĻžāĻ¨āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ•, āĻ—āĻĄāĻŧ, āĻ¯ā§‹āĻ—āĻĢāĻ˛ āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ†āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŽāĻ§ā§āĻ¯ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¨ā§‡āĻ‡.

āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻžāĻ“ āĻ§āĻ°ā§‡ āĻ¨ā§‡āĻŦ āĻ¯ā§‡ āĻ‡āĻ¨āĻ•āĻžāĻŽāĻŋāĻ‚ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻļā§‡āĻˇ āĻŽā§āĻšā§‚āĻ°ā§āĻ¤ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸ā§āĻ¯ā§‹āĻ— āĻĻā§‡āĻŦā§‡āĨ¤ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡, āĻ•āĻŋāĻ›ā§ āĻ†āĻĒāĻĄā§‡āĻŸ āĻĻā§‡āĻ°ā§€ āĻšāĻ˛ā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻāĻŦāĻ‚ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ“āĻ¯āĻŧāĻž āĻ¯āĻĨā§‡āĻˇā§āĻŸāĨ¤ āĻ¸āĻ°āĻ˛āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻŦ āĻ¨āĻžāĨ¤

āĻāĻ•āĻ¤ā§āĻ°ā§€āĻ•āĻ°āĻŖ āĻĢāĻžāĻ‚āĻļāĻ¨

āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŽāĻˇā§āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¨ā§€āĻšā§‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ. āĻ†āĻŽāĻŋ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ¤ā§‡ āĻ˛ā§‹āĻĄ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¯āĻ¤āĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ:

  • āĻ‰āĻšā§āĻš – āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš āĻŽā§‚āĻ˛ā§āĻ¯ – āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš āĻŽā§‚āĻ˛ā§āĻ¯āĨ¤
  • āĻ•āĻŽ - āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻŽā§‚āĻ˛ā§āĻ¯ - āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻŽā§‚āĻ˛ā§āĻ¯ā§ˇ
  • āĻĒā§āĻ°āĻĨāĻŽ āĻŽā§‚āĻ˛ā§āĻ¯ - āĻĒā§āĻ°āĻĨāĻŽ āĻŽā§‚āĻ˛ā§āĻ¯ - āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻŽā§‚āĻ˛ā§āĻ¯ā§ˇ
  • āĻļā§‡āĻˇ āĻŽā§‚āĻ˛ā§āĻ¯ - āĻļā§‡āĻˇ āĻŽā§‚āĻ˛ā§āĻ¯ - āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻļā§‡āĻˇ āĻŽā§‚āĻ˛ā§āĻ¯āĨ¤
  • āĻĒā§āĻ°āĻĨāĻŽ āĻ†āĻ•āĻžāĻ° - āĻĒā§āĻ°āĻĨāĻŽ āĻ†āĻ•āĻžāĻ° - āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻžāĻŖāĻŋāĻœā§āĻ¯ āĻ†āĻ•āĻžāĻ°āĨ¤
  • āĻ˛āĻžāĻ¸ā§āĻŸ āĻ¸āĻžāĻ‡āĻœ - āĻļā§‡āĻˇ āĻ¸āĻžāĻ‡āĻœ - āĻāĻ• āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻļā§‡āĻˇ āĻŸā§āĻ°ā§‡āĻĄ āĻ¸āĻžāĻ‡āĻœāĨ¤
  • numTrades – āĻ•āĻžāĻ‰āĻ¨ā§āĻŸ i – āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻŸā§āĻ°ā§‡āĻĄā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĨ¤
  • āĻ­āĻ˛āĻŋāĻ‰āĻŽ – āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻ° āĻ†āĻ•āĻžāĻ° – āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻŸā§āĻ°ā§‡āĻĄ āĻ¸āĻžāĻ‡āĻœā§‡āĻ° āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĨ¤
  • pvolume – āĻ¸āĻŽāĻˇā§āĻŸāĻŋ āĻŽā§‚āĻ˛ā§āĻ¯ – āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻĻāĻžāĻŽā§‡āĻ° āĻ¯ā§‹āĻ—āĻĢāĻ˛, avgPrice āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤
  • - āĻ¯ā§‹āĻ—āĻĢāĻ˛ āĻŸāĻžāĻ°ā§āĻ¨āĻ“āĻ­āĻžāĻ° āĻŽā§‚āĻ˛ā§āĻ¯ * āĻ†āĻ•āĻžāĻ° - āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻŽā§‹āĻŸ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĨ¤
  • avgPrice – pvolume%numTrades – āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻ—āĻĄāĻŧ āĻŽā§‚āĻ˛ā§āĻ¯āĨ¤
  • avgSize – āĻ­āĻ˛āĻŋāĻ‰āĻŽ%numTrades – āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻ—āĻĄāĻŧ āĻŸā§āĻ°ā§‡āĻĄ āĻ¸āĻžāĻ‡āĻœāĨ¤
  • vwap - āĻŸāĻžāĻ°ā§āĻ¨āĻ“āĻ­āĻžāĻ°% āĻ­āĻ˛āĻŋāĻ‰āĻŽ - āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻ†āĻ•āĻžāĻ° āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻ—āĻĄāĻŧ āĻŽā§‚āĻ˛ā§āĻ¯āĨ¤
  • āĻ•āĻŽ āĻ­āĻ˛āĻŋāĻ‰āĻŽ - āĻ¸āĻŽāĻˇā§āĻŸāĻŋ āĻ­āĻ˛āĻŋāĻ‰āĻŽ - āĻĒā§āĻ°ā§‹ āĻ¸āĻŽāĻ¯āĻŧ āĻ§āĻ°ā§‡ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻ¸āĻžā§āĻšāĻŋāĻ¤ āĻ†āĻ•āĻžāĻ°āĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ…-āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ• - āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻ•āĻ˛āĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻĨāĻŽāĻŦāĻžāĻ° āĻāĻŦāĻ‚ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻĢāĻžāĻ°ā§āĻ¸ā§āĻŸāĻĒā§āĻ°āĻžāĻ‡āĻ¸ āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻ•āĻ˛āĻžāĻŽ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻļā§‚āĻ¨ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻ°āĻŽā§āĻ­ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡; āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻžāĻ¨ āĻ…āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤āĨ¤ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻĒā§āĻ°āĻ•āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž 0 āĻ¤ā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ•ā§ˇ āĻāĻŽāĻ¨ āĻ•āĻ˛āĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ“ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ - āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, cumVolume āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻŽāĻŋāĻ¨āĻŋāĻŸ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ 0 āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ā§ˇ āĻ†āĻ¸ā§āĻ¨ āĻ…āĻ­āĻŋāĻ§āĻžāĻ¨ āĻĄā§‡āĻŸāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻŋā§ˇ āĻŸāĻžāĻ‡āĻĒ (āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻ•āĻ°ā§āĻĄā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ):

// list ! list – ŅĐžĐˇĐ´Đ°Ņ‚ŅŒ ŅĐģОваŅ€ŅŒ, 0n – float null, 0N – long null, `sym – Ņ‚иĐŋ ŅĐ¸ĐŧвОĐģ, `sym1`sym2 – ŅĐŋиŅĐžĐē ŅĐ¸ĐŧвОĐģОв
initWith:`sym`time`high`low`firstPrice`lastPrice`firstSize`lastSize`numTrades`volume`pvolume`turnover`avgPrice`avgSize`vwap`cumVolume!(`;00:00;0n;0n;0n;0n;0N;0N;0;0;0.0;0.0;0n;0n;0n;0);
aggCols:reverse key[initWith] except `sym`time; // ŅĐŋиŅĐžĐē вŅĐĩŅ… вŅ‹Ņ‡Đ¸ŅĐģŅĐĩĐŧŅ‹Ņ… ĐēĐžĐģĐžĐŊĐžĐē, reverse ОйŅŠŅŅĐŊĐĩĐŊ ĐŊиĐļĐĩ

āĻ†āĻŽāĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ­āĻŋāĻ§āĻžāĻ¨ā§‡ sym āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¯āĻŧ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻāĻ–āĻ¨ initWith āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ¸āĻŽāĻˇā§āĻŸāĻŋ āĻ¸āĻžāĻ°āĻŖā§€ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻĄāĻŋāĻŽā§‡āĻĄ āĻ˛āĻžāĻ‡āĻ¨, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻ¸āĻ āĻŋāĻ• sym āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻžāĻ°āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻˇā§āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻŽāĻžāĻĻā§‡āĻ° aggCols āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡āĨ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ‰āĻ˛ā§āĻŸāĻžāĻ¤ā§‡ āĻšāĻŦā§‡ āĻ•āĻžāĻ°āĻŖ Q-āĻ¤ā§‡ āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋ āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ (āĻĄāĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻŦāĻžāĻŽā§‡)āĨ¤ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻšāĻ˛ āĻ—āĻŖāĻ¨āĻž āĻ‰āĻšā§āĻš āĻĨā§‡āĻ•ā§‡ āĻ•āĻŽ āĻ­āĻ˛āĻŋāĻ‰āĻŽā§‡ āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻž, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ•āĻŋāĻ›ā§ āĻ•āĻ˛āĻžāĻŽ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡āĨ¤

āĻ¯ā§‡ āĻ•āĻ˛āĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ†āĻ—ā§‡āĻ°āĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŋāĻŽ āĻ•āĻ˛āĻžāĻŽāĻŸāĻŋ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

rollColumns:`sym`cumVolume;

āĻāĻ–āĻ¨ āĻ•āĻ˛āĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¸ā§‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻ—ā§āĻ°ā§āĻĒā§‡ āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤ āĻ¤āĻŋāĻ¨ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

  1. āĻ¸āĻžā§āĻšāĻ¯āĻŧāĻ•āĻžāĻ°ā§€ (āĻ­āĻ˛āĻŋāĻ‰āĻŽ, āĻŸāĻžāĻ°ā§āĻ¨āĻ“āĻ­āĻžāĻ°, ..) - āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ†āĻ—ā§‡āĻ°āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ‡āĻ¨āĻ•āĻžāĻŽāĻŋāĻ‚ āĻŽāĻžāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤
  2. āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ (āĻ‰āĻšā§āĻš, āĻ¨āĻŋāĻŽā§āĻ¨, ..) - āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻŽāĻžāĻ¨āĻŸāĻŋ āĻ‡āĻ¨āĻ•āĻžāĻŽāĻŋāĻ‚ āĻĄā§‡āĻŸāĻž āĻĨā§‡āĻ•ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ, āĻŦāĻžāĻ•āĻŋāĻ—ā§āĻ˛āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
  3. āĻŦāĻŋāĻļā§āĻ°āĻžāĻŽ. āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻšāĻ˛ā§āĻ¨ āĻāĻ‡ āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

accumulatorCols:`numTrades`volume`pvolume`turnover;
specialCols:`high`low`firstPrice`firstSize;

āĻ—āĻŖāĻ¨āĻžāĻ° āĻ†āĻĻā§‡āĻļ

āĻ†āĻŽāĻ°āĻž āĻĻā§āĻŸāĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻ—āĻ¤ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻŦāĨ¤ āĻĻāĻ•ā§āĻˇāĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ‡āĻ¨āĻ•āĻžāĻŽāĻŋāĻ‚ āĻŸā§‡āĻŦāĻŋāĻ˛āĻŸāĻŋ āĻ¸āĻ™ā§āĻ•ā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻŋ āĻ¯āĻžāĻ¤ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ…āĻ•ā§āĻˇāĻ° āĻāĻŦāĻ‚ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ°āĻŋ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻāĻŦāĻ‚ āĻ¸āĻšāĻ¯ā§‹āĻ—ā§€ āĻ—ā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻŸāĻŋ āĻĻā§‡āĻ¯āĻŧ āĻ¯ā§‡ āĻāĻ‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ¸āĻ™ā§āĻ•ā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

select high:max price, low:min price â€Ļ by sym,time.minute from table

āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ†āĻ›ā§‡ - āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻ•āĻ˛āĻžāĻŽā§‡āĻ° āĻ¸ā§‡āĻŸ āĻĒā§‚āĻ°ā§āĻŦāĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤āĨ¤ āĻ¸ā§ŒāĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, Q-āĻ¤ā§‡, āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

?[table;whereClause;byClause;selectClause]

āĻ†āĻŽāĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻŦāĻŋāĻļāĻĻāĻ­āĻžāĻŦā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻŦ āĻ¨āĻž; āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻŦāĻ‚ āĻŦāĻžāĻ›āĻžāĻ‡ āĻ•āĻ°āĻž āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ…āĻ¤ā§āĻšā§āĻ› āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻĢāĻ°ā§āĻŽ āĻ•āĻ˛āĻžāĻŽā§‡āĻ° āĻ…āĻ­āĻŋāĻ§āĻžāĻ¨ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤! āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋā§ˇ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻ¸āĻ™ā§āĻ•ā§āĻšāĻŋāĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

selExpression:`high`low`firstPrice`lastPrice`firstSize`lastSize`numTrades`volume`pvolume`turnover!parse each ("max price";"min price";"first price";"last price";"first size";"last size";"count i";"sum size";"sum price";"sum price*size"); // each ŅŅ‚Đž Ņ„ŅƒĐŊĐēŅ†Đ¸Ņ map в Q Đ´ĐģŅ ОдĐŊĐžĐŗĐž ŅĐŋиŅĐēĐ°
preprocess:?[;();`sym`time!`sym`time.minute;selExpression];

āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻŋ āĻĒāĻžāĻ°ā§āĻ¸ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ Q āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¨āĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻ•āĻ°ā§‡ āĻ¯āĻž eval āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¯āĻž āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻĒā§āĻ°āĻŋāĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻœā§‡āĻ•āĻļāĻ¨ (āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻ†āĻ‚āĻļāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨) āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻ•āĻŸāĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ (āĻŸā§‡āĻŦāĻŋāĻ˛) āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĨ¤ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻĒā§āĻ°āĻŋāĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻŋ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ•ā§āĻšāĻŋāĻ¤ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻĒāĻžāĻŦāĨ¤

āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻ—āĻ¤ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ. āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ¸āĻŋāĻ‰āĻĄā§‹āĻ•ā§‹āĻĄā§‡ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻ˛āĻŋāĻ–āĻŋ:

for each sym in inputTable
  idx: row index in agg table for sym+currentTime;
  aggTable[idx;`high]: aggTable[idx;`high] | inputTable[sym;`high];
  aggTable[idx;`volume]: aggTable[idx;`volume] + inputTable[sym;`volume];
  â€Ļ

Q-āĻ¤ā§‡, āĻ˛ā§āĻĒā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻŽā§āĻ¯āĻžāĻĒ/āĻ°āĻŋāĻĄā§āĻ¸ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ Q āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ•ā§āĻŸāĻ° āĻ­āĻžāĻˇāĻž āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻ¸āĻšāĻœā§‡āĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¤ā§€āĻ•āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻ•āĻŦāĻžāĻ°ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ˛ā§āĻĒ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ, āĻāĻ•āĻŦāĻžāĻ°ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻšāĻŋāĻšā§āĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ:

idx:calcIdx inputTable;
row:aggTable idx;
aggTable[idx;`high]: row[`high] | inputTable`high;
aggTable[idx;`volume]: row[`volume] + inputTable`volume;
â€Ļ

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻ†āĻ°āĻ“ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ, Q-āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻāĻŦāĻ‚ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ - āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°āĨ¤ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸ā§‚āĻšāĻ•, āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻŦāĻ‚ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻœāĻŸāĻŋāĻ˛ āĻĄā§‡āĻŸāĻž āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ¤ā§‡ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻŸāĻŋ āĻāĻ‡ āĻŽāĻ¤ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

idx:calcIdx inputTable;
rows:aggTable idx;
// .[target;(idx0;idx1;..);function;argument] ~ target[idx 0;idx 1;â€Ļ]: function[target[idx 0;idx 1;â€Ļ];argument], в ĐŊĐ°ŅˆĐĩĐŧ ŅĐģŅƒŅ‡Đ°Đĩ Ņ„ŅƒĐŊĐēŅ†Đ¸Ņ – ŅŅ‚Đž ĐŋŅ€Đ¸ŅĐ˛Đ°Đ¸Đ˛Đ°ĐŊиĐĩ
.[aggTable;(idx;aggCols);:;flip (row[`high] | inputTable`high;row[`volume] + inputTable`volume;â€Ļ)];

āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻžāĻ°āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻ•āĻ˛āĻžāĻŽ āĻ¨āĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĢā§āĻ˛āĻŋāĻĒ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŽā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻ•ā§āĻ¸ (āĻ¸āĻžāĻ°āĻŋāĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻ•āĻ˛āĻžāĻŽā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž) āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻ¯āĻŧāĻŦāĻšā§āĻ˛, āĻ¤āĻžāĻ‡ āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻŽā§āĻ¯āĻžāĻĒ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•āĻ˛āĻžāĻŽā§‡ āĻ†āĻ˛āĻžāĻĻāĻžāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻŋ (āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§‹āĻ¸ā§āĻŸā§āĻ°āĻĢāĻŋāĻ° āĻŽāĻ¤ā§‹ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ):

.[aggTable;;:;]'[(idx;)each aggCols; (row[`high] | inputTable`high;row[`volume] + inputTable`volume;â€Ļ)];

āĻ†āĻŽāĻ°āĻž āĻ†āĻŦāĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒā§āĻ°āĻœā§‡āĻ•āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋāĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ Q-āĻ¤ā§‡, āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ“ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§‡āĻ¤ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ (āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ°) āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŸāĻŋāĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤

āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻ•āĻ˛āĻžāĻŽā§‡āĻ° āĻ¸ā§‡āĻŸāĻŸāĻŋ āĻ¸ā§āĻĨāĻŋāĻ° āĻ¨āĻ¯āĻŧ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻ‰āĻĒāĻ°ā§‹āĻ•ā§āĻ¤ āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻŸāĻŋ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦāĨ¤ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻŦāĻ‚ āĻ‡āĻ¨āĻĒā§āĻŸ āĻĄā§‡āĻŸāĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻ°āĻŋ āĻāĻŦāĻ‚ inp āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•āĻ˛āĻžāĻŽ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

aggExpression:`high`low`firstPrice`lastPrice`firstSize`lastSize`avgPrice`avgSize`vwap`cumVolume!
 ("row[`high]|inp`high";"row[`low]&inp`low";"row`firstPrice";"inp`lastPrice";"row`firstSize";"inp`lastSize";"pvolume%numTrades";"volume%numTrades";"turnover%volume";"row[`cumVolume]+inp`volume");

āĻ•āĻŋāĻ›ā§ āĻ•āĻ˛āĻžāĻŽ āĻŦāĻŋāĻļā§‡āĻˇ; āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻŽāĻžāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ¸āĻžāĻ°āĻŋ [`numTrades] āĻ•āĻ˛āĻžāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽ - āĻ¯āĻĻāĻŋ āĻāĻ¤ā§‡ 0 āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻŽāĻžāĻ¨āĻŸāĻŋ āĻĒā§āĻ°āĻĨāĻŽāĨ¤ Q-āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ˛ā§‡āĻ•ā§āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ†āĻ›ā§‡ - ?[āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž;āĻ˛āĻŋāĻ¸ā§āĻŸ1;āĻ˛āĻŋāĻ¸ā§āĻŸ2] - āĻ¯āĻž āĻĒā§āĻ°āĻĨāĻŽ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻļāĻ°ā§āĻ¤ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž 1 āĻŦāĻž 2 āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§‡:

// high -> ?[isFirst;inp`high;row[`high]|inp`high]
// @ - Ņ‚ĐžĐļĐĩ ОйОйŅ‰ĐĩĐŊĐŊĐžĐĩ ĐŋŅ€Đ¸ŅĐ˛Đ°Đ¸Đ˛Đ°ĐŊиĐĩ Đ´ĐģŅ ŅĐģŅƒŅ‡Đ°Ņ ĐēĐžĐŗĐ´Đ° иĐŊĐ´ĐĩĐēŅ ĐŊĐĩĐŗĐģŅƒĐąĐžĐēиК
@[`aggExpression;specialCols;{[x;y]"?[isFirst;inp`",y,";",x,"]"};string specialCols];

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻŋ āĻ†āĻŽāĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ (āĻ•ā§‹āĻāĻ•āĻĄāĻŧāĻž āĻ§āĻ¨ā§āĻ°ā§āĻŦāĻ¨ā§āĻ§āĻ¨ā§€āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋ) āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ•āĻ˛ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻāĻŸāĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻŽāĻžāĻ¨ (āĻĒā§āĻ°āĻĨāĻŽ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ) āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻĒāĻžāĻ¯āĻŧ, āĻ¯āĻž āĻ†āĻŽāĻŋ 4 āĻ°ā§āĻĨ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻŋāĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻ†āĻ˛āĻžāĻĻāĻžāĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻžāĻŸāĻžāĻ°āĻŋ āĻ¸ā§āĻĒāĻŋāĻ•āĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŋ, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻ‡:

// volume -> row[`volume]+inp`volume
aggExpression[accumulatorCols]:{"row[`",x,"]+inp`",x } each string accumulatorCols;

āĻāĻŸāĻŋ Q āĻŽāĻžāĻ¨ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻŋ āĻāĻ•āĻŦāĻžāĻ°ā§‡ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻ›āĻŋāĨ¤ āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

// ":",/:aggExprs ~ map[{":",x};aggExpr] => ":row[`high]|inp`high" ĐŋŅ€Đ¸ŅĐ˛ĐžĐ¸Đŧ вŅ‹Ņ‡Đ¸ŅĐģĐĩĐŊĐŊĐžĐĩ СĐŊĐ°Ņ‡ĐĩĐŊиĐĩ ĐŋĐĩŅ€ĐĩĐŧĐĩĐŊĐŊОК, ĐŋĐžŅ‚ĐžĐŧŅƒ Ņ‡Ņ‚Đž ĐŊĐĩĐēĐžŅ‚ĐžŅ€Ņ‹Đĩ ĐēĐžĐģĐžĐŊĐēи СавиŅŅŅ‚ ĐžŅ‚ ŅƒĐļĐĩ вŅ‹Ņ‡Đ¸ŅĐģĐĩĐŊĐŊŅ‹Ņ… СĐŊĐ°Ņ‡ĐĩĐŊиК
// string[cols],'exprs ~ map[,;string[cols];exprs] => "high:row[`high]|inp`high" СавĐĩŅ€ŅˆĐ¸Đŧ ŅĐžĐˇĐ´Đ°ĐŊиĐĩ ĐŋŅ€Đ¸ŅĐ˛Đ°Đ¸Đ˛Đ°ĐŊиŅ. ,’ Ņ€Đ°ŅŅˆĐ¸Ņ„Ņ€ĐžĐ˛Ņ‹Đ˛Đ°ĐĩŅ‚ŅŅ ĐēĐ°Đē map[concat]
// ";" sv exprs – String from Vector (sv), ŅĐžĐĩдиĐŊŅĐĩŅ‚ ŅĐŋиŅĐžĐē ŅŅ‚Ņ€ĐžĐē вŅŅ‚авĐģŅŅ “;” ĐŋĐžŅŅ€ĐĩдиĐŊĐĩ
updateAgg:value "{[aggTable;idx;inp] row:aggTable idx; isFirst_0=row`numTrades; .[aggTable;;:;]'[(idx;)each aggCols;(",(";"sv string[aggCols],'":",/:aggExpression aggCols),")]}";

āĻāĻ‡ āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻŸāĻŋāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡, āĻ†āĻŽāĻŋ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻŽāĻŋ āĻ‰āĻĒāĻ°ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻŸāĻŋ āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻāĻ‡ āĻŽāĻ¤ āĻĻā§‡āĻ–āĻžāĻŦā§‡:

{[aggTable;idx;inp] rows:aggTable idx; isFirst_0=row`numTrades; .[aggTable;;:;]'[(idx;)each aggCols ;(cumVolume:row[`cumVolume]+inp`cumVolume;â€Ļ ; high:?[isFirst;inp`high;row[`high]|inp`high])]}

āĻ•āĻ˛āĻžāĻŽ āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ•ā§āĻ°āĻŽ āĻ‰āĻ˛ā§āĻŸāĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ āĻ•āĻžāĻ°āĻŖ Q-āĻ¤ā§‡ āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ•ā§āĻ°āĻŽ āĻĄāĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻŦāĻžāĻŽā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤

āĻāĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻ—āĻŖāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĻā§āĻŸāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻļā§āĻ§ā§ āĻāĻ•āĻŸā§ āĻĒāĻ°āĻŋāĻ•āĻžāĻ āĻžāĻŽā§‹ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĨ¤

āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒ

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻŋāĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻāĻŦāĻ‚ āĻ†āĻĒāĻĄā§‡āĻŸāĻāĻ— āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻ āĻŋāĻ• āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ¸āĻŽāĻˇā§āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§‚āĻšāĻ• āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻāĻ–āĻ¨āĻ“ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻ¤, init āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

init:{
  tradeAgg:: 0#enlist[initWith]; // ŅĐžĐˇĐ´Đ°ĐĩĐŧ ĐŋŅƒŅŅ‚ŅƒŅŽ Ņ‚иĐŋиСиŅ€ĐžĐ˛Đ°ĐŊĐŊŅƒŅŽ Ņ‚Đ°ĐąĐģиŅ†Ņƒ, enlist ĐŋŅ€ĐĩвŅ€Đ°Ņ‰Đ°ĐĩŅ‚ ŅĐģОваŅ€ŅŒ в Ņ‚Đ°ĐąĐģиŅ†Ņƒ, Đ° 0# ОСĐŊĐ°Ņ‡Đ°ĐĩŅ‚ вСŅŅ‚ŅŒ 0 ŅĐģĐĩĐŧĐĩĐŊŅ‚Ов иС ĐŊĐĩĐĩ
  currTime::00:00; // ĐŊĐ°Ņ‡ĐŊĐĩĐŧ Ņ 0, :: ОСĐŊĐ°Ņ‡Đ°ĐĩŅ‚, Ņ‡Ņ‚Đž ĐŋŅ€Đ¸ŅĐ˛Đ°Đ¸Đ˛Đ°ĐŊиĐĩ в ĐŗĐģОйаĐģŅŒĐŊŅƒŅŽ ĐŋĐĩŅ€ĐĩĐŧĐĩĐŊĐŊŅƒŅŽ
  currSyms::`u#`symbol$(); // `u# - ĐŋŅ€ĐĩвŅ€Đ°Ņ‰Đ°ĐĩŅ‚ ŅĐŋиŅĐžĐē в Đ´ĐĩŅ€ĐĩвО, Đ´ĐģŅ ŅƒŅĐēĐžŅ€ĐĩĐŊиŅ ĐŋОиŅĐēĐ° ŅĐģĐĩĐŧĐĩĐŊŅ‚Ов
  offset::0; // иĐŊĐ´ĐĩĐēŅ в tradeAgg, ĐŗĐ´Đĩ ĐŊĐ°Ņ‡Đ¸ĐŊĐ°ĐĩŅ‚ŅŅ Ņ‚ĐĩĐēŅƒŅ‰Đ°Ņ ĐŧиĐŊŅƒŅ‚Đ° 
  rollCache:: `sym xkey update `u#sym from rollColumns#tradeAgg; // ĐēŅŅˆ Đ´ĐģŅ ĐŋĐžŅĐģĐĩĐ´ĐŊиŅ… СĐŊĐ°Ņ‡ĐĩĐŊиК roll ĐēĐžĐģĐžĐŊĐžĐē, Ņ‚Đ°ĐąĐģиŅ†Đ° Ņ ĐēĐģŅŽŅ‡ĐžĐŧ sym
 }

āĻ†āĻŽāĻ°āĻž āĻ°ā§‹āĻ˛ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋāĻ“ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻŦ, āĻ¯āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻŽāĻŋāĻ¨āĻŋāĻŸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŦā§‡:

roll:{[tm]
  if[currTime>tm; :init[]]; // ĐĩŅĐģи ĐŋĐĩŅ€ĐĩваĐģиĐģи Са ĐŋĐžĐģĐŊĐžŅ‡ŅŒ, Ņ‚Đž ĐŋŅ€ĐžŅŅ‚Đž вŅ‹ĐˇĐžĐ˛ĐĩĐŧ init
  rollCache,::offset _ rollColumns#tradeAgg; // ОйĐŊОвиĐŧ ĐēŅŅˆ – вСŅŅ‚ŅŒ roll ĐēĐžĐģĐžĐŊĐēи иС aggTable, ОйŅ€ĐĩСаŅ‚ŅŒ, вŅŅ‚авиŅ‚ŅŒ в rollCache
  offset::count tradeAgg;
  currSyms::`u#`$();
 }

āĻ¨āĻ¤ā§āĻ¨ āĻ…āĻ•ā§āĻˇāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡:

addSyms:{[syms]
  currSyms,::syms; // дОйавиĐŧ в ŅĐŋиŅĐžĐē иСвĐĩŅŅ‚ĐŊŅ‹Ņ…
  // дОйавиĐŧ в Ņ‚Đ°ĐąĐģиŅ†Ņƒ sym, time и rollColumns вОŅĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Đ˛ŅˆĐ¸ŅŅŒ ОйОйŅ‰ĐĩĐŊĐŊŅ‹Đŧ ĐŋŅ€Đ¸ŅĐ˛Đ°Đ¸Đ˛Đ°ĐŊиĐĩĐŧ.
  // ФŅƒĐŊĐēŅ†Đ¸Ņ ^ ĐŋОдŅŅ‚авĐģŅĐĩŅ‚ СĐŊĐ°Ņ‡ĐĩĐŊиŅ ĐŋĐž ŅƒĐŧĐžĐģŅ‡Đ°ĐŊиŅŽ Đ´ĐģŅ roll ĐēĐžĐģĐžĐŊĐžĐē, ĐĩŅĐģи ŅĐ¸ĐŧвОĐģĐ° ĐŊĐĩŅ‚ в ĐēŅŅˆĐĩ. value flip table вОСвŅ€Đ°Ņ‰Đ°ĐĩŅ‚ ŅĐŋиŅĐžĐē ĐēĐžĐģĐžĐŊĐžĐē в Ņ‚Đ°ĐąĐģиŅ†Đĩ.
  `tradeAgg upsert @[count[syms]#enlist initWith;`sym`time,cols rc;:;(syms;currTime), (initWith cols rc)^value flip rc:rollCache ([] sym: syms)];
 }

āĻāĻŦāĻ‚ āĻ…āĻŦāĻļā§‡āĻˇā§‡, upd āĻĢāĻžāĻ‚āĻļāĻ¨ (Q āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ¤āĻŋāĻšā§āĻ¯āĻ—āĻ¤ āĻ¨āĻžāĻŽ), āĻ¯āĻž āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĄā§‡āĻŸāĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ:

upd:{[tblName;data] // tblName ĐŊĐ°Đŧ ĐŊĐĩ ĐŊŅƒĐļĐŊĐž, ĐŊĐž ОйŅ‹Ņ‡ĐŊĐž ŅĐĩŅ€Đ˛Đ¸Ņ ОйŅ€Đ°ĐąĐ°Ņ‚Ņ‹Đ˛Đ°ĐĩŅ‚ ĐŊĐĩŅĐēĐžĐģŅŒĐēĐž Ņ‚Đ°ĐąĐģиŅ† 
  tm:exec distinct time from data:() xkey preprocess data; // preprocess & calc time
  updMinute[data] each tm; // дОйавиĐŧ Đ´Đ°ĐŊĐŊŅ‹Đĩ Đ´ĐģŅ ĐēĐ°ĐļдОК ĐŧиĐŊŅƒŅ‚Ņ‹
};
updMinute:{[data;tm]
  if[tm<>currTime; roll tm; currTime::tm]; // ĐŋĐžĐŧĐĩĐŊŅĐĩĐŧ ĐŧиĐŊŅƒŅ‚Ņƒ, ĐĩŅĐģи ĐŊĐĩОйŅ…ОдиĐŧĐž
  data:select from data where time=tm; // Ņ„иĐģŅŒŅ‚Ņ€Đ°Ņ†Đ¸Ņ
  if[count msyms:syms where not (syms:data`sym)in currSyms; addSyms msyms]; // ĐŊОвŅ‹Đĩ ŅĐ¸ĐŧвОĐģŅ‹
  updateAgg[`tradeAgg;offset+currSyms?syms;data]; // ОйĐŊОвиĐŧ Đ°ĐŗŅ€ĐĩĐŗиŅ€ĐžĐ˛Đ°ĐŊĐŊŅƒŅŽ Ņ‚Đ°ĐąĐģиŅ†Ņƒ. ФŅƒĐŊĐēŅ†Đ¸Ņ ? иŅ‰ĐĩŅ‚ иĐŊĐ´ĐĩĐēŅ ŅĐģĐĩĐŧĐĩĐŊŅ‚Ов ŅĐŋиŅĐēĐ° ŅĐŋŅ€Đ°Đ˛Đ° в ŅĐŋиŅĐēĐĩ ŅĐģĐĩва.
 };

āĻāĻ–āĻžāĻ¨ā§‡āĻ‡ āĻļā§‡āĻˇ. āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•ā§‹āĻĄ, āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€, āĻŽāĻžāĻ¤ā§āĻ° āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ¨:

initWith:`sym`time`high`low`firstPrice`lastPrice`firstSize`lastSize`numTrades`volume`pvolume`turnover`avgPrice`avgSize`vwap`cumVolume!(`;00:00;0n;0n;0n;0n;0N;0N;0;0;0.0;0.0;0n;0n;0n;0);
aggCols:reverse key[initWith] except `sym`time;
rollColumns:`sym`cumVolume;

accumulatorCols:`numTrades`volume`pvolume`turnover;
specialCols:`high`low`firstPrice`firstSize;

selExpression:`high`low`firstPrice`lastPrice`firstSize`lastSize`numTrades`volume`pvolume`turnover!parse each ("max price";"min price";"first price";"last price";"first size";"last size";"count i";"sum size";"sum price";"sum price*size");
preprocess:?[;();`sym`time!`sym`time.minute;selExpression];

aggExpression:`high`low`firstPrice`lastPrice`firstSize`lastSize`avgPrice`avgSize`vwap`cumVolume!("row[`high]|inp`high";"row[`low]&inp`low";"row`firstPrice";"inp`lastPrice";"row`firstSize";"inp`lastSize";"pvolume%numTrades";"volume%numTrades";"turnover%volume";"row[`cumVolume]+inp`volume");
@[`aggExpression;specialCols;{"?[isFirst;inp`",y,";",x,"]"};string specialCols];
aggExpression[accumulatorCols]:{"row[`",x,"]+inp`",x } each string accumulatorCols;
updateAgg:value "{[aggTable;idx;inp] row:aggTable idx; isFirst_0=row`numTrades; .[aggTable;;:;]'[(idx;)each aggCols;(",(";"sv string[aggCols],'":",/:aggExpression aggCols),")]}"; / '

init:{
  tradeAgg::0#enlist[initWith];
  currTime::00:00;
  currSyms::`u#`symbol$();
  offset::0;
  rollCache:: `sym xkey update `u#sym from rollColumns#tradeAgg;
 };
roll:{[tm]
  if[currTime>tm; :init[]];
  rollCache,::offset _ rollColumns#tradeAgg;
  offset::count tradeAgg;
  currSyms::`u#`$();
 };
addSyms:{[syms]
  currSyms,::syms;
  `tradeAgg upsert @[count[syms]#enlist initWith;`sym`time,cols rc;:;(syms;currTime),(initWith cols rc)^value flip rc:rollCache ([] sym: syms)];
 };

upd:{[tblName;data] updMinute[data] each exec distinct time from data:() xkey preprocess data};
updMinute:{[data;tm]
  if[tm<>currTime; roll tm; currTime::tm];
  data:select from data where time=tm;
  if[count msyms:syms where not (syms:data`sym)in currSyms; addSyms msyms];
  updateAgg[`tradeAgg;offset+currSyms?syms;data];
 };

āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ•

āĻ¸ā§‡āĻŦāĻžāĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ•. āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻ¸ā§āĻ¨ āĻāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ āĻšāĻžāĻ˛āĻžāĻ¨ (āĻ•ā§‹āĻĄāĻŸāĻŋ service.q āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ°āĻžāĻ–ā§āĻ¨) āĻāĻŦāĻ‚ init āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ•āĻ˛ āĻ•āĻ°ā§āĻ¨:

q service.q –p 5566

q)init[]

āĻ…āĻ¨ā§āĻ¯ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡, āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ Q āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻļā§āĻ°ā§ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨:

h:hopen `:host:5566
h:hopen 5566 // ĐĩŅĐģи Ойа ĐŊĐ° ОдĐŊĐžĐŧ Ņ…ĐžŅŅ‚Đĩ

āĻĒā§āĻ°āĻĨāĻŽā§‡, āĻ†āĻ¸ā§āĻ¨ āĻĒā§āĻ°āĻ¤ā§€āĻ•āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ - 10000 āĻŸā§āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŋāĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡:

syms:`IBM`AAPL`GOOG,-9997?`8
rnd:{[n;t] ([] sym:n?syms; time:t+asc n#til 25; price:n?10f; size:n?10)}

āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻž āĻ¸āĻšāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻŽāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻšāĻŋāĻšā§āĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ rnd āĻĢāĻžāĻ‚āĻļāĻ¨ n āĻ¸āĻžāĻ°āĻŋ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŽāĻ¯āĻŧ t āĻĨā§‡āĻ•ā§‡ t+25 āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ¤ā§‡ āĻĄā§‡āĻŸāĻž āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ (āĻĒā§āĻ°āĻĨāĻŽ āĻĻāĻļ āĻ˜āĻ¨ā§āĻŸāĻž āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨):

{h (`upd;`trade;rnd[10000;x])} each `time$00:00 + til 60*10

āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋāĻ¤ā§‡ āĻšā§‡āĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯ā§‡ āĻŸā§‡āĻŦāĻŋāĻ˛āĻŸāĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

c 25 200
select from tradeAgg where sym=`AAPL
-20#select from tradeAgg where sym=`AAPL

āĻĢāĻ˛āĻžāĻĢāĻ˛:

sym|time|high|low|firstPrice|lastPrice|firstSize|lastSize|numTrades|volume|pvolume|turnover|avgPrice|avgSize|vwap|cumVolume
--|--|--|--|--|--------------------------------
AAPL|09:27|9.258904|9.258904|9.258904|9.258904|8|8|1|8|9.258904|74.07123|9.258904|8|9.258904|2888
AAPL|09:28|9.068162|9.068162|9.068162|9.068162|7|7|1|7|9.068162|63.47713|9.068162|7|9.068162|2895
AAPL|09:31|4.680449|0.2011121|1.620827|0.2011121|1|5|4|14|9.569556|36.84342|2.392389|3.5|2.631673|2909
AAPL|09:33|2.812535|2.812535|2.812535|2.812535|6|6|1|6|2.812535|16.87521|2.812535|6|2.812535|2915
AAPL|09:34|5.099025|5.099025|5.099025|5.099025|4|4|1|4|5.099025|20.3961|5.099025|4|5.099025|2919

āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻ•āĻ¤ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¤āĻž āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ–āĻ¨ āĻ˛ā§‹āĻĄ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤ āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ‡ āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻĒāĻĄā§‡āĻŸā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ 25 āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻ¤āĻĻāĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĄā§‡āĻŸāĻž āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¯āĻŧ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ (āĻ—āĻĄāĻŧā§‡) āĻĒā§āĻ°āĻ¤āĻŋ āĻ†āĻĒāĻĄā§‡āĻŸā§‡ āĻ•āĻŽāĻĒāĻ•ā§āĻˇā§‡ 20 āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻĢāĻŋāĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ˛āĻŋāĻ–ā§āĻ¨:

tm:10:00:00.000
stressTest:{[n] 1 string[tm]," "; times,::h ({st:.z.T; upd[`trade;x]; .z.T-st};rnd[n;tm]); tm+:25}
start:{[n] times::(); do[4800;stressTest[n]]; -1 " "; `min`avg`med`max!(min times;avg times;med times;max times)}

4800 āĻšāĻ˛ āĻĻā§āĻ‡ āĻŽāĻŋāĻ¨āĻŋāĻŸāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¤āĻŋ 1000 āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ 25 āĻ¸āĻžāĻ°āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻĻā§ŒāĻĄāĻŧāĻžāĻ¨ā§‹āĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

start 1000

āĻ†āĻŽāĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĢāĻ˛āĻžāĻĢāĻ˛āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋ āĻ†āĻĒāĻĄā§‡āĻŸā§‡ āĻ•āĻ¯āĻŧā§‡āĻ• āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻ•āĻžāĻ›āĻžāĻ•āĻžāĻ›āĻŋāĨ¤ āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻŋ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ¸āĻžāĻ°āĻŋāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŦāĻžāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ 10.000 āĻ•āĻ°āĻŦ:

start 10000

āĻĢāĻ˛āĻžāĻĢāĻ˛:

min| 00:00:00.004
avg| 9.191458
med| 9f
max| 00:00:00.030

āĻ†āĻŦāĻžāĻ°, āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻŋāĻ›ā§ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ 24 āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧāĻ¨ āĻ˛āĻžāĻ‡āĻ¨, āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ 400 āĻšāĻžāĻœāĻžāĻ°āĨ¤ 25 āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ§āĻ°ā§‡, āĻ†āĻĒāĻĄā§‡āĻŸāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 5 āĻŦāĻžāĻ° āĻ§ā§€āĻ° āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ, āĻĻā§ƒāĻļā§āĻ¯āĻ¤ āĻ¯āĻ–āĻ¨ āĻŽāĻŋāĻ¨āĻŋāĻŸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ¯āĻŧāĨ¤ 100.000-āĻ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

start 100000

āĻĢāĻ˛āĻžāĻĢāĻ˛:

min| 00:00:00.013
avg| 25.11083
med| 24f
max| 00:00:00.108
q)sum times
00:02:00.532

āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›ā§‡āĻ¨, āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋ āĻ¸āĻŦā§‡āĻŽāĻžāĻ¤ā§āĻ° āĻŽā§‹āĻ•āĻžāĻŦā§‡āĻ˛āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¤āĻŦā§‡ āĻ¤āĻŦā§āĻ“ āĻāĻŸāĻŋ āĻ­ā§‡āĻ¸ā§‡ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĄā§‡āĻŸāĻžāĻ° āĻ­āĻ˛āĻŋāĻ‰āĻŽ (āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ 240 āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧāĻ¨ āĻ¸āĻžāĻ°āĻŋ) āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦāĻĄāĻŧ; āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ° āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ•ā§āĻ˛ā§‹āĻ¨ (āĻŦāĻž āĻāĻŽāĻ¨āĻ•āĻŋ āĻ•āĻ¯āĻŧā§‡āĻ• āĻĄāĻœāĻ¨ āĻ•ā§āĻ˛ā§‹āĻ¨) āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ, āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ…āĻ•ā§āĻˇāĻ°ā§‡āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ…āĻ‚āĻļ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°ā§‡āĨ¤ āĻ¤āĻŦā§āĻ“, āĻĢāĻ˛āĻžāĻĢāĻ˛āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻž āĻ­āĻžāĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻšāĻŋāĻ¤ā§āĻ¤āĻžāĻ•āĻ°ā§āĻˇāĻ• āĻ¯āĻž āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœā§‡āĻ° āĻ‰āĻĒāĻ° āĻĢā§‹āĻ•āĻžāĻ¸ āĻ•āĻ°ā§‡āĨ¤

āĻĒā§āĻ°āĻļā§āĻ¨ āĻ‰āĻ āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ•ā§‡āĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ†āĻĒāĻĄā§‡āĻŸā§‡āĻ° āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ…-āĻ°ā§ˆāĻ–āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧāĨ¤ āĻ•āĻžāĻ°āĻŖāĻŸāĻŋ āĻšāĻ˛ āĻ¸āĻ™ā§āĻ•ā§āĻšāĻŋāĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ†āĻ¸āĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨, āĻ¯āĻž āĻ†āĻĒāĻĄā§‡āĻŸāĻāĻ—ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ…āĻ¨ā§‡āĻ• āĻŦā§‡āĻļāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ†āĻĒāĻĄā§‡āĻŸā§‡āĻ° āĻ†āĻ•āĻžāĻ° (āĻĒā§āĻ°āĻžāĻ¯āĻŧ 10.000) āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡, updateAgg āĻāĻ° āĻ¸āĻŋāĻ˛āĻŋāĻ‚āĻ¯āĻŧā§‡ āĻĒā§ŒāĻāĻ›ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻāĻŸāĻŋāĻ° āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻĒāĻĄā§‡āĻŸā§‡āĻ° āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒ Q āĻāĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻ¯ā§‡ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋ āĻāĻ¤ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻĄā§‡āĻŸāĻž āĻšāĻœāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽāĨ¤ āĻāĻŸāĻŋ āĻšāĻžāĻ‡āĻ˛āĻžāĻ‡āĻŸ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻŦāĻĄāĻŧ āĻĄā§‡āĻŸāĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻ āĻŋāĻ• āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻŦā§‡āĻ›ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ•āĻ¤āĻŸāĻž āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖāĨ¤ āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻšāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻĄā§‡āĻŸāĻžāĻ° āĻ¸āĻ āĻŋāĻ• āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœāĨ¤ āĻ¯āĻĻāĻŋ āĻĄā§‡āĻŸāĻž āĻ•āĻ˛āĻžāĻŽāĻžāĻ°āĻ˛āĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻ¨āĻž āĻšāĻ¯āĻŧ āĻŦāĻž āĻ¸āĻŽāĻ¯āĻŧ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž TLB āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻŽāĻŋāĻ¸ - āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ° āĻ…ā§āĻ¯āĻžāĻĄā§āĻ°ā§‡āĻ¸ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ° āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻŸāĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻšāĻŦāĨ¤ āĻāĻ•āĻŸāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ˛ā§‡ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 30 āĻ—ā§āĻŖ āĻŦā§‡āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻ—ā§‡, āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻĄā§‡āĻŸāĻž āĻ›āĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻĒāĻĄāĻŧā§‡, āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŦāĻžāĻ° āĻ§ā§€āĻ° āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ā§ˇ

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°

āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡, āĻ†āĻŽāĻŋ āĻĻā§‡āĻ–āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ āĻ¯ā§‡ KDB+ āĻāĻŦāĻ‚ Q āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻĄāĻŧ āĻĄā§‡āĻŸāĻž āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻšāĻœā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĻ‡ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧ, āĻŦāĻ°āĻ‚ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻŋāĻ‚ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĻ“ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻ¯āĻž āĻ•āĻ¯āĻŧā§‡āĻ• āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧāĻ¨ āĻ¸āĻžāĻ°āĻŋ/āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ āĻĄā§‡āĻŸāĻž āĻšāĻœāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽāĨ¤ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• Q āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĨ¤ Q āĻ­āĻžāĻˇāĻž āĻ¨āĻŋāĻœā§‡āĻ‡ āĻāĻ° āĻ­ā§‡āĻ•ā§āĻŸāĻ° āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻŋ, āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ SQL āĻ‰āĻĒāĻ­āĻžāĻˇāĻž āĻĻā§‹āĻ­āĻžāĻˇā§€ āĻāĻŦāĻ‚ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻ¸āĻĢāĻ˛ āĻ¸ā§‡āĻŸā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻāĻŦāĻ‚ āĻĻāĻ•ā§āĻˇ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻ†āĻŽāĻŋ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻŦ āĻ¯ā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ°āĻŸāĻŋ Q āĻāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ° āĻ…āĻ‚āĻļ āĻŽāĻžāĻ¤ā§āĻ°; āĻāĻŸāĻŋāĻ° āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ“ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ IPC āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¯āĻž āĻĒā§ƒāĻĨāĻ• Q āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸ā§€āĻŽāĻžāĻ¨āĻž āĻŽā§āĻ›ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ‡ āĻļāĻ¤ āĻļāĻ¤ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ, āĻ¯āĻž āĻŦāĻŋāĻļā§āĻŦā§‡āĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ…āĻ‚āĻļā§‡ āĻ•āĻ¯āĻŧā§‡āĻ• āĻĄāĻœāĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨