Помощ за МА пресичане
-
Да, това би трябвало да работи. Сложи и една поръчка и пробвай, за всеки случай. Луповете са правене на една и съща логика последователно за всяка една налична поръчка, минала филтъра. Това го има вътре в блока за затваряне на поръчки например, а с тези розовите блокове е по-отворено, тъй че да може да се бърника по-детайлно в нещата. ОИначе трябва да направя много блокове или такива с много опции за да покрия всякакви сценарии. Малко повече въображение трябва за розовите блокове.
-
Поне на въображение мисля че го докарваме

Можеш ли да погледнеш тази система ( съвсем различна от горната коментирана) и да ми кажеш според теб защо не ми се движи движещия стоп. Не ми е ясно, ако поставя еднакви стоп лос и движещ стоп, пречат ли си по някъв начин?
http://fxdreema.com/shared/zt4dgD9xe -
Виждам че в 0:00 се модифицира стопа, което би трябвало да е ок в случая, защото в трейлинг стоп блока имаш Daily таймфрейм за средно ниво на предишната свещ, значи през целия ден когато и да изчисляваш стопа, все ще е същия, а стопа не се модифицира със същата стойност.
Не си пречат, трейлинг стоп блока си слага стопа където си знае без да се интересува къде е бил. -
Ама в смисъл че би трябвало всичко да е ок и да се движи трейлинг стопа, така ли? Че малко се увъртях с първото ти изречение

