Инфа о символе и мировое время.

 
Предложение к разработчикам . Не хватает информации о символе на графике. Сейчас выводится только название символа, таймфрейм, ohlc. Не плохо было бы добавить размер свопа, спрэда, залог на 1лот, стоимость пункта. Знаю что это есть в свойствах символа(своп, спрэд), но лезть туда по каждому символу очень не удобно. Можно ещё добавить в эту строчку время то есть часы London, New York, Sydney, Tokyo в 24-ом формате.

PS. Может кто нибудь сделать скрипт?
 
Поддерживаю идею :)
Для этих целей я писал отдельный индикатор, который выводит различную информацию о текущем символе. Например размер одного пункта в долларах, так гораздо удобнее расчитывать уровень стоп и тейк профитов.
 
//+----------------------------------------------------------------------------+
//|                                                          i-SymbolInfo.mq4  |
//|                                                                            |
//|  Идея      : GoodMan, http://www.metaquotes.ru/forum/8400/                 |
//|  Реализация: Ким Игорь В. aka KimIV, http://www.kimiv.ru                   |
//|                                                                            |
//|  05.06.2007  Индикатор дополнительной информации о символе.                |
//+----------------------------------------------------------------------------+
#property copyright "GoodMan & KimIV"
#property link      "http://www.kimiv.ru"

#property indicator_chart_window

//------- Внешние параметры индикатора -----------------------------------------
extern int offsetLondon  = -5;
extern int offsetNewYork = -10;
extern int offsetSydney  = 5;
extern int offsetTokyo   = 4;


//+----------------------------------------------------------------------------+
//| Custom indicator deinitialization function                                 |
//+----------------------------------------------------------------------------+
void deinit() { Comment(""); }

//+----------------------------------------------------------------------------+
//|  Custom indicator iteration function                                       |
//+----------------------------------------------------------------------------+
void start() {
  string st;

  st="SwapLong="+DoubleToStr(MarketInfo(Symbol(), MODE_SWAPLONG), 2)+
     "  SwapShort="+DoubleToStr(MarketInfo(Symbol(), MODE_SWAPSHORT), 2)+
     "  Spread="+DoubleToStr(MarketInfo(Symbol(), MODE_SPREAD), 0)+
     "  Margin="+DoubleToStr(MarketInfo(Symbol(), MODE_MARGININIT), 2)+
     "  TickValue="+DoubleToStr(MarketInfo(Symbol(), MODE_TICKVALUE), 2)+
     "\n"+
     "London "+TimeToStr(TimeLocal()+offsetLondon*60*60, TIME_MINUTES)+
     "  New York "+TimeToStr(TimeLocal()+offsetNewYork*60*60, TIME_MINUTES)+
     "  Sydney "+TimeToStr(TimeLocal()+offsetSydney*60*60, TIME_MINUTES)+
     "  Tokyo "+TimeToStr(TimeLocal()+offsetTokyo*60*60, TIME_MINUTES)+
     "";
  Comment(st);
}
//+----------------------------------------------------------------------------+
 
По вкусу - из скрипта KimIV и приведенного ниже сделайте, то что Вам удобно

//|------------------------------------------------------------------|
//|                                                  Market_Info.mq4 |
//|                                          Copyright © 2007,    GS |
//|                                                    gsb51@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, GS"
#property link      "http://www.gustis.narod.ru"
int start() 
{
  string s=Symbol();
  int n=0;
  double k=1.0;
  string st;
  
  st=StringSubstr(s,0,3); 
  
  if(DayOfWeek()==3) n=3; else n=1;
  if(st=="GBP") k=MarketInfo("GBPUSD", MODE_BID);
  if(st=="EUR") k=MarketInfo("EURUSD", MODE_BID);
  if(st=="AUD") k=MarketInfo("AUDUSD", MODE_BID);
  if(st=="CAD") k=MarketInfo("USDCAD", MODE_BID);
  if(st=="CHF") k=MarketInfo("USDCHF", MODE_BID);
  if(st=="NZD") k=MarketInfo("NZDUSD", MODE_BID);
  
  Comment
  (
    "-----------  Торговые условия ----------\n",
    "Pазмер лота в USD  ",MarketInfo(s,MODE_LOTSIZE)*k/AccountLeverage(),"$\n",
    "Залоговые требования: ", MarketInfo(s,MODE_MARGININIT),"\n",
    "Цена за пункт ",MarketInfo(s,16),"\n",
    "Маржа с перекрытых позиций :", MarketInfo(s,31),"\n",
    "Спрэд ",MarketInfo(s,13),"\n",
    "Cтоп/Tейк-профит  ",MarketInfo(s,14),"\n",
    "Cвоп лонг ",MarketInfo(s,18)*MarketInfo(s,16)*n,"$\n",
    "Cвоп шорт ",MarketInfo(s,19)*MarketInfo(s,16)*n,"$\n",
    "Мин. размер лота  ",MarketInfo(s,MODE_MINLOT),"\n",
    "Макс. размер лота  ",MarketInfo(s,MODE_MAXLOT),"\n",

    "------------  Account ---------------\n",
    "Маржа = ",AccountLeverage(),"\n",
    "StopOut level = ", AccountStopoutLevel(),"\n",
    "Кредит счета = ", AccountCredit(),"\n",
    "Server = ", AccountServer(),"\n" 
  );
   return(0);
}



Удачи

 
to KimIV:
Не показывал залог на 1лот. Заменил MODE_MARGININIT на MODE_MARGINREQUIRED, теперь вроде всё нормально.
to GS:
Не на такое я не способен :) . Скрипт у меня не заработал, на графике нет инфы.

А можно сделать чтоб часы и в оффлайне работали? И ещё хотел узнать можно добавить инфу по открытым позициям?
 
Ну так там две строки кода не записались :))

return(0);
}

Подправил ......

А насчет
А можно сделать чтоб часы и в оффлайне работали?


Я имею ввиду скрипт Игоря, так там же и так стоит TimeLocal(), т.е время берется системное с компа. И скрипт работает в потоке и не зависит от online || ofline.


И ещё хотел узнать можно добавить инфу по открытым позициям?


Ну напишите что то типа вот этого и выбирайте что в коммент выводить. Чуть чуть почитать надо ну и совсем чуть чуть поработать ...

     total = OrdersTotal();
     if(total > 0) 
     {
       for(i = 0; i<total; i++)
         {
           if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true && OrderSymbol() == Symbol())  
             {
               Pos = OrderType();
               ticket=OrderTicket();
               Ls=OrderLots();
               
               if(Pos == OP_BUY)   // Look for Buy && Sell for the Symboll in active window
                {
                 ntb[nb]=ticket; nLsb[nb]=Ls;
                 BuyLots = BuyLots + Ls;    // total Buy
                 nb++;
                }
               if(Pos == OP_SELL)
                {
                 nts[ns]=ticket; nLss[ns]=Ls;
                 SellLots = SellLots + Ls;  // total Sell
                 ns++;
                }                
                
             }
          }    
      } 
//--------  Comment  ------------ 
       Comment("\n","\n","\n",
                           "Ord_Buy  : ",nb,"\n",
                           "Ord_Sell  : ",ns,"\n",
                           "LotsBuy   : ",DoubleToStr(BuyLots,NormLotDgts),"\n",
                           "LotsSell   : ",DoubleToStr(SellLots,NormLotDgts),"\n","\n",
                    ............................
//ну и т .п

 
Ну так там две строки кода не записались :))

return(0);
}

Подправил ......

Всё равно не хочет работать.
Я имею ввиду скрипт Игоря, так там же и так стоит TimeLocal(), т.е время берется системное с компа. И скрипт работает в потоке и не зависит от online || ofline.

В оффлайне часы стоят и только при переключение таймфрейма обновляются.
Чуть чуть почитать надо ну и совсем чуть чуть поработать ...

Чуть наверное не получится. Это надо садится за изучение mq4. Если было бы всё так просто для меня, я бы здесь тогда не просил помощи.
 
Всё равно не хочет работать.


Чудес не бывает... положите "это" в папку со скриптами в отличии от предыдущего кода, который в папке - индикаторы.

В оффлайне часы стоят и только при переключение таймфрейма обновляются.


Это индикатор, а индикатор обновляется при поступлении нового тика. Вставте кусок кода в скрипт.

Насчет изучать или нет mql, это уже Ваш вопрос.

Успехов
 
Да пихал я его куда тлько можно, не хотел работать, правда ща всё в проядке. Спасибо.

Вот здесь есть ещё один индикатор по теме:
"MQL4: Как настроить глобальное время?"