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: Basket take profit and profit retrace workaround

      What's wrong with "Check profit (unrealized)"? The idea of this block is to check the current porofit from a group of trades.

      Max value - this is the the biggest profit at the moment, the profit from a single trade that has the biggest profit, the profit from only one trade. This is not the max. profit reached so far, there is nothing to collect such information

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: To use engulfing candle high/low values to trigger signals

      To pick a trade - "For each Trade"
      About the zig-zag... I don't know, it depends

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: HELPS CREATE A CONDITION FOR MY STRATEGY .

      The only block that can iterate through candles and check something is "Indicator moves within limits". This block can check if for X candles the price was > MA and even allow few exceptions, but you can't specify where which candles can be the exceptions. You can detect if within 10 candles, for 3 of them the price was > than MA, but these candles could be #2, #5 and #7 or any other. Only because of that I think this block is not enough. This job is for some indicator that does exactly this or has tons of settings

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Fixed Ratio by Ryan Jones method problem

      In the moment this MM method is global, there is only one place where temporary data is stored. I don't remember why I decided to make it that way. Now the solution is to use the same EA in different charts

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Logs and FileSize

      Is it now ok?

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Closing bucket of trades

      Look at the properties of these blocks. In both of them you can choose Group, Market and Type. This means that you can check the total unrealized profit of certain group of trades and then close those trades. The settings in both blocks must match.

      "Close trades" does not close pending orders. There is "Delete pending orders" for pending orders. By "trades" I mean running orders (positions or however you call them), not pending orders. By orders I mean... mostly pending orders.

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Using the Martingale function in Fxdreema?

      Martingale checks what was the profit (bigger or lower than 0) and the lot size of the latest trade and depending on that it decides what will be the lot size of the next trade. But it does not care what was the real profit/loss in money. It's the same if the last trade had loss of 0.1 dollars or 100 dollars - in both cases the next lot size will be doubled

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Logs and FileSize

      I don't know MQL4/MQL5 function to control the log size. But my question is - what does your log contains? It it something that the EA prints, something that must not be there?

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Closing bucket of trades

      Check profit (unrealized) - Close trades

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: "Draw Text" block - Text placement by "X coordinate" and "Price"

      This block creates one of these objects:
      https://docs.mql4.com/constants/objectc ... t/obj_text
      https://docs.mql4.com/constants/objectc ... /obj_label

      In both cases you have X and Y.

      • OBJ_LABEL - this object is placed at absolute position over the chart - X and Y are pixel offsets from the upper left corner. You can move the candles, you can zoom in and zoom out... this does not change the position. The spread meter on the bottm is made out of such type of objects.
      • OBJ_TEXT - coordinates have absolute position from the candles perspective - X is the Time at which the candle exists and Y is the price. If you move candles, all texts move with the candles, just like all the other arrows.

      As you can see, these are two different worlds. I don't know how to find the X/Y offset as pixels from the upper left corner of the chart if the object is OBJ_TEXT

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Help this part not working

      50 is the value of 50. This is not pips, it's 50. Try with +0.0050 or +50pips

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Cannot run on EURUSDm

      Do you have error messages?

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Security Features With Fxdreema

      You can only set expiration date, that's all. I personally see the EA builder as a tool to quickly test ideas. When it comes to security, I'm not very good in this 🙂

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Brokers with fixed spread and Spread filter

      EAs can do calculations and pop-up Alert box. Making calculations is not one of the advantages of EA builder like this, but it's possible of course. You can see that "Formula" block, it's pretty basic. It's not impossible, but it's also not very elegant. You can work with Variables, you can use the "Custom MQL4 code" block, you can even create your own block (there is no documentation about this).

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Closing bucket of trades

      I made "Bucket" blocks for people who want to get some calculated value, like the sum of all profits or similar stuff. These blocks only create a list of trades and that's all. Then, in Condition the value is calculated. Min, Max, Total or Average balue. These blocks has nothing to do with pink blocks. Pink blocks work in this "for each" manner. For pink block use one of the "For each..." blocks above. There are some examples here - LINK

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Brokers with fixed spread and Spread filter

      I use the function below. Nothing really fancy, simple calculations

      if (current_spread > max_spread) {max_spread = current_spread;}
      if (current_spread < min_spread) {min_spread = current_spread;}

      max_spread and min_spread are static variables, which means that they stay in memory.

      void DrawSpreadInfo()
      {
         static bool allow_draw = true;
         if (allow_draw==false) {return;}
         if (MQLInfoInteger(MQL_TESTER) && !MQLInfoInteger(MQL_VISUAL_MODE)) {allow_draw=false;} // Allowed to draw only once in testing mode
      
         static bool passed         = false;
         static double max_spread   = 0;
         static double min_spread   = EMPTY_VALUE;
         static double avg_spread   = 0;
         static double avg_add      = 0;
         static double avg_cnt      = 0;
      
         double custom_point = CustomPoint(Symbol());
         double current_spread = 0;
         if (custom_point > 0) {
            current_spread = (SymbolInfoDouble(Symbol(),SYMBOL_ASK)-SymbolInfoDouble(Symbol(),SYMBOL_BID))/custom_point;
         }
         if (current_spread > max_spread) {max_spread = current_spread;}
         if (current_spread < min_spread) {min_spread = current_spread;}
         
         avg_cnt++;
         avg_add     = avg_add + current_spread;
         avg_spread  = avg_add / avg_cnt;
      
         int x=0; int y=0;
         string name;
      
         // create objects
         if (passed == false)
         {
            passed=true;
            
            name="fxd_spread_current_label";
            if (ObjectFind(0, name)==-1) {
               ObjectCreate(0, name, OBJ_LABEL, 0, 0, 0);
               ObjectSetInteger(0, name, OBJPROP_XDISTANCE, x+1);
               ObjectSetInteger(0, name, OBJPROP_YDISTANCE, y+1);
               ObjectSetInteger(0, name, OBJPROP_CORNER, CORNER_LEFT_LOWER);
               ObjectSetInteger(0, name, OBJPROP_ANCHOR, ANCHOR_LEFT_LOWER);
               ObjectSetInteger(0, name, OBJPROP_HIDDEN, true);
               ObjectSetInteger(0, name, OBJPROP_FONTSIZE, 18);
               ObjectSetInteger(0, name, OBJPROP_COLOR, clrDarkOrange);
               ObjectSetString(0, name, OBJPROP_FONT, "Arial");
               ObjectSetString(0, name, OBJPROP_TEXT, "Spread:");
            }
            name="fxd_spread_max_label";
            if (ObjectFind(0, name)==-1) {
               ObjectCreate(0, name, OBJ_LABEL, 0, 0, 0);
               ObjectSetInteger(0, name, OBJPROP_XDISTANCE, x+148);
               ObjectSetInteger(0, name, OBJPROP_YDISTANCE, y+17);
               ObjectSetInteger(0, name, OBJPROP_CORNER, CORNER_LEFT_LOWER);
               ObjectSetInteger(0, name, OBJPROP_ANCHOR, ANCHOR_LEFT_LOWER);
               ObjectSetInteger(0, name, OBJPROP_HIDDEN, true);
               ObjectSetInteger(0, name, OBJPROP_FONTSIZE, 7);
               ObjectSetInteger(0, name, OBJPROP_COLOR, clrOrangeRed);
               ObjectSetString(0, name, OBJPROP_FONT, "Arial");
               ObjectSetString(0, name, OBJPROP_TEXT, "max&#58;");
            }
            name="fxd_spread_avg_label";
            if (ObjectFind(0, name)==-1) {
               ObjectCreate(0, name, OBJ_LABEL, 0, 0, 0);
               ObjectSetInteger(0, name, OBJPROP_XDISTANCE, x+148);
               ObjectSetInteger(0, name, OBJPROP_YDISTANCE, y+9);
               ObjectSetInteger(0, name, OBJPROP_CORNER, CORNER_LEFT_LOWER);
               ObjectSetInteger(0, name, OBJPROP_ANCHOR, ANCHOR_LEFT_LOWER);
               ObjectSetInteger(0, name, OBJPROP_HIDDEN, true);
               ObjectSetInteger(0, name, OBJPROP_FONTSIZE, 7);
               ObjectSetInteger(0, name, OBJPROP_COLOR, clrDarkOrange);
               ObjectSetString(0, name, OBJPROP_FONT, "Arial");
               ObjectSetString(0, name, OBJPROP_TEXT, "avg&#58;");
            }
            name="fxd_spread_min_label";
            if (ObjectFind(0, name)==-1) {
               ObjectCreate(0, name, OBJ_LABEL, 0, 0, 0);
               ObjectSetInteger(0, name, OBJPROP_XDISTANCE, x+148);
               ObjectSetInteger(0, name, OBJPROP_YDISTANCE, y+1);
               ObjectSetInteger(0, name, OBJPROP_CORNER, CORNER_LEFT_LOWER);
               ObjectSetInteger(0, name, OBJPROP_ANCHOR, ANCHOR_LEFT_LOWER);
               ObjectSetInteger(0, name, OBJPROP_HIDDEN, true);
               ObjectSetInteger(0, name, OBJPROP_FONTSIZE, 7);
               ObjectSetInteger(0, name, OBJPROP_COLOR, clrGold);
               ObjectSetString(0, name, OBJPROP_FONT, "Arial");
               ObjectSetString(0, name, OBJPROP_TEXT, "min&#58;");
            }
            name="fxd_spread_current";
            if (ObjectFind(0, name)==-1) {
               ObjectCreate(0, name, OBJ_LABEL, 0, 0, 0);
               ObjectSetInteger(0, name, OBJPROP_XDISTANCE, x+93);
               ObjectSetInteger(0, name, OBJPROP_YDISTANCE, y+1);
               ObjectSetInteger(0, name, OBJPROP_CORNER, CORNER_LEFT_LOWER);
               ObjectSetInteger(0, name, OBJPROP_ANCHOR, ANCHOR_LEFT_LOWER);
               ObjectSetInteger(0, name, OBJPROP_HIDDEN, true);
               ObjectSetInteger(0, name, OBJPROP_FONTSIZE, 18);
               ObjectSetInteger(0, name, OBJPROP_COLOR, clrDarkOrange);
               ObjectSetString(0, name, OBJPROP_FONT, "Arial");
               ObjectSetString(0, name, OBJPROP_TEXT, "0");
            }
            name="fxd_spread_max";
            if (ObjectFind(0, name)==-1) {
               ObjectCreate(0, name, OBJ_LABEL, 0, 0, 0);
               ObjectSetInteger(0, name, OBJPROP_XDISTANCE, x+173);
               ObjectSetInteger(0, name, OBJPROP_YDISTANCE, y+17);
               ObjectSetInteger(0, name, OBJPROP_CORNER, CORNER_LEFT_LOWER);
               ObjectSetInteger(0, name, OBJPROP_ANCHOR, ANCHOR_LEFT_LOWER);
               ObjectSetInteger(0, name, OBJPROP_HIDDEN, true);
               ObjectSetInteger(0, name, OBJPROP_FONTSIZE, 7);
               ObjectSetInteger(0, name, OBJPROP_COLOR, clrOrangeRed);
               ObjectSetString(0, name, OBJPROP_FONT, "Arial");
               ObjectSetString(0, name, OBJPROP_TEXT, "0");
            }
            name="fxd_spread_avg";
            if (ObjectFind(0, name)==-1) {
               ObjectCreate(0, name, OBJ_LABEL, 0, 0, 0);
               ObjectSetInteger(0, name, OBJPROP_XDISTANCE, x+173);
               ObjectSetInteger(0, name, OBJPROP_YDISTANCE, y+9);
               ObjectSetInteger(0, name, OBJPROP_CORNER, CORNER_LEFT_LOWER);
               ObjectSetInteger(0, name, OBJPROP_ANCHOR, ANCHOR_LEFT_LOWER);
               ObjectSetInteger(0, name, OBJPROP_HIDDEN, true);
               ObjectSetInteger(0, name, OBJPROP_FONTSIZE, 7);
               ObjectSetInteger(0, name, OBJPROP_COLOR, clrDarkOrange);
               ObjectSetString(0, name, OBJPROP_FONT, "Arial");
               ObjectSetString(0, name, OBJPROP_TEXT, "0");
            }
            name="fxd_spread_min";
            if (ObjectFind(0, name)==-1) {
               ObjectCreate(0, name, OBJ_LABEL, 0, 0, 0);
               ObjectSetInteger(0, name, OBJPROP_XDISTANCE, x+173);
               ObjectSetInteger(0, name, OBJPROP_YDISTANCE, y+1);
               ObjectSetInteger(0, name, OBJPROP_CORNER, CORNER_LEFT_LOWER);
               ObjectSetInteger(0, name, OBJPROP_ANCHOR, ANCHOR_LEFT_LOWER);
               ObjectSetInteger(0, name, OBJPROP_HIDDEN, true);
               ObjectSetInteger(0, name, OBJPROP_FONTSIZE, 7);
               ObjectSetInteger(0, name, OBJPROP_COLOR, clrGold);
               ObjectSetString(0, name, OBJPROP_FONT, "Arial");
               ObjectSetString(0, name, OBJPROP_TEXT, "0");
            }
         }
         
         ObjectSetString(0, "fxd_spread_current", OBJPROP_TEXT, DoubleToStr(current_spread,2));
         ObjectSetString(0, "fxd_spread_max", OBJPROP_TEXT, DoubleToStr(max_spread,2));
         ObjectSetString(0, "fxd_spread_avg", OBJPROP_TEXT, DoubleToStr(avg_spread,2));
         ObjectSetString(0, "fxd_spread_min", OBJPROP_TEXT, DoubleToStr(min_spread,2));
      }
      
      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: compare equity

      There is a block "Check profit (period of time)" that I added lately and it calculates the profit made from already closed trades in the past. But for Equity... I don't really know how to get such value. I know that MetaTrader can show you graph of this, but I never knew any function that can get this information. Here are the Account functions - https://docs.mql4.com/account - but they are only giving the current values

      posted in General Discussions
      fxDreema
      fxDreema
    • RE: Brokers with fixed spread and Spread filter

      I don't really understand what are you trying to do. There is no min and max spread in blocks, I'm not aware of such thing. There is a spread meter on the lower left corner, but this only shows things. Can you show me what are you trying to do?

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: For Each

      Just use the Martingale MM option in Buy now/Sell now

      posted in Questions & Answers
      fxDreema
      fxDreema
    • RE: Break even for a group of trades

      When you work with the Group parameter, you must be sure that in all trading blocks numbers are correct. By trading blocks I mean all blocks that can create, modify, delete trades and orders, or simply check something about them. You can try with "1,2" as a Group number in the TS block.

      The problem with this "-10 pips loss" was because the update I made last time when I decided to use the avetage price instead of the current price. I reverted this now... I'm still not sure which is the right price to be used in this situation.

      About the initial modify of SL... well, it looks that this happens once when the Start price is reached. There must be a reason why this parameter is called "Start" 🙂

      I'm doing my tests in EURUSD and with 10-15-10 settings everything looks fine for me, SL is modified from time to time.

      posted in Questions & Answers
      fxDreema
      fxDreema
    • 1
    • 2
    • 145
    • 146
    • 147
    • 148
    • 149
    • 374
    • 375
    • 147 / 375