Published source code is subject to the terms of the GNU Affero General Public License v3.0 Old flaws have been resolved.
This script describes and provides backtesting functionality to internal strategy of algorithmic crypto trading software "HatiKO bot".
Suitable for backtesting any Cryptocurrency Pair on any Exchange/Platform, any Timeframe.
Core Mechanics of this strategy are based on theory of price always returning to Moving Average + Envelopes indicator (Moving_average_envelope from Wiki)
Developement of this script and trading software is inspired by:
"Essential Technical Analysis: Tools and Techniques to Spot Market Trends" by Leigh Stevens (published on 12th of April 2002) "Moving Average Envelopes" by ChartSchool, StockCharts platform (published on 13th of April 2015 or earlier) "ΠΠΎΠ»Ρ ΠΠΎΠ»Π΅ΡΠ½ΡΠΊ" from Crypto Times channel ("ΠΠ΅ΡΠΎΠ΄ ΡΠ΅ΡΠΊΠ°", published on 19th of August 2018) "3 ways to use Moving Average Envelopes" by Rich Fitton, published on Trader's Nest (published on 28st of November 2018 or earlier) noro's "Robot WhiteBox ShiftMA" strategy v1 script, published on TradingView platform (published on 29th of August 2018) "Moving Average Envelopes: A Popular Trading Tool" Investopedia article (published 25th of June 2019) and KROOL1980's blogpost on Argolabs ("ΠΡΠΈΠ΄Π΅ΡΡΡΠ²ΠΎ ΠΈΠ»ΠΈ Π‘Π΅ΡΠΊΠ° ΠΊΠ°ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΡΠΈΠ±ΡΠ»ΠΈ Π½Π° ΡΠΎΡΠ΅ΠΊΡ", published on 27th of February 2015)
Core Features:
1) Up to 9 Envelopes in each direction (Long/Short) 2) Use any of 6 different basis MAs, optionally use different MAs for Opening and Closure 3) Use different Timeframes for MA calculation, without any repainting and lookahead bias. 4) Fixed order size, not Martingale strategy 5) Close open position earlier by using Deviation parameter 6) PineScript v4 code 7) Anti-Spire (protection against situations like LTCUSD (Bitmex) 12/26/2020) 9) Lottery for each level 10) Total profit for the day. When activated, a histogram is drawn.
Options description:
Lot - % from your initial balance to use for order size calculation
Timeframe Short - Timeframe to use for Short Opening MA calculation, can be chosen from dropdown list, default is Current Graph Timeframe MA Type Short - Type of MA to use for Short Opening MA calculation, can be chosen from dropdown list, default is SMA Data Short - Source of Price for Short Opening MA calculation, can be chosen from dropdown list, default is OHLC4 MA Length Short - Period used for Short Opening MA calculation, should be >=1, default is 3 MA offset Short - Offset for MA value used for Short Envelopes calculation, should be >= 0, default is 0
Timeframe Long - Timeframe to use for Long Opening MA calculation, can be chosen from dropdown list, default is Current Graph Timeframe MA Type Long - Type of MA to use for Long Opening MA calculation, can be chosen from dropdown list, default is SMA Data Long - Source of Price for Long Opening MA calculation, can be chosen from dropdown list, default is OHLC4 MA Length Long - Period used for Long Opening MA calculation, should be >=1, default is 3 MA offset Long - Offset for MA value used for Long Envelopes calculation, should be >= 0, default is 0
Mode close MA Short - Enable different MA for Short position Closure, default is "false". If false, Closure MA = Opening MA
Timeframe Short Close - Timeframe to use for Short Position Closure MA calculation, can be chosen from dropdown list, default is Current Graph Timeframe MA Type Close Short - Type of MA to use for Short Position Closure MA calculation, can be chosen from dropdown list, default is SMA Data Short Close - Source of Price for Short Closure MA calculation, can be chosen from dropdown list, default is OHLC4 MA Length Short Close - Period used for Short Opening MA calculation, should be >=1, default is 3 Short Deviation - % to move from MA value, used to close position above or beyond MA, can be negative, default is 0 MA offset Short Close - Offset for MA value used for Short Position Closure calculation, should be >= 0, default is 0
Mode close MA Long - Enable different MA for Long position Closure, default is "false". If false, Closure MA = Opening MA
Timeframe Long Close - Timeframe to use for Long Position Closure MA calculation, can be chosen from dropdown list, default is Current Graph Timeframe MA Type Close Long - Type of MA to use for Long Position Closure MA calculation, can be chosen from dropdown list, default is SMA Data Long Close - Source of Price for Long Closure MA calculation, can be chosen from dropdown list, default is OHLC4 MA Length Long Close - Period used for Long Opening MA calculation, should be >=1, default is 3 Long Deviation - % to move from MA value, used to close position above or beyond MA, can be negative, default is 0 MA offset Long Close - Offset for MA value used for Long Position Closure calculation, should be >= 0, default is 0
Short 1..9 - % from MA value to put Envelopes at, for Shorts numbers should be positive, the higher is number, the higher should be Short n position, example: "Short 1 = 1, Short 2 = 2, etc."
Long 1..9 - % from MA value to put Envelopes at, for Longs numbers should be negative, the lower is number, the lower should be Long n position, example: "Long 1 = -1, Long 2 = -2, etc."
Graph notes:
Green lines - Long Envelopes . Red lines - Short Envelopes . Orange line - MA for closing of Short positions. Lime line - MA for closing of Long positions. Histogram - Profit for the last day. Black = 0, Green> 0, Red <0.
Old flaws have been resolved. At the moment, there is one bug - if the closing and opening occurs on the same candle, then there is no close on the same candle. The situation is possible with small values ββof Envelope.
Timeframe Short - ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΡΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ° MA Type Short - ΡΠΈΠΏ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΡΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ SMA Data Short - ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΡΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ OHLC4 MA Length Short - ΠΏΠ΅ΡΠΈΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΡΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ >= 1, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 3 MA Offset Short - ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° Π¨ΠΎΡΡ ΠΡΠ΄Π΅ΡΠΎΠ², Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ >= 0, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0
Timeframe Long - ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΡΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ° MA Type Long - ΡΠΈΠΏ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΡΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ SMA Data Long - ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΡΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ OHLC4 MA Length Long - ΠΏΠ΅ΡΠΈΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΡΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ >= 1, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 3 MA Offset Long - ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠΎΠ½Π³ ΠΡΠ΄Π΅ΡΠΎΠ², Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ >= 0, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0
Mode close MA Short - ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ MA Π΄Π»Ρ Π·Π°ΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Β«falseΒ». ΠΡΠ»ΠΈ false, MA ΠΠ°ΠΊΡΡΡΠΈΡ = MA ΠΡΠΊΡΡΡΠΈΡ
Timeframe Short Close - ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΠ°ΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ° MA Type Close Short - ΡΠΈΠΏ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΡΠΈ ΡΠ°ΡΡΠ΅ΡΠ΅ ΠΠ ΠΠ°ΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ. MΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ SMA Data Short Close - ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΠ°ΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ OHLC4 MA Length Short Close - ΠΏΠ΅ΡΠΈΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΠ°ΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ >= 1, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 3 Short Deviation - % ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΊΡΡΡΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π²ΡΡΠ΅ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ΅ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0 MA Offset Short Close - ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° Π·Π°ΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ >= 0, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0
Mode close MA Long - ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°Π·Π½ΡΠ΅ MA Π΄Π»Ρ Π·Π°ΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Β«falseΒ». ΠΡΠ»ΠΈ false, MA ΠΠ°ΠΊΡΡΡΠΈΡ = MA ΠΡΠΊΡΡΡΠΈΡ
Timeframe Long Close - ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΠ°ΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ° MA Type Close Long - ΡΠΈΠΏ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΡΠΈ ΡΠ°ΡΡΠ΅ΡΠ΅ ΠΠ ΠΠ°ΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ. MΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ SMA Data Long Close - ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΠ°ΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ OHLC4 MA Length Long Close - ΠΏΠ΅ΡΠΈΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΠ°ΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ >= 1, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 3 Long Deviation -% Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΊΡΡΡΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π²ΡΡΠ΅ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ΅ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0 MA Offset Long Close - ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° Π·Π°ΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ >= 0, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0
Short 1..9 - % ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΡΠ΄Π΅ΡΠΎΠ², Π΄Π»Ρ Π¨ΠΎΡΡ ΠΡΠ΄Π΅ΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ, ΡΠ΅ΠΌ Π²ΡΡΠ΅ Π½ΠΎΠΌΠ΅Ρ, ΡΠ΅ΠΌ Π²ΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Short n, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: Β« Short 1 = 1, Short 2 = 2 ΠΈ Ρ.Π΄. " Long 1..9 - % ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΡΠ΄Π΅ΡΠΎΠ², Π΄Π»Ρ ΠΠΎΠ½Π³ ΠΡΠ΄Π΅ΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΡΠ΅ΠΌ Π½ΠΈΠΆΠ΅ ΡΠΈΡΠ»ΠΎ, ΡΠ΅ΠΌ Π½ΠΈΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Long n, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: Β« Long 1 = -1, Long 2 = -2, ΠΈ Ρ.Π΄."
Published source code is subject to the terms of the GNU Affero General Public License v3.0 Old flaws have been resolved.
This script describes and provides backtesting functionality to internal strategy of algorithmic crypto trading software "HatiKO bot".
Suitable for backtesting any Cryptocurrency Pair on any Exchange/Platform, any Timeframe.
Core Mechanics of this strategy are based on theory of price always returning to Moving Average + Envelopes indicator (Moving_average_envelope from Wiki)
Developement of this script and trading software is inspired by:
"Essential Technical Analysis: Tools and Techniques to Spot Market Trends" by Leigh Stevens (published on 12th of April 2002) "Moving Average Envelopes" by ChartSchool, StockCharts platform (published on 13th of April 2015 or earlier) "ΠΠΎΠ»Ρ ΠΠΎΠ»Π΅ΡΠ½ΡΠΊ" from Crypto Times channel ("ΠΠ΅ΡΠΎΠ΄ ΡΠ΅ΡΠΊΠ°", published on 19th of August 2018) "3 ways to use Moving Average Envelopes" by Rich Fitton, published on Trader's Nest (published on 28st of November 2018 or earlier) noro's "Robot WhiteBox ShiftMA" strategy v1 script, published on TradingView platform (published on 29th of August 2018) "Moving Average Envelopes: A Popular Trading Tool" Investopedia article (published 25th of June 2019) and KROOL1980's blogpost on Argolabs ("ΠΡΠΈΠ΄Π΅ΡΡΡΠ²ΠΎ ΠΈΠ»ΠΈ Π‘Π΅ΡΠΊΠ° ΠΊΠ°ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΡΠΈΠ±ΡΠ»ΠΈ Π½Π° ΡΠΎΡΠ΅ΠΊΡ", published on 27th of February 2015)
Core Features:
1) Up to 9 Envelopes in each direction (Long/Short) 2) Use any of 6 different basis MAs, optionally use different MAs for Opening and Closure 3) Use different Timeframes for MA calculation, without any repainting and lookahead bias. 4) Fixed order size, not Martingale strategy 5) Close open position earlier by using Deviation parameter 6) PineScript v4 code 7) Anti-Spire (protection against situations like LTCUSD (Bitmex) 12/26/2020) 9) Lottery for each level 10) Total profit for the day. When activated, a histogram is drawn.
Options description:
Lot - % from your initial balance to use for order size calculation
Timeframe Short - Timeframe to use for Short Opening MA calculation, can be chosen from dropdown list, default is Current Graph Timeframe MA Type Short - Type of MA to use for Short Opening MA calculation, can be chosen from dropdown list, default is SMA Data Short - Source of Price for Short Opening MA calculation, can be chosen from dropdown list, default is OHLC4 MA Length Short - Period used for Short Opening MA calculation, should be >=1, default is 3 MA offset Short - Offset for MA value used for Short Envelopes calculation, should be >= 0, default is 0
Timeframe Long - Timeframe to use for Long Opening MA calculation, can be chosen from dropdown list, default is Current Graph Timeframe MA Type Long - Type of MA to use for Long Opening MA calculation, can be chosen from dropdown list, default is SMA Data Long - Source of Price for Long Opening MA calculation, can be chosen from dropdown list, default is OHLC4 MA Length Long - Period used for Long Opening MA calculation, should be >=1, default is 3 MA offset Long - Offset for MA value used for Long Envelopes calculation, should be >= 0, default is 0
Mode close MA Short - Enable different MA for Short position Closure, default is "false". If false, Closure MA = Opening MA
Timeframe Short Close - Timeframe to use for Short Position Closure MA calculation, can be chosen from dropdown list, default is Current Graph Timeframe MA Type Close Short - Type of MA to use for Short Position Closure MA calculation, can be chosen from dropdown list, default is SMA Data Short Close - Source of Price for Short Closure MA calculation, can be chosen from dropdown list, default is OHLC4 MA Length Short Close - Period used for Short Opening MA calculation, should be >=1, default is 3 Short Deviation - % to move from MA value, used to close position above or beyond MA, can be negative, default is 0 MA offset Short Close - Offset for MA value used for Short Position Closure calculation, should be >= 0, default is 0
Mode close MA Long - Enable different MA for Long position Closure, default is "false". If false, Closure MA = Opening MA
Timeframe Long Close - Timeframe to use for Long Position Closure MA calculation, can be chosen from dropdown list, default is Current Graph Timeframe MA Type Close Long - Type of MA to use for Long Position Closure MA calculation, can be chosen from dropdown list, default is SMA Data Long Close - Source of Price for Long Closure MA calculation, can be chosen from dropdown list, default is OHLC4 MA Length Long Close - Period used for Long Opening MA calculation, should be >=1, default is 3 Long Deviation - % to move from MA value, used to close position above or beyond MA, can be negative, default is 0 MA offset Long Close - Offset for MA value used for Long Position Closure calculation, should be >= 0, default is 0
Short 1..9 - % from MA value to put Envelopes at, for Shorts numbers should be positive, the higher is number, the higher should be Short n position, example: "Short 1 = 1, Short 2 = 2, etc."
Long 1..9 - % from MA value to put Envelopes at, for Longs numbers should be negative, the lower is number, the lower should be Long n position, example: "Long 1 = -1, Long 2 = -2, etc."
Graph notes:
Green lines - Long Envelopes . Red lines - Short Envelopes . Orange line - MA for closing of Short positions. Lime line - MA for closing of Long positions. Histogram - Profit for the last day. Black = 0, Green> 0, Red <0.
Old flaws have been resolved. At the moment, there is one bug - if the closing and opening occurs on the same candle, then there is no close on the same candle. The situation is possible with small values ββof Envelope.
Timeframe Short - ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΡΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ° MA Type Short - ΡΠΈΠΏ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΡΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ SMA Data Short - ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΡΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ OHLC4 MA Length Short - ΠΏΠ΅ΡΠΈΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΡΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ >= 1, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 3 MA Offset Short - ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° Π¨ΠΎΡΡ ΠΡΠ΄Π΅ΡΠΎΠ², Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ >= 0, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0
Timeframe Long - ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΡΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ° MA Type Long - ΡΠΈΠΏ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΡΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ SMA Data Long - ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΡΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ OHLC4 MA Length Long - ΠΏΠ΅ΡΠΈΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΡΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ >= 1, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 3 MA Offset Long - ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠΎΠ½Π³ ΠΡΠ΄Π΅ΡΠΎΠ², Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ >= 0, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0
Mode close MA Short - ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ MA Π΄Π»Ρ Π·Π°ΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Β«falseΒ». ΠΡΠ»ΠΈ false, MA ΠΠ°ΠΊΡΡΡΠΈΡ = MA ΠΡΠΊΡΡΡΠΈΡ
Timeframe Short Close - ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΠ°ΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ° MA Type Close Short - ΡΠΈΠΏ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΡΠΈ ΡΠ°ΡΡΠ΅ΡΠ΅ ΠΠ ΠΠ°ΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ. MΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ SMA Data Short Close - ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΠ°ΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ OHLC4 MA Length Short Close - ΠΏΠ΅ΡΠΈΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΠ°ΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ >= 1, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 3 Short Deviation - % ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΊΡΡΡΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π²ΡΡΠ΅ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ΅ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0 MA Offset Short Close - ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° Π·Π°ΠΊΡΡΡΠΈΡ Π¨ΠΎΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ >= 0, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0
Mode close MA Long - ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°Π·Π½ΡΠ΅ MA Π΄Π»Ρ Π·Π°ΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Β«falseΒ». ΠΡΠ»ΠΈ false, MA ΠΠ°ΠΊΡΡΡΠΈΡ = MA ΠΡΠΊΡΡΡΠΈΡ
Timeframe Long Close - ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΠ°ΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - ΡΠ°ΠΉΠΌΡΡΠ΅ΠΉΠΌ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ° MA Type Close Long - ΡΠΈΠΏ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΡΠΈ ΡΠ°ΡΡΠ΅ΡΠ΅ ΠΠ ΠΠ°ΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ. MΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ SMA Data Long Close - ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΠ°ΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ OHLC4 MA Length Long Close - ΠΏΠ΅ΡΠΈΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΠ ΠΠ°ΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ >= 1, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 3 Long Deviation -% Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΊΡΡΡΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π²ΡΡΠ΅ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ΅ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0 MA Offset Long Close - ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° Π·Π°ΠΊΡΡΡΠΈΡ ΠΠΎΠ½Π³ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ >= 0, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0
Short 1..9 - % ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΡΠ΄Π΅ΡΠΎΠ², Π΄Π»Ρ Π¨ΠΎΡΡ ΠΡΠ΄Π΅ΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ, ΡΠ΅ΠΌ Π²ΡΡΠ΅ Π½ΠΎΠΌΠ΅Ρ, ΡΠ΅ΠΌ Π²ΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Short n, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: Β« Short 1 = 1, Short 2 = 2 ΠΈ Ρ.Π΄. " Long 1..9 - % ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MA Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΡΠ΄Π΅ΡΠΎΠ², Π΄Π»Ρ ΠΠΎΠ½Π³ ΠΡΠ΄Π΅ΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΡΠ΅ΠΌ Π½ΠΈΠΆΠ΅ ΡΠΈΡΠ»ΠΎ, ΡΠ΅ΠΌ Π½ΠΈΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Long n, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: Β« Long 1 = -1, Long 2 = -2, ΠΈ Ρ.Π΄."