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

 
Chiripaha:

Текст привязываю к цене линии + 3*Point (т.е. ставлю чуть выше), но все равно, когда меняю размеры графика (окна) текст то выше линии, то ниже, то на уровне линии (скачет)... Почему это происходит? - Я же вроде даю точную координату по цене. Как это решается?

Я посмотрел и попробовал, как делают другие, но там эффект аналогичный. Хочу понять как от этой "прыгалки" избавляются. И главное почему она появляется, раз координаты жесткие: цена и время.

Текст вводят в описание объекта и на графике разрешают показывать описания объектов (один из способов).
 
Usual_Trader:


вы немного формализуйте пожелание. Именно при закрытии  конкретного ордера? 

Если нет, то очень просто:

в начале проги

int previous_total_orders=0;

по телу программы:

 при открытии нового ордера

previous_orders++;

 проверка:

if (prevous_orders>OrdersTotal()) CloseAllTrades(Sym); //данная функция может быть любой из кодобазы, закрывающей все ордера по данному инструменту 

если при закрытии именно последнего открытого ордера , то

то в начале программы объявить переменную Last_ticket

при открытии ордера Last_ticket=OrderSend.....

 проверка:

if(OrderSelect(OrderSelect(Last_ticket,SELECT_BY_TICKET , int pool=MODE_TRADES)!=true)  CloseAllTrades(Sym);

Попробывал, но чёт не получается при вписывании  if(OrderSelect(OrderSelect(Last_ticket,SELECT_BY_TICKET , int pool=MODE_TRADES)!=true)  CloseAllTrades(Sym);

выдаёт ошибки:

')' - unbalanced right parenthesis ,  '!=' - initialization expected ,  'true' - comma or semicolon expected , 'Sym' - variable not defined , 'pool' - variable already defined .

  'Sym' - variable not defined - я убрал заменив это значение на   lasttype==OP_SELL ,  остольные незнаю 




 
Frostr:

Попробывал, но чёт не получается при вписывании  if(OrderSelect(OrderSelect(Last_ticket,SELECT_BY_TICKET , int pool=MODE_TRADES)!=true)  CloseAllTrades(Sym);

выдаёт ошибки:

')' - unbalanced right parenthesis ,  '!=' - initialization expected ,  'true' - comma or semicolon expected , 'Sym' - variable not defined , 'pool' - variable already defined .

  'Sym' - variable not defined - я убрал заменив это значение на   lasttype==OP_SELL ,  остольные незнаю 




вы не обратили внимание, что я выложил это не в виде готового кода, а как идею? ))

правда пардон, два раза напечатал  OrderSelect

 if(OrderSelect(Last_ticket,SELECT_BY_TICKET , int pool=MODE_TRADES)!=true)  CloseAllTrades(Sym);

 а функция CloseAllTrades(Sym) это чисто моя функция, посмотрите в функциях Ким В., там наверняка есть подобная функция, закрывающая все сделки по данной паре. Для этого и переменную Sym надо объявить как string Sym=EURUSD; (это как возможный вариант пары)  

 
Chiripaha:

Текст привязываю к цене линии + 3*Point (т.е. ставлю чуть выше), но все равно, когда меняю размеры графика (окна) текст то выше линии, то ниже, то на уровне линии (скачет)... Почему это происходит? - Я же вроде даю точную координату по цене. Как это решается?

Я посмотрел и попробовал, как делают другие, но там эффект аналогичный. Хочу понять как от этой "прыгалки" избавляются. И главное почему она появляется, раз координаты жесткие: цена и время?


Это происходит потому, что на разных таймфреймах  разные масштабы графиков ,и 3*Point  имеют разный размер в пикселях. Чтобы расстояние всегда было одинаковым,надо выбрать желаемое расстояние в пикселях и считать, сколько это будет пунктов для  каждого таймфрейма используя функции  ObjectGet() и ObjectSet(). с     идентификатором OBJPROP_XDISTANCE,и задавать угол привязки текста нижний,чтобы текст всегда был над линией, и верхний, чтобы под.
 

Где можно скачать нормальные котировки?

Через "Архив котировок" почему-то качает кусками.  

 
Добрый день. Объясните, как организовать "многомодульность"? Я хочу, чтобы большие функции лежали в отдельных файлах.
 
Nekseron:
Добрый день. Объясните, как организовать "многомодульность"? Я хочу, чтобы большие функции лежали в отдельных файлах.


  • Библиотека
     (Library) - библиотека пользовательских функций, предназначенная для хранения и распространения часто используемых блоков пользовательских программ. Библиотеки не могут самостоятельно запускаться на выполнение.
    Библиотеки рекомендуется хранить в директории каталог_терминала\experts\libraries

  • Включаемый файл (Included file) - исходный текст часто используемых блоков пользовательских программ. Такие файлы могут включаться в исходные тексты экспертов, скриптов, пользовательских индикаторов и библиотек на этапе компиляции. Использование включаемых файлов более предпочтительно, чем использование библиотек, из-за дополнительных накладных расходов при вызове библиотечных функций. Включаемые файлы рекомендуется хранить в директориикаталог_терминала\experts\include

 
Nekseron:
Добрый день. Объясните, как организовать "многомодульность"? Я хочу, чтобы большие функции лежали в отдельных файлах.
Как пример, можете посмотреть как организован, например, этот советник, или этот.
 

Здравствуйте,  Подскажите плиз Может кто знает, какой нибудь сайт где можно одолжить маленькую сумму WMZ с формальным аттестатом , Срочно нужно 3 WMZ а   пойти положить ,  сейчас нет возможности =((

 
rigonich:

Это происходит потому, что на разных таймфреймах  разные масштабы графиков ,и 3*Point  имеют разный размер в пикселях. Чтобы расстояние всегда было одинаковым,надо выбрать желаемое расстояние в пикселях и считать, сколько это будет пунктов для  каждого таймфрейма используя функции  ObjectGet() и ObjectSet(). с     идентификатором OBJPROP_XDISTANCE,и задавать угол привязки текста нижний,чтобы текст всегда был над линией, и верхний, чтобы под.
Виталий, Спасибо большое! Буду экспериментировать. Думаю, что вариант с углом привязки должен помочь. Я просто пока еще не умею этого делать, но теперь более понятно в чем экспериментировать. Еще раз Спасибо!
Причина обращения: