Un indicatore molto utile - pagina 2 1234567 Nuovo commento __zeus__ 2019.10.25 07:56 #11 Forse dovresti registrare un video e mettere un sistema di trading? Renat Akhtyamov 2019.10.25 08:28 #12 __zeus__: Forse dovresti registrare un video e mettere un sistema di trading? lo stato è sufficiente. Dmitriy Skub 2019.10.25 09:39 #13 __zeus__: Se vuoi un po' di pruff, prendilo. Vai lana la storia di Brent 11.19 Ecco, questa è un'altra storia! Si vede già il volo di fantasia, l'immaginazione sfrenata, ecc. ecc.) __zeus__ 2019.10.25 10:01 #14 Dmitriy Skub: Beh, questa è un'altra storia! Qui si può vedere il volo di fantasia, l'immaginazione sfrenata, ecc. ecc.) Non sprecare il tempo di nessuno, sembra che tu non abbia niente di meglio da fare. Dmitriy Skub 2019.10.25 17:11 #15 __zeus__: Non hai niente di costruttivo da dire, sembra che tu non abbia niente di meglio da fare. Bingo, hai indovinato!). prostotrader 2019.10.25 17:26 #16 __zeus__: Tutto nella vita reale, è ovvio dalle parole che non avete usato questo indicatore. Confrontatelo con YuCluster o Delta Volume Histogram prima di iniziare a dire sciocchezze. Non significa nulla se ha una storia recente? Beh, se ti piace così tanto questo indicatore, e non vuoi ascoltare nessuno, allora è una piccola questione. Prova a fare trading su di esso.... Aggiunto Ecco un indicatore in tempo reale (regalo) //+------------------------------------------------------------------+ //| 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); } //+------------------------------------------------------------------+ Qualsiasi domanda da principiante, Perché ci sono questi EURUSD - Tendenze, previsioni prostotrader 2019.10.25 18:56 #17 E questo indicatore mostra sia gli scambi che i volumi in tempo reale //+------------------------------------------------------------------+ //| 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 19:16 #18 prostotrader: Bene, visto che questo indicatore ti piace così tanto e non vuoi ascoltare nessun altro, si tratta solo di fare un po'. Prova a fare trading su di esso.... Aggiunto Ecco un indicatore che funziona in tempo reale (regalo) Avete qualcosa di simile per QuickBooks? __zeus__ 2019.10.25 19:38 #19 prostotrader: Ma questo indicatore mostra sia gli affari che i volumi in tempo reale Fare trading su questi indicatori è come cambiare un affare per un affare, l'effetto è temporaneo. prostotrader 2019.10.25 20:27 #20 __zeus__: Fare trading con questi indicatori è come fare trading con un pezzo di merda, l'effetto è solo temporaneo. Quello che stai per scambiare fa schifo, ma la grafica è bellissima :) 1234567 Nuovo commento
Forse dovresti registrare un video e mettere un sistema di trading?
Se vuoi un po' di pruff, prendilo.
Vai lana la storia di Brent 11.19
Ecco, questa è un'altra storia! Si vede già il volo di fantasia, l'immaginazione sfrenata, ecc. ecc.)
Beh, questa è un'altra storia! Qui si può vedere il volo di fantasia, l'immaginazione sfrenata, ecc. ecc.)
Non sprecare il tempo di nessuno, sembra che tu non abbia niente di meglio da fare.
Non hai niente di costruttivo da dire, sembra che tu non abbia niente di meglio da fare.
Tutto nella vita reale, è ovvio dalle parole che non avete usato questo indicatore.
Confrontatelo con YuCluster o Delta Volume Histogram prima di iniziare a dire sciocchezze.
Non significa nulla se ha una storia recente?
Beh, se ti piace così tanto questo indicatore, e non vuoi ascoltare nessuno, allora è una piccola questione.
Prova a fare trading su di esso....
Aggiunto
Ecco un indicatore in tempo reale (regalo)
E questo indicatore mostra sia gli scambi che i volumi in tempo reale
Bene, visto che questo indicatore ti piace così tanto e non vuoi ascoltare nessun altro, si tratta solo di fare un po'.
Prova a fare trading su di esso....
Aggiunto
Ecco un indicatore che funziona in tempo reale (regalo)
Avete qualcosa di simile per QuickBooks?
Ma questo indicatore mostra sia gli affari che i volumi in tempo reale
Fare trading su questi indicatori è come cambiare un affare per un affare, l'effetto è temporaneo.
Fare trading con questi indicatori è come fare trading con un pezzo di merda, l'effetto è solo temporaneo.
Quello che stai per scambiare fa schifo,
ma la grafica è bellissima :)