fxDreema

    • Register
    • Login
    • Search
    • Back to the main page
    • Categories
    • Recent
    • Tags
    • Popular
    • Search

    Помощ за МА пресичане

    Questions & Answers
    2
    269
    145782
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • fxDreema
      fxDreema last edited by

      https://fxdreema.com/shared/En9R1UAEd

      Стреми се да правиш нещата с минимум повторения. Ако може да се използва един и същи блок за две или повече цели - така да бъде. Сега като видях твоя проект, супер много ми заприлича на проектите на един испанец дето от толкова копирания на блокове е направил към 700 блока и вече сървъра не иска да му генерира експерт 🙂

      И добре че питаш нали, иначе аз може и да не се досетя за разни неща дето е добре да се направят. В случая, докато се чудих какъв пример да ти направя установих, че трябва да добавя някои елементарни блокчета за работа с обекти. Трябва си блокче за избор на обект по име, както и блокче за редактиране на текста. Гледам има блокче за редактиране на цвят, което е добре.

      Та ако ги има тези блокчета ще стане по правилния начин. А именно, създаваш текстовия обект веднъж в "on Init" с определено име, след което където и когато трябва само го избираш по име и му редактираш каквото трябва, цвета или текста.

      1 Reply Last reply Reply Quote 0
      • fxDreema
        fxDreema last edited by

        Така, добавихме ги тия неща. Това с избора на свещ по време и това за избор и редактиране (на текст) на обект по име.

        1 Reply Last reply Reply Quote 0
        • M
          momosh last edited by

          Еха, нови две свежи попълнения 🙂 Ще влезнат в употреба.
          Аз обаче сериозно зациклих с това закръгление, хем ми го обясни два пъти вече 😕 Правя, струвам и не ми се получава, толко ли съм тъпо парче 😄 Последния пример, който ми даде, си сложил две стойности, които излизат от променливата и на графиката си се джуркат екстра. Как обаче аз да вмъкна в това Normaliza... стойността, която излиза от формулата като Result...в моя пример https://fxdreema.com/shared/wCPYmBfcb
          Пробвах с text, както ти ми посочи, но на графиката ми се изтипосва цялото NormalizeDouble(Result..., 2), а не променящи се цифри.
          Ако ти е писнало от мен, не ми отговаряй, няма да се разсърдя 😄

          Между другото исках да те питам имаш ли желание някой път да кодираш индикатор по заявка 🙂 Знам, че си казвал, че не искаш да ставаш личен програмист на никой, но просто не познавам друг с такива умения. Или имаш ли някой познат който би искал да направи такова нещо, като не очаквам да е безплатно 🙂

          1 Reply Last reply Reply Quote 0
          • fxDreema
            fxDreema last edited by

            Функцията NormalizeDouble() можеш да я ползваш там дето можеш ръчно да я напишеш. Тези Formula... там така не можеш. Но резултатите от тези блокове, примерно Result4 пак е глобална променлива. Та можеш да я сложиш като NormalizeDouble(Result4, 2) в полето на Value -> Numeric. И бих препоръчал да даваш смислени имена и на тези ResultX.

            Ти иначе вероятно си пробвал с Value -> String. При стринга е малко по-различно, винаги се огражда с кавички така: "текст". Но за улеснение на хората съм направил така че кавичките да се добавят после, при генерирането на кода. Което в същото време значи и ограничение при ползването на това поле, ако искаш да изградиш стринг по някаква формула. Но все тая, не ти трябва тази опция. И Numeric да подадеш, ще се изобрази, защото се конвертира в стринг в блока.

            Аз не съм фрийлансър по убеждения. Имам известни проблеми ако трябва да работя за някой, изнервям се 🙂 Така че един ден просто реших да не приемам задачи от никой и за нищо. Хем аз да не изперквам, хем да не разочаровам човека. Иначе не съм и голям специалист по индикаторите да ти кажа, но най-вече защото реално не съм се интересувал от тях. Веднъж или два пъти съм си правил нещо елементарно, и очевидно от доста време отлагам да се занимая с тях по-сериозно, че отдавна питат за генератор на индикатори 🙂

            1 Reply Last reply Reply Quote 0
            • M
              momosh last edited by

              Е вече се получи, то нямаше и къде да ходи след толкова обяснения 🙂
              Иначе за индикаторите, то голяма ли е разликата в кода между експерт и индикатор? Примерно аз тоя експерт, който съм го направил и който не търгува, а само показва някви неща на графиката, трудно ли ще е да се обърне на индикатор? Питам защото нали за експертите има ограничение по един на графика, а индикаторите можеш да ги накичиш здраво 🙂

              1 Reply Last reply Reply Quote 0
              • fxDreema
                fxDreema last edited by

                Има разлика в архитектурата на кода. При индикатора имаш малко по-различен начален код, да го наречем темплейт. Иначе вътре в този темплейт можеш да използваш един и същи код за да начертаеш някой обект. Но индикатора по принцип чертае линии и хистограми без да пише код за това. Идеята там е да създадеш масив от стойности и да избереш начина по който да се изобрази - с линия, с хистограма, с единични обекти (стрелки, кръгчета, чудеса), в същия прозорец, на отделен прозорец. Не е голяма философия на който му се занимава. Можеш да вземеш един готов индикатор и да му преправиш математическата част. То на този принцип е пълно с всякакви най-вече ненужни индикатори 🙂

                1 Reply Last reply Reply Quote 0
                • M
                  momosh last edited by

                  Здрасти, как си днес 🙂
                  Можеш ли да ме светнеш как мога да сравня резултатите от 8 формули. Примерно всеки резултат е някакво число и експерта да избере най-голямото или най-малкото от осемте. Нещо с блоковете не се сещам как да стане, а когато се случи така, обикновено ме открехваш на някоя магария 😄

                  1 Reply Last reply Reply Quote 0
                  • fxDreema
                    fxDreema last edited by

                    Тук доста зависи какви са тия числа. Нормално се търсят минимуми и максимуми на група еднотипни числа, които се намират в масив. Така разхвърляни и взети от разни места, без обща природа... не че е сложна работа, ами някак бакалска.

                    Май не е зле да замисля нещо с тия масиви, често ми задават такива въпроси за обработване на числа 🙂

                    1 Reply Last reply Reply Quote 0
                    • M
                      momosh last edited by

                      Ами би ли погледнал експерта ми "Currency Strength EA". Може да ти се сторят много формулите, но всъщност са еднотипни. Идеята е да се изчисли силата на дадена валута спрямо другите валути. За целта взимам candle close(0) - candle open(0) за да видя пипсовете на + или - в момента за дадена двойка. Така проверявам примерно как се държи паунда срещу всичките му кросове и като събера candle close(0) - candle open(0) на всичките му кросове се получава дадено число, което е моментната сила на паунда. Така проверявам и за останалите мейджъри и тука вече искам експерта да види коя точно валута е най-силна и коя най-слаба. От там вече ще се решава как да се изтъргува тази информация.
                      Затова искам да намеря начин да сравня тези осем резултата от събиращите формули.

                      1 Reply Last reply Reply Quote 0
                      • fxDreema
                        fxDreema last edited by

                        При такива нужди, признавам си, нямам качествено решение 🙂 Това по принцип си е класическа работа за индикатор - да се занимава със сметки. Въпросните калкулации сигурно ще се запишат с 20 реда код там, а под формата на експерт виждаш как е. Най-доброто, а може би и най-лесно решение е да се направи индикатор. Освен ако няма вече такъв.

                        1 Reply Last reply Reply Quote 0
                        • fxDreema
                          fxDreema last edited by

                          От друга страна не си много подготвен като програмист 🙂

                          • Когато някаква последователност от сметки ще се прави няколко пъти, тя се записва на едно място във функция (нещо като черна кутия) дето си има входове и изход. Задаваш входовете, пускаш я в действие и получаваш нужния резултат.
                            Тогава имаш тялото на тази фукнция записано веднъж някъде, а не копирано тук и там на 100 места. Въобще в програмирането една от най-лошите практики е едно и също парче код да е написано на две или повече места. И понеже генератора също е един вид програмиране, често го правят това. Резултата е десетки и стотици блокове, едва ли не невъзможност да се редактират в бъдеще, трудно откриване на проблеми и още по-трудно оправяне на проблеми, излишно изразходване на ресурси.

                          • След като има повтаряемост на действия, прави се масив и цикъл. Масива е щайга с всички необходими входни стойности, примерно имената на маркетите дето трябва да се изчислят. Цикъла се повтаря по веднъж за всяка стойност от тоя масив, а резултата се събира примерно в някоя променлива.

                          1 Reply Last reply Reply Quote 0
                          • M
                            momosh last edited by

                            Е да, то и за не програмист като мен е ясно, че едно нещо повтарящо се осем пъти е по-добре да се направи в един масив, но друг е въпроса как това да стане на практика с блоковете 🙂 Лошото е, че още на стъпка №1 се спъвам, камо ли за следващите стъпки като определяне на силите на валутите и търгуване според тях. Май ще трябва да се захващам с MQL 🙂

                            1 Reply Last reply Reply Quote 0
                            • fxDreema
                              fxDreema last edited by

                              Остави го ти масива, но и блоковете не са ти наредени най-добре логически, използваш отделна променлива за всеки от тях... и така.

                              Първо бих ти препоръчал да провериш дали все пак няма такъв индикатор направен някъде. Има толкова индикатори - безплатни, платени, всякакви. Верно че аз като потърся някой никога не намирам точно каквото ми трябва, ама айде. После идва това с кода. Индикаторите по принцип са шаблони и на определено място пишеш калкулациите. Има там една такава особеност, да го направиш така че да не преизчислява всичко всеки път, а само прясната информация.

                              Иначе основната идея е да се напълнят едни масиви (за всеки буфер по един) с данни. Даже и да го разпишеш толкова подробно както е сега в експерта, пак става. Сметки, сметки, сметки - крайната стойност се записва в буфера. А за твоите сметки като гледам ти трябват две елементарни функции - iClose() и iOpen()

                              Ето и една тема дето са обяснили основните неща: http://book.mql4.com/samples/icustom Аз лично нямам никакъв интерес да пиша индикатори, но веднъж реших да пробвам да разпиша нещо, следвах в тая тема нещата и се получи, а даже ми беше и забавно. То заради това е пълно с индикатори из нета, защото се пишат относително лесно 🙂

                              http://prntscr.com/6qo7p7
                              http://img.prntscr.com/img?url=http://i.imgur.com/sPLvc7h.png

                              1 Reply Last reply Reply Quote 0
                              • M
                                momosh last edited by

                                ОК, мерси за информацията, ще се разровя да видя какво може да се измисли 🙂

                                1 Reply Last reply Reply Quote 0
                                • M
                                  momosh last edited by

                                  Здрасти брат, опитвам да направя едно малко експертче и всичко май се получава, само едно нещо не мога да схвана. Бях задал профита ми да е 200% от стопа, с идеята експерта като изчисли стопа и го сложи, веднага да плесне и профита х2. Като го закачих експерта обаче и като пусна чакащата поръчка видях,че стопа е равен на профита (мерено от нивото на чакащата поръчка). Викам си ок, ще му дам 400%, но тогава вече става купон - всеки път ми слага профита на различно разстояние с тея 400% (пробвах два пъти и на всичкото отгоре въпреки, че и на села и на байа са еднакви процентите, единия профит го слага примерно на разстояние 5пъти, а другия 3пъти, нещо такова).Та нещо не мога да схвана как го изчислява профита спрямо стопа. Иначе самите чакащи поръчки и стоповете си ги слага винаги, където трябва. Става въпрос за експерта Крис.
                                  Най сетне да попиша малко на български:)

                                  1 Reply Last reply Reply Quote 0
                                  • fxDreema
                                    fxDreema last edited by

                                    Оправен е проблема 🙂

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      momosh last edited by

                                      Мерси, така вече е ок:) Още един въпрос - как мога да направя с блоковете, експерта да разрешава поръчка само в началото на всеки пет минути? Нещо като once per bar на M5, но в :00. Защото, нали ако сега му дам once per bar (M5) и ако се получи сигнал по средата на свещта, то той тогава ще я пусне, а няма да изчака до започване на следващата свещ.

                                      Мерси и поздрави 🙂

                                      1 Reply Last reply Reply Quote 0
                                      • fxDreema
                                        fxDreema last edited by

                                        Много зависи къде се намира "Once per bar". Ако е на топ ниво преди "Condition", тогава ще реагира на първия тик от свещта, иначе зависи от "Condition".

                                        Сега ако настоваш за абсолютно точно време, т.е. да реагираш когато удари секундата на :00, тука навлизаме в едни интересни дълбини. Експертите по принцип се правят да реагират на тикове, то и няма смисъл от друго, щото принципно ако няма промяна в цената няма и смисъл от търговия. Не всеки път обаче би дошъл тик точно в :00. Въпреки това експерта може да се направи да реагира по време през този "on Timer" евент, обаче тогава възниква проблем с тестера. Първо, самата функция на евента OnTimer() не е направена да работи в тестов режим и второ, тестера си работи с неговите генерирани тикове и поне аз не съм успял досега да го вкарам в някакъв регулярен времеви цикъл. Просто като се пусне един while() цикъл в тестера и той замръзва в първия си тик.

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          momosh last edited by

                                          Ами на мен не ми трябва чак толкова да сцепи секундата в :00, а просто дадена отворена поръчка като удари профита или стопа, да не пуска веднага две нови чакащи поръчки на предишната свещ, а да изчака настоящата да затвори и чак тогава да сложи двете чакащи поръчки. Защото сега, когато активната поръчка се затвори, експерта ще получи сигнал че няма никаква поръчка и веднага ще плесне две чакащи нови по средата на настоящата свещ. Един вид да му кажа да изчака до започването на новата свещ.

                                          1 Reply Last reply Reply Quote 0
                                          • fxDreema
                                            fxDreema last edited by

                                            Малко е като електронна схема - https://fxdreema.com/shared/9po0PFDGb

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 10
                                            • 11
                                            • 12
                                            • 13
                                            • 14
                                            • 13 / 14
                                            • First post
                                              Last post

                                            Online Users

                                            S
                                            G
                                            L
                                            K
                                            H

                                            15
                                            Online

                                            146.7k
                                            Users

                                            22.4k
                                            Topics

                                            122.6k
                                            Posts

                                            Powered by NodeBB Forums | Contributors