[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 209

 
народ подскажите пожалуйста: при создании функции ObjectCreate (при создании трендовой линии) у меня получается луч, который следуя от одной точки к другой имеет продолжение на графике только в правую сторону. а как сделать так что бы он продолжался и в левую сторону?
 
DemanRap: получается луч, который следуя от одной точки к другой имеет продолжение на графике только в правую сторону. а как сделать так что бы он продолжался и в левую сторону?
Вы не можете луч влево нарисовать или вы хотите вместо луча получить прямую ?
 
я хочу что бы у меня в моем роботе имелась возможность отследить где на исторических данных находился бы этот луч. например проверить как бы близко к нему прилегали бы другие фракталы а не только 2 фрактала на которых я его изначально построил.
 
да. значит у меня цель получить прямую.
 
DemanRap: да. значит у меня цель получить прямую.

datetime time1 = …;
double price1 = …;

datetime time2 = …;
double price2 = …;

datetime timeDifference =  time2 – time1;  // добавить
double priceDifference = price2 – price1;  // добавить

ObjectCreate("trend_line1", OBJ_TREND, 0, time1, price1, time2, price2);
ObjectCreate("trend_line2", OBJ_TREND, 0, time1, price1, time1 - timeDifference, price1 - priceDifference); // добавить

Для получения прямой попробуйте добавить выделенные строки

 
спасибо большое, но оказалось все гораздо проще. достаточно просто начертить еще один луч и поменять в нем time1, price1 и time2 price2 местами. зато над задачей целый день голову ломал)))
 
Aleksander:

а с ними что? - глобальные на уровне Терминала?

хранят некоторое время в файле переменных :-) дату обращения, имя и значение типа double


По GV-переменным вопрос такой... В книге С.К. по MQL4 в главе "Переменные GlobalVariables" в разделе "Свойства GV-переменных" сказано: "GV-переменная может иметь только тип double". Ниже, в разеделе "Функция GlobalVariableDel()" приведен пример эксперта globalvar.mq4 следующего содержания:

//--------------------------------------------------------------------
// globalvar.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
int    Experts;                                 // Колич. экспертов
double Depo=10000.0,                            // Заданный депозит
       Persent=30,                              // Заданный процент     
       Money;                                   // Искомые средства
string Quantity="GV_Quantity";                  // Имя GV-переменной
//--------------------------------------------------------------------
int init()                                      // Спец. функция init
  {
   Experts=GlobalVariableGet(Quantity);         // Получим тек. знач.
   Experts=Experts+1;                           // Колич. экспертов
   GlobalVariableSet(Quantity, Experts);        // Новое значение
   Money=Depo*Persent/100/Experts;              // Средства для эксп.
   Alert("Для эксперта в окне ", Symbol()," выделено ",Money);
   return;                                      // Выход из init()
  }
//--------------------------------------------------------------------
int start()                                     // Спец. функция start
  {
   int New_Experts= GlobalVariableGet(Quantity);// Новое колич. эксп.
   if (Experts!=New_Experts)                    // Если изменилось
     {
      Experts=New_Experts;                      // Теперь текущ. такое
      Money=Depo*Persent/100/Experts;           // Новое знач. средств 
      Alert("Новое значение для эксперта ",Symbol(),": ",Money);
     }
   /*
   ...
   Здесь долен быть указан основной код эксперта,
   в котором используется значение переменной Money
   ...
   */
   return;                                      // Выход из start()
  }
//--------------------------------------------------------------------
int deinit()                                    // Спец. ф-ия deinit
  {
   if (Experts ==1)                             // Если эксперт один..
      GlobalVariableDel(Quantity);              //..удаляем GV-перемен
   else                                         // А иначе..
      GlobalVariableSet(Quantity, Experts-1);   //..уменьшаем на 1
   Alert("Эксперт выгружен из окна ",Symbol()); // Сообщ. о выгрузке
   return;                                      // Выход из deinit()
  }
//--------------------------------------------------------------------

Вопрос: почему в данном примере GV-переменные Expert и New_Expert имеют тип int. хотя, как указано ранее, эти переменные должны иметь тип double?

 

Доброго времени суток! Подскажите пожалуйста что может быть не так в советнике?

//+------------------------------------------------------------------+
//|                                                           iB.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

int MagicNumber = 1981;
//-----------------------------------------
extern double  Percent        = 0.8;
extern double  Lots           = 0.1;

bool Accept()
  {
   bool TradeOpen;
//----
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
        {
         if(OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP) TradeOpen=false;
            else TradeOpen=True;
         if (OrderType() == OP_BUY)
            {if (OrderStopLoss() < (Low[1] * Point)) 
                  OrderModify(OrderTicket(),OrderOpenPrice(),(Low[1] * Point),0,0,Green);}
         if (OrderType() == OP_SELL) 
            {if (OrderStopLoss() > (High[1] * Point)) 
                  OrderModify(OrderTicket(),OrderOpenPrice(),(High[1] * Point),0,0,Red);}
        }
     }

   return(TradeOpen);
  }
//-------------------------------------------------------------------+
int start()
  {
//----
   if (Accept())
   {
      if(High[1]<High[2] && Low[1]>Low[2])   
         if ((High[1]-Low[1])/(High[2]-Low[2])<Percent)
       {
         OrderSend(Symbol(), OP_BUYSTOP, Lots, High[1], 3, Low[2], 0, "iB", MagicNumber, 0, Green);
         OrderSend(Symbol(), OP_SELLSTOP, Lots, Low[1], 3, High[2], 0, "iB", MagicNumber, 0, Red);
       }
   }
   return(0);
  }
//+------------------------------------------------------------------+
Компилируется без проблем, никаких ошибок, но не торгует. Пробовал закоментить разные блоки кода, но виновника не нашел. В логике вроде бы тоже проблем не замечал.
 
На старом демо-счёте забыл свой пароль. Где его можно поискать?
 
MikeM:
На старом демо-счёте забыл свой пароль. Где его можно поискать?


Нигде его нет, если сами не позаботились об его сохранении - узнавал в саппорте одного из ДЦ.

Пробивайте свою почту - на неё высылают при открытии счёта его параметры все, включая пароли...

Причина обращения: