Как посчитать средний спред за определённый период? - страница 2

 
Ilya Malev:

Может Вам сразу код отправить, который спреды на минутных барах делает такими, какими они и должны быть? :) Мне не сложно.

Не, не нужно (за жирный шрифт прошу прощения: пишу с телефона).

И вообще, я думал что отвечаю топикстартеру :)
 
Vladimir Karputov:
Не, не нужно (за жирный шрифт прошу прощения: пишу с телефона).

И вообще, я думал что отвечаю топикстартеру :)

Топикстартер похоже немного плавает в вопросе, я просто хотел за него уточнить. Извиняюсь, если не в тему.

 
Ilya Malev:

Топикстартер похоже немного плавает в вопросе, я просто хотел за него уточнить. Извиняюсь, если не в тему.

Если Вы сделаете проверку, которую я предложил, то это будет полезно всем. На сим откланиваюсь, я в люлю спатки.
 
Vladimir Karputov:
Если Вы сделаете проверку, которую я предложил, то это будет полезно всем. На сим откланиваюсь, я в люлю спатки.

Вроде готово, наслаждайтесь :)

NS      0       21:23:24.594    Core 1  GBPAUD,M1 (Alpari-MT5-Demo): every tick generating
MH      0       21:23:24.594    Core 1  GBPAUD,M1: testing of Experts\Test1.ex5 from 2018.11.01 00:00 to 2019.02.01 00:00 started
MF      0       21:23:24.594    Core 1  final balance 10000.00 USD
DS      0       21:23:24.594    Core 1  2019.01.31 23:59:59   [ 0] 17 16 17 19 18 17 17 17 17 17 17 18 25 24 24 23 24 25 25 25 21 24 21 17 16 16
KP      0       21:23:24.594    Core 1  2019.01.31 23:59:59   [26] 17 24 24 14 15 25 26 19 22 24 60 57 58 60 60 61 61 61 61 61 79 79 83 79 86
NS      0       21:23:24.594    Core 1  2019.01.31 23:59:59   [ 0] 17 16 17 19 18 17 17 17 17 17 17 18 25 24 24 23 24 25 25 25 21 24 21 17 16 16
IS      0       21:23:24.594    Core 1  2019.01.31 23:59:59   [26] 17 24 24 14 15 25 26 19 22 24 60 57 58 60 60 61 61 61 61 61 79 79 83 79 86
IP      0       21:23:24.594    Core 1  2019.01.31 23:59:59   [ 0] 18 17 18 20 19 18 18 18 18 18 18 19 26 25 25 24 25 26 26 26 22 25 22 18 17 17
IS      0       21:23:24.594    Core 1  2019.01.31 23:59:59   [26] 18 25 25 15 16 26 27 20 23 25 61 58 59 61 61 61 61 61 61 61 80 80 84 80 87
QO      0       21:23:24.594    Core 1  GBPAUD,M1: 9804711 ticks, 90990 bars generated. Environment synchronized in 0:00:00.088. Test passed in 0:00:02.839 (including ticks preprocessing 0:00:00.812).
JP      0       21:23:40.530    Core 1  GBPAUD,M1 (Alpari-MT5-Demo): generating based on real ticks
KN      0       21:23:40.530    Core 1  GBPAUD,M1: testing of Experts\Test1.ex5 from 2018.11.01 00:00 to 2019.02.01 00:00 started
EQ      3       21:23:40.530    Core 1  GBPAUD : 2018.11.21 23:59 - real ticks discarded for 2 minutes out of 1440 total minute bars within a day
OL      3       21:23:40.530    Core 1  GBPAUD : 2018.11.21 23:59 - 90 tick prices mismatch for 4 minute bars
DK      3       21:23:40.530    Core 1  GBPAUD : 2018.12.24 23:59 - real ticks absent for 4 minutes out of 1258 total minute bars within a day
IE      3       21:23:40.530    Core 1  GBPAUD : 2018.12.24 23:59 - real ticks discarded for 1 minutes out of 1258 total minute bars within a day
RK      3       21:23:40.530    Core 1  GBPAUD : 2018.12.24 23:59 - 25 tick prices mismatch for 1 minute bars
MH      0       21:23:40.530    Core 1  GBPAUD : real ticks begin from 2018.09.03 00:00:00
NL      3       21:23:40.530    Core 1  GBPAUD : 2018.11.01 00:00 - 2019.02.01 00:00  real ticks absent for 4 minutes of 90990 total minute bars, every tick generation used
MN      3       21:23:40.530    Core 1  GBPAUD : 2018.11.01 00:00 - 2019.02.01 00:00  real ticks discarded for 3 minutes of 90990 total minute bars, every tick generation used
NG      3       21:23:40.530    Core 1  GBPAUD : 2018.11.01 00:00 - 2019.02.01 00:00  tick prices of 115 ticks not matched for 5 minute bars
NH      3       21:23:40.530    Core 1  GBPAUD : 2018.11.01 00:00 - 2019.02.01 00:00  last prices absent for 2691 minute bars, bid prices used
MH      0       21:23:40.530    Core 1  final balance 10000.00 USD
PP      0       21:23:50.053    Core 1  2019.01.31 23:59:45   [ 0] 17 16 17 19 18 17 17 17 17 17 17 18 25 24 24 23 24 25 25 25 21 24 21 17 16 16
GR      0       21:23:50.053    Core 1  2019.01.31 23:59:45   [26] 17 24 24 14 15 25 26 19 22 24 60 57 58 60 60 61 61 61 61 61 79 79 83 79 86
PQ      0       21:23:50.053    Core 1  2019.01.31 23:59:45   [ 0] 17 16 18 19 18 18 18 17 18 18 18 18 26 25 24 24 25 25 25 25 22 24 22 18 16 17
OR      0       21:23:50.053    Core 1  2019.01.31 23:59:45   [26] 17 24 25 15 16 26 26 19 22 24 60 57 57 60 60 61 61 61 61 61 79 79 83 79 87
FQ      0       21:23:50.053    Core 1  2019.01.31 23:59:45   [ 0]  27  25  29  28  26  27  28  26  27  25  29  30  27  28  28  29  28  29  27  27  32  35  29  28  23  26
EM      0       21:23:50.053    Core 1  2019.01.31 23:59:45   [26]  27  27  27  29  29  27  30  30  29  28  65  65  63  64  67  65  67  64  66  66  83  90 104 101 108
JD      0       21:23:50.053    Core 1  GBPAUD,M1: 13719554 ticks, 90990 bars generated. Environment synchronized in 0:00:00.081. Test passed in 0:00:15.736 (including ticks preprocessing 0:00:03.046).
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
  
void OnDeinit(const int reason)
  {
   double pt=SymbolInfoDouble(_Symbol,SYMBOL_POINT);
   MqlTick mt[];
   int sp[];
   int min[];
   int max[];
   CopySpread(_Symbol,_Period,0,51,sp);
   ArrayResize(min,ArraySize(sp));
   ArrayResize(max,ArraySize(sp));
   ArrayInitialize(min,0);
   ArrayInitialize(max,0);
   CopyTicksRange(_Symbol,mt,COPY_TICKS_INFO,iTime(_Symbol,_Period,50));
   for(int i=ArraySize(mt)-1;i>=0;i--)
    {
     int bs=iBarShift(_Symbol,_Period,mt[i].time);
     if(bs>50||mt[i].ask-mt[i].bid<FLT_EPSILON) continue;
     int spr=(int)ceil((mt[i].ask-mt[i].bid)/pt);
     if(!min[bs])min[bs]=spr;
     else min[bs]=(int)fmin(min[bs],spr);
     if(!max[bs])max[bs]=spr;
     else max[bs]=(int)fmax(max[bs],spr);
    }
   ArraySetAsSeries(min,true);
   ArraySetAsSeries(max,true);
   ArrayPrint(sp);
   ArrayPrint(min);
   ArrayPrint(max);
  }
 
Alexey Viktorov:

Я не имею права мешать вам заблуждаться.

Правильно, нельзя вмешиваться в вопросы веры )))

ЗЫ: я просто качаю тики и вычисляю графики спредов. Потом с Матлабе любопытно посмотреть изменения спреда на новостях. Теперь и на Ры можно, надо поднатаскаться.

 
Ilya Malev:

Топикстартер похоже немного плавает в вопросе, я просто хотел за него уточнить. Извиняюсь, если не в тему.

Немного это мягко сказано:))
 
Ilya Malev:

Вроде готово, наслаждайтесь :)

Спасибо огромное Вам за уделенное время!