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

 
splxgf >>:

отложенный ордер ставится одной строчкой, вопрос в том на каком расстоянии?

sell limit на расстоянии 30 пунктов вверх от текущей цены

buy limit на расстоянии 30 пунктов вниз от текущей цены

 

ЛИМ. ОРДЕРА

extern int     Magic = 20011;
extern double  Lot=0.1;
extern int     sl    =50;     // Размер фиксированного стопа
extern int     tp  =40;    // Размер фиксированного тэйка
extern int     Шаг =30;   //расстояние от текущ. цены
double ld_Stop=0, ld_Take=0;
//-- Подключаемые модули --
#include <stderror.mqh>
#include <stdlib.mqh>
//-----------------------------
int start()
{
//-------------------------------------------------
if(NumberOfOrders(NULL,OP_SELLLIMIT,Magic)<1 )  {//ЕСЛИ НЕТ СЕЛЛЛИМИТА
    if (sl!=0) ld_Stop=Ask+sl*Point;
    if (tp!=0) ld_Take=Ask-tp*Point;    
    OrderSend(Symbol(),OP_SELLLIMIT,Lot,Bid+Шаг*Point,3,ld_Stop,
                                              ld_Take_"",Magic,0,Red);  
    if(ticket<0){Print("Ошибка установки ордера SELLLIMIT ",
                                          GetLastError());return(0);} 
                                                }
//----------------------------------------------------
if(NumberOfOrders(NULL,OP_BUYLIMIT,Magic)<1 )  {//ЕСЛИ НЕТ БАЙЛИМИТА 
    if (sl!=0) ld_Stop=Bid-sl*Point;
    if (tp!=0) ld_Take=Ask+tp*Point;
    OrderSend(Symbol(),OP_BUYLIMIT,Lot,Ask-Шаг*Point,3,ld_Stop,
                                                ld_Take,"",Magic,0,Blue);
    if(ticket<0){Print("Ошибка установки ордера BUYLIMIT ",
                                              GetLastError());return(0);} 
                                                }
  return(0);//конец ф-и СТАРТ
}
//========================================================
//------- ф-я Возвращает количество ордеров---
int NumberOfOrders(string sy="", int op=-1, int mn=-1) {
  int i, k=OrdersTotal(), ko=0, ot; if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      ot=OrderType();
      if (ot>1 && ot<6) {
        if ((OrderSymbol()==sy || sy=="") && (op<0 || ot==op)) {
          if (mn<0 || OrderMagicNumber()==mn) ko++;
        }}}}  return(ko);}                        
 
 
rid писал(а) >>

Боже упаси, пользоваться этим приемом для открытия позиций! Он работает корректно только в тестере!

А в онлайне более половины сигналов на вход - будут игнорироваться...

Спасибо, учту.

Кстати, вопрос к профи. Хотел кое-что проверить, и делая выборку из истории (на часовике) обратил внимание, что значение больше тысячного бара не дает: до 1000 выдает значения, а с 1001 - 0. Архив котировок загружен "под завязку". С чем может быть связано?

 
Odin_Takoy писал(а) >>

Спасибо, учту.

Кстати, вопрос к профи. Хотел кое-что проверить, и делая выборку из истории (на часовике) обратил внимание, что значение больше тысячного бара не дает: до 1000 выдает значения, а с 1001 - 0. Архив котировок загружен "под завязку". С чем может быть связано?

При работе с тестером или оптимизатором доступно только 1000 баров. Ограничение заложенное разработчиками.

 
Vinin писал(а) >>

При работе с тестером или оптимизатором доступно только 1000 баров. Ограничение заложенное разработчиками.

Чтобы не сидеть в онлайн неделями, как-то можно обойти это ограничение?

 
Odin_Takoy писал(а) >>

Чтобы не сидеть в онлайн неделями, как-то можно обойти это ограничение?

Вообще-то есть мысль котировки загнать в файл, и потом их оттуда брать.

 
Odin_Takoy писал(а) >>

Чтобы не сидеть в онлайн неделями, как-то можно обойти это ограничение?

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

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

 
Vinin писал(а) >>

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

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

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

Спасибо, Виктор.

Я смотрю по времени - ты еще тот филин (шутка).

 
Odin_Takoy писал(а) >>

Я смотрю по времени - ты еще тот филин (шутка).

Я жаворонок. У меня +2 от Москвы (Екатеринбург)

 

Подскажите как реализовать:нужно в определённое время по цене закрытия начертить 2 линии от цены одну выше,другую ниже,допустим цена 1.4784 линия начертилась чтоб на 1.4800,а вторая на 1.4750 короче чтоб оканчивалось на 50 и 00 и при пробитии линии, установить отложку с профитом ????????????????