-
Ами така де, ти му даваш ниво на трейлинг стопа, което ниво не се променя цял ден, затова модифицира поръчките в 0:00 когато нивото се сменява.
-
Здрасти,имам 3 въпроса:
- С кой блок да проверя общия профит от затворените поръчки днес?
- За това нещо те питах в горния пост, но движещия стоп продължава да не иска да отлепи. Системата малко съм я променил и разширил - http://fxdreema.com/shared/tuTsiKT8c
- Искам да пробвам кода, който си го дал на бгвълк, но като тръгне да компилира експерта и ми дава няква грешка - variable not defined.
-
-
Няма такъв блок, но може да се направи по някакъв начин. Примерно един лууп в който се събират профитите от поръчките с Close Time по-голям от времето на 00:00 - за това време съм добавил "Time" някъде из "Value" и може да се вземе от там. На практика трябва да се сумират профитите на всички поръчки с Close Time след 00:00 часа. Времето се изразява в int стойност в ей такъв формат: http://www.epochconverter.com/ - примерно 1385564527.
Или в "on Trade" да се събират профитите в променлива и да се нулира променливата всеки ден. Но по принцип най-кратко би било да се напише в код, и явно трябва да постегна малко онази част от генератора дето се правят блокове
-
Някой по-елементарен пример нямаш ли
А явно трябва и да помисля как да не се използват копия на едни и същи блокове, че това в програмирането не е много добра практика. -
За кода най-горе има две входни променливи, ама аз си играх с него и в моя проект едната променлива ми е дефинирана във Variables вместо в кода, и в кода съм я направил като коментар.
-
-
Хаха, времето е много симпатично по този начин
Ще видя с лупа дали ще стане, но и едно блокче няма да е зле да избачкаш 
За по-прост пример е примерно само един блок от цялата система - http://fxdreema.com/shared/5Ygif77ec
Или мислиш, че като са така натрупани много подобни, може да има проблем. Защото като я пусна цялата да си работи, всичко друго е ок, само тоя движещ стоп не мърда. А това е ключово
И сега за последния въпрос, който ми е най- неясен, защото тия кодове са ми мътни
Какво точно трябва да направя за да го компилирам от генератора, без да дава грешките? -
//double TotalProfit; // махни коментара за да използваш променливата като локална, за тест TotalProfit=0; // нулиране на променливата int midnight=StrToTime("00:00"); int total=OrdersHistoryTotal(); for (int pos=total-1; pos>=0; pos--) { // за всяка затворена поръчка... if (!OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY)) {continue;} // не може да се зареди, преминаваме към следващата if (OrderMagicNumber()!=MagicStart) {continue;} // MagicStart не е същия, преминаваме към следващата if (OrderCloseTime()<midnight) {break;} // Ако поръчката е стара цикъла приключва тук TotalProfit=TotalProfit+OrderProfit()+OrderSwap()+OrderCommission(); // и ако за избраната поръчка сме стигнали до тук, прибавяме нейния профит към променливата } //Comment(TotalProfit); // махни коментара за да видиш стойността на променливата, за тестTotalProfit променливата която събира профитите. Тука става въпрос за всички поръчки пуснати от тоя експерт (със съответния MagicStart, който е входен параметър и си го има).
TotalProfit си я дефинирай като Variable, иначе за тест можеш да махнеш коментара (//) от първия и последния ред.Ми ей това е - double Promenliva дефинира локална променлива, която ще бъде използвана във функцията. Всеки блок е представен от функция. Ако във функцията трябва да се използва променлива, която не е дефинирана като локална, тогава се търси глобална, която е дефинирана извън функцията. В fxDreema такива променливи са Variables. В последния код дето съм показал на bgvulk едната променлива съм си я дефинирал в моя проект като глобална, така че съм я махнал като локална. Махни коментара пред нея (//) и вече ще е дефинирана като локална.
В тоя трейлинг стоп маркета е текущия (празно поле), и ако не е GBPUSD не би трябвало да работи.
-
"В тоя трейлинг стоп маркета е текущия (празно поле), и ако не е GBPUSD не би трябвало да работи" - много съм просс

Сега аз ще събера профитите от затворените поръчки, ама как ще ги сравня с дадено число? Съжалявам, не съм се доизказал какво точно ми трябва
И полседно за кода на бгвълк, махам //, но ми дава други грешки - 'ProfitNeeded' - expression on global scope not allowed. -
По принцип блоковете не вадят стойности навън, това го правят само някои, например "Function". Затова говоря за глобалните променливи, щото те се четат отвсякъде и могат да се модифицират в който и да е блок. Дефинираш Variable и я използваш вътре в който и да е блок (съответно в блока не трябва да се дефинира променлива със същото име).
Май има някакъв бъг в проекта, останала информация от някой Function блок дето се бърка. Пробвай да импортираш същия проект в нов, мисля че ще изчисти проблема.
-
Ами като го дам само custom блока с твоя код и дава да се компилира без грешка, но ако го вържа с други блокове и грешките излизат. Пробвах и с импорт, но не става.
-
Май го оправих като направих нов блок (там дето се правят блокове). Така и не разбрах защо се получаваше това, ама все тая. Аз иначе по тази стратегия пробвах разни варианти, ама както се досещаш - все се получава резултат от типа на мартингейл - хубаво, хубаво, ама до време.
-
То всъщност, след преработките, блока как разботи? Ако има само 2 поръчки ги сравнява и ако са на някакъв профит ги затваря? А ако са три и повече, сравнява най-губещата с няколко печеливши? Нещо допълнително има ли?
-
Взима най-губещата и ако събере от печелившите същия резултат плюс минимум желаната печалба - затваря всичките, започвайки от губещата.
-
Здрасти,
как мога да проверя дали свещта е затворила в рамките на горните 25% от цялата си дължина при бича или в долните 25% при меча? -
Е, точно и конкретно за това няма блок, но все пак става въпрос за сравнение на няколко нива, които са известни, та мога да предложа "Condition".
-
Понеже не се сетих как да стане само с condition, ето така става ли?
http://fxdreema.com/shared/FEpINRe8 -
Ами ако работи, става. То и това "Variables" дето е залепено от дясно може да се използва за по-сложни сметки, както и някой custom блок. Ето тук съм показал на някой нещо като съм използвал това от дясно, виж в първия блок: http://fxdreema.com/shared/oSr7HQEnb
-
Айде честита нова година и от мен

С пожелание сайта да върви само напред и нагоре
От извесно време гледам една стратегия и се чудя дали може да я превърнем в експерт.
Взимаме 2 силно свързани двойки, например EURUSD и GBPUSD. Налагаме графиките една върху друга, така че да се виждат и двете криви на една графика. От там виждаме, че кривите на цената са доста сходни и почти се припокриват, но понякога и се раздалечават. Стратегията е такава, че когато двете криви се раздалечат на мин 20 пипса една от друга, се отварят две поръчки - на по-слабо представящата се двойка buy, а на по-силно представящата се sell. Идеята е че двете криви рано или късно ще се пресекат отново и тогава се затварят поръчките. Трудния момент да го вкарам в експерта е че двете двойки имат различни цифрови изражения - EURUSD -1.3..., GBPUSD - 1.6... и ако вземем разликата по абсолютна стойност ще е над 2000 пипса. Затова трябва да приемем една от графиките за първична и по нея да измерим тези 20 пипса. Ако нещо съм се увъртял с обясненията ето това е темата: http://forums.babypips.com/free-forex-t ... ategy.html
Можеш ли да дадеш идея как може да ги напасна тези неща. Гледах блока check distance between 2 levels, но не съм сигурен дали може да стане с него.