Тестирование торговых панелей.

 
Пытался протестировать несколько платных торговых панелей взятых с маркета. Все тесты безрезультатны, торговые панели отображаются в окне визуализации но при этом не работают. Пересмотрел все настройки, погуглил в интернете все безрезультатно. Вообщем подошел к некоему творческому "тупику", есть маркет, тестер, панели, а как проверит работу непонятно. Обращаюсь к специалистам за помощью, заранее благодарен.
 
Evgenij Lihouzov:
Пытался протестировать несколько платных торговых панелей взятых с маркета. Все тесты безрезультатны, торговые панели отображаются в окне визуализации но при этом не работают. Пересмотрел все настройки, погуглил в интернете все безрезультатно. Вообщем подошел к некоему творческому "тупику", есть маркет, тестер, панели, а как проверит работу непонятно. Обращаюсь к специалистам за помощью, заранее благодарен.
Практически у каждой панели размещенной в маркете есть свой бесплатный демонстрационный аналог.  Его можно запускать на реал-тайм счетах. Разработчики делают такие версии специально, т.к. не панели не представляется возможным протестировать в тестере стратегий.
 
ИМХО конечно,но для панелей возможно необходимо убрать(сделать неактивной) кнопку "Скачать триал", которая позволяет пользователю загрузить версию именно для тестера. Хотя в описании продукта обычно в таких случаях поясняется, что "Данный продукт невозможно протестировать в тестере стратегий".
 
Evgenij Lihouzov:
Пытался протестировать несколько платных торговых панелей взятых с маркета. Все тесты безрезультатны, торговые панели отображаются в окне визуализации но при этом не работают. Пересмотрел все настройки, погуглил в интернете все безрезультатно. Вообщем подошел к некоему творческому "тупику", есть маркет, тестер, панели, а как проверит работу непонятно. Обращаюсь к специалистам за помощью, заранее благодарен.
В каком терминале тестируете ? Для какого терминала подбираете панель ?
 
Evgenij Lihouzov:
Пытался протестировать несколько платных торговых панелей взятых с маркета. Все тесты безрезультатны, торговые панели отображаются в окне визуализации но при этом не работают. Пересмотрел все настройки, погуглил в интернете все безрезультатно. Вообщем подошел к некоему творческому "тупику", есть маркет, тестер, панели, а как проверит работу непонятно. Обращаюсь к специалистам за помощью, заранее благодарен.
В МТ4 в тестере не работают панели, таймер, обращение по HTTP и еще много чего.
 
Alexey Volchanskiy:
В МТ4 в тестере не работают панели, таймер, обращение по HTTP и еще много чего.
Работают, прекрасно работают...
 
Vladimir Pastushak:
Работают, прекрасно работают...
Проверил свой скальпер на МТ4 890, кнопки меняют оттенок при нажатии, а у меня при нажатии становятся красными. Есть какие-то ограничения в OnChartEvent.
 
Alexey Volchanskiy:
Проверил свой скальпер на МТ4 890, кнопки меняют оттенок при нажатии, а у меня при нажатии становятся красными. Есть какие-то ограничения в OnChartEvent.
А как Вы программно определяете что кнопка нажата ?
 
Vladimir Pastushak:
А как Вы программно определяете что кнопка нажата ?

Вот часть кода класса

class CTradeButtons : CObject
{
protected:
    CButton*    ArrButtons[BTN_ROWS][BTN_COLS];
    color       m_buttonColor;
    color       m_buttonsBorderColor;
    color       m_fontColor;
    int         m_fontSize;
    string      m_fontName;
    //const string    BtnName[BTN_ROWS][BTN_COLS];
    //const string  BtnName[BTN_ROWS][BTN_COLS] = {{"btnSellEnable", "btnBuyEnable"}, {"btnCloseLoss", "btnCloseProfit"}};
public:
    CTradeButtons()
    {
        /*BtnName[0][0] = "btnSellEnable";
        BtnName[0][1] = "btnBuyEnable";
        BtnName[1][0] = "btnCloseLoss";
        BtnName[1][1] = "btnCloseProfit";*/
    }
    
    ~CTradeButtons() { DeleteButtons(); }
    
    void SetParams(color buttonColor, color buttonsBorderColor, color fontColor, int fontSize, string fontName)
    {
        m_buttonColor = buttonColor;
        m_buttonsBorderColor = buttonsBorderColor;
        m_fontColor = fontColor;
        m_fontSize = fontSize;
        m_fontName = fontName;
        DeleteButtons();
        CreateButtons();
    }
    
    bool GetPressedState(int row, int col)
    {
        return ArrButtons[row][col].Pressed();
    }

    bool GetPressedState(string name, bool& state)
    {
        for(int row = 0; row < BTN_ROWS; row++)
            for(int col = 0; col < BTN_COLS; col++)
            {
                if(StringFind(name, BtnName[row][col]) != -1)
                {
                    state = ArrButtons[row][col].Pressed();
                    if(state)
                    {
                        ArrButtons[row][col].ColorBackground(BtnColor[row][col][1]);
                        ArrButtons[row][col].Color(BtnTextColor[row][col][1]);
                    }    
                    else 
                    {   
                        ArrButtons[row][col].ColorBackground(BtnColor[row][col][0]);
                        ArrButtons[row][col].Color(BtnTextColor[row][col][0]);
                    }    
                    return true; // кнопка нашлась
                }    
            }
        return false; //не нашлась    
    }
 
Alexey Volchanskiy:

Вот часть кода класса

Тут не понять , простите, Ваша манера программирования для меня сложна...
 
Vladimir Pastushak:
Тут не понять , простите, Ваша манера программирования для меня сложна...

Есть класс в стандартной библиотеке CButton. Создаю 2-х мерный массив с указателями на экземпляры класса.

CButton*    ArrButtons[BTN_ROWS][BTN_COLS]; // 2-х мерный массив указателей на стандартный класс CButton, у него есть метод .Pressed()

// Самое простое - обращение по ряду и столбцу
    bool GetPressedState(int row, int col)
    {
        return ArrButtons[row][col].Pressed();
    }
Причина обращения: