随机流理论和外汇 - 页 59

 
AlexEro >> :


>> 你必须改变你的头像。

 
begemot61 >> :

+10!!!

最好是开小车。它更健康,不需要正常的道路。

事实证明,他也不使用电话,因为音频频道对他不好(尽管从卡纳奇科夫斯卡娅大夏可能没有地方可以打电话)。

 

专家担心MP3播放器对听力的伤害

http://www.smh.com.au/news/digital-music/turn-it-down/2007/01/04/1167777193761.html?from=rss

 
好吧,有必要找到的不是好的和有用的东西,而是挖出这样的...

我建议你阅读马拉霍夫。那里有很多有趣的东西给你,去吧...

 

timbo писал(а) >>

在一个静止的随机过程中,一个有利可图的策略是以1为计数单位创建的。

你说的是一次性的。
请不要偷懒,用mql写一个脚本,在正态分布的过程中模拟一个获胜的策略。
只要我从事这方面的工作--我总是发现,这根本不是一个微不足道的任务。一般来说,当我们试图通过一个静止过程来获得胜利时,我们会得到两种结果之一:要么交易的数学期望值=0,要么利润太小,我最好把钱放在银行。我认为这个问题可能会得到解决,使赢利至少在一定程度上可以被感知,但这并不容易。

同时,我想问大家:有没有人有一个函数,能在(0,1)范围内返回一个正态分布的值?我昨天杀了一整天,但仍然没有想出如何在mql中实现它。

 
benik писал(а)>>

我还想问问大家:有没有人有一个函数可以在(0,1)范围内返回一个正态分布的值?我昨天杀了一整天,但仍然没有想出如何在mql中实现它。

MQL函数MahtRand()可以轻松做到这一点。如你所知,它返回一个伪随机整数,其均匀分布范围为0至32767。而正态分布的P.D.F.将数字轴[0, inf.]映射到区间[0, 1]。因此,为了得到一个正态分布的数值,你只需要把区间[0,1]反过来映射到哦轴。唯一的问题是,这个论点是随机选择的。这就是MahtRand()的用处。

也就是说,你首先将正态分布的P.D.F.值表以数字形式加载到程序中,即[x, F(x)]。

接下来,你设置一个函数,将[1,32767]均匀地映射到(0,1),f(x)=x/32768。正如你所看到的,0和1的值被排除在区间之外。因此,值x=0也应该被跳过。这些边际效应可以用不同的方式来解释,但它们并不重要。

现在用MahtRand()生成一个伪随机数列,将得到的每个值映射到一个单位区间,用这个点作为正态分布F(x)的P.D.F.值,找到相应的参数x。就这样了。这是一个正态分布的数值。

 

Yurixx писал(а) >>


是的,这是一个选项。但我还是想在mql中制作一个独立的函数。没有从外部加载随机值。
据我所知,正态分布可以很容易地从均匀分布中得到,方法是在区间(0,1)的均匀值中取反拉普拉斯函数。
你想笑就笑吧,但我对从MathRand()/32768中取反拉普拉斯函数有意见。

因此,这里有一个脚本,根据想法,它应该输出到文件 "RandN(0-1).csv",即在区间(0,1)内非常正常的值。

int start()
  {
//----
      string FileName = "RandN(0-1).csv";
      int handle = FileOpen ( FileName, FILE_CSV| FILE_WRITE);
      MathSrand(GetTickCount());
      for (int i=1; i<=32768; i++)
      {
         double val = RandN(0,1);
         FileWrite( handle, val);
      }
//----
   return(0);
  }
//+------------------------------------------------------------------+

   double RandN(int a, int sigma)
   {
      double pi = 3.14159265;
      double exp = 2.71828183;
      double x = MathRand()/32768.0;
      double pow = -(MathPow( x- a,2.0)/(2*MathPow( sigma,2.0)));
      double f = (1/( sigma*MathSqrt(2* pi)))*MathPow(exp,pow);
      return ( f);
   }
当然,它输出了一些废话,但我已经没有力量来改善它了。如果有人有时间和愿望,你可以改进它。这里的错误在于RandN()函数计算的是分布密度而不是拉普拉斯函数。如果有人在计算这个函数的积分方面没有问题,请与公众分享。对我来说,现在要考虑如何在mql中计算积分是一个困难的任务。
 

Benik这里 有东西。你能自己想出来吗?

 
谢谢,我会看看的。只是今天不会有好的结果 :)我的脑袋已经满了。我明天再试试。<br / translate="no">
 
啊,有一个现成的正态分布的函数。是的,谢谢你的帮助。