Описание на функции и оператори върне отчет - оператори - учебник по MQL4 - учебник по MQL4
Ако е необходимо, посочват в програмата могат да се разграничат 2 групи от функции: функции, които описват програмата не са определени, както и функции, описания, от които се определят в програмата. Описание на стандартните функции на програмата не са уточнени. Описания на потребителски дефинирани функции трябва да присъстват в програмата е задължително. Описания на специални функции, ако те се използват, както е посочено в програмата.
Формат описание на функцията
Описание на функцията се състои от две основни части - функция горния и функция на тялото.
Заглавието на функция съдържа указание за вида на върнатата стойност, името на функцията и списъка на формални параметри затворени в скоби. Ако функцията не връща никаква стойност, неговия вид, определен за невалиден.
Тялото на функция може да се състои от прости и / или съставни оператори, към други функции, и е затворена в скоби.
е посочен списъкът на параметри, разделени със запетая. Броят на параметрите се подават на функцията е ограничен и не може да надвишава 64. Както формалните параметри в заглавната част на функция може да се посочи само променливи (но не постоянно, разговори с други функции или изрази). Броя, вида и реда на минали параметри в извикването на функция трябва да съвпада с броя, вида и реда на формални параметри, определени в описанието на функция (с изключение на извикване на функция, като параметри с стойност по подразбиране):
Параметри преминали към функция, могат да имат стойности, които се определят от константи съответния тип:
Ако се обадите функция със стойности по подразбиране, действителните параметри са посочени стойностите на действителните параметри трябва да бъдат предадени на изчисляване на функция. Ако се обадите функция със стойности по подразбиране, не са показани никакви реални параметри на функцията са направени при изчисляването на съответните стойности по подразбиране.
Специални функции могат също да имат параметри. Въпреки това, когато тези функции няма параметри няма да се прехвърлят извън клиентския терминал, а ще се използва като стойности по подразбиране. Специални функции могат да бъдат наречени от всякакви модули места по общите правила, заедно с други функции.
изпълнение Правила функция
Място в програмата, за да опише на функцията:
Описание на функцията трябва да е в програмата отделно, извън всякакви други функции (т.е. не преди изтичане на друга функция и отвън).
Наречен за изпълнението на функцията се изпълнява в съответствие с кодекса, съставляващи тялото на функцията.
Форматът на отчета за връщане
Връщане стойност - стойността на параметъра е посочено в изявление връщане скоби. В изявление връщане състои от връщането на ключови думи, изрази, оградена в скоби и завършва с; (Запетая). Пълнометражен връщане изявление:
изпълнение Правило за връщаща
изявление връщане прекратява изпълнението на най-близкия външен функцията и предава управлението на извикващата програма в съответствие с правилата, определени за повикването. Върнатата стойност е стойността на израза е посочено в изявление на връщане. Ако вида на стойността на параметъра на отчета за връщане не е същото като тип на връщане, споменати във функцията заглавие, стойността, дадена от типа на връщаната стойност, към заглавието.
Пример за използване на изявление възвръщаемост, която връща стойност:
Функциите за връщане тип нищожен е необходимо да се използва декларация за връщане, без израз:
Пример за използване на изявление връщане без стойност връщане:
В описанието на функцията може да бъде липсата на връщане на оператора. В този случай функцията автоматично ще се изключи, ако (в съответствие с изпълнимия алгоритъм) в тялото на функцията е екзекутиран последно изявление. Пример описание на функцията, в която оператор файл връщане:
В този случай, функцията се затваря в края на изпълнението на за изявление цикъл. Последният движението на изпълнението на функциите ще провери условията в отчета за цикъл. Веднага след като състоянието в продължение на контур отчета става фалшиво, контрол, ще бъде пренесено извън оператора на цикъл. Но поради факта, че операторът на цикъл е последният изпълним оператор във функцията на тялото My_function (), функцията по поръчка ще излезе от контрол и ще бъде приет извън функция, тя е на мястото, където функцията е бил потърсен за изпълнение.