非常に便利な指標 - ページ 2 1234567 新しいコメント __zeus__ 2019.10.25 05:56 #11 ビデオを録画して、取引システムを載せた方がいいのでは? Renat Akhtyamov 2019.10.25 06:28 #12 __zeus__: ビデオを録画して、取引システムを載せた方がいいのでは? 国家で十分です。 Dmitriy Skub 2019.10.25 07:39 #13 __zeus__: プルーフが欲しいなら、手に入れろ。 ブレントストーリー11.19をウオールする ほらね、話が違うでしょ!?もう、空想の逃避行、奔放な想像力、などなど)が見えてきます。 __zeus__ 2019.10.25 08:01 #14 Dmitriy Skub: まあ、それはまた別の話として!ここでは、空想の逃避、奔放な想像力、等々を見ることができます) 時間を無駄にしないでください。 Dmitriy Skub 2019.10.25 15:11 #15 __zeus__: 人の時間を無駄にしないように、あなたは他にやることがないようですね。 ビンゴ、当てましたね!) prostotrader 2019.10.25 15:26 #16 __zeus__: すべて実戦で、このインジケーターを使用していないことは言葉から明らかです。 YuClusterやDelta Volume Histogramと比較してみてから、くだらない話を始めてください。 最近の履歴があれば意味がないのか? まあ、そんなにこのインジケーターが好きで、誰の話も聞きたくないというのなら、些細なことなんですけどね。 それでトレードしてみてください...。 によって追加されました。 リアルタイムの インジケーターはこちら(プレゼント) //+------------------------------------------------------------------+ //| FVolumes.mq5 | //| Copyright 2019 prostotrader | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2019 prostotrader" #property link "https://www.mql5.com" #property version "1.00" #define on_call -111 #property indicator_separate_window //--- #property indicator_buffers 2 #property indicator_plots 2 //--- plot Label1 #property indicator_label1 "Sell vol" #property indicator_type1 DRAW_HISTOGRAM #property indicator_color1 clrRed #property indicator_style1 STYLE_SOLID #property indicator_width1 3 //--- #property indicator_label2 "Buy vol" #property indicator_type2 DRAW_HISTOGRAM #property indicator_color2 clrBlue #property indicator_style2 STYLE_SOLID #property indicator_width2 3 //--- double SellBuf[], BuyBuf[]; ulong sell_vol, buy_vol; ulong start_time; MqlTick ticks[]; bool is_book; int event_cnt; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { event_cnt = 0; if(CopyTicks(Symbol(), ticks, COPY_TICKS_TRADE, 0, 1) == 1) { start_time = ticks[0].time_msc + 1; } else { Alert("Не получено начальное время тиков!"); return(INIT_FAILED); } is_book = MarketBookAdd(Symbol()); if(is_book == false) { Alert("Не добавлен стакан по символу " + Symbol()); return(INIT_FAILED); } //--- Set buffers IndicatorSetInteger(INDICATOR_DIGITS,0); IndicatorSetString(INDICATOR_SHORTNAME,"FVolumes"); //---Set buffers SetIndexBuffer(0,SellBuf,INDICATOR_DATA); PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,EMPTY_VALUE); ArraySetAsSeries(SellBuf,true); SetIndexBuffer(1,BuyBuf,INDICATOR_DATA); PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE); ArraySetAsSeries(BuyBuf,true); //--- indicator buffers mapping return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { if(is_book == true) MarketBookRelease(Symbol()); } //+------------------------------------------------------------------+ //| Custom indicator On book event function | //+------------------------------------------------------------------+ void OnBookEvent(const string &symbol) { if(symbol == Symbol()) { double price[]; OnCalculate(event_cnt,event_cnt,on_call,price); } } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ bool GetVolumes(ulong &s_vol, ulong &b_vol) { s_vol = 0; b_vol = 0; int result = CopyTicks(Symbol(), ticks, COPY_TICKS_TRADE, start_time, 0); if(result > 0) { for(int i = 0; i < result; i++) { if((ticks[i].flags&TICK_FLAG_SELL)==TICK_FLAG_SELL) { s_vol += ticks[i].volume; } else if((ticks[i].flags&TICK_FLAG_BUY)==TICK_FLAG_BUY) { b_vol += ticks[i].volume; } } start_time = ticks[0].time_msc + 1; return(true); } return(false); } //+------------------------------------------------------------------+ //| 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(SellBuf, EMPTY_VALUE); ArrayInitialize(BuyBuf, EMPTY_VALUE); SellBuf[0]= 0; BuyBuf[0] = 0; } //--- if(GetVolumes(sell_vol, buy_vol)== true) { SellBuf[0] -= double(sell_vol); BuyBuf[0] += double(buy_vol); } //--- return value of prev_calculated for next call event_cnt=rates_total; return(rates_total); } //+------------------------------------------------------------------+ prostotrader 2019.10.25 16:56 #17 そして、このインジケータは、取引と出来高の両方をリアルタイムで表示します。 //+------------------------------------------------------------------+ //| DealsLent.mq5 | //| Copyright 2016-2018, prostotrader | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2016-2018, prostotrader" #property link "https://www.mql5.com" #property version "1.04" #define on_call -111 //Отрицательное число для вызова функции OnCalculate // (данные не могут быть в отрицательном диаппозоне) //--- #property indicator_separate_window #property indicator_buffers 4 #property indicator_plots 4 //--- plot Label1 #property indicator_label1 "Sell" #property indicator_type1 DRAW_HISTOGRAM #property indicator_color1 clrLightPink #property indicator_style1 STYLE_SOLID #property indicator_width1 5 //--- plot Label2 #property indicator_label2 "Sell_vol" #property indicator_type2 DRAW_HISTOGRAM #property indicator_color2 clrRed #property indicator_style2 STYLE_SOLID #property indicator_width2 5 //--- plot Label3 #property indicator_label3 "Buy" #property indicator_type3 DRAW_HISTOGRAM #property indicator_color3 clrLightSkyBlue #property indicator_style3 STYLE_SOLID #property indicator_width3 5 //--- plot Label4 #property indicator_label4 "Buy_vol" #property indicator_type4 DRAW_HISTOGRAM #property indicator_color4 clrBlue #property indicator_style4 STYLE_SOLID #property indicator_width4 5 //--- indicator buffers double SellBuffer[]; double BuyBuffer[]; double SellVol[]; double BuyVol[]; ulong sell_all; ulong buy_all; ulong sell_all_vol; ulong buy_all_vol; ulong start_time; ulong last_tick_time; int event_cnt; int mem_bars; bool is_book; MqlTick ticks[]; // //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { sell_all = 0; buy_all = 0; sell_all_vol = 0; buy_all_vol = 0; event_cnt=0; is_book = MarketBookAdd(Symbol()); //--- Set buffers IndicatorSetInteger(INDICATOR_DIGITS,0); IndicatorSetString(INDICATOR_SHORTNAME,"DealsLent"); //---Set buffers SetIndexBuffer(0,SellBuffer,INDICATOR_DATA); PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,EMPTY_VALUE); ArraySetAsSeries(SellBuffer,true); SetIndexBuffer(1,SellVol,INDICATOR_DATA); PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE); ArraySetAsSeries(SellVol,true); SetIndexBuffer(2,BuyBuffer,INDICATOR_DATA); PlotIndexSetDouble(2,PLOT_EMPTY_VALUE,EMPTY_VALUE); ArraySetAsSeries(BuyBuffer,true); SetIndexBuffer(3,BuyVol,INDICATOR_DATA); PlotIndexSetDouble(3,PLOT_EMPTY_VALUE,EMPTY_VALUE); ArraySetAsSeries(BuyVol,true); //---Set objects int window=ChartWindowFind(ChartID(),"DealsLent"); ObjectCreate(ChartID(),"Dl_label_1",OBJ_LABEL,window,0,0); ObjectCreate(ChartID(),"Dl_label_2",OBJ_LABEL,window,0,0); ObjectCreate(ChartID(),"Dl_label_3",OBJ_LABEL,window,0,0); ObjectCreate(ChartID(),"Dl_label_4",OBJ_LABEL,window,0,0); ObjectSetInteger(ChartID(),"Dl_label_1",OBJPROP_YDISTANCE,30); ObjectSetInteger(ChartID(),"Dl_label_1",OBJPROP_XDISTANCE,0); ObjectSetInteger(ChartID(),"Dl_label_2",OBJPROP_YDISTANCE,60); ObjectSetInteger(ChartID(),"Dl_label_2",OBJPROP_XDISTANCE,0); ObjectSetInteger(ChartID(),"Dl_label_3",OBJPROP_YDISTANCE,15); ObjectSetInteger(ChartID(),"Dl_label_3",OBJPROP_XDISTANCE,0); ObjectSetInteger(ChartID(),"Dl_label_4",OBJPROP_YDISTANCE,45); ObjectSetInteger(ChartID(),"Dl_label_4",OBJPROP_XDISTANCE,0); ObjectSetInteger(ChartID(),"Dl_label_1",OBJPROP_COLOR,clrLightPink); ObjectSetInteger(ChartID(),"Dl_label_2",OBJPROP_COLOR,clrLightSkyBlue); ObjectSetInteger(ChartID(),"Dl_label_3",OBJPROP_COLOR,clrLightPink); ObjectSetInteger(ChartID(),"Dl_label_4",OBJPROP_COLOR,clrLightSkyBlue); ObjectSetString(ChartID(),"Dl_label_1",OBJPROP_TEXT,"Сум. объём Sell: 0"); ObjectSetString(ChartID(),"Dl_label_2",OBJPROP_TEXT,"Сум. объём Buy: 0"); ObjectSetString(ChartID(),"Dl_label_3",OBJPROP_TEXT,"Сум. кол-во Sell: 0"); ObjectSetString(ChartID(),"Dl_label_4",OBJPROP_TEXT,"Сум. кол-во Buy: 0"); //--- PlotIndexSetInteger(0,PLOT_SHOW_DATA,false); PlotIndexSetInteger(1,PLOT_SHOW_DATA,false); PlotIndexSetInteger(2,PLOT_SHOW_DATA,false); PlotIndexSetInteger(3,PLOT_SHOW_DATA,false); ChartRedraw(ChartID()); if(CopyTicks(Symbol(), ticks, COPY_TICKS_TRADE, 0, 1) == 1) { last_tick_time = ticks[0].time_msc; start_time = GetMicrosecondCount(); mem_bars = Bars(Symbol(), PERIOD_CURRENT); } else return(INIT_FAILED); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { if(is_book == true) MarketBookRelease(Symbol()); ObjectDelete(ChartID(),"Dl_label_1"); ObjectDelete(ChartID(),"Dl_label_2"); ObjectDelete(ChartID(),"Dl_label_3"); ObjectDelete(ChartID(),"Dl_label_4"); if(reason==REASON_INITFAILED) { int window=ChartWindowFind(); ChartIndicatorDelete(ChartID(),window,"DealsLent"); } } //+------------------------------------------------------------------+ //| Custom indicator On book event function | //+------------------------------------------------------------------+ void OnBookEvent(const string &symbol) { if(symbol==Symbol()) { double price[]; OnCalculate(event_cnt,event_cnt,on_call,price); //Вызов функции для обработки данных } } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ void GetData(double& s_data, double& b_data, double& s_vol, double& b_vol) { s_data = 0; b_data = 0; s_vol = 0; b_vol = 0; ulong delta_time = ulong(MathAbs(double(GetMicrosecondCount() - start_time))); int result = CopyTicksRange(Symbol(), ticks, COPY_TICKS_TRADE, last_tick_time, last_tick_time + delta_time); if(result > 0) { for(int i = 0; i < result; i++) { if((ticks[i].flags&TICK_FLAG_SELL)==TICK_FLAG_SELL) { s_data++; s_vol += double(ticks[i].volume); } else if((ticks[i].flags&TICK_FLAG_BUY)==TICK_FLAG_BUY) { b_data++; b_vol += double(ticks[i].volume); } } last_tick_time = ticks[0].time_msc + 1; start_time = GetMicrosecondCount(); } } //+------------------------------------------------------------------+ //| 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(SellBuffer,EMPTY_VALUE); ArrayInitialize(BuyBuffer,EMPTY_VALUE); ArrayInitialize(SellVol,EMPTY_VALUE); ArrayInitialize(BuyVol,EMPTY_VALUE); } else { int cur_bars = Bars(Symbol(), PERIOD_CURRENT); if(cur_bars < 10) return(prev_calculated); if((begin != on_call) && (mem_bars != cur_bars)) { mem_bars = cur_bars; sell_all = 0; buy_all = 0; sell_all_vol = 0; buy_all_vol = 0; SellBuffer[1] = EMPTY_VALUE; SellVol[2] = EMPTY_VALUE; BuyBuffer[3] = EMPTY_VALUE; BuyVol[4] = EMPTY_VALUE; } double sell_data, buy_data, sell_vol, buy_vol; GetData(sell_data, buy_data, sell_vol, buy_vol); if(sell_data > 0.0) { SellBuffer[0] = sell_data; sell_all += ulong(sell_data); } if(sell_vol > 0.0) { SellVol[1] = sell_vol; sell_all_vol += ulong(sell_vol); } if(buy_data > 0.0) { BuyBuffer[2] = buy_data; buy_all += ulong(buy_data); } if(buy_vol > 0.0) { BuyVol[3] = buy_vol; buy_all_vol += ulong(buy_vol); } } ObjectSetString(ChartID(),"Dl_label_1",OBJPROP_TEXT,"Сум. объём Sell: " + string(sell_all_vol)); ObjectSetString(ChartID(),"Dl_label_2",OBJPROP_TEXT,"Сум. объём Buy: " + string(buy_all_vol)); ObjectSetString(ChartID(),"Dl_label_3",OBJPROP_TEXT,"Сум. кол-во Sell: " + string(sell_all)); ObjectSetString(ChartID(),"Dl_label_4",OBJPROP_TEXT,"Сум. кол-во Buy: " + string(buy_all)); ChartRedraw(ChartID()); event_cnt=rates_total; //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ Vitalii Ananev 2019.10.25 17:16 #18 prostotrader: まあ、これだけこのインジケーターが好きで、他の人の話を聞きたくないのだから、少しやればいいだけの話なんだけどね。 それでトレードしてみてください...。 追加 リアルタイムで 動作するインジケータはこちら(ギフト)。 QuickBooks用のようなものはないのでしょうか? __zeus__ 2019.10.25 17:38 #19 prostotrader: しかし、この指標では、ディールとボリュームの両方がリアルタイムで表示されます。 これらの指標で取引することは、バーゲンをバーゲンに変えるようなもので、その効果は一時的なものです。 prostotrader 2019.10.25 18:27 #20 __zeus__: これらの指標を使った取引は、ポンコツを取引するようなもので、効果は一時的なものです。 交換するものは最悪です。 が、グラフィックは綺麗です :) 1234567 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ビデオを録画して、取引システムを載せた方がいいのでは?
プルーフが欲しいなら、手に入れろ。
ブレントストーリー11.19をウオールする
ほらね、話が違うでしょ!?もう、空想の逃避行、奔放な想像力、などなど)が見えてきます。
まあ、それはまた別の話として!ここでは、空想の逃避、奔放な想像力、等々を見ることができます)
時間を無駄にしないでください。
人の時間を無駄にしないように、あなたは他にやることがないようですね。
すべて実戦で、このインジケーターを使用していないことは言葉から明らかです。
YuClusterやDelta Volume Histogramと比較してみてから、くだらない話を始めてください。
最近の履歴があれば意味がないのか?
まあ、そんなにこのインジケーターが好きで、誰の話も聞きたくないというのなら、些細なことなんですけどね。
それでトレードしてみてください...。
によって追加されました。
リアルタイムの インジケーターはこちら(プレゼント)
そして、このインジケータは、取引と出来高の両方をリアルタイムで表示します。
まあ、これだけこのインジケーターが好きで、他の人の話を聞きたくないのだから、少しやればいいだけの話なんだけどね。
それでトレードしてみてください...。
追加
リアルタイムで 動作するインジケータはこちら(ギフト)。
QuickBooks用のようなものはないのでしょうか?
しかし、この指標では、ディールとボリュームの両方がリアルタイムで表示されます。
これらの指標で取引することは、バーゲンをバーゲンに変えるようなもので、その効果は一時的なものです。
これらの指標を使った取引は、ポンコツを取引するようなもので、効果は一時的なものです。
交換するものは最悪です。
が、グラフィックは綺麗です :)