spread in Mql4Rates

 

Попробовал вывести spread, получил нули. Чтение спреда еще не раелизовано или это брокер виноват?

2015.10.24 06:10:07.421    TestSpread EURUSD.e,M1: close= 1.10029   spread= 0.00000
2015.10.24 06:10:07.421    TestSpread EURUSD.e,M1: close= 1.10021   spread= 0.00000
2015.10.24 06:10:07.421    TestSpread EURUSD.e,M1: close= 1.10027   spread= 0.00000
2015.10.24 06:10:07.421    TestSpread EURUSD.e,M1: close= 1.10027   spread= 0.00000
2015.10.24 06:10:07.420    TestSpread EURUSD.e,M1: close= 1.10035   spread= 0.00000
2015.10.24 06:10:07.420    TestSpread EURUSD.e,M1: close= 1.10045   spread= 0.00000
2015.10.24 06:10:07.420    TestSpread EURUSD.e,M1: close= 1.10064   spread= 0.00000
2015.10.24 06:10:07.420    TestSpread EURUSD.e,M1: Скопировано 100 баров

void OnStart()
{
    MqlRates rates[]; 
    int copied = CopyRates(NULL,0,0,100,rates); 
    if(copied <= 0) 
        Print("Ошибка копирования ценовых данных ", GetLastError()); 
    else 
        Print("Скопировано ", ArraySize(rates), " баров"); 

    for(int n = 0; n < copied; n++)
        Print("close= ", DoubleToString(rates[n].close, _Digits), "   spread= ", DoubleToString(rates[n].spread, _Digits));   
}
 
Может плавающий?
 
Artyom Trishkin:
Может плавающий?
Да, плавающий, это демо ECN Pro от RF. А что, на плавающем не должен показываться спред по каждому бару??
 
Alexey Volchanskiy:
Да, плавающий, это демо ECN Pro от RF. А что, на плавающем не должен показываться спред по каждому бару??
Спред каждый тик не фиксируется, потому не записывается в историю. Попробуйте проверять разность Ask-Bid! Если будет меняться, значит, Аск фиксируется, что и нужно!
 
Alexey Volchanskiy:
Да, плавающий, это демо ECN Pro от RF. А что, на плавающем не должен показываться спред по каждому бару??

Я думал это в параметрах символа, а не в структуре.

Тогда наверное нет его там.

А в пятёрке прогоняли скрипт?

 
Artyom Trishkin:

Я думал это в параметрах символа, а не в структуре.

Тогда наверное нет его там.

А в пятёрке прогоняли скрипт?

Символ EURUSD, спред конечно есть. Насчет пятерки - мысль, проверил, все работает. Счет Demo ECN Pro, брокер RF. Видно, как спред в конце сессии расширяется на глазах..

2015.10.24 23:35:54.358    TestSpread (EURUSD.e,M1)    n= 7   time = 2015.10.23 22:24:00   close= 1.10019   spread= 9.00000
2015.10.24 23:35:54.358    TestSpread (EURUSD.e,M1)    n= 6   time = 2015.10.23 22:23:00   close= 1.10029   spread= 6.00000
2015.10.24 23:35:54.358    TestSpread (EURUSD.e,M1)    n= 5   time = 2015.10.23 22:22:00   close= 1.10021   spread= 6.00000
2015.10.24 23:35:54.358    TestSpread (EURUSD.e,M1)    n= 4   time = 2015.10.23 22:21:00   close= 1.10027   spread= 4.00000
2015.10.24 23:35:54.358    TestSpread (EURUSD.e,M1)    n= 3   time = 2015.10.23 22:20:00   close= 1.10027   spread= 7.00000
2015.10.24 23:35:54.358    TestSpread (EURUSD.e,M1)    n= 2   time = 2015.10.23 22:19:00   close= 1.10035   spread= 7.00000
2015.10.24 23:35:54.358    TestSpread (EURUSD.e,M1)    n= 1   time = 2015.10.23 22:18:00   close= 1.10045   spread= 9.00000
2015.10.24 23:35:54.358    TestSpread (EURUSD.e,M1)    n= 0   time = 2015.10.23 22:17:00   close= 1.10064   spread= 7.00000

2015.10.24 23:35:54.359    TestSpread (EURUSD.e,M1)    n= 99   time = 2015.10.23 23:58:00   close= 1.10156   spread= 49.00000
2015.10.24 23:35:54.359    TestSpread (EURUSD.e,M1)    n= 98   time = 2015.10.23 23:57:00   close= 1.10160   spread= 40.00000
2015.10.24 23:35:54.359    TestSpread (EURUSD.e,M1)    n= 97   time = 2015.10.23 23:56:00   close= 1.10156   spread= 51.00000
2015.10.24 23:35:54.359    TestSpread (EURUSD.e,M1)    n= 96   time = 2015.10.23 23:55:00   close= 1.10155   spread= 37.00000
2015.10.24 23:35:54.359    TestSpread (EURUSD.e,M1)    n= 95   time = 2015.10.23 23:54:00   close= 1.10122   spread= 31.00000
2015.10.24 23:35:54.359    TestSpread (EURUSD.e,M1)    n= 94   time = 2015.10.23 23:53:00   close= 1.10116   spread= 33.00000

2015.10.24 23:35:54.359    TestSpread (EURUSD.e,M1)    n= 93   time = 2015.10.23 23:52:00   close= 1.10097   spread= 23.00000

void OnStart()
{
    MqlRates rates[]; 
    int copied = CopyRates(NULL,0,0,100,rates); 
    if(copied <= 0) 
        Print("Ошибка копирования ценовых данных ", GetLastError()); 
    else 
        Print("Скопировано ", ArraySize(rates), " баров"); 

    for(int n = 0; n < copied; n++)
        Print("n= ", IntegerToString(n), "   time = ", TimeToString(rates[n].time, TIME_DATE | TIME_MINUTES | TIME_SECONDS),  "   close= ", DoubleToString(rates[n].close, _Digits), "   spread= ",    DoubleToString(rates[n].spread, _Digits));   
}
 
Alexey Volchanskiy:

Символ EURUSD, спред конечно есть. Насчет пятерки - мысль, проверил, все работает. Счет Demo ECN Pro, брокер RF. Видно, как спред в конце сессии расширяется на глазах..

...
Ну вот о чём я и говорил (говоря, что нет его там) - нет его в структуре MqlRates в mql4
 
Artyom Trishkin:
Ну вот о чём я и говорил (говоря, что нет его там) - нет его в структуре MqlRates в mql4
Да, поле spread есть, но оно не заполняется. Печально..