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

 
sanktum:

 нажал на строку два раза  появилась  вертикальная строка  перед 70 , нажал Enter строка стала голубого цвета но цифра 70 осталась ?

Два раза щелкаешь мышкой на нужном параметре, вводишь нужное значение и фиксируешь клавишей Enter 
 
но вот я кликаю два раза на нужном папаметре где находится   цифра 70 , появляется строка вертикальная  перед 70  , набираю 10 оно  ставится перед  70 , нажимаю Enter  получается 1070 , а мне нужно просто 10 ?
 

Добрый вечер подскажите как написать условие, чтоб неоткрывал  бай(селл) если открыт(ы) ордер(а) в противоположном направлении.

Спасибо.

 
novator:

Добрый вечер подскажите как написать условие, чтоб неоткрывал  бай(селл) если открыт(ы) ордер(а) в противоположном направлении.

Спасибо.


поищите на сайте эту функцию

GetTypeLastOpenPos()

 

Лучше - эту:

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 06.03.2008                                                     |
//|  Описание : Возвращает флаг существования позиций                          |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//|    ot - время открытия             ( 0   - любое время открытия)           |
//+----------------------------------------------------------------------------+
bool ExistPositions(string sy="", int op=-1, int mn=-1, datetime ot=0) {
  int i, k=OrdersTotal();
 
  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (ot<=OrderOpenTime()) return(True);
            }
          }
        }
      }
    }
  }
  return(False);
}
 

Вопрос. Пытаюсь передать через буфер по iCustom сдвиг  бара в истории.

Примеры ПРИЕМНИК даты (передаю разумеется int).

#property indicator_chart_window
//---
extern string __History_method___   = "Set a date for the analysis"; 
extern bool   dateshift             = false;
extern bool   dataLine              = false;
int init()
  {
//---- indicators
   
   return(0);
  }
int deinit()
  {
//----
   ObjectDelete("TL2");
//----
   return(0);
  }
int start()   {    int DataCustom;    datetime DateShift; //----    if (Bars<1) return(-1);   DataCustom = iCustom(Symbol(), 0, "History", 0, 0, 1);    DateShift  = iTime(Symbol(), 0, DataCustom);    if (dataLine==true)    {    ObjectCreate("TL2", OBJ_VLINE, 0, DateShift), 0);    ObjectSet("TL2", OBJPROP_TIME1, DateShift);    ObjectSet("TL2", OBJPROP_COLOR, Red);    ObjectSet("TL2", OBJPROP_STYLE, 2);    }    return(0);   } ПЕРЕДАТЧИК
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1  Green
extern string __History_method___   = "Set a date for the analysis"; 
extern string DateShift             = "14.02.2013 07:00";
extern bool   dataLine              = false;
//----
double TiBuffer[];

int init()
  {
//---- indicators
SetIndexBuffer(0,TiBuffer);
IndicatorDigits(0);
SetIndexEmptyValue(0,0.0);
//----
   return(0);
  }

int deinit()
  {
//----
   ObjectDelete("TL");
//----
   return(0);
  }

int start()
  {
   int historybar  = iBarShift(Symbol(), 0, StrToTime(DateShift), false);
   TiBuffer[1] = historybar;
//----   
   if (dataLine==true)
   {
   ObjectCreate("TL", OBJ_VLINE, 0, iTime(Symbol(), 0, historybar), 0);
   ObjectSet("TL", OBJPROP_TIME1, iTime(Symbol(), 0, historybar));
   ObjectSet("TL", OBJPROP_COLOR, Red);
   ObjectSet("TL", OBJPROP_STYLE, 2);
   }
//----   
   return(0);
  }
//+------------------------------------------------------------------+
ВОПРОС! Передача даты идет ТОЛЬКО по ранее установленной цифре! Когда дату меняю, например на 12.2.2013 передача по буферу идет все равно  14.02.2013. Можно ли решить проблему. Идея таким образом объединить несколько индикаторов, для движения по истории.
 
YOUNGA ,tara   спасибо за помощь
 
 А мне что так никто и не подскажет что мне делать , с тем что не могу поменять мах просадку в тестере стратегий в разделе оптимизация , просто  у людей которых я приобрел  советник  этот параметр в терминале меняется , и мне посоветовали обратится к вам , неужели  это проблема ?
 
sanktum:
 А мне что так никто и не подскажет что мне делать , с тем что не могу поменять мах просадку в тестере стратегий в разделе оптимизация , просто  у людей которых я приобрел  советник  этот параметр в терминале меняется , и мне посоветовали обратится к вам , неужели  это проблема ?
Один раз кликните на 70 и введите 10.
 
tara:
Один раз кликните на 70 и введите 10.


Мне еще ни разу не удавлось вообще что-то изменить. Стоит галка, не стоит, старое значение возвращается и все...
Причина обращения: