正确的TCs的一些迹象 - 页 9

 
Petros Shatakhtsyan:

为什么会偏离主题呢?

当我们提高价格或将其乘以一个常数时,价格运动的性质并没有改变。

也许我误解了 "稳定性测试"。如果是关于评估TS的稳健性,那么就偏离了主题。

 
fxsaber:

关于 翻转,甚至洗牌,我想做一些研究。

在评论中,有人建议考虑时间反转后TS的行为--刻度线向相反的方向走(从未来到过去),就像倒带被打开一样。

在那里你还可以读到,在哪些符号上,反转可能不影响TS的结果,而对哪些符号来说,它是市场模式的一个严重变化。

幸运的是,从理论上讲,外汇符号不应该用这种时间反转来破坏市场模式。我发现在我的一个TS上测试这个很有意思。


首先,MQL5中的tick系列反转代码。

int TimeDayOfWeek( const datetime Date )
{
  MqlDateTime mTime;
  
  TimeToStruct(Date, mTime);
  
  return(mTime.day_of_week);
}

#define  HOUR 3600
#define  DAY (24 * HOUR)
#define  WEEK 7

// https://www.mql5.com/ru/forum/170953/page8#comment_6940794
datetime GetTimeDayOfWeek( const datetime TimeSource, const int Shift = 0, const ENUM_DAY_OF_WEEK Day = SUNDAY )
{
  const datetime Res = TimeSource / DAY * DAY;
  
  return(Res - (((WEEK + (TimeDayOfWeek(Res) - Day)) % WEEK) + Shift * WEEK) * DAY);
}

void ReverseTick( MqlTick &Tick, const long &Offset )
{
  Tick.time_msc = Offset - Tick.time_msc;
  Tick.time = (datetime)(Tick.time_msc / 1000);
  
  return;
}

// Инверсирование времени.
void ReverseTicks( MqlTick &Ticks[] )
{
  const int Size = ArraySize(Ticks);
  
  if (Size)
  {
    const long Offset = (long)(GetTimeDayOfWeek(Ticks[0].time, 0, MONDAY) + GetTimeDayOfWeek(Ticks[Size - 1].time, -1, SATURDAY)) * 1000;

    for (int i = 0; i < Size; i++)
      ReverseTick(Ticks[i], Offset);

    ArrayReverse(Ticks);
  }

  return;  
}


在这个函数的基础上,附有创建倒置符号的脚本。我们将与之合作。结果如下。


优化者的最佳传球直选符号。


在时间倒置的符号上也是如此传递。


没有推论。

附加的文件:
 

fxsaber:

在那里你还可以读到哪些符号的反转可能不影响TS的结果,而对哪些符号来说是市场模式的严重变化。

一点都不奇怪。特别是在使用指标/信号进行交易时。反向的抽签顺序,画出了不同的画面。 这导致了指标给出更多/更少的进入/退出信号。
这是我想到的最简单的事情。但如果你深入挖掘,会有很多细节。而这一切都是因为蜱虫模式的变化。

 
Konstantin Nikitin:

一点都不令人惊讶。特别是在使用指标/信号进行交易时。倒转刻度线的顺序,画出不同的画面。这导致了指标给出更多/更少的进入/退出信号。
这是我想到的最简单的事情。但如果你深入挖掘,会有很多细节。而这一切都是因为蜱虫模式的变化。

仿佛这条记录被断章取义。在这之前,你一定有一些结论。到目前为止,我还没有从这些句子中明白什么。

 
Nikolai Semko:
我想补充一下主要内容。
  • 没有与周期相关的参数。
  • TS的操作不取决于当前图表的时间框架
  • TS操作不取决于符号-工具
  • 整个TS的设置--只是一个风险管理的设置(所用存款的大小)。

讲故事的人...

 
Алексей Тарабанов:

讲故事的人...

他说得很有道理...

最有可能的是,在所有的事情中,屏住呼吸地观看反应......静静地......。

但我想继续举行宴会,可以这么说。

;)

 
Renat Akhtyamov:

他说得很有道理...

可能是在所有的事情上,屏住呼吸地观察着反应......静静地。

但我想继续举行宴会,可以这么说。

;)

只是马廷格。完美。

 
fxsaber:

...

例如,以欧元兑美元为例。运行TS,得到了一些条目。

然后我们创建了符号100/EURUSD。然后我们运行了TS。输入的内容应与原来的内容相吻合。

如果没有发生这种情况(99%),说明TS没有被正确写入。

我不明白TS对采取某种程度的符号应该如何反应。

我应该澄清一下。对于100/EURUSD的输入和输出应该交换位置或改变交易开盘方向(卖出而不是买入)。在同一时间间隔内,反值的变化符号是相反的。什么样的转变是合适的--我认为是整个时间框架上的单调转变。既有正数乘法,也有任意基数的对数。

毕竟,每个人都会画出他们应该买入的地方,他们应该卖出的地方,如果历史上已经存在利率--在低点买入,在高点卖出。 具有单调函数的变换保留了极值的位置,这就足够了。

 
Vladimir:

我们应该澄清一下。对于100/EURUSD来说,进场和出场应该是相反的,或者交易开盘的方向应该是相反的(卖出而不是买入)。

当然,方向会改变,但时间不会改变。

在同一时间间隔内,相反方向的变化符号。什么样的转变是合适的--我认为是整个时间框架上的单调转变。在任何基础上都可以进行正指数化和对数。

毕竟,每个人都会画出他们应该买入的地方,他们应该卖出的地方,如果历史上已经存在利率--在低点买入,在高点卖出。 具有单调函数的变换保留了极值的位置,这就足够了。

这种转变确实会使局部极值保持不变。只有一个函数能够识别它们--膝部为零的ZigZag。

通过min knee(极点之间的最小相对价格变化)或非SigZag(任何其他函数)的不同大小的ZigZag确定的局部极点,在乘以单调函数后将不会重合。


不幸的是,你提议的变换中的零ZigZag不变性,并不允许修改后的序列返回到原始序列。 因此,变换不能不改变所有单调函数的TC结果。


然而,对于一些特定的函数来说,逆向转换是可能的。我提到了函数常数。那里是相当初级的。

你指出了一个更普遍的例子--线性(时间)函数的乘法然而,在那里你需要至少有一个小的(至少有两个局部极值)原始价格序列的区间来进行逆向转换。


同时,在现实中,我们没有这样一个初始价格序列的区间。即使我们抛开对这种转变不完全明确的经济解释,也是如此。也许乘以一个线性函数是其中一种资产的隐性膨胀。


总而言之,不幸的是,对于常数的乘法,没有办法一概而论。但这个想法非常有趣,谢谢你。

 
Renat Akhtyamov:

他说得很有道理...

他恰到好处。