fxDreema

    • Register
    • Login
    • Search
    • Back to the main page
    • Categories
    • Recent
    • Tags
    • Popular
    • Search
    1. Home
    2. fxDreema
    3. Posts
    • Profile
    • Following 0
    • Followers 691
    • Topics 32
    • Posts 7485
    • Best 277
    • Controversial 18
    • Groups 1

    Posts made by fxDreema

    • RE: Count "n" bars, then pass

      To say why something does not work we must know how it should work. In the case I don't know what is the idea. But nevermind, to check if and when any block passes, use "Draw arrow" - this is the simplest way that I often use.

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Помощ за МА пресичане
      //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 не би трябвало да работи.

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Помощ за МА пресичане
      1. Няма такъв блок, но може да се направи по някакъв начин. Примерно един лууп в който се събират профитите от поръчките с Close Time по-голям от времето на 00:00 - за това време съм добавил "Time" някъде из "Value" и може да се вземе от там. На практика трябва да се сумират профитите на всички поръчки с Close Time след 00:00 часа. Времето се изразява в int стойност в ей такъв формат: http://www.epochconverter.com/ - примерно 1385564527.
        Или в "on Trade" да се събират профитите в променлива и да се нулира променливата всеки ден. Но по принцип най-кратко би било да се напише в код, и явно трябва да постегна малко онази част от генератора дето се правят блокове 🙂

      2. Някой по-елементарен пример нямаш ли 🙂 А явно трябва и да помисля как да не се използват копия на едни и същи блокове, че това в програмирането не е много добра практика.

      3. За кода най-горе има две входни променливи, ама аз си играх с него и в моя проект едната променлива ми е дефинирана във Variables вместо в кода, и в кода съм я направил като коментар.

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: object on chart

      I need more details.
      In any case, I was not updated MQL4/MQL5 code from weeks maybe, because now I'm working locally for some update. And I just tested this one, it seems to work: http://fxdreema.com/shared/WBF288Gvc

      posted in Bug Reports
      fxDreema
      fxDreema
    • RE: Затваряне на поръчки

      Играя си и аз тук, и не виждам защо трябва да се чака поръчките да станат 10 за да се действа. Получават се добри резултати и когато се елиминират две-три, но често се достига един момент когато се натрупват незатворени загуби и на края на теста ги изтипосва.

      Промених малко скрипта, реших че е може да затваря печелившите поръчки като започва от най-малката... за да не се трупат като бройка. Май така дава по-добри резултати:
      [code=mql4:3d6atxy7]// input parameters
      double MinTrades=2;
      //double ProfitNeeded=200;

      // local parameters
      int TotalOrders=OrdersTotal();
      int pos=0;
      bool next=true;

      // Create empty local database (every time)
      double profits_list[]; ArrayResize(profits_list,0);
      int tickets_list[]; ArrayResize(tickets_list,0);
      int tickets_to_close_list[]; ArrayResize(tickets_to_close_list,0);

      // Collect data - array sorted by profit (profitable last)
      for (pos=0; pos<TotalOrders; pos++) {
      if (OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) {
      //if (FilterOrderBy(OrdersScope,OrdersGroup, SymbolScope,SYMBOL, BuysOrSells)) {

           int ticket=attrTicket();
           double profit=attrProfit()+attrSwap()+attrCommission();
           
           int size=ArraySize(tickets_list);
           ArrayResize(tickets_list,size+1);
           ArrayResize(profits_list,size+1);
           tickets_list**
      
      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Count "n" bars, then pass

      Try this and you will see when Once per bar passes. It's when a new candle is created, because the block is executed on every tick (it's under "on Tick" event) and it checks if the current candle is new for the block.

      Also, right-click on it and hit "Information". Well, this seems to not working on the shared project, but you can do it in your profile.

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: EA with pattern candlestick

      But if you can find some indicator to do this, it will be better. From long time ago I was thinking about removing this block from the generator, I think it's too complex and I don't like it very much 🙂

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Затваряне на поръчки

      Държа да спомена, че не искам да се вкарвам в ролята на личен програмист, но ако нещо е полезно като цяло (за генератора) - ще го разгледам.
      Интересна е тази функционалност, става въпрос за елиминиране на поръчки оставени без стопове, но поне при моите тестове (ако не използвам други функции за затваряне) се достига до едно натрупване на отворени поръчки дето не могат да достигнат до затваряне и в един момент не могат да се отворят и нови. Добавят се де, но по такъв начин че локват противоположните, и се получава натрупване на отворени лотове които ако ги затваряш в реален акаунт сигурно става страшно. Е, то зависи от параметрите, но аз пробвам средни такива, и най-вероятно не може да се направи 100% печелившо. Резултата при мен на тестера е такъв: http://i.imgur.com/MML9uBS.png
      За трейлинг стоп не мога да давам съвети, нещо не съм му фен 🙂

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: EA with pattern candlestick

      Well, I tried to make it, but I got very little signals from pattern similar to this: http://fxdreema.com/shared/iH0ljOJNd
      In this example, for middle 3 candles I set High and Low levels to be everywhere in a certain limit. Their Open and Close levels are free as well. In short - any 3 bull candles within this limit will be matched. For the last sell candle only Close is matched.

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: trailing pending order not working

      I added option "Dynamic level". I'm not sure if it's good idea to be used that way, but... try it. Here is a little example: http://fxdreema.com/shared/n44Y9Lkgb

      posted in Bug Reports
      fxDreema
      fxDreema
    • RE: trailing pending order not working

      Dynamic size (in pips) means that the value to enter must be in pips format - something like 10, 20, 30... Lowest price is in price format - something like 1,3625.

      posted in Bug Reports
      fxDreema
      fxDreema
    • RE: Count "n" bars, then pass

      Depending on the situation:

      • Once per bar - If trade... - Count n...
        or
      • Once per bar - Count n... - If trade...
      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Затваряне на поръчки

      Ехееее, явно само аз не мога да докарам такива резултати. За всеки случай такива резултати обикновено са съмнителни и неточни, защото в определени условия тестера може да подвежда, и това умело се използва от някои продавачи на експерти. Най-ниската резолюция (така да се каже) е 1 минута, така че всеки тик е създаден от тестера по някаква логика, която явно зависи от размера и формата на свещта.

      Най-общо, не вярвай на резултати при които си използвал:

      • много малки стопове, по-малки от средния размер на М1 свещите.
      • трейлинг стоп с много малки стопове.
      • система, използваща секунди време - например това да засичаш колко пипса са изминати за 5 секунди. При този случай не вярвай дори ако използваш някой плъгин за реални тикове.

      Те затова са направили Ticks Data Suite и Tickstory. Първото е платено, второто е безплатно, и ако работиш с много малки стопове е добре да тестваш експерта с тези 🙂

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Затваряне на поръчки

      Ето един пример, виж как работи и дали е това което трябва: http://fxdreema.com/shared/oAYwpGZlb
      Резултата е малко като мартингейл - всичко работи добре докато не се натрупат поръчки с прекалено големи загуби.
      Това е кода на блока:
      [code=mql4:2pfzjzcy]// input parameters
      double MinTrades=10;
      double ProfitNeeded=10;

      // local parameters
      int TotalOrders=OrdersTotal();
      int pos=0;
      bool next=true;

      // Create empty local database (every time)
      double profits_list[]; ArrayResize(profits_list,0);
      int tickets_list[]; ArrayResize(tickets_list,0);
      int tickets_to_close_list[]; ArrayResize(tickets_to_close_list,0);

      // Collect data - array sorted by profit (profitable last)
      for (pos=0; pos<TotalOrders; pos++) {
      if (OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) {
      //if (FilterOrderBy(OrdersScope,OrdersGroup, SymbolScope,SYMBOL, BuysOrSells)) {

           int ticket=attrTicket();
           double profit=attrProfit()+attrSwap()+attrCommission();
           
           int size=ArraySize(tickets_list);
           ArrayResize(tickets_list,size+1);
           ArrayResize(profits_list,size+1);
           tickets_list**
      

      правиш нов блок в http://fxdreema.com/studio/MQL4, слагаш кода и редактираш най-горните два параметъра дето и двата съм ги сложил 10. Могат да се направят като входни за блока, но да кажем че това е алфа тест 🙂

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Помощ за МА пресичане

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

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Затваряне на поръчки

      Едва ли някой харесва бавното затваряне, ама такъв си е принципа на MT - не можеш да пратиш заявка да се затворят едновременно поръчка 1, 3, 4, 8 и 17, заявка се праща само за затваряне на една бройка, и се чака за резултата от това. Въобще всяко действие трябва да се изчаква.

      Иначе за твоята стратегия трябва:

      Да се проверят и сортират поръчките по печалба и да се запазят в масив.
      Като знаем профита на най-губещата поръчка започваме да събираме профитите на печелившите, като междувременно се запомняме кои печеливши поръчки сме проверили.
      Когато събрания профит се окаже достатъчен преминаваме към затваряне на избраните печеливши и най-губещата поръчка.
      И всичко това трябва да се случва само когато броя на поръчките е повече от някаква бройка, примерно 10, и то ако не се лъжа трябва да има представители на Buy и Sell.

      Това твоя идея ли е, или има такъв вид стратегия по принцип? Звучи като нещо универсално (като трейлинг стоп) и би трябвало вече някой да се е сетил и да му е дал име.

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Затваряне на поръчки

      За такова нещо направо си трябва специален блок, подобен на trailing stop, дори с малко повече код. Да се направи с блокове е още по-засукано. Но дори да го имаш, дали би работило както трябва?
      Какво става ако нямаш достатъчно П поръчки които да покрият загубите? Ако се работи само с Buy или само със Sell, според мен такава тактика ще работи само понякога. Би трябвало да работи добре ако постоянно се отварят разнотипови поръчки на различни нива.
      Ако работиш само с Buy например и имаш 2-3 поръчки на печалба и отвориш още една - то тя ще се затвори веднага понеже по начало е на загуба и П-З ще е изпълнено.
      Та малко ми е под въпрос дали тази тактика не е едно от нещата, които първоначално изглеждат окей, ама на практика не се получават?

      Частичното затваряне е направено така че старата поръчка се затваря и се отваря нова със същите параметри, освен лота и тикета. Не съм виждал лот по-нисък от 0.01, така че това няма как да се затвори частично.

      Има някъде един блок "Comment on chart" - там редиш какво трябва да се изобрази. Иначе в custom блоковете трябва да имаш два примерни, които общо взето изобразяват такива неща. Но там трябва да знаеш малко MQL4 ако искаш да ги препрограмираш.

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Помощ за МА пресичане

      Виждам че в 0:00 се модифицира стопа, което би трябвало да е ок в случая, защото в трейлинг стоп блока имаш Daily таймфрейм за средно ниво на предишната свещ, значи през целия ден когато и да изчисляваш стопа, все ще е същия, а стопа не се модифицира със същата стойност.
      Не си пречат, трейлинг стоп блока си слага стопа където си знае без да се интересува къде е бил.

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Помощ за МА пресичане

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

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Problem with custom indicator "open error"

      Oh, it looks like MT5 shows not the real variable names, but they "friendly" names. In mq5 these are written as a comment just after the variable definitions and they can contain any text. Try with some names close to these, but containing only latin letters, numbers and "" and starting with "" or a latin letter.

      posted in Bug Reports
      fxDreema
      fxDreema
    • 1
    • 2
    • 314
    • 315
    • 316
    • 317
    • 318
    • 374
    • 375
    • 316 / 375