Logo

Вход

Войти с помощью соц. сетей
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения
ТОП СООБЩЕНИЙ
03.09.2015, 23:45
Лучший ответ
Выплачено: 33438 RUB
Блоки из группы "custom_utility" и "custom_user" особенные. В них не может быть ~next~ и они используются в качестве автономных (не соединяются линиями) кусков кода в диаграмме. Поэтому они должны написаны как функции , потому что генератор не будет создавать для таких блоков имя функции и фигурные скобки { } . Используйте группы "custom_utility" и "custom_user " только в специальных случаях.
Нажмите на изображение для увеличения.

Название:	CstUnitUs.JPG
Просмотров:	1
Размер:	51.1 Кб
ID:	25749161
25.09.2015, 09:40
Лучший ответ
Выплачено: 25411 RUB
Сообщение от Tekora Посмотреть сообщение
Проверяет профит ордеров в валюте депозита. Поиск ордеров происходит по магическому номеру MagicNumber (можно задать любое целочисленное значение) и типу ордера OrderType (покупки или продажи). В подсчете профита не учитываются свопы и комисси. Используйте этот если нужно сравнить текущий профит ордеров с величиной, задаваемой параметром Profit. Например: при достижении определенного профита закрыть ордер.
За старания, конечно, плюс к карме, но чем этот блок отличается от стандартного "Check Open Orders" ?
04.03.2016, 15:55
Лучший ответ
Выплачено: 120 RUB
На одном из форумов нашел блок: " если от начального блока несколько ответвлений то советники работают не совсем корректно .
проблема решается блоком проверки свободности торгового потока . тогда каждая ветвь ждёт пока торговый поток освободится."

Как Вы думаете, стоит ли использовать данный блок?
17.12.2020, 07:28
Лучший ответ
Выплачено: 90 RUB
Народ есть блоки по графическим обьектам например работа с кнопкой или окнами?
15.05.2014, 16:58
Лучший ответ
Выплачено: 578 RUB
Сделал блок для скальпинга ,кому нужен берете.Здесь секунда и расстояний от BUYSTOP ордера .



MQL код:
int datetime800 = TimeCurrent();
if (~ExpectedTime~ == 0 || datetime800 > ~ExpectedTime~ + 1)
{
~ExpectedTime~ = datetime800 + 1 * ~second~; // reset paused time
}

double near_ord_price=000000;
// calculate summe lots and last order open price
for (int i=OrdersTotal()-1; i >= 0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderType() == OP_BUYSTOP && OrderSymbol() == Symbol() && OrderMagicNumber() == ~order_id~)


{ if ( near_ord_price < OrderOpenPrice() )
{ near_ord_price = OrderOpenPrice(); }

}}
else
{
Print("OrderSelect() error - ", ErrorDescription(GetLastError()));
}}
//'''''''''''''''''''''''''''''''''''''''''''''''


if (datetime800 >= ~ExpectedTime~ && datetime800 < ~ExpectedTime~ + 1 && near_ord_price - ~step~*PipValue*Point < ~offset~ && near_ord_price - (~step~-2)*PipValue*Point > ~offset~ )


{ ~next~ }
04.09.2015, 00:32
Лучший ответ
Выплачено: 33438 RUB
Конфликты в именах блоков

