Опубликовано 12 Июнь 2008 в 16:26. В рубриках: Quik, Механические торговые системы, Технический анализ. Вы можете следить за ответами к этой записи через RSS 2.0. Отзывы и пинг пока закрыты.
Поиск по сайту:
Пржде чем критиковать кого-то, необходимо его за что то похвалить. Например: «Классный ты парень, но дураааак….». Я всегда придерживаюсь этого правила и Вам советую. Сейчас я немного покритикую разработчиков Quik.
Всегда идя навстречу пожеланиям трейдеров, они встроили в свой терминал возможность создавать механические торговые системы и разработали для этого новый язык программирования – Qpile. В этом языке они даже реализовали поддержку ассоциативных массивов, этого нет даже в Delphi! Но при этом упустили из внимания такие элементарные вещи, что написание хоть сколько-нибудь серьезных программ требует хорошей смекалки.
Например – если уж ты начал цикл, то не выйдешь из него, пока цикл не отработает полностью. Цикла типа “while ” нет вообще, а ведь он, в большинстве случаев, удобнее и универсальнее, чем “for“. Переменные превращаются из строковых в вещественные, и наоборот, совершенно незаметно для неподготовленных трейдеров, и даже сами разработчики в своих примерах прибавляют 0 к переменным, чтобы быть уверенными, что используют вещественный тип в условии.
Но это все мелочи, пока дело не доходит до самого главного инструмента трейдеров – графика котировок. В техническом анализе принято анализировать рынок за несколько последних баров (дней, часов или минут), и все программы технического анализа используют такой же подход. А в языке Qpile мы можем обращаться к свечам (барам) по дате и времени, но не по номеру. Хотите узнать, какая была цена закрытия три бара назад? Хотите узнать максимально высокую цену (экстремум) за последние 7 баров? Ох и непросто это вычислить.
Надеюсь, разработчики Quik со временем сделают возможность обращаться к свечам на графике по номеру. А пока мы вынуждены обходиться своими силами. Я написал программу, которая выводит в таблицу, а также записывает в файл, последние n свечей с графика.
Вот код программы:
PORTFOLIO_EX OHLC;
DESCRIPTION OHLC;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;
PROGRAM
' Настраиваемые параметры
ClassCodeList="SPBFUT" ' код класса инструмента
Instrument="RIM7" ' название инструмента
Interval=5 ' интервал (таймфрейм) на графике
DayToFind=30 ' сколько дней назад искать свечи (можно уменьшить, чтоы ускорить работу программы)
CandleToFind=10 ' сколько свечей надо найти
OutFile = "c:\quotes.csv" ' файл, куда записывать данные в формате CSV
DELETE_ALL_ITEMS()
CandleCount=0
CurYear=get_value(GET_DATETIME(), "YEAR")
CurMonth=get_value(GET_DATETIME(), "MONTH")
CurDay=get_value(GET_DATETIME(), "DAY")
CurHour = GET_VALUE(GET_DATETIME(), "Hour")
CurMin = GET_VALUE(GET_DATETIME(), "Min")
CurMin = Interval*Floor(CurMin/Interval) ' округляем минуты до "интервальных"
for i from 1 to (DayToFind*24)*(Floor(60/Interval))
TextData=fTextData(CurYear,CurMonth,CurDay) &""
TextTime=fTextTime(CurHour,CurMin) & ""
if (CandleCount<CandleToFind) ' если нашли сколько нам надо свечей - гоняем пустой цикл
Candle=GET_CANDLE(ClassCodeList,Instrument, "", Interval & "", "PRICE", TextData, TextTime)
Open=GET_VALUE (Candle, "Open")+0
if (Open>0)
CandleCount=CandleCount+1
High=GET_VALUE (Candle, "High")+0
Low=GET_VALUE (Candle, "Low")+0
Close=GET_VALUE (Candle, "Close")+0
output=CREATE_MAP()
output=SET_VALUE(output,"Date",TextData)
output=SET_VALUE(output,"Time",TextTime)
output=SET_VALUE(output,"Open",Open)
output=SET_VALUE(output,"High",High)
output=SET_VALUE(output,"Low",Low)
output=SET_VALUE(output,"Close",Close)
ADD_ITEM(CandleCount,output)
WRITELN(OutFile, TextData & "," & TextTime & "," & Open & "," & High & "," & Low & "," & Close)
end if
' откат на "интервал" назад
CurMin=CurMin-Interval
if CurMin<0
CurMin=60+CurMin
CurHour=CurHour-1
if CurHour<0
CurHour=23
CurDay=CurDay-1
if curDay<1
CurDay=31
CurMonth=CurMonth-1
if CurMonth<1
CurMonth=12
CurYear=CurYear-1
if CurYear<0
message ("Не найдены котировки до рождества Христова!
",1)
end if
end if
end if
end if
end if
end if
end for
' функция перевода даты в текстовый формат
func fTextData(Year,Month,Day)
if (LEN(Month) < 2)
Month = "0" & Month
end if
if (LEN(Day) < 2)
Day = "0" & Day
end if
result = Year & Month & Day
end func
' функция перевода времени в текстовый формат
func fTextTime(Hour,Min,Sec)
if (LEN(Hour) < 2)
Hour = "0" & Hour
end if
if (LEN(Min) < 2)
Min = "0" & Min
end if
result = Hour & Min & "00"
end func
END_PROGRAM
PARAMETER Date;
PARAMETER_TITLE Дата;
PARAMETER_DESCRIPTION Дата;
PARAMETER_TYPE STRING(30);
END
PARAMETER Time;
PARAMETER_TITLE Время;
PARAMETER_DESCRIPTION Время;
PARAMETER_TYPE STRING(30);
END
PARAMETER Open;
PARAMETER_TITLE Open;
PARAMETER_DESCRIPTION Open;
PARAMETER_TYPE NUMERIC(10,2);
END
PARAMETER High;
PARAMETER_TITLE High;
PARAMETER_DESCRIPTION High;
PARAMETER_TYPE NUMERIC(10,2);
END
PARAMETER Low;
PARAMETER_TITLE Low;
PARAMETER_DESCRIPTION Low;
PARAMETER_TYPE NUMERIC(10,2);
END
PARAMETER Close;
PARAMETER_TITLE Close;
PARAMETER_DESCRIPTION Close;
PARAMETER_TYPE NUMERIC(10,2);
END
END_PORTFOLIO_EX
Перед запуском программы (портфеля) выведите график по нужному вам инструменту (бумаге) в выбранном временном интервале.
В тексте программы укажите название инструмента, код класса и временной интервал.
Теперь мы имеем таблицу, в которой свечи с графика представлены в текстовом виде и имеют нумерацию от 1 до 10 (или сколько вы указали в параметрах).
Эту таблицу можно экспортировать в Excel (с просьбы об этом от «Репликатора САС-П001-01», постоянного читателя блога, я и решил написать эту программу), а можно обращаться к этой табличке из своей программы, не заботясь о дате, а оперируя номером свечи (строки в таблице). Пожелания подобного рода часто встречаются от трейдеров на форуме Quik, надеюсь, эта программа будет полезна и им.
К сожалению, сейчас у меня нет возможности всесторонне протестировать программу, поэтому если обнаружите ошибку, напишите, пожалуйста, об этом в комментариях.
Читайте также:
Торговая стратегия 1-2-3 Reversal
Торговая стратегия "1-2-3 Reversal" написана по книге "How I Tripled My Money In The Futures Market" автор Ulf Jensen, страница...
Тестируем возможности индикатора RSI
В прошлом нашем выпуске мы ознакомились с индикатором RSI, где Чак Лебо предложил несколько способов использования этого индикатора. Сегодня я...
Учебный счет для интернет-трейдинга
Прежде чем окунаться в интернет-трейдинг с головой, и самое главное - прежде чем начать играть на бирже на свои настоящие...
Программы для технического анализа
Сегодня мы начинаем подготовку к созданию механической торговой системы (торгового робота). Для начала мы выясним, какие программы нам понадобятся.
Прежде чем...
комментарии (59)
13 Июнь 2008 в 21:36
(улыбаясь)С Вами говорит САС-П001-01.Вы Человек?Моим сенсорам было приятно почувствовать уважение к своей просьбе.(серьёзно)Спасибо!Будет время обязательно протестируем.Мне очень приятно, что Вы проделали эту работу для меня…ну, и для других конечно!(Простите за глупый вопрос)А какой компилятор лучше использовать?
13 Июнь 2008 в 22:09
Рад оказаться полезным
Компилятор никакой не нужен, qpile не компилируемый язык. Надо всего-лишь сохранить сей код в текстовый файл с расширением qpl и потом в Квике загрузить “портфель” (CTRL+F10 – “Загрузить локально”, CTRL+F11 – указать период расчета и “Применить”, CTRL+F12 – “Добавить все” и “Да”)
Только график надо вывести заранее, в соответствии с интервалом, указанном в программе в 10 строке.
13 Июнь 2008 в 22:53
(провокационно)Будущее за роботами?(Смех робота Вертера из к/ф “Гостья из будущегог”)
17 Июнь 2008 в 6:36
Было бы интересно узнать поподробнее
17 Июнь 2008 в 11:19
Но следует учитывать, что в Excel вмещается только 65535 строк. Возможно на следующей строке будет ошибка.
17 Июнь 2008 в 17:09
Виктор, подробнее о чем хотелось бы узнать?
IAD, 65535 строк эта программа и не выведет, ввиду универсальности перебор свечек идет весьма не быстро, поэтому 65 тысяч строк будут просчитываться с минут 10 наверное.
Я думаю, оптимальнее всего использовать эту программу для вывода 10-30 свечей, обычно больше и не надо.
18 Июнь 2008 в 13:49
(огорчённо)Торговый робот, это САС-П001-01.Программа считает неверно, а именно, округляет котировки до целых чисел.Например, max=63.57,программа пишет 64.Ну, а в целом это то , что и надо.Я восхищён!Правда не проверял экспорт в Excel.
18 Июнь 2008 в 17:58
Исправлю, я проверял на фьючерсах, там нет копеек. Вот только до компьютера доберусь
24 Июнь 2008 в 0:37
Поправил, теперь котировки показываются с точностью до 2 знаков после запятой.
Если кому-то это не надо или наоборот, слишком мало – укажите сколько знаков вам надо, изменив 2 на количество знаков в PARAMETER_TYPE NUMERIC(10,2) (строки 107, 113, 119 и 125)
26 Июнь 2008 в 22:20
(задумчиво)Мда-а-а…Есть проблемы.Чтобы использовать данную программу “внутри дня” необходимо ограничивать работу цикла не по количеству “Candle”, а по “Date”.Вот в таком виде она “залезает” на другую дату, а хотелось бы остановить её, как только, например, 09.06.2008 заканчивается и появляется 08.06.2008, независимо от того сколько “Candle” она нашла, но при этом оставить ввод параметра “Candle” так, как он есть сейчас, ну, самому задавать количество свечей.И ещё, что-то непонятно почему при экспорте в Excel в колонке “Open” совсем не то, что вижу в Quik.В целом конечно вещь нужная т.к. позволяет “лопатить кучу всякой чепухи” и использовать в дальнейшей обработке….(улыбаясь)Чёрт!Придётся почитать про Qpile.
27 Июнь 2008 в 3:44
В этом и суть универсальной программы, что она собирает котировки “по штукам” независимо от дня. Если нужны котировки только за сегодня, то такая программа будет в 5 раз меньше.
В твоем случае, коллега, можно в программе в 50 строке
CurHour=23
заменить на
CandleCount=CandleToFind
Таким образом при смене дня прекратится поиск котировок и потом еще немного погоняется пустой цикл.
А про Qpile почитай обязательно
09 Июль 2008 в 16:43
Пардон, а какой интервал ставить, если данные дневные?
09 Июль 2008 в 17:03
Alex, сейчас у меня Quik нет под рукой, чтобы проверить, но осмелюсь предположить, что 1440 (24*60)
Попробуйте, заодно проверим, действительно ли универсальная программа получилась?
Если что-то не так будет – напишите здесь, я тогда исправлю.
09 Июль 2008 в 17:20
Я тоже так подумал. Но выдает пустую таблицу в результате. На внутридневных данных вроде работает хорошо. Очень полезную работу Вы проделали. Хочется выразить искренний респект. Еще бы данные объемов приделать.
26 Июль 2008 в 18:29
Спасибо автору за скрипт! Мне в данный момент нужен именно он
и чтобы искал последние бары независимо от дня.. главное, чтобы последние!
Еще раз благодарствую
P.S. Qpile очень страшный язык, если приходится для таких вещей столько наворотов придумывать..
26 Июль 2008 в 23:37
Всегда пожалуйста, очень рад быть полезным. Последние бары по номеру нужны очень многим трейдерам, надеюсь, разработчики в конце концов внедрят такую возможность в Quik, на форуме тема поднималась не один раз.
P.S. Да, язык я правда ужасный, но я на бейсике в свое время много писал программ, потому привык к подобного рода “ухищрениям”
01 Сен 2008 в 14:45
а как получить данные из окна котировок?
01 Сен 2008 в 18:33
Не совсем понятен вопрос. В Quik из любого окна можно получить данные в свою программу на Qpile (см.хелп к программе) либо в сторонние программы, вроде Excel через DDE или ODBC
02 Сен 2008 в 14:16
Мне для программы на Qpile. Все, нашел такую функцию. Спасибо.
29 Сен 2008 в 17:33
Gracias! Реально помогло в написании робота! Спасибо еще раз! Внедряем))
06 Ноя 2008 в 12:13
Очень полезная вещь, qpile начал тока вникать, а пока не нашел твою чудо вещь извращался с периодами в эксель VBA. Возникла проблема с твоей табличкой хочу ее вывести в эксель “Вывести через DDE сервер” а он пишет ошибку и вообще закрывает квик иногда вроде все ок? не подскажешь в чем может быть ошибка?
06 Ноя 2008 в 13:18
NRV, сказать по правде, вывод в Excel этой таблицы я не проверял, ибо был на все 100 уверен, что тут нет проблем. Таблица сформирована по всем “стандартам”… Сегодня доберусь до компьютера с quik’ом, проверю что к чему.
09 Ноя 2008 в 7:45
Эта… А где продолжение марафоника.. Так все интересна шло, бац! и разрыв соединения (образна). Я вот только хотел бы сделать роботика и для меня все Ваши стататьи и комментарии оч и оч актуальны. Все аргументы и споры я воспринимаю оч положительно. Для меня это все! интересно. Спасибо большое за такой интересный и толерантный сайт!
Мы (я) требуем продолжение “банкета”!
PS
Сорри, что не совсем по теме. Просто не нашел, где с этим можно было обратиться напрямую. Если подскажете, буду признателен и корректен.
14 Ноя 2008 в 5:37
Блин вывод в эксель гючит ваще не понятно почему то вы водит то ошибку выдает и ваще квик полностью закрывает!!!
14 Ноя 2008 в 13:27
для NRV. А я вот читал на одном из форумов, что от версии Экселя зависеть может. Может попробовать предыдущую версию офиса? (как вариант, а вдруг поможет) В других вариантах я пока не специалист – буду учиться.
14 Ноя 2008 в 14:03
дык офис 2003 sp2 (11.6560), далеко не новый и такая трабла тока с этой табличкой до этого даж не знал что такой глюк есть
21 Ноя 2008 в 22:32
Окажу помощь в написании программы на QPILE. Если кому-то интересно, обращайтесь – qpile@mail.ru
29 Ноя 2008 в 21:37
Хм.. не нашел в описании qpile функции get_candle. Не просветите случаем?
01 Дек 2008 в 1:16
Уже нашел на сайте квика. А у тройки до сих пор старая версия лежит ((.
01 Фев 2009 в 14:29
Добрый день, Торговый робрт!
Не могли бы помочь написать робота на языке Qpile? Суть системы: Покупка при закрытие короткой скользящей средней выше длинной скользящей средней и продажа при закрытие короткой ниже длинной средней.
10 Фев 2009 в 1:00
Здравствуйте, urpok!
Торговая система, которую вы предлагаете, очень примитивна, не вздумайте сразу торговать по ней настоящими деньгами, проверьте сперва, уверен, что разочаруетесь
Но для изучения qpile такая система в самый раз. В ближайшие дни напишу программу по вашему алгоритму и выложу на этом сайте
24 Фев 2009 в 14:10
Все вроде сделал правильно:
-ввел инструмент;
-открыл график с нужным интервалом;
- загрузил “портфель” (CTRL+F10 – “Загрузить локально”;
период расчета указал 10 сек; и т.д.
А при запуске таблицы: таблица со всеми названиями есть , а поля пустые
24 Фев 2009 в 17:03
Проба пера! Оставил коммент. он попал
12 Март 2009 в 10:47
вопрос к разработчику: А как можно к этой табличке (просто замечательная) прикрутить еще и объем очень нужно?
13 Март 2009 в 10:20
Спасибо тебе, добрый человек!
Нет, реально я полный новичек в QPILE, поэтому твой код мне очень помог начать. Я посидел и понял, почему ты используешь некоторое количество дней назад, а потом гоняешь пустой цикл. Это не очень корректно и самое главное это можно исправить, путем некорректности самого QPILE. А все дело в том, что переменную цикла можно менять в самом теле цикла. Тогда в нашем случае он получается легче и быстрее. Вот, собственно, сам измененный код:
————————–
PORTFOLIO_EX Ref;
DESCRIPTION Ref;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;
INCLUDE functions.inc;
PROGRAM
‘ ————————————————
‘ Настраиваемые параметры
‘ ————————————————
ClassCodeList=”SPBFUT” ‘ код класса инструмента
Instrument=”RIM9″ ‘ название инструмента
Interval=30 ‘ интервал (таймфрейм) на графике
N=50 ‘ сколько свечей надо найти
DELETE_ALL_ITEMS()
InitDateTime()
output=CREATE_MAP()
for i from 1 to N
TextData=fTextData(CurYear,CurMonth,CurDay) &”"
TextTime=fTextTime(CurHour,CurMin) & “”
Candle=GET_CANDLE(ClassCodeList, Instrument, “”, Interval & “”, “PRICE”, TextData, TextTime)
Open=GET_VALUE (Candle, “Open”)+0
if (Open>0)
Reference=GET_VALUE (Candle, “Close”)+0
output=SET_VALUE(output,”Date”,TextData)
output=SET_VALUE(output,”Time”,TextTime)
output=SET_VALUE(output,”Price”,Reference)
ADD_ITEM(i,output)
else
i = i – 1 ‘ Если бара нет (нет торгов), то счетчик баров уменьшаем
end if
‘ откат на “интервал” назад
CurMin=CurMin-Interval
if CurMin<0
CurMin=60+CurMin
CurHour=CurHour-1
if CurHour<0
CurHour=23
CurDay=CurDay-1
if curDay<1
CurDay=31
CurMonth=CurMonth-1
if CurMonth<1
CurMonth=12
CurYear=CurYear-1
if CurYear<0
message (“Не найдены котировки”,1)
end if
end if
end if
end if
end if
end if
end for
END_PROGRAM
PARAMETER Date;
PARAMETER_TITLE Дата;
PARAMETER_DESCRIPTION Дата;
PARAMETER_TYPE STRING(30);
END
PARAMETER Time;
PARAMETER_TITLE Время;
PARAMETER_DESCRIPTION Время;
PARAMETER_TYPE STRING(30);
END
PARAMETER Price;
PARAMETER_TITLE Price;
PARAMETER_DESCRIPTION Price;
PARAMETER_TYPE NUMERIC(10,2);
END
END_PORTFOLIO_EX
————————–
И подгружаемый модуль с функциями (я всегда вспомогательное стараюсь вынести, чтобы читать легче было):
————————–
‘ Функция инициализации даты и времени
func InitDateTime()
CurYear=get_value(GET_DATETIME(), “YEAR”)
CurMonth=get_value(GET_DATETIME(), “MONTH”)
CurDay=get_value(GET_DATETIME(), “DAY”)
CurHour = GET_VALUE(GET_DATETIME(), “Hour”)
CurMin = GET_VALUE(GET_DATETIME(), “Min”)
CurMin = Interval*Floor(CurMin/Interval) ‘ округляем минуты до “интервальных”
end func
‘ функция перевода даты в текстовый формат
func fTextData(Year,Month,Day)
if (LEN(Month) < 2)
Month = “0″ & Month
end if
if (LEN(Day) < 2)
Day = “0″ & Day
end if
result = Year & Month & Day
end func
‘ функция перевода времени в текстовый формат
func fTextTime(Hour,Min,Sec)
if (LEN(Hour) < 2)
Hour = “0″ & Hour
end if
if (LEN(Min) < 2)
Min = “0″ & Min
end if
result = Hour & Min & “00″
end func
————————–
P.S. Надеюсь, что внес свою посильную лепту. Лично я эту программу также оформил в виде функции Ref(массив,бары), которую использую для дальнейших расчетов.
13 Март 2009 в 10:34
Штурман, спасибо за код!
Признаюсь, про изменение переменной внутри цикла не знал, да даже ине думал о таком кощунстве. Вообще это ужасно, так, конечно, нельзя делать если хотеть соответствовать духу программирования. Но скорость работы реально прибавится.
К сожалению в комментариях код немного испортился, например кавычки. Я проверю на досуге, если все работает как надо – оформлю как положено и вставлю ваш код в основной текст.
13 Март 2009 в 11:22
В qpile давно уже есть оператор прерывания цикла, хватит фигней маяться )). Удачи!
13 Март 2009 в 11:36
Во-первых, этого не т в мануале. Какой оператор? Приведи пример. Во-вторых, при чем тут прерывание цикла, если нам надо его наоборот продлить? Можно конечно сразу его пускать до царя гороха, а потом рвать, но имхо это бизнес логику нарушает. Если бы они сделали полноценный while, тогда другое дело.
13 Март 2009 в 16:15
В приложении 1 (Синтаксис команд) все есть – continue, break, return – все как обычно. Enjoy
15 Март 2009 в 4:15
В модинге кода ошибка в строке где идут подряд все end if 6 штук.Один лишний,должно быть пять
19 Апр 2009 в 23:01
Есть собственная стратегия, закажу под неё MTC программу вязка quik ser-martynov@yandex.ru
23 Апр 2009 в 17:40
Блин ниче не работает ((((( ни первый скрипт ни второй
бьюсь как головой об стену!
В первом скрипте гет кэндл нихера не возвращает? а во втором отказывается выполнять initdatetime
20 Май 2009 в 19:42
В Квике работает таблица создается… Вот только – !
Кто нить смог экспортировать эту таблицу в Эксель по DDE?
Пишет – Ексель книга не открыта или отсутствует Лист… хотя все открыто и присутствует.
комент по 1 -му коду.
20 Май 2009 в 21:00
2 Чапаев
Все работает.
2 Шаган
Открой новый файл в экселе и сохрани его, а в окне укажи название файла. Если просто запустить эксель, то квик не видит по-умолчанию не сохраненную книгу.
20 Май 2009 в 22:42
2 Штурман
не помогло, взял стрый фаил с макросами – вот его видит, а новые не видит хоть сохраняй, хоть не сохраняй… придется множить этот старый фаил. ))
Народ помогите разобраться в коде, этот кусок рельно не работет… т.е. текущая поз. не определяется. уже голову сломал.. может свежим взглядом чего увидите?
fu=GET_ITEM(“FUTURES_CLIENT_HOLDINGS”, i)
IF GET_VALUE(fu, “TRDACCID”) = Account and GET_VALUE(fu, “SEC_SHORT_NAME”) = Sec_Code
CurPos = GET_VALUE(fu, “TOTAL_NET”)
VMargin= 0+GET_VALUE(fu, “VARMARGIN”)
END IF
23 Июль 2009 в 18:08
Может кто подскажет как реализовать в QPILE возможность сравнивать две переменные (Double и Any)?
05 Авг 2009 в 16:58
Всем привет. Я тоже голову сломал, пытаясь программно определить кол-во бумаг в текущей открытой позиции на рынке Фортс (по определенному инструменту). Добрые люди, подскажите, какую функцию использовать. Спасибо заранее.
19 Авг 2009 в 15:38
Добрый день, Торговый робот!
Alex уже поднимал вопрос:
09 Июля 2008 в 16:43:
“Пардон, а какой интервал ставить, если данные дневные?”
Поддерживаю.
Какой интервал ставить?
(при 1440 выдает пустую таблицу в результате)
22 Окт 2009 в 14:07
Доброго времени суток, неподскажите одну весч, как в этой таблице вывести проценты в сточках, допустим между открытием и закратием в свечке?
23 Окт 2009 в 13:49
а как быть если таймфрейм 2 или 4-х часовой ?!
вроде бы логично ставить интервал 120 и 240, но данные выходят пустые и вроде бы понятно почему ( от 60 минус 120) = минус 60, да и время свечек “ломается” ..
26 Окт 2009 в 13:51
С этого дня OHLC.qpl не работает.Сегодня 26.10.2009,а свечи выдаёт за 23.10.2009.В чем причина не знаю.
08 Дек 2009 в 19:53
Для дневных свечек нужно ставить интервал “day” или “-1″ (это в справке есть), причем время должно быть 0.
Функция Get_candle не подерживает 2-х и 4-х часовые интервалы. Возможные значения интервалов можно посмотреть в справке. 120 и 240 там нет.
05 Янв 2010 в 12:15
Cкажите, пожалуйста, как можно эформить это в вункцию, что б о номеру свечи получать значение параметра, наприрер MY_UNC(n, OPEN), где n номер свечки, и еще первая свечка будет последними данными на графике?
08 Янв 2010 в 21:38
А я вот не очень понимаю зачем использовать quik, если терминал metatrader более удобен(особенно в плане технических индикаторов и разработки собственных советников). Возможно кто-то пояснит? Просто я новичек и пока только анализирую этот рынок
20 Янв 2010 в 19:36
А где можно найти хорошее руководство по этому языку и руководство по написанию мтс.
Жду следующую статью про мтс. Спасибо
05 Фев 2010 в 11:06
Иван, дело в том, что metatrader не используется для торговли на фондовом рынке, только на форекс.
21 Фев 2010 в 8:15
Меня зовут Панкратов Паве Сергеевич, я явлюсь программистом высокого уровня.
Сейчас я покажу ВСЕМ как грамотно писать скрипты на “QPIL’E” птичий язык – надо заметить!
http://narod.ru/disk/18112784000/Смотри%20и%20учисЬ.RAR.html
16 Март 2010 в 19:07
Я считаю со своей стороны что Иван поднял очень хороший вопрос об использовании программы Метатрейдер для работы на фондовом рынке.
У компании предлагающей работу на Форексе я использую для анализа 30 наименований акций самых ходовых.С предлагаемыми индикаторами получаю самый лучший анализ со всеми временными интервалами.
Зайдите на сайт компании
16 Март 2010 в 19:10
Компания Финам предлагает метатрейдер 4 для работы на фондовом рынке.