错误、漏洞、问题 - 页 2896

 
fxsaber:

在市场上找不到任何统计数据。因此,给跨平台产品的卖家一个问题。

MT5版本真的比MT4卖得好吗?

你可以以 "自由职业者 "为基础,最近在mt5下的工作越来越多。

时间过得很快(非常快),所以真的要把mt5作为一个参考点。这就像一个钟摆--它摆动了很久,但后来你无法停止,这一点你已经看到了。

 
你需要能够打印出宏的文本。
#define OnTick OnTick2


需要输出的日志是

OnTick = OnTick2


该语言是否允许你这样做?

 
fxsaber:
你需要能够打印宏的文本。

需要输出的日志是

该语言是否允许你这样做

这取决于什么语言?C++ 允许这样做,因为宏在 那里可以正常工作,你可以建立你需要的任何表达式(不像MQL)。虽然我记得你多次试图证明相反的情况

#ifdef __cplusplus
#define  MACRO1(X)	#X "=" MACRO2(X)
#define  MACRO2(X)	#X
void OnStart()
{
        printf( "%s", MACRO1( OnTick ));
}
#endif

结果:OnTick = OnTick2

 
A100:

是否取决于哪一个?C++ 允许,因为宏在 那里可以正常工作,你可以建立任何你想要的表达式(不像MQL)。虽然我记得你多次试图证明相反的情况

结果:OnTick = OnTick2。

谢谢你。这一点可能会被纠正。

 
fxsaber:

谢谢你。也许他们会。

如果他们这样做,他们早就纠正了--我以前以这种或那种形式写过很多次--这里是最新的信息

关于交易、自动交易系统和交易策略测试的论坛

虫子,虫子,问题

A100, 2020.07.30 02:25

我认为这甚至不是优先事项,而是从根本上说错误的宏观顺序

并且预计它是OK的--如C++

关于交易、自动交易系统和测试交易策略的论坛

错误、漏洞、问题

A100, 2020.07.30 10:53

在C++中,宏的设计方式是任何必要的结果都可以被投射出来,而在MQL中,事实证明不是任何结果都可以被投射出来



 
这是一个错误还是应该如此?
// Находим крипт-методы, в которых не работает шифрование с ключем.

void OnStart()
{  
  const string Str = "Hello World!"; // Строка, которую будем шифровать/дешивровывать.

  uchar BytesStr[];

  StringToCharArray(Str, BytesStr); // Перевели строку в байты
  
  uchar KeyDecode[];
  uchar KeyEncode[];
    
  StringToCharArray("qwer", KeyDecode); // Задали код для шифровки
  StringToCharArray("asdf", KeyEncode); // Задали ДРУГОЙ код для расшифровки
    
  for (int i = 0; i < 8; i++) // Перебираем все штатный методы шифровки
  {
    const ENUM_CRYPT_METHOD Method = (ENUM_CRYPT_METHOD)i; // Текущий метод шифровки
    
    uchar BytesDecode[];
    uchar BytesEncode[];    
    
    CryptEncode(Method, BytesStr, KeyEncode, BytesEncode);    // Зашифровали
    CryptDecode(Method, BytesEncode, KeyDecode, BytesDecode); // Расшифровали
    
    Print("Crypt method " + EnumToString(Method) + " is bug - " + (string)(CharArrayToString(BytesDecode) == Str)); // Сообщаем о наличии/отсутствии бага.
  }
}


结果。

        Crypt method CRYPT_BASE64 is bug - true
        Crypt method CRYPT_AES128 is bug - false
        Crypt method CRYPT_AES256 is bug - false
        Crypt method CRYPT_DES is bug - false
        Crypt method CRYPT_HASH_SHA1 is bug - false
        Crypt method CRYPT_HASH_SHA256 is bug - false
        Crypt method CRYPT_HASH_MD5 is bug - false
        Crypt method CRYPT_ARCH_ZIP is bug - true


CRYPT_BASE64和CRYPT_ARCH_ZIP 的加密不起作用

 
fxsaber:

在市场上找不到任何统计数据。因此,给跨平台产品的卖家一个问题。

MT5版本真的比MT4卖得好吗?

目前没有,而不是有。但是,当然有一个趋势,那就是走向5。

 

fxsaber:
Это баг или так и должно быть?

CRYPT_BASE64和CRYPT_ARCH_ZIP的加密不起作用。

他们将根本上不同的方法合并到一个函数中--这就是为什么它看起来像一个错误

CRYPT_BASE64 中,原则上不能有任何密钥

 
fxsaber:

MT5版本真的比MT4卖得好吗?

绝对不是。但是,虽然过去有一个数量级的差异,现在的数字更具有可比性。

 
A100:

不同的方法原则上被合并成一个函数--这就是为什么它看起来像一个bug

原则上CRYPT_BASE64中不能有任何密钥

谢谢你。事实证明,问题只出现在ZIP中。