рд╕реНрдЯреЙрдХ рдорд╛рд░реНрдХреЗрдЯ рдкрд░ рддрдХрдиреАрдХреА рд╕рдВрдХреЗрддрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ?

рд╕реНрдЯреЙрдХ рдпрд╛ рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдиреЗ рдЪрд╛рд░реНрдЯ рдкрд░ рдЗрди рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рджреЗрдЦрд╛ рд╣реИред рдЖрдкрдиреЗ рд░рд╛рдп рд╕реБрдиреА рд╣реЛрдЧреА рдХрд┐ рд╡реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рдмрд╣реБрдд рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╣реБрдП, рдореЗрд░реА рд╡реНрдпрд╛рдкрд╛рд░ рдХреНрд╖рдорддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдФрд░ рдпрд╣ рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

рдЖрдкрдХреЛ рдЗрд╕реЗ рдЬрд░реВрд░ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП:

  1. рдЖрдк рджрд┐рди рдХреЗ рдХрд╛рд░реЛрдмрд╛рд░ рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
  2. рдЖрдк рдПрдХ рдЯреНрд░реЗрдбрд┐рдВрдЧ рдмреЙрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ
  3. рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рджреНрд╡рд╛рд░рд╛ рдЯреНрд░реЗрдбрд┐рдВрдЧ рд░рдгрдиреАрддрд┐ рдпрд╛ рд╕рдВрдХреЗрддрдХ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ




рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдХреНрд╕рд░ рддрдХрдиреАрдХреА рд╕рдВрдХреЗрддрдХ рдПрдХ рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рди, рдкреБрдирд░рд╛рд╡рд░реНрддреА рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдХреАрдорддреЛрдВ / рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рднрд╛рд░рд┐рдд рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╕реНрдЯреЙрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ рд╕реЗ UOHLCV рдкреНрд░рд╛рд░реВрдк (рдпреВрдирд┐рдХреНрд╕ рд╕рдордп, рдЦреБрд▓рд╛, рдЙрдЪреНрдЪ, рдирд┐рдореНрди, рдмрдВрдж, рд╡реЙрд▓реНрдпреВрдо) рдореЗрдВ рдЦреАрдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдХреЗрддрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╛рдж рдХреА рдЧрдгрдирд╛ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ, рдиреНрдпреВрдирддрдо рдФрд░ рдореИрдХреНрд╕рд┐рдордо рдпрд╛ рдЕрдиреНрдп рд╕рдВрдХреЗрддрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред

рд╕рд░рд▓ рдЪрд▓рддреА рдФрд╕рдд (SMA)


рдЬрдм рд╕рдВрдХреЗрддрдХ рдХреЛрдбрд┐рдВрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪрд▓рддреА рдФрд╕рдд рдпрд╣ рд░реЛрд▓рд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдореВрд▓реНрдп рдХрд╛ рдФрд╕рдд рд╣реИред

function sma($close, window) { return rolling(x => mean(x), window, $close); } 

рдЬрд╣рд╛рдВ рдорд╛рдзреНрдп рд╕рдВрдЪрд╛рд▓рди рд╡рд╣ рд╣реИ рдЬреЛ рд╕рд░рдгреА рдХреЗ рдФрд╕рдд рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд░реЛрд▓рд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╕рдВрдпреЛрдЬрди рд╣реИ рдЬреЛ рдХрд┐ рд╕рд░рдгреА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдореМрдЬреВрджрд╛ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо n рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдСрдкрд░реЗрд╢рди рдЬреЛ рдЗрд╕ рд╡рд┐рдВрдбреЛ рдХреЛ рдПрдХ рдирдВрдмрд░ рдореЗрдВ рд╕рд┐рд▓ рджреЗрддрд╛ рд╣реИред

 function rolling(operation, window, array) { let result = []; for (let i = 0; i < array.length; i++) { if (i + 1 < window) { result.push(NaN); } else { result.push(operation(array.slice(i + 1 - window, i + 1))); } } return result; } 

рдПрд╕рдПрдордП рдПрдХ рд▓реИрдЧрд┐рдВрдЧ рд╕рдВрдХреЗрддрдХ рд╣реИ рдФрд░ рдкреНрд░рд╡реГрддреНрддрд┐ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЪрд╛рд░реНрдЯ рдкрд░ рдУрд╡рд░рд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдЦрд╛рд░рд┐рдЬ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрд░реЙрд╕рдУрд╡рд░ рд╕рд┐рдЧреНрдирд▓ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдХрд╛ рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕рд░рд▓ рдЪрд▓рддреА рдФрд╕рдд (SMA)

рдПрдХ рддреЗрдЬреА рд╕реЗ рдХреНрд░реЙрд╕рдУрд╡рд░ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рдЪрд▓рддреА рдФрд╕рдд рдмреНрд░реЗрдХрдЖрдЙрдЯ рдЪрд▓рддреА рдФрд╕рдд рдЪрд▓рддреА рд╣реИред рдЕрддреНрдпрдзрд┐рдХ рднрд╛рд░рд┐рдд рдЪрд▓рддреА рдФрд╕рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рднрд╛рд░рд┐рдд рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рди рд╡рд┐рд▓рдВрдм рдкреНрд░рднрд╛рд╡ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред

рдорд╛рдирдХ рд╡рд┐рдЪрд▓рди (STDEV)


рдпрджрд┐ рд╣рдо рдПрд╕рдПрдордП рдореЗрдВ рдФрд╕рдд рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдорд╛рдирдХ рд╡рд┐рдЪрд▓рди рдХреЗ рд╕рд╛рде рдмрджрд▓рддреЗ рд╣реИрдВ рддреЛ рд╣рдореЗрдВ рдПрдХ рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧ рдорд╛рдирдХ рд╡рд┐рдЪрд▓рди рдорд┐рд▓реЗрдЧрд╛

 function stdev($close, window) { return rolling(x => sd(x), window, $close); } 

рдЬрд╣рд╛рдВ рдПрд╕рдбреА рдХреЛ рд╡рд┐рдЪрд░рдг рдХреЗ рд╡рд░реНрдЧрдореВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдмреЗрд╕реЗрд▓ рд╕реБрдзрд╛рд░ рдХреЗ рдмрд┐рдирд╛ред рд╣рдо рдорд╛рдиреЗрдВрдЧреЗ рдХрд┐ рд╣рд░ рдХреЛрдИ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдПрд╕рдбреА рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП

sd(x)= sqrt frac sum(xiтИТ hatx)2[N]$


рд╡рд┐рдЪрд░рдг рдХреЗ рд╡рд░реНрдЧрдореВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдЪрд░рдг рд╣реА рдЖрдпрд╛рдо рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдЕрд╡рдзрд┐ рдореЗрдВ рд╕реБрдХрд╛рд░реЗ рдбреЙрд▓рд░ рдореЗрдВ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рдЯреНрд░реЗрдбрдорд╛рд░реНрдХ рдпрд╛ рдЬреЛ рднреА рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рд╣реИред

рдмреЛрд▓рд┐рдВрдЧрд░ рдмреИрдВрдб (BBAND)


рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рджреЛ рдмреБрдирд┐рдпрд╛рджреА рд╕рдВрдХреЗрддрдХ рд▓рд╛рдЧреВ рдХрд░ рджрд┐рдП рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдирдП рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдФрд░ рд╕реНрдЯреИрдВрдбрд░реНрдб рдбрд┐рд╡рд┐рдПрд╢рди рдХреЛ 2 рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдмреЛрд▓рд┐рдВрдЧрд░ рдмреИрдВрдб рдХрд╛ рдКрдкрд░реА рднрд╛рдЧ рдФрд░ рдирд┐рдЪрд▓реЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд╣рдо рдШрдЯрд╛рдПрдВрдЧреЗред

 function bb($close, window, mult) { let middle = sma($close, window); let upper = pointwise((a, b) => a + b * mult, middle, stdev($close, window)); let lower = pointwise((a, b) => a - b * mult, middle, stdev($close, window)); return { lower : lower, upper : upper}; } 

рдЬрд╣рд╛рдВ рдлрд╝рдВрдХреНрд╢рди рдкреЙрдЗрдВрдЯрд╡рд╛рдЗрдЬрд╝ рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИ

 export function pointwise(operation, ...arrays) { let result = []; for (let i = 0, len = arrays[0].length; i < len; i++) { let iarr = (i) => arrays.map(x => x[i]); result[i] = operation(...iarr(i)); } return result; } 

рдФрд░ рдпрд╣ рд╕рд┐рд░реНрдл рдХрдИ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдСрдкрд░реЗрд╢рди рдХрд░рдирд╛ рд╣реИ

рдмреЛрд▓рд┐рдВрдЧрд░ рдмреИрдВрдб (BBAND)

рдмреЛрд▓рд┐рдВрдЬрд░ рдмреИрдВрдб рдмрдбрд╝реЗ рдореВрд▓реНрдп рдЖрдВрджреЛрд▓рди рд╕реЗ рдкрд╣рд▓реЗ рд╢рд╛рдВрдд рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЪрд╛рд░реНрдЯ рдкрд░ рдЕрдзрд┐рдХрд╛рд░ рдЕрд╕реНрдерд┐рд░рддрд╛ рдХреЛ рд╡рд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдорд╛рдирдХ рд╡рд┐рдЪрд▓рди рдореВрд▓реНрдп рд╕реЗ рдПрдХ рдЪрд╛рд░реНрдЯ рдкрд░ рдУрд╡рд░рд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд▓рддреА рдФрд╕рдд рд╕реЗ рдШрдЯрд╛рдпрд╛ / рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдШрд╛рддреАрдп рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ (EMA)


рд╣рдо рд╕рд╛рдзрд╛рд░рдг рдЪрд▓рддреА рдФрд╕рдд рдХреЗ рдЕрдВрддрд░рд╛рд▓ рдХреЛ рдХреИрд╕реЗ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЪреВрдВрдХрд┐ рдпрд╣ рдЕрдВрддрд┐рдо n рд╕рдорд╛рдкрди рдХреАрдорддреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХреБрдЫ рд╡рдЬрди рдХреЗ рд╕рд╛рде рдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреБрд░рд╛рдиреА рдХреАрдорддреЛрдВ рдХреЗ рдпреЛрдЧрджрд╛рди рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

\ bar x = \ frac {\ sum x_i} {N} = \ frac {\ _ 1 \ _ cdot x_i} {\ sum 1} \ quad \ Rightarrow \ quad \ widetilde {x} = \ _rac {\ sum x_i w_i } {\ _ w_i}

\ bar x = \ frac {\ sum x_i} {N} = \ frac {\ _ 1 \ _ cdot x_i} {\ sum 1} \ quad \ Rightarrow \ quad \ widetilde {x} = \ _rac {\ sum x_i w_i } {\ _ w_i}


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рд╣рдо рдЪреБрдирддреЗ рд╣реИрдВ wn=qn рдФрд░ рдПрдХ рдирд┐рд░рдВрддрд░ q рдпрд╣ рдПрдХ рд╕реЗ рдХрдо рд╣реИ, рддреЛ рд╣рдореЗрдВ рдПрдХ рдЕрд╕реАрдо рд░реВрдк рд╕реЗ рдШрдЯрддрд╛ рд╣реБрдЖ рд╡рдЬрди рдорд┐рд▓рддрд╛ рд╣реИ, рдЕрдЧрд░ рд╣рдо рдХреАрдорддреЛрдВ рдХреЛ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред

рднрд╛рд░рд┐рдд рдХрд╛рд░реНрдп

рдпрджрд┐ рд╣рдо рд╡рд┐рдВрдбреЛ рдХреЛ рдкреВрд░реНрдг рд▓рдВрдмрд╛рдИ рддрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреВрдВрдЫ рдХрд╛ рдпреЛрдЧрджрд╛рди рдЫреЛрдЯрд╛ рд╣реИ, рддреЛ рднреА рдЧрдгрдирд╛ рдХреА рдЕрдиреБрдорд╛рдирд┐рдд рдЧрдгрдирд╛ рдФрд░ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╕рдореАрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

1 + q + q ^ 2 + ... + q ^ n \ underset {n \ _ to \ infty} {\ underset {q <0} {=}} \ frac {1} {1-q} \\ \ _ mathrm {EMA} _ {curr} = \ frac {\ _ x_i q ^ i} {\ sum q ^ i} = ((1-q) \ sum x_i q ^ i \\ \ mathrm {EMA} {рдЕрдЧрд▓рд╛} = \ frac {x_ {рдЕрдЧрд▓рд╛} + q \ cdot \ sum x_i q ^ i} {1 + q \ cdot \ sum q ^ i} = ((1-q) \ cdot \ рдмрд╛рдПрдБ [x_ {рдЕрдЧрд▓рд╛} + q \ _dot \ _ рдпреЛрдЧ x_i q ^ i \ right] \\ \ mathrm {EMA} _ {рдЕрдЧрд▓рд╛} = (1-q) \ cdot x_ {рдЕрдЧрд▓рд╛} + q) \ cdot \ mathrm {EMA} _ {рд╡рдХреНрд░}

1 + q + q ^ 2 + ... + q ^ n \ underset {n \ _ to \ infty} {\ underset {q <0} {=}} \ frac {1} {1-q} \\ \ _ mathrm {EMA} _ {curr} = \ frac {\ _ x_i q ^ i} {\ sum q ^ i} = ((1-q) \ sum x_i q ^ i \\ \ mathrm {EMA} {рдЕрдЧрд▓рд╛} = \ frac {x_ {рдЕрдЧрд▓рд╛} + q \ cdot \ sum x_i q ^ i} {1 + q \ cdot \ sum q ^ i} = ((1-q) \ cdot \ рдмрд╛рдПрдБ [x_ {рдЕрдЧрд▓рд╛} + q \ _dot \ _ рдпреЛрдЧ x_i q ^ i \ right] \\ \ mathrm {EMA} _ {рдЕрдЧрд▓рд╛} = (1-q) \ cdot x_ {рдЕрдЧрд▓рд╛} + q) \ cdot \ mathrm {EMA} _ {рд╡рдХреНрд░}



Finnally рд╣рдореЗрдВ рд╕реНрдореВрдерд┐рдВрдЧ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рдорд╛рди ╬▒ = 1 - q рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЬрдм рд╣рдо рдЪреБрдирддреЗ рд╣реИрдВ  рдЕрд▓реНрдлрд╛=2/(рдПрди+1)рдЕрд▓реНрдлрд╛рдПрди рдКрдкрд░ рдИрдПрдордП рдФрд░ рдПрд╕рдПрдордП рд╡рдЬрди рдЪрд╛рд░реНрдЯ рдХреЗ рджреНрд░рд╡реНрдпрдорд╛рди рдХрд╛ рдХреЗрдВрджреНрд░ рдмрд░рд╛рдмрд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдХреЛрдб рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИред

 function ema($close, window, weight = null) { weight = weight ? weight : 2 / (window + 1); let ema = [ mean($close.slice(0, window)) ]; for (let i = 1; i < $close.length; i++) { ema.push($close[i] * weight + ema[i - 1] * (1 - weight)); }; return ema; } 

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдпрд╣ рд╕рдорд╛рди рдЪрд▓рддреА рдФрд╕рдд рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реЛрддреА рд╣реИред

рдШрд╛рддреАрдп рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ (EMA)
рдЙрдкрдпреЛрдЧ рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рд╡рд╣ рдЖрдкрдХреЗ рдЕрдиреБрднрд╡ рдФрд░ рдкреНрд░рдпреБрдХреНрдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рдЗрд╕ рд╕рд╛рдЗрдЯ рдкрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЪрд▓рддреА рдФрд╕рдд рдЕрднрд┐рд╕рд░рдг рд╡рд┐рдЪрд▓рди (рдПрдордПрд╕реАрдбреА)


1979 рдореЗрдВ рдЬреЗрд░рд╛рд▓реНрдб рдЕрдкреЗрд▓ рдПрдХ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕рдмрд╕реЗ рдкреНрд░рднрд╛рд╡реА рд╕рдВрдХреЗрддрдХ рдЙрдкрд▓рдмреНрдз рдерд╛ред рдпрд╣ рджреЛ рдкреНрд░рд╡реГрддреНрддрд┐ рдИрдПрдордП рд╕рдВрдХреЗрддрдХреЛрдВ рдХреЛ рдПрдХ рдЧрддрд┐ рдерд░рдерд░рд╛рдирд╡рд╛рд▓рд╛ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ рдФрд░ рджреЛрдиреЛрдВ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╡реГрддреНрддрд┐ рдФрд░ рдЧрддрд┐ред рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдПрдордПрд╕реАрдбреА рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдмреЛрд▓рдирд╛ рдпрд╣ рдХреАрдордд рдХрд╛ рдПрдХ рд╡реНрдпреБрддреНрдкрдиреНрди рд╣реИред рдпрд╣ рдПрдХ рдУрд╡рд░рд▓реЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдирдИ рд╕рдордиреНрд╡рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдФрд░ рдПрдХ рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред

рдЪрд▓рддреА рдФрд╕рдд рдЕрднрд┐рд╕рд░рдг рд╡рд┐рдЪрд▓рди (рдПрдордПрд╕реАрдбреА)

рдПрдордПрд╕реАрдбреА рд▓рд╛рдЗрди рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рд▓рдВрдмреЗ рдИрдПрдордП рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдмрд╕ред рдЫреЛрдЯреА рдЦрд┐рдбрд╝рдХреА рдХреЗ рд╕рд╛рде рдЗрд╕ рд▓рд╛рдЗрди рдХрд╛ рдПрдХ рдФрд░ рдИрдПрдордП рд╕рд┐рдЧреНрдирд▓ рд▓рд╛рдЗрди рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧрд╛ред рдкрд┐рдЫрд▓реЗ рджреЛ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдХреЗ рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

 function macd($close, wshort, wlong, wsig) { let line = pointwise((a, b) => a - b, ema($close, wshort), ema($close, wlong)); let signal = ema(line, wsig); let hist = pointwise((a, b) => a - b, line, signal); return { line : line, signal : signal, hist : hist }; } 

рд╕рд╣рд╕рдВрдмрдВрдз рдореИрдЯреНрд░рд┐рдХреНрд╕


рдпрджрд┐ рдЖрдк рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рдирд┐рд╡реЗрд╢ рдФрд░ рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рджрдЦрд▓ рджреЗрддреЗ рд╣реИрдВ рддреЛ рдЖрдк рд╕рд╣рд╕рдВрдмрдВрдз рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдЙрдкрдпреЛрдЧреА рдкрд╛рдПрдВрдЧреЗред

 function cor(f, g) { let Ef = mean(f), Eg = mean(g); let Ef2 = mean(pointwise((a) => a * a, f)); let Eg2 = mean(pointwise((a) => a * a, g)); let Efg = mean(pointwise((a, b) => a * b, f, g)); return (Efg - Ef * Eg) / Math.sqrt((Ef2 - Ef * Ef) * (Eg2 - Eg * Eg)); } 

рдпрд╣рд╛рдВ 2 рдорд╣реАрдиреЗ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рдХрд╛ рд╕рд╣рд╕рдВрдмрдВрдз рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реИред



рд╕рдВрдХреЗрддрдХ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг


рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдВрдХреЗрддрдХ рдорд╛рдиреЛрдВ рдХреА рд╕рдЯреАрдХ рддрд╛рд▓рд┐рдХрд╛рдПрдБ рд╣реИрдВ, рддреЛ рд╣рдо рдЕрдкрдиреА рдЧрдгрдирд╛ рдХрд╛ рд╕рдЯреАрдХ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдк рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдорд╛рдзреНрдп рд╡рд░реНрдЧ рддреНрд░реБрдЯрд┐ рдмреЗрд╣рддрд░ рдлрд┐рдЯ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрд░рдПрдордПрд╕рдИ рдХреЗ рд╡рд┐рдкрд░реАрдд рдЖрдпрд╛рдо рд░рд╣рд┐рдд рдорд╛рддреНрд░рд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕рд╛рдкреЗрдХреНрд╖ рд╣реИред

 mathrmNRMSE= leftред sqrt frac sum( hatxiтИТxi)2N Middle/( maxxiтИТ minxi) $

ред


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд┐рдЯрдХреЙрдЗрди рдХреА рдХреАрдордд $ 20,000 рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ $ 10 рдХрд╛ рдЕрдВрддрд░ рдЫреЛрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЬрдм рдкреВрд░реЗ altcoin рдХреА рдХреАрдордд $ 1 рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ $ 10 рдХрд╛ рдЕрдВрддрд░ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИред

 function nrmse(f, g) { let sqrDiff = pointwise((a, b) => (a - b) * (a - b), f, g); return Math.sqrt(mean(sqrDiff)) / (Math.max(...f) - Math.min(...f)); } 

рд╣рдо рдПрдордПрдкреАрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдпрд╣ рдХрдореНрдпреВрдЯреЗрдЯрд┐рд╡ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╢реВрдиреНрдп рдХреЗ рдкрд╛рд╕ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рддреЛ рдпрд╣ рдмрд╛рдд рд╣реИред рдХреЛрдб рдХреА рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╣рдо рдмреБрдирд┐рдпрд╛рджреА рддрдХрдиреАрдХреА рд╕рдВрдХреЗрддрдХреЛрдВ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдЖрдкрдХреЛ рдпрд╣ рдкрд╕рдВрдж рд╣реИ рддреЛ рдореЗрд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЬреАрдердм рдкрд░ рдЪреЗрдХ рдХрд░реЗрдВред рд╡рд╣рд╛рдВ рдЖрдк рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдмреЙрдЯ рдЪреЗрдХ рдЬрд╝рд┐рдЧ-рдЬрд╝реИрдЧ рдЗрдВрдбрд┐рдХреЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВред

рд╕рдВрджрд░реНрдн


1. рд╕реНрдЯреЙрдХрдЪрд╛рд░реНрдЯреНрд╕ - рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рдПрдХ рд╕реВрдЪреАред
2. рдХреНрд░рд┐рдкреНрдЯреЛрд╡реИрдЪ - рд╕рдВрдХреЗрддрдХреЛрдВ рдХреЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЯреНрдпреВрди рдХрд┐рдП рдЧрдП рдкреИрд░рд╛рдореАрдЯрд░ред
3. рдЧрд┐рддреБрдм - рдореЗрд░рд╛ рд╕реНрд░реЛрдд рдХреЛрдбред

PS рдпрджрд┐ рдЖрдкрдХреЛ рдкрд╛рда рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕реАрдзреЗ рдмрддрд╛рдПрдВред

Source: https://habr.com/ru/post/hi440090/


All Articles