Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 135

 
Ну или хотя бы где можно об этом почитать. Плиз.
 
Sergey Voytsekhovsky:

Добрый вечер.

Вопрос:

 Подскажите плиз, как сделать во входных параметрах советника строчку, которая отображала бы какой-либо текст, но не была активна. Хочу разделить разделы. Например "Прямые котировки" и "обратные котировки". Искал в свободно доступных кодах что-бы срисовать, не могу найти. Зараннее спасибо.

.............

2 и 5 строчки теперь выглядят как подзаголовки во вкладке Inputs, это хорошо, но строчки эти активны и доступны для выделения. Как сделать их видимыми но не активными (недоступными для выделения) ???

Букву "s" в начале добавьте, получится типа:

sinput string  _____Main_____="_____Main_____";

 
Vladimir M.:

Букву "s" в начале добавьте, получится типа:

sinput string  _____Main_____="_____Main_____";

Спасибо за отзывчивость. Почитал про букву "s". Вот что нарыл:

"Переменная, объявленная с модификатором sinput, является входным параметром MQL4-программы, значение этого параметра можно изменять при её запуске." 

Попробовал в коде - исчезает возможность поставить галочку для оптимизации, значение переменной на вкладке Inputs по прежнему можно изменить, тоесть значение по прежнему можно выделить и поменять. 

Где-то видел, что на этой вкладке были неактивные строки, они даже бледнее выглядели, на мышку не реагировали вообще. А как сделать найти не могу.

 

Sergey Voytsekhovsky:

Попробовал в коде - исчезает возможность поставить галочку для оптимизации, значение переменной на вкладке Inputs по прежнему можно изменить, тоесть значение по прежнему можно выделить и поменять. 

Где-то видел, что на этой вкладке были неактивные строки, они даже бледнее выглядели, на мышку не реагировали вообще. А как сделать найти не могу.

Я понял суть вопроса, самому интересно. Единственное, что могу добавить, так это вставить через enum.

Тогда будет просто пустое место, где ничего нельзя будет вставить или поменять.

enum enum_Main {};
sinput enum_Main _____Main_____;
 

Здравствуйте, подскажите пожалуйста, где можно найти\скачать скрипт, который позволяет в МТ4 выставлять отложенные ордера на покупку и продажу сразу на определенное заданное трейдером количество пунктов от текущей цены, т.е. чтобы в ручную не считать, и может даже в окно ордера не заходить? Искал сам, не нашел, правда может не там ищу или не так называю, со скриптами еще ни разу не имел дело, только начал торговать на форекс.

 

Помогите разобраться с трейлингом.

Вот код:

for(int i=0; i<OrdersTotal()-1; i--) 

     {

      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

      if(OrderSymbol()==Symbol()||OrderMagicNumber()==Magic)

       if(OrderType()==OP_BUY)

         {

          if(tral>0)  

            {                 

              if(Bid-OrderOpenPrice()>tral*Point)

               {

                 if (NormalizeDouble(OrderStopLoss()<Bid-tral,Digits))

                  {

                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-tral,OrderTakeProfit(),0,Green);

                     Print("Ошибка модификации трейлинга",GetLastError());

                  }

               }

            }

         }

         

        if(OrderType()==OP_SELL)

         {

           if(tral>0)

            {                 

              if(OrderOpenPrice()-Ask>tral*Point)

               {

                 if((OrderStopLoss()>(Ask+tral)) || (OrderStopLoss()==0))

                  {

                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+tral,OrderTakeProfit(),0,Red);

                     Print("Ошибка модификации трейлинга",GetLastError());

                  }

               }

            }

         }   

   }

}

Проблема в том, что при тестировании трал не работает и не выдает ошибок.

 

Всем доброго дня!

Торгую на реальном счету у одного брокера на МТ4

Платформа стоит на работе, дома и на телефоне. Соответственно когда дома накладываю индикатор или уровень то потом приходится все тоже самое делать на работе.

Вопрос: есть ли какая нибудь возможность (прога, робот или еще какой нибудь вариант), при построении индикаторов на одном рабочем столе сделать так, чтобы они появлялись везде?

Заранее благодарен

 
churkin:

Всем доброго дня!

Торгую на реальном счету у одного брокера на МТ4

Платформа стоит на работе, дома и на телефоне. Соответственно когда дома накладываю индикатор или уровень то потом приходится все тоже самое делать на работе.

Вопрос: есть ли какая нибудь возможность (прога, робот или еще какой нибудь вариант), при построении индикаторов на одном рабочем столе сделать так, чтобы они появлялись везде?

Заранее благодарен

Только сохранять шаблон и копировать его на другой терминал. Или даже профиль, если нужно сохранить настройки не для одного графика, а для всех, открытых в терминале.

 

Добрый день,

Как можно обнулить статические переменные, когда изменяешь таймфрейм графика или меняешь входные параметры советника? 

 
Asa saas:

Добрый день,

Как можно обнулить статические переменные, когда изменяешь таймфрейм графика или меняешь входные параметры советника? 

Только вводить соответствующий параметр:

bool g_bIsInit;
int OnInit()
{
   g_bIsInit = true;
}

void MyFunction()
{
   static int nMyStatic = 0;
   if (g_bIsInit)
   {
      nMyStatic = 0;
      g_bIsInit = false;
   }
}

Поэтому стоит 100 раз подумать прежде, чем использовать статические переменные в советнике. Вот в скрипте или индикаторе - другое дело.