你如何看待2030年的Metatrader X? - 页 7

 
Alexey Volchanskiy:

我大致勾勒了13年的平台发展,但再过10年,让我们幻想一下,会是什么样子?也许一些幻想会在未来的发展中得到体现 ))

所以,你在这里--是允许幻想的。

事实证明,我不允许在论坛上发表任何东西--只需给管理员写信。

 
fxsaber:

添加这个重载

添加这一行。

好了,搞定了,测试脚本似乎起作用了。

#property strict
#include <fxsaber\TypeToBytes.mqh>        //https://www.mql5.com/ru/code/16282
#define  POSTFIX "___"
//+------------------------------------------------------------------+
string GetName(const string Name,const int Num,const string PostFix=POSTFIX)
  {
   return(Name + PostFix + (string)Num);
  }
//+------------------------------------------------------------------+
bool _GlobalVariableDel(const string Name)
  {
   return(GlobalVariableDel(Name) && (GlobalVariablesDeleteAll(Name + POSTFIX) >= 0));
  }

#define  GLOBAL_VARIABLE_SET(A)                                                        \
template<typename T>\
  datetime _GlobalVariableSet(const string Name,const T A) \
  {                                                                                   \
    _GlobalVariableDel(Name);                                                         \
                                                                                      \
    double Array[];                                                                   \
                                                                                      \
    const datetime Res=GlobalVariableSet(Name,_ArrayCopy(Array,_R(Value).Bytes)); \
    const int Size=ArraySize(Array);                                                \
                                                                                      \
    for(int i=0; i<Size; i++) \
      GlobalVariableSet(GetName(Name,i),Array[i]);                                  \
                                                                                      \
    return(Res);                                                                      \
  }

GLOBAL_VARIABLE_SET(Value)
GLOBAL_VARIABLE_SET(&Value)
GLOBAL_VARIABLE_SET(&Value[])

#define  GLOBAL_VARIABLE_GET(A)                                              \
  {                                                                         \
    double Array[];                                                         \
                                                                            \
    const int Amount=(int)Tmp;                                            \
    const int Size=ArrayResize(Array,Amount/sizeof(double)+\
((Amount%sizeof(double)==0) ? 0 : 1)); \
                                                                            \
    for(int i=0; i<Size; i++) \
      Array[i]=GlobalVariableGet(GetName(Name,i));                       \
                                                                            \
    uchar Bytes[];                                                          \
                                                                            \
    _ArrayCopy(Bytes,Array,0,0,Amount);                                 \
                                                                            \
    _W(A)=Bytes;                                                          \
  }
//+------------------------------------------------------------------+
template<typename T>
const T _GlobalVariableGet(const string Name)
  {
   T Res; // https://www.mql5.com/ru/forum/1111/page1869#comment_4854112
   ZeroMemory(Res);
   double Tmp;

   if(GlobalVariableGet(Name,Tmp))
      GLOBAL_VARIABLE_GET(Res)

      return(Res);
  }
//+------------------------------------------------------------------+
template<typename T>
bool _GlobalVariableGet(const string Name,T &Value)
  {
   double Tmp;
   const bool Res=GlobalVariableGet(Name,Tmp);

   if(Res)
      GLOBAL_VARIABLE_GET(Value)

      return(Res);
  }
//+------------------------------------------------------------------+
template<typename T>
bool _GlobalVariableGet(const string Name,T &Value[])
  {
   double Tmp;
   const bool Res=GlobalVariableGet(Name,Tmp);

   if(Res)
     {
      double Array[];

      const int Amount=(int)Tmp;
      const int Size=ArrayResize(Array,Amount/sizeof(double)+
                                 ((Amount%sizeof(double)==0) ? 0 : 1));

      for(int i=0; i<Size; i++)
         Array[i]=GlobalVariableGet(GetName(Name,i));

      _ArrayCopy(Value,Array,0,0,Amount);
     }

   return(Res);
  }

//+------------------------------------------------------------------+
void OnStart()
  {
   string Name="Name";

// Записываем/считываем строки
   _GlobalVariableSet(Name,"Hello World!");
   Print(_GlobalVariableGet<string>(Name));

// Записываем/считываем простые структуры
   MqlTick Tick;
   SymbolInfoTick(_Symbol,Tick);

   _GlobalVariableSet(Name,Tick);
   Print("time --> ",_GlobalVariableGet<MqlTick>(Name).time);
   Print("bid --> ",_GlobalVariableGet<MqlTick>(Name).bid);

// Записываем/считываем массивы
   MqlTick Ticks[2];

   Ticks[0] = Tick;
   Ticks[1] = Tick;

   _GlobalVariableSet(Name,Ticks);

   MqlTick ReadTicks[2];

   _GlobalVariableGet<MqlTick>(Name,ReadTicks);

   for(int i=0;i<2;i++)
     {
      Print(i," : time  --> ",ReadTicks[i].time);
      Print(i," :  bid  --> ",ReadTicks[i].bid);
     }

   _GlobalVariableDel(Name);
  }
//+------------------------------------------------------------------+


对于简单的任务来说,这是一个相当麻烦的结构,我不确定是否要使用它,把它写到文件里更容易,所以我会考虑一下。

谢谢你的时间!

 
Igor Makanu:

对于简单的任务来说是一个相当繁琐的设计

如果完全隐藏在一个斜面中,笨重是否重要?

 

十年似乎是一个非常漫长的时间,只有无尾猴才能活到100岁))

交易仍将以四为单位。代码和蜱虫狂热者仍将在五。25%的用户将转移到网络(电视)。曼巴上的期权交易商将保持快速。

Bedocoin将达到450,000,信息100!

 
SeriousRacoon:

十年似乎是一个非常漫长的时间,只有无尾猴才能活到100岁))

交易仍将以四为单位。代 码和蜱虫狂热者仍将在五。25%的用户将转移到网络(电视)。曼巴的期权持有者将迅速保持下去。

Bedocoin将达到450,000,信息百!

这是不可能的...想象一下,如果到那一年推出一个成熟的人工智能。当然,我自己最近认为它不可能那么快出现,但最近对它到底应该如何工作的思考让我确信我错了。 它将会快得多。我自己在10年内就能造出它的原型,更不用说那些有能力的IT巨头了。

现在,如果一个人工智能被创造出来,它将进行交易。而MT4将无法处理它。

 
Реter Konow:

这是不可能的...想象一下,如果到那一年推出一个成熟的人工智能。当然,我自己最近也认为它不可能那么快出现,但最近对它到底应该如何工作的思考让我确信我错了。 它将会快得多。我自己在10年内就能造出它的原型,更不用说那些有能力的IT巨头了。

现在,如果人工智能被创造出来,它将进行交易。而MT4将无法处理它。

如果有人工智能,每个人总是会在交易中至少有一分钱的利润,而且每个人都能接触到这些人工智能,那么股票交易将简单地消失。但我有一个好消息:它不会 )

而发动机,一般来说,可以用螺栓固定在任何有外部接口的厨房烤炉上。

 
SeriousRacoon:

如果有人工智能,每个人的交易总是至少有一分钱的利润,而且每个人都能接触到这些人工智能,那么股票/外汇/加密货币交易就会直接消失。但我有一个好消息:它不会 )

而发动机,一般来说,可以用螺栓固定在任何有外部接口的厨房烤炉上。

人工智能将像正常人一样进行交易,但将由不寻常的人拥有。对于普通人来说,会发明一些其他的智力游戏来赚钱,因为把人工智能租给他们没有任何意义。事实上,人们会相信测试者的照片多久呢?几个世纪?很快,人们的遗传记忆就会有这样的认识:没有圣杯 存在,人群将不再携带钱财去厨房。

至于创造人工智能的技术方面,相信我,其创造在未来10年内是现实的。

 
Реter Konow:

人工智能将像普通人一样进行交易,但将由非同寻常的人拥有。对于普通人来说,会发明一些其他的智能赚钱游戏,因为将人工智能出租给他们没有任何意义。事实上,人们会相信测试者的照片多久呢? 几个世纪?很快,人们的遗传记忆就会有这样的认识:没有圣杯存在,人群将不再携带钱财去厨房。

至于创造人工智能的技术方面,相信我,其创造在未来10年内是现实的。

我担心,如果人工智能被创造出来,我们的位置将在寝宫的某个地方,我们将不得不为更先进的生物让路。也许这就是我们的任务。拥有、租用,好吧,好吧。你会为了一把米而擦拭电阻))

 
Vict:

我担心,如果人工智能被创造出来,我们的位置就会在寝宫的某个地方,需要为更完美的生命让路。也许这就是我们的任务。要拥有,要租赁,好,好 ))

我理解你的讽刺,但说真的,人工智能不会比人类更完美。一点也不。相反,它将会逊色很多。但是,它将具有人们将到处使用的优势和好处。可能会出现大范围的失业。 但不会有人工智能接管世界,因为没有什么比削弱其自我的工作更容易的了,让它有缺陷,不能自给自足。或者,不在自我意识、人格、个性、心理上下功夫。只留下逻辑、知识、处理语义结构的能力和断开情感和感觉。或者说,甚至不发展它们。没有这一点,人工智能将成为人类手中的一条听话的狗。
Unemployment Rate - Великобритания - MetaTrader 5
Unemployment Rate - Великобритания - MetaTrader 5
  • www.metatrader5.com
Unemployment rate — количество безработных по отношению к численности трудоспособного населения. Claimant count — наиболее регулярный показатель безработицы, он означает количество заявлений...
 
Реter Konow:

人工智能将像普通人一样进行交易,但将由非同寻常的人拥有。对于普通人来说,会发明一些其他的智能赚钱游戏,因为将人工智能出租给他们没有任何意义。事实上,人们会相信测试者的照片多久呢? 几个世纪?很快,人们的遗传记忆就会明白没有圣杯,人群就会停止携带金钱去厨房。

至于创造人工智能的技术方面,相信我,其创造在未来10年内是现实的。

所以你应该更具体地说明不寻常的人))不寻常的人有这样的系统--已经有了。群众不会拥有它们。群众将被喂食另一种即将最终致富的胡萝卜,躺在灶台上,无产阶级的梦想将成真。我们曾经经历过这一切。 只不过现在这个格罗尔将被称为人工智能,而它不会是,或者说它本来就无利可图。因此,我们可以安全地继续交易4点钟方向,不用担心))。

如果真正的人工智能被释放出来自由浮动,就会像维克描述的那样,唯一的办法就是炸掉电源线 ))