Помощ за МА пресичане
-
Леле мале, понякога се чудя тая програма дето съм направил дали помага наистина или още повече забатачва работите
Уж трябва да прави нещата лесни, а често се плаша като видя някой проект.Първо бих ти препоръчал Set "Current Market" for next blocks. Оставяш една група и пишеш всички маркети дето ще се ползват. Този блок на всеки тик ще повтори групата след него толкова пъти колкото маркети си въвел, за всеки маркет по веднъж. И тук трябва да се отбележи, че зависиш от тиковете на тоя чарт дето си вкарал експерта в него. Независимо какво се случва в останалите - дали има тикове или няма - чак когато на текущия се появи тик, чак тогава се изпълняват блоковете, каквито и там да са.
Другия вариант е по-препоръчителен, ама по-разтеглен - да вкараш един и същи експерт на всеки маркет поотделно. Така всеки си работи сам за себе си, разчита на собствените тикове и не се пречка на останалите.
Понякога си мисля да направя система дето да разчита тиковете на няколко маркета в дадения експерт. Т.е. "on Tick" да е съчетание от няколко различни. Обаче ефективността на такова нещо предполагам би била ниска, защото един експерт когато започне да прави нещо, не може да прави друго нещо в същото време, тъй че ще има изчакване и ще е доста грубо. Така да се каже, един експерт е един процес (прозорец), и не съм сигурен дали могат да се стартират няколко независими които да останат контролирани от него
Иначе ако бектестваш, то там нали знаеш че може да се работи само с един маркет, та най-вероятно имаш грешка. Ако не си на бектест обаче, дали имаш грешка?
-
Хаха, няма се пуашиш

Верно че стана супер претрупано, ама исках да видя на всички двойки какво ще стане, а пък съвсем бях забравил за този блок
И понеже имах свободни 30-тина минути... 
Със set current... на всеки тик ще минават всичките маркети написани в блока наведнъж или един след друг?
А иначе не съм го пробвал на бектест, ами го пуснах експерта да си бачка и вчера беше заредил само 4 поръчки, а днес също четири, но различни от вчера и все с jpy в тях.
Сега ще пробвам да оставя само една група със set current... да видим в 00:01 какво ще изплюе
-
Значи и със set cuurent.. ми е заредило само 2 поръчки от 28

Да не би нещо с часа да има проблем? -
Пробвай с един "Once a day" най-отгоре. Както казва името на тоя блок, той върши работа 1 път на ден, а този "Set...." сам себе си повтаря няколко пъти, тъй че "Once a day" действа само за първия маркет.
Хванах и един потенциален проблем обаче. Когато се използва тоя блок "Set..." за маркетите, то тези блокове от типа Once per bar може да не работят коректно, щото вътре в себе си пазят информация за последното познато време на текущия бар (time0). И когато смениш маркета, неговото време (time) се сравнява с времето на предишния маркет (time0) и става един вид интерференция

Трябва да го преобразя така че да помни едновременно и независимо няколко маркета (масив), ама не знам дали да го правя щото това ще забави един от най-често ползваните блокове. И не е само тоя блок от този род, което е по-лошото. Най-лесно ще ми е да махна "Set..." и да кажа - пускайте си експерта на 100 графики отделно
////////////////////// // Input parameters // ////////////////////// string SYMBOL=CurrentSymbol(); // Market (empty=Current) int TIMEFRAME=CurrentTimeframe(); // Timeframe /////////////// // Main code // /////////////// static int time0; int time=iTime(SYMBOL,TIMEFRAME,0); if (time0<time) {time0=time; /* Orange output */} else {/* Yellow output */} -
Здрасти, как вървят нещата при теб?

Можеш ли да ми кажеш как мога да сравня профита от последната затворена поръчка с този на текущата в момента, примерно: профит затворена + профит отворена > 5$. -
Някои неща сякаш са по-добре да се направят с чист код. Но ето едно предложение от мен дето ползва минимум блокове + 2 променливи: https://fxdreema.com/shared/ORnGmGpO
-
Ясно, а как мога тези двете да ги вкарам във формула или условие, напр. отворена + затворена > 5$
-
Променливите могат да се използват с имената си навсякъде, така че можеш да ги събереш дори направо в полето на Condition -> Value -> Numeric
-
Понеже за първи път използвам променливи, би ли погледнал дали постройката и начина са правилни (не се сетих как да стане с Condition -> Value -> Numeric).
https://fxdreema.com/shared/Snh535Vdb -
И така става. Иначе е буквално "LasttradeProfit+LastHistoryProfit" в полето на Value -> Numeric
-
Ок, благодаря ти.
-
Здравей,
можеш ли да погледнеш един от моите експерти - 4 SD Scalper и да ми кажеш защо според теб не работят поредицата от блокове най-от дясно. Идеята е при отношение между отворена и затворена > -0.5, да затвори поръчката. Не работи в смисъл че не затваря поръчката при достигане на това отношение:) -
В блок 26 вместо глобалните променливи използвай Value->Numeric. Или още по-добре в 27 си напиши двете променливи в подобно поле от ляво - LastTradeProfit/LastHistoryProfit.
Има 2 вида глобални променливи в MT. Тия дето си заредил в 26 са едни дето са глобални за всички експерти, и те са по-точно имена на променливи дето са записани някъде в някакви файлове от които всички експерти могат да четат. Това НЕ са глобалните променливи вътре в самия експерт.
-
Здрасти, отдавна не сме си писали
Как са нещата при теб?
Реших след доста време да пробвам нещо и веднага се появи проблем
В експерта "EURCHF" ми дава "zero divide in 'compiled.mq4' (3313,31)", по точно, когато се активират блок 4 или блок 6.
Нещо от формулите да не би да е
-
Българското участие
Пуснах ти 3 месеца ей така, щото си от родината 8-)Вероятно тестваш експерта, а MetaTrader 4 може да тества само валутата дето е избрана за графиката. 5-та може, но 4-та все още не. При това положение резултата обикновено е такъв, zero divide, понеже всички стойности за втората валута са нули и някъде има деление. Вероятно трябва да заложа някое по-човешко съобщение за грешка на това място, но случая ми е добре познат и скоро не съм виждал zero divide поради друга причина

-
Ехее, много мерси
Тия месеци се бях забил да чета по разни чужди форуми и много ми беше залипсвало да си кажа две приказки по нашенски
Иначе все с речника под ръка 
А за експерта, не съм го тествал, а просто си го закачам на графиката да търгува. И когато дойде момента да пусне поръчките и веднага в таба експертс ми изписва "zero divide in 'compiled.mq4' (3313,31)". Пробвах и формулата малко да променя, но пак същото се получава и не иска да изплюе поръчките. -
Нали имаше и един български форум. Скоро не са писали за експерти и такива чудесии обаче.
Сега видях, имаш EURUSD,USDCHF в блоковете за търговия, пък там още не работи това. Възприема цялото като име на една валута. Не знам дали и да го правя да работи, но щом някой го ползва... Не знам, после пък на някой ще му хрумне, че и Group # трябва да може да се пише със запетайка

-
Това ли била работата
Аз имам спомен, че съм те питал точно за групите дали може със запетая, но съм пропуснал че и маркетите не могат. Но това не е чак такъв проблем, ще ги разделя. Добре че ме светна, че щях да се чудя кви са тия нули и да ръчкам по формулите 
-
Здрасти,
един бърз въпрос: ако имам отворени поръчки с различен group# и най-отгоре в експерта сложа блок "check current unrealized profit" без зададен в него group#, той ще следи ли за общия профит от всички поръчки. Питам защото нали не може в полето на групата да се напишат няколко групи със запетая. -
Не може да се пише запетая в тия блокове дето започват с Buy и Sell, за този Check... пробвай. На останалите блокове трябва да работят със запетаи и Group и Market.
Иначе опцията All... включва и поръчки извън експерта, въобще всички поръчки що ги има.