Если вы планируете поделиться своими блоками в Интернете, убедитесь, что заданы уникальные имена для ваших блоков . Имейте в виду, что Forex EA Generator не позволяет импортировать блоки с одинаковыми "Block Id" (идентификаторами). Рекомендуется добавлять префикс перед именем блока с двумя или тремя строчными буквами для того, чтобы уменьшить возможность конфликтов в именах.
Пример : Допустим, что Вы создали новый улучшенный блок Технического анализа . Если вы назавёте его "Technical Analysis", то трудно будет импортировать его в генератор (вам придется, сначало, удалить встроенный блок "Technical Analysis") . Вместо этого, можно назвать его "еxTechnical Analysis". Теперь это новый блок будет импортироваться нормально и может быть использован другими.
  • #1 Свернуть

    Новый блоки для конструктора Forex EA Generator 5

    Если кто хочет обменивается новыми блоками для конструктора Forex EA Generator 5 присоединяться к новый теме .
  • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
  • #2 Свернуть

    Сделал блок для скальпинга ,кому нужен берете.Здесь секунда и расстояний от BUYSTOP ордера .



    MQL код:
    int datetime800 = TimeCurrent();
    if (~ExpectedTime~ == 0 || datetime800 > ~ExpectedTime~ + 1)
    {
    ~ExpectedTime~ = datetime800 + 1 * ~second~; // reset paused time
    }

    double near_ord_price=000000;
    // calculate summe lots and last order open price
    for (int i=OrdersTotal()-1; i >= 0; i--)
    {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    {
    if (OrderType() == OP_BUYSTOP && OrderSymbol() == Symbol() && OrderMagicNumber() == ~order_id~)


    { if ( near_ord_price < OrderOpenPrice() )
    { near_ord_price = OrderOpenPrice(); }

    }}
    else
    {
    Print("OrderSelect() error - ", ErrorDescription(GetLastError()));
    }}
    //'''''''''''''''''''''''''''''''''''''''''''''''


    if (datetime800 >= ~ExpectedTime~ && datetime800 < ~ExpectedTime~ + 1 && near_ord_price - ~step~*PipValue*Point < ~offset~ && near_ord_price - (~step~-2)*PipValue*Point > ~offset~ )


    { ~next~ }
    Последний раз редактировалось Gold; 23.05.2014, 08:30.

    Комментарий

    • #3 Свернуть

      Сделал линию BlueLine по которой можно открывать ордера ,после этого блока вставите блок SELL или BUY .Передвигаете линию BlueLine к Ask и у вас откройся ордер .Тестере тоже можно
      передвигает линию BlueLine к Ask и у вас откройся ордер .



      MQL код:
      double BlueLine = 0;

      ObjectCreate("BlueLine", OBJ_HLINE, 0, 0, Ask + ~delta~*PipValue*Point);
      ObjectSet("BlueLine", OBJPROP_COLOR, Blue);
      ObjectSet("BlueLine", OBJPROP_WIDTH, 3);

      BlueLine = ObjectGet("BlueLine", OBJPROP_PRICE1);
      if(Ask-2*PipValue*Point<BlueLine && Ask>BlueLine)
      {

      ~next~
      }
      Последний раз редактировалось Gold; 23.05.2014, 08:30.

      Комментарий

      • #4 Свернуть

        Линия RedLine BlueLine по которой можно открывать ордера SELL или BUY .Передвигает линию BlueLine или RedLine к Ask и у вас откройся ордер .
        MQL код:
        RedLine = ObjectGet("RedLine", OBJPROP_PRICE1);
        BlueLine = ObjectGet("BlueLine", OBJPROP_PRICE1);


        MQL код:
        double RedLine = 0;
        double BlueLine = 0;

        ObjectCreate("RedLine", OBJ_HLINE, 0, 0, Bid - ~delta~*PipValue*Point);
        ObjectSet("RedLine", OBJPROP_COLOR, Red);
        ObjectSet("RedLine", OBJPROP_WIDTH, 3);

        RedLine = ObjectGet("RedLine", OBJPROP_PRICE1);
        if(Bid+2*PipValue*Point>RedLine && Bid<RedLine)
        {
        ~next~
        }
        Последний раз редактировалось Gold; 23.05.2014, 08:30.

        Комментарий

        • #5 Свернуть

          Сделал советник BlueLine RedLine открывать ордера SELL и BUY.
          MQL код:
          extern double BuyLots7 = 0.1;
          extern int BuyStoploss7 = 20;
          extern int BuyTakeprofit7 = 30;
          extern double SellLots10 = 0.1;
          extern int SellStoploss10 = 20;
          extern int SellTakeprofit10 = 30;
          Последний раз редактировалось Gold; 23.05.2014, 08:31.

          Комментарий

          • #6 Свернуть

            CloseBYorder1.def закрывает встречными ордерами

            MQL код:
            while(true)
            {
            double Lot_Buy = -1.0;
            double Lot_Sell = -1.0;
            for (int i=1; i<=OrdersTotal(); i++)
            {
            if (OrderSelect(i-1,SELECT_BY_POS))
            {
            if (OrderSymbol()!= Symbol()) continue;
            int Type = OrderType();
            if (Type>1) continue;
            if (Type==OP_BUY && OrderLots()>Lot_Buy)
            {
            Lot_Buy=OrderLots();
            int OrderTicket_Buy=OrderTicket();
            }
            if (Type==OP_SELL && OrderLots()>Lot_Sell)
            {
            Lot_Sell=OrderLots();
            int OrderTicket_Sell=OrderTicket();
            }
            }
            }
            if (Lot_Buy<0 || Lot_Sell<0) return;
            while (true)
            {
            if (OrderCloseBy(OrderTicket_Buy,OrderTicket_Sell)) break;
            int Error=GetLastError();
            switch(Error)
            {
            case 4: Print(Error);
            Sleep(3000);
            continue;
            case 137: Print(Error);
            Sleep(3000);
            continue;
            case 146: Print(Error);
            Sleep(500);
            continue;
            default: Print(Error);
            }
            return;
            }
            }
            Последний раз редактировалось Gold; 23.05.2014, 08:31.

            Комментарий

            • #7 Свернуть

              Сделал блок BuyStop можно вставлять после блока On Every tick


              MQL код:
              int expire = TimeCurrent() + 60 * ~Expiration~;
              double price = NormalizeDouble(~Price~, NDigits) + ~PriceOffset~*PipValue*Point;
              double SL = price - ~BuyStoploss~*PipValue*Point;
              if (~BuyStoploss~ == 0) SL = 0;
              double TP = price + ~BuyTakeprofit~*PipValue*Point;
              if (~BuyTakeprofit~ == 0) TP = 0;
              if (~Expiration~ == 0) expire = 0;
              int ticket = OrderSend(Symbol(), ~OrderType~, ~BuyLots~, price, ~BuySlippage~, SL, TP, "~BuyExpertName~", ~BuyOrderId~, expire, ~BuyColor~);
              if (ticket == -1)
              {
              Print("OrderSend() error - ", ErrorDescription(GetLastError()));
              }
              ~next~
              Последний раз редактировалось Gold; 28.05.2014, 21:12.

              Комментарий

              • #8 Свернуть

                Kozim, Можете автоматизировать одну стратегию по золоту?

                Комментарий

                • #9 Свернуть

                  Сообщение от Kozim Посмотреть сообщение
                  CloseBYorder1.def
                  А нет ли у вас блока, который закрывает все выставленные отложенные ордера? Наподобие Delete All Pending Orders

                  Комментарий

                  • #10 Свернуть

                    Сообщение от Starky Посмотреть сообщение
                    А нет ли у вас блока, который закрывает все выставленные отложенные ордера? Наподобие Delete All Pending Orders
                    Всё, уже сам сделал... : ) Вот, если нужно кому : )

                    Комментарий

                    • #11 Свернуть

                      А есть у кого блок по размеру тела свечи? У меня не получается....

                      Комментарий

                      • #12 Свернуть

                        Подскажите блок для модификации цены установки отложенного ордера. Есть ли такой в генераторе или нужно будет писать его самому? Именно цены установки, а не стоп-лоса или тейк-профита.
                        Мне нужно передвигать отложку buy-stop на High предыдущей свечи + 1 или 2 пипа выше, до тех пор пока отложка не сработает.
                        FX-календарь | Регистрация на ФОРУМЕ |

                        Комментарий

                        • #13 Свернуть

                          В Forex EA Generator'e есть основная возможность , где можно создавать свои собственные блоки . Она находится в меню "Project-> Code Library" . Блоки, созданые через Code Library не являются равнозначными с блоками , созданными в FXG Block Editor'e . Если вы создаете блок в Code Library, то не сможете редактировать его в FXG Block Editor'e и наоборот .
                          Последний раз редактировалось Tekora; 03.09.2015, 21:41.
                          FX-календарь | Регистрация на ФОРУМЕ |

                          Комментарий

                          • #14 Свернуть

                            Code Library использует гораздо более упрощенную модель создания блоков в то время как FXG Block Editor использует всю мощь генератора, чтобы создавать блоки, которые выглядят как родные блоки. Поэтому лучше всего использовать FXG Block Editor для любого серьезного блока. Code Library должен быть использован только для быстрого тестирования идей и небольших кусочков кода.
                            Последний раз редактировалось Tekora; 03.09.2015, 22:06.
                            FX-календарь | Регистрация на ФОРУМЕ |

                            Комментарий

                            • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
                            • #15 Свернуть

                              Блоки

                              Forex Generator группирует блоки на основе их функциональности . Поэтому это хорошая идея, чтобы следовать той же логике и назначить блокам уже предопределены группы . После того, как вы откроете FXG Block Editor и нажмeте на меню "New" , нажмите "Edit -> Block Properties".
                              Нажмите на изображение для увеличения.

Название:	Block Properties.JPG
Просмотров:	1
Размер:	60.9 Кб
ID:	25749117
                              FX-календарь | Регистрация на ФОРУМЕ |

                              Комментарий

                              X