Скачать MetaTrader 5

Как спозиционировать график ?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Не можешь разобраться в коде? Статьи помогут!
Forex Trader
114255
Forex Trader 2006.08.28 15:00 
Можно ли программно из скрипта спозиционировать график цены на определённую временную отметку?
Forex Trader
114255
Forex Trader 2006.08.31 09:12  
Что-то никто не отвечает, может вопрос не понятен?
Forex Trader
114255
Forex Trader 2006.08.31 10:23  
я отвечу - нельзя.
Если позволите, маленький совет: откройте в МетаЭдиторе список функций и просмотрите их. Сразу и станет понятно, что можно, а что - увы!
Forex Trader
114255
Forex Trader 2006.09.07 10:13  
Можно ли программно из скрипта спозиционировать график цены на определённую временную отметку?

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


#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
#property show_inputs
extern int Nbar=200;
#include <WinUser32.mqh>

int start()
  {
int h=WindowHandle(Symbol(),NULL);
PostMessageA(h,WM_KEYDOWN,36,1);
PostMessageA(h,WM_KEYUP,36,1);


for (int i=0;i<Nbar;i++)PostMessageA(h,WM_KEYDOWN,123,1);
PostMessageA(h,WM_KEYUP,123,1);



   return(0);
  }





Я думаю логика понятна сначала програмно нажимаем в окне графика кнопку home, потом нажимаем F12 столько раз сколько нужно чтоб сдвинуть график. Вам остается перевожить время в количество баров, а ускорение можно сделать если сначала нажимать PageDown(пролистывает страницу) затем стрелочку в право (пролистывает помоему по 4 бара) и кнопкой f12 пройти последние 3 бара.

ЗЫ Через Шанхай, но зато в Лондон :)

Forex Trader
114255
Forex Trader 2006.09.07 12:30  
А и правда! Джонни, молодец! Хоть и через ж..., а все-таки можно!
Forex Trader
114255
Forex Trader 2006.09.08 08:19  
Jhonny гениально!!

ведь так же можно и символ и таймфрейм переключать!

а вот как таким образом сделать обновление значений индикаторов? (меню:графики:обновление)
Forex Trader
114255
Forex Trader 2006.09.08 08:59  
Конечно можно обновить этим замудренным способом, надо просто нажать последовательность клавишь Alt, "U", потом несколько раз вниз, потом enter, но если я не ошибаюсь то есть стандартная функция для этого RefreshRates( );

PS А вообще этим методом можно написать небольшую библиотеку торговых функций чтоб обходить запрет ДЦ на торговлю экспертами, так как этот метод эмулирует ручную торговлю, во как.
Forex Trader
114255
Forex Trader 2006.09.08 13:42  
Конечно можно обновить этим замудренным способом, надо просто нажать последовательность клавишь Alt, "U", потом несколько раз вниз, потом enter, но если я не ошибаюсь то есть стандартная функция для этого RefreshRates( );


RefreshRates разве вызывает start() всех индикаторов? интересно..... надо попробовать..

вообще "alt-u" только на русской раскладке работает, но это не важно... разберусь.

а как его передать? я под винды не програмил ни когда :(
(но вообще для оъектно-ориентированной среды писал, так что чуть соображаю.. )
Forex Trader
114255
Forex Trader 2006.09.08 15:05  
вообще "alt-u" только на русской раскладке работает, но это не важно... разберусь.

Это типа быстрый метод можно по тупому раз 5 нажать стрелку в право тотже эфект будет.
а как его передать?

PostMessageA(h,WM_KEYDOWN,18,1); посылает сообщение окну с дескриптором h сообщение WM_KEYDOWN(нажата клавиша) с кодом 18(Alt), второй параметр передает разную информацию в зависимости от того какое знаечение примет, это надо смотреть MS SDK по API функциям, точно не помню.Здесь не надо нажимать комбинацию клавиш поэтому тут все просто можно обойтись простой последовательностью.
Коды клавиш можно тамже посмотреть(в поиске по справке введете Virtual-Key Codes).
Forex Trader
114255
Forex Trader 2006.09.08 15:31  
ок, разберусь, спасибо!
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий