[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 253

 
DDFedor >>:

'kogda je budet MQL5?'

тогда вот эта ветка вам в помощь. здесь присутствуют ВСЕ варианты. в любом случае что-нибудь вам обязательно поможет. если же не поможет - спрашивайте. поможем. транслит тоже не все любят читать, поэтому транслитом вы тоже ограничиваете возможность вам отвечать.

Thanks, DDFedor, а то когда приходилось чтото наити в google то занимался апликатцией из букв текста на русском языке

 

помогите разукрасить индикатор, хочу чтобы если значение растет зеленый, падает - красный

вот код:

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Green


int BarsCount = 10000;

//---- buffers
double buf_1[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
    SetIndexStyle(0,DRAW_HISTOGRAM);
    SetIndexBuffer(0, buf_1);
//    SetIndexStyle(1,DRAW_HISTOGRAM);
//    SetIndexBuffer(1, buf_2);
    //----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
int i;
//----
   int limit = BarsCount;
    if (limit > Bars)
        limit = Bars;
        
   for (i = limit; 0 <= i; i--) {

        buf_1[i] = High[i]-Low[i];
   
        
        
        }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

Помогите с кодом, плиз.Хочу чтобы отложенный ордер выставлялся в 15:00, если на это время нет открытой позиции,

пишу следующее:

if (Hour()=15 || Minute()=0)              

 double max_level=High[iHighest(NULL,0,MODE_HIGH,13,0)]; //определяем максимальную цену за последние 13 баров
  double min_level=Low[iLowest(NULL,0,MODE_LOW,13,0)]; //определяем минимальную цену за последние 13 баров
  int Dist_SL =60; // Заданный SL (pt)  
  int Dist_TP =60; // Заданный TP (pt)
//--------------------Цикл установки ордера BUY STOP---------------------------------------------------------------------
while(true) // Цикл открытия орд.  
  {  
  int Min_Dist1=MarketInfo(Symbol(),MODE_STOPLEVEL); // Мин. дистанция
  double Price_B=max_level; // Цена покупки  

//----------------Устанавливаем ордер на покупку---------------------------------------------------------------------------
  if (NormalizeDouble(Price_B,Digits)< // Если меньше допуст.  
  NormalizeDouble(Ask+Min_Dist1*Point,Digits))  
  { // Только для BuyStop!  
  Price_B=Ask+Min_Dist1*Point; // Ближе нельзя  
  Alert("Изменена заявленная цена покупки: Price = ", Price_B);  
  }
  double SL_B=Price_B - Dist_SL*Point; // Заявленная цена SL для покупки
  double TP_B=Price_B + Dist_TP*Point; // Заявленная цена ТР для покупки
  Alert("Торговый приказ отправлен на сервер. Ожидание ответа..");  
  int ticket1=OrderSend(Symbol(), OP_BUYSTOP, 0.1, Price_B, 0, SL_B, TP_B); //Выставляем ордер на покупку
  if (ticket1>0) // Получилось :)  
  {  
  Alert ("Открыт ордер Buy ",ticket1);
  break; // Выход из цикла  
  }

Видимо что-то не то пишу, подскажите, как открывать позицию в заданное время?

 

Ну, по пунктам:

1. Если тик будет в нулевую минуту, то скрипт начнет работать. Лучше задать нулевую минуту как стартовую, а потом поставить флаг, который не позволит скрипту запуститься еще раз. Но в принципе это не критично.

2. Вы проверяете только когда уровень цены меньше допустимого, а кгда больше - нет.

3. При проверке цены Вы используете нормализацию, а при подстановке - нет, могут быть ошибки.

 
Roger >>:

Ну, по пунктам:

1. Если тик будет в нулевую минуту, то скрипт начнет работать. Лучше задать нулевую минуту как стартовую, а потом поставить флаг, который не позволит скрипту запуститься еще раз. Но в принципе это не критично.

2. Вы проверяете только когда уровень цены меньше допустимого, а кгда больше - нет.

3. При проверке цены Вы используете нормализацию, а при подстановке - нет, могут быть ошибки.

Спасибо за ответ. В програмировании я полный ноль, только начал изучать справочный файл, и сразу решил писать своего советника.  Я так понял, кадр

if (Hour()=15 || Minute()=0)   вообще некоректный, при компиляции каждый символ вызывает ошибку, подскажите, как же правильно написаоь-то?

 
albon >>:

Помогите с кодом, плиз.Хочу чтобы отложенный ордер выставлялся в 15:00, если на это время нет открытой позиции,


Видимо что-то не то пишу, подскажите, как открывать позицию в заданное время?

поищите на форуме, я брал у KimiV, там есть функция в которая ограничивает работу по времени

 
albon писал(а) >>

Спасибо за ответ. В програмировании я полный ноль, только начал изучать справочный файл, и сразу решил писать своего советника. Я так понял, кадр

if (Hour()=15 || Minute()=0) вообще некоректный, при компиляции каждый символ вызывает ошибку, подскажите, как же правильно написаоь-то?

Измените на

if (Hour()==15 || Minute()==0)

PS Если полный ноль, зачем такие мучения, лучше закажите кому-нибудь.

 
dmmikl86 >>:

помогите разукрасить индикатор, хочу чтобы если значение растет зеленый, падает - красный

вот код:

это нужно делать двумя буферами разного цвета.

Если цена растёт то значения присваиваються одному буферу если падает другому,

а второй при этом держится в чёрном теле(например вот так SetIndexEmptyValue(0,0.0);)

0 присваивается обоим буферам перед заполнением а после через if распределяете кому банковать а кому сидеть не рыпаться.

У Vinin'a такой индикатор кажется был,поищите через профиль в codebase.

 
Подскажите, можно ли вставить в основное окно терминала небольшую картинку?
 
IlyaA >>:
Подскажите, можно ли вставить в основное окно терминала небольшую картинку?

Пока нет в 5 обещают.(По крайней мере штатными средствами)

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