Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 715

 
Zvezdochet:
УРРРРРРРРРРРРАААААААААААААААА!!!!!!!!!!! ТerrorИЗМ побеждён !! Но пасаран ! Венсеремос ! Свободу Никарагуа !

Думаю, не стоит вам больше писать в данную ветку - здесь не учат читать/писать, и не обучают говорить. Здесь помогают новичкам. А вы не новичок - вы младенец :)

ЗЫ. Я вам уже давал ссылку с чего начать. И не важно, что это по пятёрке - язык-то один. API разные.

Документация по MQL5: Основы языка
Документация по MQL5: Основы языка
  • www.mql5.com
Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...
 
Artyom Trishkin:

Думаю, не стоит вам больше писать в данную ветку - здесь не учат читать/писать, и не обучают говорить. Здесь помогают новичкам. А вы не новичок - вы младенец :)

ЗЫ. Я вам уже давал ссылку с чего начать. И не важно, что это по пятёрке - язык-то один. API разные.

Ну....пока не забанили......младенцам  , согласно Праилам фриланса   пИсать не запрещено. Вот я и пишУ - что возмёшь с младенца  - не ведает , что творит . А веток тут  много , дерево большое , растёт , желаю древу здравия .

ИМХО (  пантанусь  тоже )   ссылок  пруд пруди  и ани в башку не лезут . А тут люди ( а не ссылки )  немного подсказали - добро  совершили  и не посылают на ......или в   ссылку в Сибирь .

Братья ссыльные ! Подскажите  как второе задание решить ! Там одна строчка   Coment ( str )  и на мониторе  " Привет " должен засветиться

 
Zvezdochet:
&&&&&&&& на клавиатуре это циaра 7 при нажатой shift  в английской раскладке :)
 
https://www.mql5.com/ru/forum/160683/page711#comment_9876690   Скажите кто знает, где информацию по моему вопросу можно почитать - если уж помочь мне нельзя, то я сам... В другом месте мне подсказали, что в МТ5 это можно, но у меня МТ4, поиск не помогает.
 
ruzaden:
https://www.mql5.com/ru/forum/160683/page711#comment_9876690   Скажите кто знает, где информацию по моему вопросу можно почитать - если уж помочь мне нельзя, то я сам... В другом месте мне подсказали, что в МТ5 это можно, но у меня МТ4, поиск не помогает.

это можно сделать через глобальные переменные терминала. При условии что у вас есть исходный код индикатора и вы можете его править.

То есть индикатор будет делать рассчёт получая параметр не через extern а из вызыва GlobalVariableGet(). А советник соответсвенно будет менять эту переменную через GlobalVariableSet

 

Хочу сделать пару улучшений в МТ5:

1. Уменьшить число знаков на графике с 5 до 4-х, брокер этого делать не хочет.

2. Почему-то при установке цвета линии bid, фон цены становится такого же цвета и сливается с фоном.

Если установить цвет черный, то получится сплошная линия через весь экран, которая сильно отвлекает.


Насколько понимаю лучше всего это сделать выводя значение цены в качестве текстовой метки, а как сделать чтобы она двигалась вместе с изменением цены?

Возможно что у моего вопроса уже давно есть решение, но поиском я ничего не нашел.

 
ruzaden:
&&&&&&&& на клавиатуре это циaра 7 при нажатой shift  в английской раскладке :)
А-а-а-а

......а  я уже   ноут опасаться начал включать , прикидываю : " Через вебку за мной следят . Знают , что у меня семёрка . " Уже начал окопы копать . Бомбоубежище строить. и т . д....

 

Пока не создали ветку " Любые вопросы для младенцев " , прикинусь новичком и буду  задавать вопросы тут . Я про второе задание . Всё точно скопировал . Там всего пару слов я их вписал в шаблон , но куча  error

String str ="Привет ";

Comment (str );


 
Zvezdochet:

Пока не создали ветку " Любые вопросы для младенцев " , прикинусь новичком и буду  задавать вопросы тут . Я про второе задание . Всё точно скопировал . Там всего пару слов я их вписал в шаблон , но куча  error

String str ="Привет ";

Comment (str );


void OnStart()
{
     int y = 7;
     double z = 1.47;
     string str = "Привет!";
     
     Comment( str, "\n", y, "\n", z); 
}
 
Всем привет! что надо проверить??? выдаёт предупреждение по модификации и по открытию ... возвращает значение и нужно проверить...Как ??? советник ордера как попало открывает... (((
extern string MMM          = "MMM";
extern double Lot          = 0.1;
extern int    TakeProfit   = 50;
extern int    StopLoss     = 20;
extern int    Slippage     = 3;
extern int    Magic        = 888;
// Moving Average 1
extern string Indi_MA1        = "MA1";
extern int    MA1_Period   = 22;
extern int    MA1_Shift    = 0;
extern int    MA1_Method   = 0;
extern int    MA1_Price    = 0;
// Moving Average 2
extern string Indi_MA2        = "MA2";
extern int    MA2_Period   = 55;
extern int    MA2_Shift    = 0;
extern int    MA2_Method   = 0;
extern int    MA2_Price    = 0;
//+------------------------------------------------------------------+
double MA1,MA2,SL,TP;
int ticket;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
    if (Digits == 3 || Digits == 5)
    {
      TakeProfit = TakeProfit * 10;
      StopLoss = StopLoss     * 10;
      Slippage = Slippage     * 10;
    }
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
{
 return(0);
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick() 
 {           
    MA1 = iMA(Symbol(),0,MA1_Period,MA1_Shift,MA1_Method,MA1_Price,0);
    MA2 = iMA(Symbol(),0,MA2_Period,MA2_Shift,MA2_Method,MA2_Price,0);
    
    if (Ask >= MA1 && MA1 >= MA2 && CountBuy() == 0)
    {
       SL = NormalizeDouble(Ask - StopLoss   * Point,Digits);
       TP = NormalizeDouble(Ask + TakeProfit * Point,Digits);
       ticket = OrderSend(Symbol(),OP_BUY ,Lot,Ask,Slippage,0,0,"",Magic,0,Green);
       if (ticket > 0)
       { 
         if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES) == true)
            OrderModify(ticket,OrderOpenPrice(),SL,TP,0);

       }      
        
    if (Bid <= MA1 && MA1 <= MA2 && CountSell() == 0) 
    
       SL = NormalizeDouble(Bid + StopLoss   * Point, Digits);
       TP = NormalizeDouble(Bid - TakeProfit * Point, Digits);
       ticket = OrderSend(Symbol(),OP_SELL,Lot,Bid,Slippage,0,0,"",Magic,0,Red);
       if (ticket > 0)
       { 
         if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES) == true)
            OrderModify(ticket,OrderOpenPrice(),SL,TP,0);

       }                
    }
 }
//+------------------------------------------------------------------+
int CountBuy()
{
   int count = 0; 
   for (int trade = OrdersTotal() - 1; trade >= 0; trade--)
   {
      OrderSelect(trade,SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol() && OrderMagicNumber() ==  Magic)
      {
        if (OrderType() == OP_BUY)
        count++; 
      } 
   }
   return(count);
}
//+------------------------------------------------------------------+
int CountSell()
{
   int count = 0;
   for (int trade = OrdersTotal() - 1; trade >= 0; trade--)
   {
      OrderSelect(trade,SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol() && OrderMagicNumber() ==  Magic) 
      {
        if (OrderType() == OP_SELL)
        count++; 
      }
   }
   return(count);
}
//+------------------------------------------------------------------+
Причина обращения: