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

 
Parn25:
Народ подскажите можно ли изменить лот у отложенного ордера?

Изменения торговых ордеров производится функцией OrderModify(...).

Функция Лоты не модифицирует.

 
mersi:
Два вопроса.

1. Как записать/ввести в массив double abc[10] первую и последующие переменные double ab=a*b?
2. Как записать в массив одиннадцатую переменную, удалив первую?

Порядок записи переменных в маccиве (прямой или обратный) значения не имеет. Переменные в массиве нужны для определения средней арифметической.
Задачку решил.
 
Parn25:
Народ подскажите можно ли изменить лот у отложенного ордера?

Изменить лот нельзя. Можно удалить этот отложенный и выставить новый другим объёмом.

 
artmedia70:

Как определить, что работа закончена, а не просто человек, например, сменил таймфрейм? Да хоть случайно...


Проще тогда запретить перепрыгивать между тайм-фреймами. По моим наблюдениям такая конструкция не дает физически переключиться с минуток, например.

вставить в start() или в начале init(). Хотя нет, переключение происходит с возвратом, но буквально за доли секунды.

void Startimeframe()
{
        int hWnd, wParam;
        switch(Period())
        {
                case PERIOD_M1:  wParam = 33137; break;
                case PERIOD_M5:  wParam = 33138; break;
                case PERIOD_M15: wParam = 33139; break;
                case PERIOD_M30: wParam = 33140; break;
                case PERIOD_H1:  wParam = 33135; break;
                case PERIOD_H4:  wParam = 33136; break;
                case PERIOD_D1:  wParam = 33134; break;
                case PERIOD_W1:  wParam = 33141; break;
                case PERIOD_MN1: wParam = 33334; break;
        }
        hWnd = WindowHandle(Symbol(),Period());
        if(wParam!=33137) PostMessageA(hWnd,WM_COMMAND,33137,0);
}
 

Функция закрывает ордера через 2 суток после их открытия

if (Time[0]-OrderOpenTime() >= 2*1440*60 )  
          {
           OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,4 ),3,Red);
          }

Как будет правильно исключить выходные из подсчета прошедшего времени?

Думаю пробиваться с помощью iBarShift. Это правильный путь?

 
Operr:

Функция закрывает ордера через 2 суток после их открытия

Как будет правильно исключить выходные из подсчета прошедшего времени?

Думаю пробиваться с помощью iBarShift. Это правильный путь?

Я так сделал в своем советнике. Правда я считал общее количество дней торговли за вычетом выходных дней, чтобы правильно считать прибыль.

OrderSelect(0,SELECT_BY_POS,MODE_HISTORY);
   Days=MathRound((TimeCurrent()-OrderOpenTime())/(3600*24));
  //--вычесть выходные дни--------
   for(i=0; i<Days; i++)
    {  
      if(TimeDayOfWeek(CurTime()-i*24*3600)==0 || TimeDayOfWeek(CurTime()-i*24*3600)==6)  Days3++;
    }
   Days-=Days3;
 
Скажите, пож., как можно уменьшить время оптимизации, на М1 один параметр оптимизируется (прогнозное время тестера) 28 часов на истории в 24 часа?
 

Вот что ему надо а??? скажите почему ошибка когда компилирую

//+------------------------------------------------------------------+
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""

int Count=0;

//+------------------------------------------------------------------+
//|                                   |
//+------------------------------------------------------------------+
int start()                                     // Спец. ф-ия start()   
{   double Price = Bid;                          // Локальная перемен.   
My_Function();                               // Вызов польз. ф-ии   
Alert("Новый тик ",Count,"   Цена = ",Price);// Сообщение   
return;                                      // Выход из start()   }
//--------------------------------------------------------------------

int My_Function()                               // Описание польз.ф-ии   
{   
Count++;                                     // Счётчик обращений    
}
 
Cheb999:

Вот что ему надо а??? скажите почему ошибка когда компилирую

return;                                      // Выход из start()   }

Закрывающая скобка внутри комментария

 
Operr:

Функция закрывает ордера через 2 суток после их открытия

Как будет правильно исключить выходные из подсчета прошедшего времени?

Думаю пробиваться с помощью iBarShift. Это правильный путь?

У вас на графике разве присутствуют свечи за выходные/праздничные дни? Они и так пропускаются. Нет?

Вот и считайте сколько свечей прошло после открытия позиции

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