Ошибки, баги, вопросы - страница 3231

 
ruslan #:
Ребят проверьте теорию ....провел твик кэша цпу, и у меня PR со 126 до 132 повысился на 6 едениц, твик делал на второй и третий кэш процца, мой проц R7 2700

Так и что конкретно Вы сделали?

 
Нужна помощь в решении следующей задачи.

Каталоги:

Include
        S1
                A.mqh
                B.mqh
        S2
                C1.mqh
                C2.mqh
        S3
                X.mqh
                Y.mqh
                Z.mqh

Код:

//+------------------------------------------------------------------+
//|                                                            A.mqh |
//+------------------------------------------------------------------+
class A {};
//+------------------------------------------------------------------+
//|                                                            B.mqh |
//+------------------------------------------------------------------+
#include "A.mqh"

class C1;

class B : public A {
 public:
  C1 *m_c1;
  B  *m_b;
  B  *m_ba[];
};
//+------------------------------------------------------------------+
//|                                                           С1.mqh |
//+------------------------------------------------------------------+
#include "C2.mqh"

class C1 : public B {
 public:
  void Test(void) {
    Print("   ", __FUNCTION__, " >");
  };
};
//+------------------------------------------------------------------+
//|                                                           C2.mqh |
//+------------------------------------------------------------------+
#include "..\S1\B.mqh"

class C2 : public B {
 public:
  void Test(void) {
    B::m_c1.Test();
  };
};

//+------------------------------------------------------------------+
//|                                                            X.mqh |
//+------------------------------------------------------------------+
#include "..\S2\C1.mqh"
#include "..\S2\C2.mqh"

class X {
 protected:
  C1 *m_c1[];
};
//+------------------------------------------------------------------+
//|                                                            Y.mqh |
//+------------------------------------------------------------------+
#include "X.mqh"

class Y : public X {};
//+------------------------------------------------------------------+
//|                                                            Z.mqh |
//+------------------------------------------------------------------+
#include "Y.mqh"

class Z : public Y {};
//+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//+------------------------------------------------------------------+
#include "Include\S3\Z.mqh"

void OnStart() {
  C1 c1;
  C2 c2;
  
  c2.m_c1 = GetPointer(c1);
  
  Print("c1.Test():");
  c1.Test();
  
  Print("c2.Test():");
  c2.Test();
}

//---

Компиляция из главного файла (Test.mq5) проходит успешно. И во всех файлах в отдельности тоже, кроме C2.mqh:

'Test' - undeclared identifier  C2.mqh  9       13
')' - expression expected       C2.mqh  9       18

//---

Можно ли при такой схеме избавиться от этой ошибки?

В архиве файлы для теста:

Файлы:
MQL5.zip  4 kb
 
Anatoli Kazharski #:
Можно ли при такой схеме избавиться от этой ошибки?
//+------------------------------------------------------------------+
//|                                                           C2.mqh |
//+------------------------------------------------------------------+
#include "..\S1\B.mqh"

#include "C1.mqh"

class C2 : public B {
 public:
  void Test(void) {
    B::m_c1.Test();
  };
};
//+------------------------------------------------------------------+
 
fxsaber #:

Сработало. Спасибо! 

Я на 100% был уверен, что пробовал такой вариант и что он заканчивался неудачей.

Как важен свежий взгляд на вещи. )

 
fxsaber #:
Другие Терминалы или Маркет-продукты показывают комиссию открытых позиций?

зачем постоянно оглядываться назад, если хочешь быть первым?

 
Andrey Dik #:

зачем постоянно оглядываться назад, если хочешь быть первым?

Будьте первым - Маркет-продукт или КБ.

 
fxsaber #:

Будьте первым - Маркет-продукт или КБ.

Выложить новый терминал в Маркет или КБ лючше чем МТ5? - что за бред... 
Вы тормоз в колёсах Metaquotes чтоли? Засланец конкурирущей компании? Последние год-два выступаете против любых прогресивных изменений в МТ5. 
 
Andrey Dik #:
Выложить новый терминал в Маркет или КБ лючше чем МТ5? - что за бред... 
Вы тормоз в колёсах Metaquotes чтоли? Засланец конкурирущей компании? Последние год-два выступаете против любых прогресивных изменений в МТ5. 

Не считаю, что в MQ что-то не понимают или слабо осознают.

Что касается комиссии, то это настолько низкая по полезности хотелка, что удивительно даже, почему MQ столько сил на нее потратили в Тестере.


Выдернуть комиссию по каждому символу в файл - элементарно: через однократный запуск спец-советника в Тестере, либо однократный парсинг соответствующего ini-файла настроек дефолтных Тестерных комиссий.

Этого никто не делает, потому что на самом деле это ненужно, иначе давно бы выдрали вышепредложенным методами, что сразу приходят на ум.


Ну если совсем лень что-то парсить - открываем демо-счет и смотрим комиссии по всем символам. Сохранили в файл и используем в реале. Но даже эта схема идиотская по сравнению с той, что практикуется.


Торгуете EURUSD, например. Неужели в истории нет ни одной закрытой позиции по этому символу? Нет - сделайте хоть мин.лотом. После этого полный расклад по размеру комиcсии на EURUSD. Предсказывайте ее размер для будущих позиций с огромной точностью.


Нет никаких проблем с комиссиями. Однако, есть масса серьезных архитектурных проблем с синхронизацией торгового окружения, которые не просто не решаются иногда, а даже усугубляются. Подобное, действительно, является серьезной проблемой платформы для активных алготрейдеров.


За финтеплюшками - в Маркет. Там на этих финтеплюшках (просто панельки) миллионные продажи делаются. И умение элементарно рассчитать комиссию у этих панелек при расчете якобы риска становится просто конкурентным преимуществом перед другими финтеплюшками, но ленивых авторов.

 
fxsaber #:

Не считаю, что в MQ что-то не понимают или слабо осознают.

Что касается комиссии, то это настолько низкая по полезности хотелка, что удивительно даже, почему MQ столько сил на нее потратили в Тестере.


Выдернуть комиссию по каждому символу в файл - элементарно: через однократный запуск спец-советника в Тестере, либо однократный парсинг соответствующего ini-файла настроек дефолтных Тестерных комиссий.

Этого никто не делает, потому что на самом деле это ненужно, иначе давно бы выдрали вышепредложенным методами, что сразу приходят на ум.


Ну если совсем лень что-то парсить - открываем демо-счет и смотрим комиссии по всем символам. Сохранили в файл и используем в реале. Но даже эта схема идиотская по сравнению с той, что практикуется.


Торгуете EURUSD, например. Неужели в истории нет ни одной закрытой позиции по этому символу? Нет - сделайте хоть мин.лотом. После этого полный расклад по размеру комиcсии на EURUSD. Предсказывайте ее размер для будущих позиций с огромной точностью.


Нет никаких проблем с комиссиями. Однако, есть масса серьезных архитектурных проблем с синхронизацией торгового окружения, которые не просто не решаются иногда, а даже усугубляются. Подобное, действительно, является серьезной проблемой платформы для активных алготрейдеров.


За финтеплюшками - в Маркет. Там на этих финтеплюшках (просто панельки) миллионные продажи делаются. И умение элементарно рассчитать комиссию у этих панелек при расчете якобы риска становится просто конкурентным преимуществом перед другими финтеплюшками, но ленивых авторов.

Вы сами себе противоречите, не находите? Если всё так просто реализуется програмистом MQL5 уровня - 0, то почему это до сих пор не сделано в терминале MT5? Можете не отвечать, у Вас аргументации 0.
 
fxsaber #:

Торгуете EURUSD, например. Неужели в истории нет ни одной закрытой позиции по этому символу? Нет - сделайте хоть мин.лотом. После этого полный расклад по размеру комиcсии на EURUSD. Предсказывайте ее размер для будущих позиций с огромной точностью.

Чтобы не быть голословным, вот скрин из записи в блоге. Смотрим столбец Commission. В скобках размер комиссии в пипсах, он почти никуда не гуляет (3.37 - 3.41) даже в таком тяжелом и редком контексте. Тупо взята из истории торговли.
Частичное исполнение.
Частичное исполнение.
  • www.mql5.com
На рынке случаются различные эпизоды с исполнением торговых ордеров. Наверное, важно уметь быстро разобраться в той или иной торговой ситуации. MT5 сохраняет довольно много информации в истории
Причина обращения: