Избранное трейдера Stoic
Для сравнения языков MQL5 и QLUA мы написали несколько тестов, которые замеряют скорость выполнения базовых операций.
В тестах использовался компьютер с Windows 7 Professional 64 bit, MetaTrader 5 build 1340 и QUIK версии 7.2.0.45.
Результаты представлены в таблице, где все значения представлены в миллисекундах (чем меньше время, тем лучше):
Название MQL5 QLUA Преимущество MQL5 TestFloat 3 969 273 391 69 раз TestArrays 375 230 768 615 раз TestFibo 1 125 61 110 55 раз TestPiCalculated 2 328 183 812 79 раз TestQuickSort 2 031 211 279 104 раза TestAckermann 828 64 541 78 раз
Доброго времени суток друзья.
Осветил тему «Как читать график, при помощи рыночного объема»
Пример показан на акции LUK, американский фондовый рынок.
Концепцию можно использовать абсолютно на любом рынке, ведь принципы рыночные везде одинаковы.
Надеюсь, что кому то поможет
Мой канал о рынке, для тех кому интересно
Другие полезные посты:
Уважаемые пользователи,
Компания — разработчик QUIK, заявляет о возможности удаления из него языка QPILE. На этом языке реализован SuperADX — удобный, надежный, отлаженный робот. Так же могут пересать работать и другие торговые роботы, срипты и утилиты, где используется QPLE-скрипт. Во все эти программы вложен наш труд и Ваша поддержка. Если планы Arqa Technologies реализуются, то нам придется фактически реализовывать его заново. Для клиентов это может вылиться в платное обновление и отлаживание сырой технологии на своих счетах. Одним росчерком пера кто-то, пользуясь своей властью, может «угробить» устойчиво работающие программы и создать массу проблем у торгующих трейдеров.
Мы просим Вас высказать свое отношение к этой инициативе в официальной ветке обсуждения:https://forum.quik.ru/messages/forum9/message16090/topic1792/#message16090
Читайте также новую статью: «Пять отличий старой версии Quik и новой седьмой версии Quik 7». Что изменилось в новой седьмой версии Quik и чем она отличается от старой версии:
В предыдущем посте я рассказал. Как определить величину позиции с использованием риск менеджмента. Откуда берутся конкретные значения. Показал, что всем известные значения 2-5% от депозита не соответствует истине. Дал вот такие формулы:
Количество лот на сделку:
Л= Д/(Ц+Н*(С1-С2))
Расшифровка переменных, как и понимание самой формулы в предыдущем посте.
Есть другие факторы, которые мы еще не учли. Но которые так же должны учитываться при риск менеджменте.
В прошлый раз я опустил проскальзывание и комиссию брокеру за сделку (обозначим — К). Их нужно прибавить к (С1-С2)
Соблюдение риск менеджмент предполагает. Что в течении длительного времени (год) мы не прейдем к ситуации. Когда на счете не окажется денег для продолжения торговли. Не смотря на то, что эти совокупные события, по сути, не превратили доходную стратегию в убыточную.
Существуют риски, которые непременно присутствуют на рынке. Которые могут привести к тому. Что наш максимальный стоп увеличится по не учтенной нами ситуации. У меня был случай. Когда я торговал Магнит (мой первый опыт). За три дня я сделал некую прибыль на лонговой позиции. После рынок изменился, РТС падал. Я принял решение шортить Магнит. Через 30 минут от моего открытого шорта вышла новость о доходности магнита за полугодие. Это привело к тому. Что котировка сгепировала вверх, перепрыгнув мой стоп. Увидев это, я закрыл позицию с тем убытком, какой давал мне рынок. Он составил всей 3-х дневной прибыли. И превышал мой стоп в 5-6 раз. На тот момент мне и в голову не приходило учитывать такой форс мажор. Более того, такого типа новости не редко выходят по размытым датам и времени.
-Параметры: p_classcode=«SPBFUT» --Код класса p_seccode=«BRK5» --Код инструмента p_account="...." --Код счета p_clientcode="...." --Клиенткий код p_count=2 --Размер позиции p_spread=0.2 --Проскальзывание p_sell_level_RSI=60 --уровень RSI, при котором продаем p_buy_level_RSI=40 --уровень RSI, при котором покупаем
is_run = true count = 0
function main() while is_run do sleep(100) robot() end end
function robot() local N1=getNumCandles(«RSI-5-BRK5») local N2=getNumCandles(«RSI-15-BRK5») local N=getNumCandles(«BRK5-1») t1,n1,i1=getCandlesByIndex(«RSI-5-BRK5», 0, N1-3, 2)--(«RSI-1», 0, N1-3, 2) t2,n2,i2=getCandlesByIndex(«RSI-15-BRK5», 0, N2-3, 2)--(«RSI-2», 0, N2-3, 2) t,n,i=getCandlesByIndex(«BRK5-1», 0, N-1, 1)
--сигнал на продажу (первый мувинг пересекает втрой RSI-15-BRK5 сверху вниз --if t1[0].close<t2[0].close then --if t1[0].close<t2[1].close then--and t1[0].close>p_sell_level_RSI then--без фильтра уровня--проба t0 и t1 в скобках со свечками --if t1[1].close<t2[0].close then if t1[1].close<t2[1].close then--запаздывание
--if t1[1].close>p_sell_level_RSI --фильтр уровня Trade(«S»,count+p_count,t[0].close-p_spread) --end end --сигнал на покупку (первый мувинг RSI-5-BRJ5 пересекает второй снизу вверх --if t1[0].close>t2[0].close then --if t1[0].close>t2[1].close then--and t1[0].close<p_buy_level_RSI then--без фильтра уровня --if t1[1].close>t2[0].close then if t1[1].close>t2[1].close then--без фильтра уровня