Предлагаю в этой ветке поискать совместно индикаторы, которые бы были полезны для торговли на фьючерсе RTS. Приветствуются индикаторы с настройками, в том числе стандартные, а так же описание паттернов и просто идей, которые можно закодировать.
Я не имею особого опыта торговли индексом, поэтому с интересом выслушаю все идеи, и постараюсь их проверить.
Соответственно, я думаю, что не лишним использовать для анализа сам индекс RTS, MIX? USDRUB_TOM или Si.
Зачем вам индикаторы? У вас леса есть ))
Прежде всего надо понимать что такое индекс РТС и как он рассчитывается.
Судя по вашему высказыванию
использовать для анализа сам индекс RTS, MIX? USDRUB_TOM или Si
вы не понимаете предмет обсуждения.
Хотите стать маркетмейкером?
Зачем вам индикаторы? У вас леса есть ))
Прежде всего надо понимать что такое индекс РТС и как он рассчитывается.
Судя по вашему высказыванию
вы не понимаете предмет обсуждения.
Хотите стать маркетмейкером?
Да-да, я ничего не понимаю - рассказываете, в чем суть, как жить!
Так-так-так, и что же предлагаете - строить синтетический индекс из фьючерсов или что то покруче?
План такой: самостоятельно строите индекс РТС по методичке. Он будет рассчитываться чаще, чем 1 раз в секунду. Теоретически может получиться опережающий индикатор...
Корелляция с сишкой есть, конечно. Но бывает дикая раскоряка, когда они вместе падают и вместе растут.
На 4ч годятся многие индикаторные 4ч форекс-стратегии с FF. Знакомый торговал машками 2-минутки, вполне успешно. Но мне не нравится риху скальпить, взбаламошная. Без индикаторов - ММ её водит довольно ответственно от ПС до ПС.
План такой: самостоятельно строите индекс РТС по методичке. Он будет рассчитываться чаще, чем 1 раз в секунду. Теоретически может получиться опережающий индикатор...
План такой: самостоятельно строите индекс РТС по методичке. Он будет рассчитываться чаще, чем 1 раз в секунду. Теоретически может получиться опережающий индикатор...
Нельзя точно составить синтетический индекс RTS, потому как на многие акции нет фьючерсов.
Оперировать можно только MIX с валютной составляющей и то брать нужно не текущий Si, а фикс.
Но так как по MIX идет вялая торговля и долларовый фикс редко обновляется, то из этой затеи ничего не получится...
Добавлено
Три года назад пробовал, но забросил
//+------------------------------------------------------------------+ //| MXI_RTS.mq5 | //| Copyright 2016 | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2016" #property link "https://www.mql5.com" #property version "1.00" #property indicator_separate_window #property indicator_buffers 3 #property indicator_plots 3 //--- plot Max #property indicator_label1 "Coeff last" #property indicator_type1 DRAW_LINE #property indicator_color1 clrYellow #property indicator_style1 STYLE_SOLID #property indicator_width1 1 //--- plot Max #property indicator_label2 "Coeff buy" #property indicator_type2 DRAW_LINE #property indicator_color2 clrAqua #property indicator_style2 STYLE_SOLID #property indicator_width2 1 //--- plot Max #property indicator_label3 "Coeff sell" #property indicator_type3 DRAW_LINE #property indicator_color3 clrMagenta #property indicator_style3 STYLE_SOLID #property indicator_width3 1 //--- input double USDPr = 0.02; //Стоимость пункта RTS в долл. input string MIXSymb = "MIX-12.16"; //MIX символ input string USDSymb = "USDFIX-INDEX"; //USD FIX input string MSpSymb = "MICEXINDEXCF-INDEX"; //MICEX индекс input string RSpSymb = "RTSI-INDEX"; //RTS индекс //--- double LastBuffer[]; double BuyBuffer[]; double SellBuffer[]; // //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { if (StringFind(Symbol(), "RTS-") < 0) { Alert("Индикатор должен быть на графике RTS"); return(INIT_FAILED); } //--- IndicatorSetInteger(INDICATOR_DIGITS,8); IndicatorSetString(INDICATOR_SHORTNAME,"MXI_RTS"); //--- indicator buffers mapping SetIndexBuffer(0,LastBuffer,INDICATOR_DATA); ArraySetAsSeries(LastBuffer,true); PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,EMPTY_VALUE); SetIndexBuffer(1,BuyBuffer,INDICATOR_DATA); ArraySetAsSeries(BuyBuffer,true); PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE); SetIndexBuffer(2,SellBuffer,INDICATOR_DATA); ArraySetAsSeries(SellBuffer,true); PlotIndexSetDouble(3,PLOT_EMPTY_VALUE,EMPTY_VALUE); //--- //---Set objects int window=ChartWindowFind(ChartID(),"MXI_RTS"); ObjectCreate(ChartID(),"MXI_RTS_1",OBJ_LABEL,window,0,0); ObjectCreate(ChartID(),"MXI_RTS_2",OBJ_LABEL,window,0,0); ObjectCreate(ChartID(),"MXI_RTS_3",OBJ_LABEL,window,0,0); //--- ObjectSetInteger(ChartID(),"MXI_RTS_1",OBJPROP_XDISTANCE,5); ObjectSetInteger(ChartID(),"MXI_RTS_1",OBJPROP_YDISTANCE,15); ObjectSetInteger(ChartID(),"MXI_RTS_1",OBJPROP_COLOR,clrYellow); ObjectSetString(ChartID(),"MXI_RTS_1",OBJPROP_TEXT,"Last coeff: 0"); ObjectSetInteger(ChartID(),"MXI_RTS_2",OBJPROP_XDISTANCE,5); ObjectSetInteger(ChartID(),"MXI_RTS_2",OBJPROP_YDISTANCE,30); ObjectSetInteger(ChartID(),"MXI_RTS_2",OBJPROP_COLOR,clrAqua); ObjectSetString(ChartID(),"MXI_RTS_2",OBJPROP_TEXT,"Buy coeff: 0"); ObjectSetInteger(ChartID(),"MXI_RTS_3",OBJPROP_XDISTANCE,5); ObjectSetInteger(ChartID(),"MXI_RTS_3",OBJPROP_YDISTANCE,45); ObjectSetInteger(ChartID(),"MXI_RTS_3",OBJPROP_COLOR,clrMagenta); ObjectSetString(ChartID(),"MXI_RTS_3",OBJPROP_TEXT,"Sell coeff: 0"); ChartRedraw(ChartID()); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { ObjectDelete(ChartID(),"MXI_RTS_1"); ObjectDelete(ChartID(),"MXI_RTS_2"); ObjectDelete(ChartID(),"MXI_RTS_3"); if(reason==REASON_INITFAILED) { string a_str = "MXI_RTS"; int window = ChartWindowFind(ChartID(), a_str ); ChartIndicatorDelete(ChartID(),window,a_str); } } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[]) { if (prev_calculated == 0) { ArrayInitialize(LastBuffer, 0); ArrayInitialize(BuyBuffer, 0); ArrayInitialize(SellBuffer, 0); } else { int a_diff=rates_total-prev_calculated; if(a_diff>0) { for(int i=a_diff-1; i>0; i++) { LastBuffer[i]=LastBuffer[i+1]; BuyBuffer[i]=BuyBuffer[i+1]; SellBuffer[i]=SellBuffer[i+1]; } } } double rts_ind_price = SymbolInfoDouble(RSpSymb, SYMBOL_LAST); double mix_ind_price = SymbolInfoDouble(MSpSymb, SYMBOL_LAST); double usd_price = SymbolInfoDouble(USDSymb, SYMBOL_LAST); double rts_price = SymbolInfoDouble(Symbol(), SYMBOL_LAST); double mix_price = SymbolInfoDouble(MIXSymb, SYMBOL_LAST); double mix_ask = SymbolInfoDouble(MIXSymb, SYMBOL_ASK); double mix_bid = SymbolInfoDouble(MIXSymb, SYMBOL_BID); double rts_ask = SymbolInfoDouble(Symbol(), SYMBOL_ASK); double rts_bid = SymbolInfoDouble(Symbol(), SYMBOL_BID); if ((rts_ind_price > 0) &&(mix_ind_price > 0)&&(usd_price > 0)&& (rts_price > 0) && (mix_price > 0) ) { LastBuffer[0] = ( mix_price / (rts_price * USDPr * usd_price)) - (mix_ind_price / (rts_ind_price * USDPr * usd_price )); if((mix_ask > 0) && (mix_bid >0) && (rts_ask > 0) && (rts_bid>0)) { BuyBuffer[0] = ( mix_bid / (rts_ask * USDPr * usd_price)) - (mix_ind_price / (rts_ind_price * USDPr * usd_price )); SellBuffer[0] = ( mix_ask / (rts_bid * USDPr * usd_price)) - (mix_ind_price / (rts_ind_price * USDPr * usd_price )); } } ObjectSetString(ChartID(),"MXI_RTS_1",OBJPROP_TEXT,"Last coeff: " + DoubleToString(LastBuffer[0])); ObjectSetString(ChartID(),"MXI_RTS_2",OBJPROP_TEXT,"Buy coeff: " + DoubleToString(BuyBuffer[0])); ObjectSetString(ChartID(),"MXI_RTS_3",OBJPROP_TEXT,"Sell coeff: " + DoubleToString(SellBuffer[0])); ChartRedraw(ChartID()); //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+
Добавлено
И вообще, торговать на ФОРТС по индикаторам (в стандартном понимании) - очень плохая идея
Индикатор для торговли на ФОРТС должен брать не исторические данные (таймфреймы),
а отслеживать какие-то закономерности, точные расчеты и прочие расчетные (не из графика) параметры.
Например индикатор тренда фьючерса (для примера):
Нужно брать текущий и последующий фьючерсы, точно считать средний спрэд (по бидам и аскам) с момента "рождения" дальнего
фьючерса, и последующие (текущие) отклонения будут индикатором для направления тренда.
И торговать не одним фьючерсом, а их парой для снижения рисков.
Типичные трендовые фьючерсы: GOLD, BR
Т.к в них заложена валютная составляющая, то они на малой дельте перекрывают комиссии,
что приводит к неплохой прибыли.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Предлагаю в этой ветке поискать совместно индикаторы, которые бы были полезны для торговли на фьючерсе RTS. Приветствуются индикаторы с настройками, в том числе стандартные, а так же описание паттернов и просто идей, которые можно закодировать.
Я не имею особого опыта торговли индексом, поэтому с интересом выслушаю все идеи, и постараюсь их проверить.
Соответственно, я думаю, что не лишним использовать для анализа сам индекс RTS, MIX? USDRUB_TOM или Si.