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

 

Добрый вечер ! Подскажите, пожалуйста, где ошибка...? Создаю текстовый объект графический :

int Время_фрактала=Time[ФрВверх];           // Определение места обозначения фрактала по времени
       double Цена_рисунка=High[ФрВверх];          // Определение места обозначения фрактала по цене
       string Номер_свечи = Время_фрактала ;       // Назначение имени метки надписи фрактала
       ObjectFind(Номер_свечи);
       ObjectCreate(Номер_свечи,OBJ_TEXT,0,Время_фрактала,Цена_рисунка+10*PointX); // Создание надписи исторического Фр вверх
       ObjectSetText(Номер_свечи,"Фривв",14,"Arial",DarkViolet); // Задание свойств надписи
       int Error=GetLastError();                                 // Назначение имени функции проверки ошибок

Объект рисуется. Потом создаю объект другой:

Время_фрактала=Time[i];            // Рисуем Фр-отмену для Фр Вверх
                   Цена_рисунка=High[i];
                   отмена_вниз = Время_фрактала;
                   ObjectCreate(отмена_вниз,OBJ_TEXT,0,Время_фрактала,Цена_рисунка+2*PointX);   // Создание надписи номера свечи С1
                   ObjectSetText(отмена_вниз,"Отмена дввниз",14,"Arial",Yellow);      // Задание свойств надписи
                   Error=GetLastError();                                  // Назначение имени функции проверки ошибок
                   Print("Error рисунка = ", Error);

По времени, на котором они должны рисоваться, эти два объекта совпадают. И я хочу нарисовать их один под другим, что делаю, разнося их по разным горизонтам. Но в итоге рисуется второй объект на уровне первого, а первый объект исчезает. И выдаётся ошибка 4200, что объект уже существует. Но я же их разнёс по разным уровням. Что-то не так..?

 
volshebnik:

Добрый вечер ! Подскажите, пожалуйста, где ошибка...? Создаю текстовый объект графический :

Объект рисуется. Потом создаю объект другой:

По времени, на котором они должны рисоваться, эти два объекта совпадают. И я хочу нарисовать их один под другим, что делаю, разнося их по разным горизонтам. Но в итоге рисуется второй объект на уровне первого, а первый объект исчезает. И выдаётся ошибка 4200, что объект уже существует. Но я же их разнёс по разным уровням. Что-то не так..?

Объекты идентифицируются не по значению цены, цвету, типу и т.д., а по имени. В Вашем случае Вы имени присваиваете время. Если время совпадает, то и имена объектов ("Номер_свечи" и "отмена_вниз") естественно будут совпадать. В итоге возникнет ошибка 4200.
 
MaxZ:
Объекты идентифицируются не по значению цены, цвету, типу и т.д., а по имени. В Вашем случае Вы имени присваиваете время. Если время совпадает, то и имена объектов ("Номер_свечи" и "отмена_вниз") естественно будут совпадать. В итоге возникнет ошибка 4200.
Спасибо, Макс ! Присвоил имени уровень цены - и всё получилось )
 
volshebnik:
Спасибо, Макс ! Присвоил имени уровень цены - и всё получилось )
Опасно!! Ведь уровень цены может повториться и Вы наткнётесь на те же грабли...
 
MaxZ:
Опасно!! Ведь уровень цены может повториться и Вы наткнётесь на те же грабли...
Имени одного объекта присваиваю время, а имени другого - уровень цены. Время ведь никогда не совпадёт с ценой.
 
volshebnik:
Имени одного объекта присваиваю время, а имени другого - уровень цены. Время ведь никогда не совпадёт с ценой.
Понял... Для двух объектов более менее приемлемый вариант! :)) Но Я так никогда бы не поступил! ;D
 
MaxZ:
Понял... Для двух объектов более менее приемлемый вариант! :)) Но Я так никогда бы не поступил! ;D
Как же лучше и чем ? )
 
В терминале ДЦ используется кредитное плечо 200. Можно ли при установке ордера с помощью скрипта уменьшить его, скажем до 20? Что обозначает параметр - dMyLeverage в скриптах?
 
belck:

вот так открываются ордера:

я хочу сделать, что бы скрипт без убыток вот как просчитывал:

если

если

если

как правильно вставить этот код определения линии без убытка в советника:


сделал вот так и заработало, так как я и хотел )

//---------------------
        if (totalSell > 1)
        {
   
   LastSellPrice = FindLastSellPrice();
        if ((SLs < Bid && SLs > LastSellPrice) || (LastSellPrice > SLs && SLs > Bid)
    {
    CloseAllSell();
    }
   }
  if (totalBuy > 1)
  {
  LastBuyPrice = FindLastBuyPrice();
   if (SLb > Ask && LastBuyPrice > SLb)
    {
    CloseAllBuy();
    }
  }
//-----------------------
 

1, Окошко с тиками. Есть ли способ настроить, чтобы заполнялось на всю глубину?

2, Есть ли способ отключить терминал от сервера, не закрывая? (Переключение на несуществующий счет не прокатывает).

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