unexpected end of program ΠΊΠ°ΠΊ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π² ΠΊΠΎΠ΄Π΅ ΡΠΎΠ²Π΅ΡΠ½ΠΈΠΊΠ° mq4
Π Π΅ΡΠΈΠ» ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΠ²Π΅ΡΠ½ΠΈΠΊΠ° ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΠ· ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° mql4. ΠΠΎ ΡΠ². Π²Π΅ΡΠ½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΠ΄Π°Π΅Ρ, ΡΠΆΠ΅ Π½Π΅Π΄Π΅Π»Ρ Ρ Π½ΠΈΠΌ ΠΏΠ°ΡΡΡΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΡΡ ΠΎΠ΄ΠΈΡ.
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎ-ΡΠΎ ΡΠ±ΡΠ°ΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠΊΠΎΠ±.
ΠΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ°ΠΊ Π½Π΅ Π½Π°Π΄ΠΎ ΠΏΠΈΡΠ°ΡΡ Π±ΡΠ» Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅ )))
Π’Π°ΠΌ ΠΊΡΡΠ° ΠΎΡΠΈΠ±ΠΎΠΊ, Π·Π½Π°ΠΊΠΈ ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ Π³Π΄Π΅ Π½Π΅ Π½Π°Π΄ΠΎ, ΡΠΊΠΎΠ±ΠΊΠΈ ΡΠΈΠ³ΡΡΠ½ΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΡΡΠΈΡΠ°Π½Ρ, ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ, ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΎ. ΠΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄.
ΡΠΊ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠΎ ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΎΡΠΈΠ±ΠΊΠ°Ρ . ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡ ΡΡΠΎ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΡΠ·Π½Π°ΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ
Π²ΠΎΡ ΡΡΠΎ ΡΠ΅Π³ΠΎ Π² ΡΡΠ°ΡΡΠ΅ Π΄Π΅Π»Π°Π΅Ρ?
Ρ ΠΠ°Ρ ΠΆΠ΅ ΡΠΊΡΠΏΠ΅ΡΡ Π° Π½Π΅ ΠΈΠ½Π΄ΡΠΊ.
ΠΏΠΎΡΠ΅ΠΌΡ ΡΠΈΠΏ Π½Π΅ Π·Π°Π΄Π°Π½?
Π° Π³Π΄Π΅ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ°Ρ ΡΠΊΠΎΠ±ΠΊΠ°?
Π° ΡΡΠΎ ΡΠ΅Π³ΠΎ Π΅ΡΠ΅ Π·Π° Π½ΠΎΠ²ΠΎΡΡΡ?
ΠΏΠΎΠΊΠ°ΠΆΠΈΡΠ΅ Π³Π΄Π΅ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ?
ΠΏΠΎΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠ°Ρ ΡΡΠΎΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅ Π° Π½Π΅ ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ? Π·Π°ΡΠ΅ΠΌ Π΄Π²Π° ΡΠ°Π·Π° ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΏΠΈΡΠ°ΡΡ?
ΡΡΠ°Π²ΠΈΡΠ΅ Π·Π°ΠΏΡΡΡΡ ΠΏΠΈΡΠΈΡΠ΅ ΡΠ°ΠΊ:
ΠΠ°Π»ΡΡΠ΅ ΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π΅ ΡΡΠ°Π», ΡΡΡΠ°Π»,
Unexpected end of program and unbalanced parentheses
Scroll down until you see the function definitions start to skip right. This is not correct since function definitions always have to occur outside if blocks. So your missing brace is somewhere up from this point.
This is your code after application of Styler:
Here is a good tip that I use till today to avoid this problem. Always, always, always create parentheses in pairs. If you write one «(» go ahead and write the other one «)», then just backspace and fill in the content. If you are using a bracket I usually create the ending bracket on the line below like this.
then I just place my cursor between the brackets and fill it with data.
Scroll down until you see the function definitions start to skip right. This is not correct since function definitions always have to occur outside if blocks. So your missing brace is somewhere up from this point.
This is your code after application of Styler:
I applied the Styler, Code looking much more properly arranged but the problem persist and where ever I put a parentheses creates more errors rather than the two i currently have. Thanks for your effort Lippmaje.
ΠΡΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡΡ
ΠΠΎΠΌΠΎΠ³ΠΈΡΠ΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π΄Π²Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
//| Test advisor on TMA_Fair.mq4 |
//| Copyright 2017, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+——————————————————————+
#property copyright «Copyright 2017, MetaQuotes Software Corp.»
#property link «https://www.mql5.com»
#property version «1.00»
#property strict
>
//+——————————————————————+
//| Expert tick function |
//+——————————————————————+
void OnTick()
<
PRICE_HIGH= iCustom(NULL,0,»TMA_Fair»,TimeFrame,HalfLength,Price,ATRMultiplier,ATRPeriod,Interpolate,1,0);
PRICE_LOW = iCustom(NULL,0,»TMA_Fair»,TimeFrame,HalfLength,Price,ATRMultiplier,ATRPeriod,Interpolate,2,0);
if(OrderSelect(ticket,SELECT_BY_TICKET))
if(!OrderModify(ticket,OrderOpenPrice(),SL,TP,0))
Print(» ΠΡΠΈΠ±ΠΊΠ° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΡΠ΄Π΅ΡΠ° Π½Π° ΠΏΡΠΎΠ΄Π°ΠΆΡ!»);
>
>
Π£ Π²Π°Ρ Π½Π΅ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ Π±Π°Π»Π°Π½Ρ ΡΠΊΠΎΠ±ΠΎΠΊ, ΠΈΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄ΡΠΌΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ΅ ΡΡΠΎ-ΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π΄Π°Π»ΡΡΠ΅. Π ΡΠ΅ΠΌ Π²Π°ΠΌ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ.
ΠΠΎΠΌΠΎΠ³ΠΈΡΠ΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π΄Π²Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
//| Test advisor on TMA_Fair.mq4 |
//| Copyright 2017, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+——————————————————————+
#property copyright «Copyright 2017, MetaQuotes Software Corp.»
#property link «https://www.mql5.com»
#property version «1.00»
#property strict
>
//+——————————————————————+
//| Expert tick function |
//+——————————————————————+
void OnTick()
<
PRICE_HIGH= iCustom(NULL,0,»TMA_Fair»,TimeFrame,HalfLength,Price,ATRMultiplier,ATRPeriod,Interpolate,1,0);
PRICE_LOW = iCustom(NULL,0,»TMA_Fair»,TimeFrame,HalfLength,Price,ATRMultiplier,ATRPeriod,Interpolate,2,0);
if(OrderSelect(ticket,SELECT_BY_TICKET))
if(!OrderModify(ticket,OrderOpenPrice(),SL,TP,0))
Print(» ΠΡΠΈΠ±ΠΊΠ° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΡΠ΄Π΅ΡΠ° Π½Π° ΠΏΡΠΎΠ΄Π°ΠΆΡ!»);
>
>
ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΡΡΠ½ΡΠΊΠΈΠΈ void OnTick() ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΡΠ»ΠΎΠ²ΠΈΠΉ if(CountBuy(), Π΅ΡΠ»ΠΈ Ρ ΡΡΠ°Π²Π»Ρ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΡΡΠ½ΡΠΊΠΈΠΈ void OnTick(),
ΡΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΡΡ ΠΎΠ΄ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ :
Π― ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, Π½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π΅ ΠΌΠΎΠ³Ρ (Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Ρ ΡΡΠΈΡΡ ΡΠ·ΡΠΊ MQL4)
Π― ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, Π½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π΅ ΠΌΠΎΠ³Ρ (Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Ρ ΡΡΠΈΡΡ ΡΠ·ΡΠΊ MQL4)
ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΡΡΠ½ΡΠΊΠΈΠΈ void OnTick() ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΡΠ»ΠΎΠ²ΠΈΠΉ if(CountBuy(), Π΅ΡΠ»ΠΈ Ρ ΡΡΠ°Π²Π»Ρ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΡΡΠ½ΡΠΊΠΈΠΈ void OnTick(),
ΡΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΡΡ ΠΎΠ΄ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ :
Π― ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, Π½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π΅ ΠΌΠΎΠ³Ρ (Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Ρ ΡΡΠΈΡΡ ΡΠ·ΡΠΊ MQL4)
Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° MQL4 ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΡΠ·ΡΠΊΠ° MQL4 Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ³ΡΡ Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
Π ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈΡΡ ΡΡΠ΅Π΄ΠΎΠΉ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΈ ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΠ°Π±ΠΎΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π²ΡΡ ΠΎΠ΄ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ²Π»ΡΡΡΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠΌΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ. ΠΡΠΎΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π»ΠΈΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΡ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎ ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π½Π°ΡΡ ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ.
ΠΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄Π°.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ.
1. ΠΡΠΈΠ±ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
ΠΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π°.
ΠΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²ΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠ³ΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ:
ΠΡΠΎΡ ΡΠ΅ΠΆΠΈΠΌ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠΎΠΈΡΠΊ ΠΎΡΠΈΠ±ΠΎΠΊ.
1.1. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ
ΠΡΠ»ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ»ΠΎΠ²:
ΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ :
Π ΠΈΡ.1. ΠΡΠΈΠ±ΠΊΠΈ «unexpected token» ΠΈ «name expected»
ΠΠ»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
1.2. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΡΠ»ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ($, @, ΡΠΎΡΠΊΠ°):
ΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ :
Π ΠΈΡ.2. ΠΡΠΈΠ±ΠΊΠΈ «unknown symbol» ΠΈ «semicolon expected»
ΠΠ»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ.
1.3. ΠΡΠΈΠ±ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° switch
Π‘ΡΠ°ΡΠ°Ρ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° switch:
Π Π½ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° switch Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ΅Π»ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ:
Π ΠΈΡ.3. ΠΡΠΈΠ±ΠΊΠΈ «illegal switch expression type» ΠΈ «constant expression is not integral»
Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²Π½ΡΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
1.4. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΡΠΎΠΌΠ΅ void, Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠΈ ΡΡΡΠΎΠ³ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ (strict) Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°:
Π ΠΈΡ.4. ΠΡΠΈΠ±ΠΊΠ° «not all control paths return a value»
Π ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅:
Π ΠΈΡ.5. ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ «not all control paths return a value»
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ:
ΡΠΎ ΠΏΡΠΈ ΡΡΡΠΎΠ³ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°:
Π ΠΈΡ.6. ΠΡΠΈΠ±ΠΊΠ° «function must return a value»
Π ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅:
ΠΠ»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΊΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΠΈ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° return c Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΏΠ°.
1.5. ΠΠ°ΡΡΠΈΠ²Ρ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠ°ΡΡΠΈΠ²Ρ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅.
ΠΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΈ ΡΡΡΠΎΠ³ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ (strict) ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅:
Π ΠΈΡ.8. ΠΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° «arrays passed by reference only»
Π ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅:
Π ΠΈΡ.9. ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° «arrays passed by reference only»
ΠΠ»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π½ΡΠΆΠ½ΠΎ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΏΡΠ΅ΡΠΈΠΊΡ & ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°:
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ( Time[], Open[], High[], Low[], Close[], Volume[]) Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ·ΠΎΠ²:
Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅:
ΠΠ»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°:
2. ΠΡΠΈΠ±ΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΡΠΈΠ±ΠΊΠΈ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈΠ½ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (runtime errors). Π’Π°ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎ Π΅Π΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ Π²ΡΡ ΠΎΠ΄Ρ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π°.
2.1. ΠΡΡ ΠΎΠ΄ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° (Array out of range)
ΠΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π² ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°Ρ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ½ΡΠΌ Π±ΡΡΠ΅ΡΠ°ΠΌ. Π€ΡΠ½ΠΊΡΠΈΡ IndicatorCounted() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΡΠΎΠ², Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ²ΡΠΈΡ ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ² Π½Π° ΡΠΆΠ΅ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π½ΡΡ ΡΠ°Π½Π΅Π΅ Π±Π°ΡΠ°Ρ Π½Π΅ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΡΡΠ΅ΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠ΅ΡΠΎΠ² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π±Π°ΡΠΎΠ².
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π°Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄:
Π§Π°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ»ΡΡΠ°Ρ counted_bars==0 (Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ limit Π½ΡΠΆΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ°Π²Π½ΠΎΠ΅ 1 + ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΠ»Π°).
Π’Π°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ start() ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ½ΡΡ Π±ΡΡΠ΅ΡΠΎΠ² ΠΎΡ 0 Π΄ΠΎ Bars()-1. ΠΡΠ»ΠΈ Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ½ΡΠΌΠΈ Π±ΡΡΠ΅ΡΠ°ΠΌΠΈ, ΡΠΎ ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ArrayResize() Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ½ΡΡ Π±ΡΡΠ΅ΡΠΎΠ². ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ArraySize() Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ½ΡΡ Π±ΡΡΠ΅ΡΠΎΠ² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
2.2. ΠΠ΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ (Zero divide)
ΠΡΠΈΠ±ΠΊΠ° «Zero divide» Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ:
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ «ΠΠΊΡΠΏΠ΅ΡΡΡ» Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
Π ΠΈΡ.11. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ «zero divide»
ΠΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π² ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π²Π½Π΅ΡΠ½ΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΎΡΠ³ΠΎΠ²Π»ΠΈ, ΡΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π° Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΌΠ°ΡΠΆΠΈ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°Π²Π½Π° 0 Π΅ΡΠ»ΠΈ Π½Π΅Ρ ΠΎΡΠΊΡΡΡΡΡ ΠΎΡΠ΄Π΅ΡΠΎΠ². ΠΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: Π΅ΡΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°, ΡΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Π΅Π³ΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π½Π΅Π»ΡΠ·Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ°ΡΠ°ΡΡΡΡ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΈ ΡΠ°Π±ΠΎΡΠ° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ:
Π ΠΈΡ. 12. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ
2.3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ 0 Π²ΠΌΠ΅ΡΡΠΎ NULL Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°
Π ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π΄ΠΎΠΏΡΡΠΊΠ°Π»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ 0 (Π½ΡΠ»Ρ) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Π² ΡΡΠ½ΠΊΡΠΈΡΡ , ΡΡΠ΅Π±ΡΡΡΠΈΡ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ° Moving Average Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π Π½ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ΅ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π½ΡΠΆΠ½ΠΎ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ NULL:
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Symbol() ΠΈ Period().
2.4. Π‘ΡΡΠΎΠΊΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ UnicodΠ΅ ΠΈ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² DLL
Π‘ΡΡΠΎΠΊΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Unicode.
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠ°ΠΊΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Windows. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ wininet.dll Π²ΠΌΠ΅ΡΡΠΎ InternetOpenA() ΠΈ InternetOpenUrlA () ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ InternetOpenW() ΠΈ InternetOpenUrlW().
Π MQL4 ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π°ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΠ° ΡΡΡΠΎΠΊ (ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 12 Π±Π°ΠΉΡ), ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΡΡΠΎΠΊ Π² DLL ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ MqlString:
2.5. Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
Π Π½ΠΎΠ²ΠΎΠΌ MQL4 ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ»Π°Π³ΠΈ FILE_SHARE_WRITE ΠΈ FILE_SHARE_READ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
Π ΡΠ»ΡΡΠ°Π΅ ΠΈΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΡΡΡ Π² ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΠΊΠΎΠΌΡ Π΅Π³ΠΎ ΠΎΡΠΊΡΡΠ²Π°ΡΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΡΡΡ ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΠΈΡΡΠΎΠΌ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΎΡΡΠ»Π°ΠΉΠ½ΠΎΠ²ΡΠΌΠΈ Π³ΡΠ°ΡΠΈΠΊΠ°ΠΌΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ»Π°Π³ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°:
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΡΡΠ°ΡΡΠ΅ Π² ΡΡΠ°ΡΡΠ΅ «ΠΡΡΠ»Π°ΠΉΠ½ΠΎΠ²ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΈ Π½ΠΎΠ²ΡΠΉ MQL4«.
2.6. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ datetime
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π²Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° datetime Π² ΡΡΡΠΎΠΊΡ ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΏΡΡΠΊΠ° ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅, ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅.
3. ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°
Π§ΠΈΡΡΡΠΉ ΠΊΠΎΠ΄ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ.
3.1. ΠΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΡΠ»ΠΈ Π½Π° Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΌ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½ΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ:
ΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΊΠ°ΠΆΠ΅Ρ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ:
Π ΠΈΡ.13. ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ «declaration of ‘%’ hides global declaration at line %»
ΠΠ»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
3.2. ΠΠ΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΈΠΏΠΎΠ²
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π² Π²Π΅Π΄Π΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ².
Π ΡΡΡΠΎΠ³ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΈ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΈΠΏΠΎΠ² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ:
Π ΠΈΡ.14. ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ «possible loss of data due to type conversion» ΠΈ «implicit conversion from ‘number’ to ‘string’
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°Π΅Ρ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΠΎΡΠ΅ΡΠ΅ ΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π΅ΡΠ²Π½ΠΎΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΈΠΏΠ° int Π² string.
ΠΠ»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ²:
3.3. ΠΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
ΠΠ°Π»ΠΈΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (Π»ΠΈΡΠ½ΠΈΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ) Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΎΡΠΎΡΠΈΠΌ ΡΠΎΠ½ΠΎΠΌ.
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠ°ΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
Π ΠΈΡ.15. ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ «variable ‘%’ not used’
ΠΠ»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΠ±ΡΠ°ΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ· ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠ²ΠΎΠ΄Ρ
Π ΡΡΠ°ΡΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠ³ΡΡ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠ³ΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
Π Π½ΠΎΠ²ΠΎΠΌ ΠΠ’4 Version : 4,00 Build 625 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡΡ ΡΡΠ΅Π΄Ρ, Π½ΠΎ «ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ» Π²ΡΠ΄Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΎ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΠΎΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΡΠΎΠ²Π΅ΡΠ½ΠΈΠΊΠ°Ρ .
ΠΠ±ΡΠ°ΡΠ°ΡΡΡ ΠΊ Π·Π½Π°ΡΠΎΠΊΠ°ΠΌ Π·Π° ΠΏΠΎΠΌΠΎΡΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ? Π ΡΡΠΌ ΠΊΠΎΡΠ΅Π½Ρ Π½Π΅Π΄ΠΎΡΠ°Π·ΡΠΌΠ΅Π½ΠΈΡ? Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ?
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ.
//Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΠ½ΡΠ»Π° true
Π Π½ΠΎΠ²ΠΎΠΌ ΠΠ’4 Version : 4,00 Build 625 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡΡ ΡΡΠ΅Π΄Ρ, Π½ΠΎ «ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ» Π²ΡΠ΄Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΎ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΠΎΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΡΠΎΠ²Π΅ΡΠ½ΠΈΠΊΠ°Ρ .
ΠΠ±ΡΠ°ΡΠ°ΡΡΡ ΠΊ Π·Π½Π°ΡΠΎΠΊΠ°ΠΌ Π·Π° ΠΏΠΎΠΌΠΎΡΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ? Π ΡΡΠΌ ΠΊΠΎΡΠ΅Π½Ρ Π½Π΅Π΄ΠΎΡΠ°Π·ΡΠΌΠ΅Π½ΠΈΡ? Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ?