当前位置: 首页 > 知识库问答 >
问题:

对P进行编码

左华灿
2023-03-14

我正在开发一个使用C作为练习的小型交易机器人。他将首先收到基本信息,如我们的资本和日常股票价值(表示为迭代)。

这是我的专业课:

class   Trade
{
private:
  int                   capital_;
  int                   days_; // Total number of days of available stock prices                                       
  int                   daysInTrading_; // Increments as days go by.                                                   
  std::list<int>        stockPrices_; // Contains stock prices day after day.                                          
  int                   currentStock_; // Current stock we are dealing with.                                           
  int                   lastStock_; // Last stock dealt with                                                           
  int                   trend_;                                          
  int                   numOfStocks_; // Amount of stock options in our possession
  float                 EMA_; // Exponential Moving Average                                                            
  float                 lastEMA_; // Last EMA                                                                          

public:
// functions                              
};

从最后两个属性可以看出,我使用指数移动平均原理和趋势跟踪算法。

我从报纸上读到过http://www.cis.umac.mo/~fstasp/paper/jetwi2011。pdf(主要在第3页)并希望实现他们与我们共享的伪代码;它是这样的:

Repeat  
Compute EMA(T)  
If no position opened 
   If EMA(T) >= P
      If trend is going up 
        Open a long position 
      Else if trend is going down  
        Open a short position 
Else if any position is opened 
   If EMA(¬T) >= Q
     Close position 
   If end of market  
     Close all opened position 
Until market close 

到目前为止,我是这样做的:

void    Trade::scanTrend()
{                 
  if (this->numOfStocks_ == 0) // If no position is opened
    {
      this->EMA_ = this->calcEMA(); // Calculates the EMA
      if (this->EMA_ >= this->currentStock_) //  If EMA(T) >= P
        {
          if (this->EMA_ > this->lastEMA_) // If trend is going up
            // Trend is going up, open a long position
          else if (this->EMA_ < this->lastEMA_) // If trend is going down
            // Trend is going down, open a short position                                                                                  
        }
    }
  else // Else if any position is opened 
    {
      this->EMA_ = this->calcEMA();
      // How may I represent closing positions?
    }
  this->lastEMA_ = this->EMA_;
}

我的问题来自于不理解“打开”和“关闭”一个位置的行为。这与买卖股票有什么关系吗?到目前为止,我所拥有的内容是否与伪代码相匹配?

共有1个答案

宇文念
2023-03-14

在这种情况下,P和Q是两个日期之间的阈值或EMA变化。

P将是第一次观测和当前观测之间的变化。如果P为正,则可以假设P的趋势是上升和下降的

Q也是EMA的一个变量,但用于知道何时关闭某个位置,它是第一次观察到的最高(最低)EMA值与当前上升(下降)趋势的EMA值之间的差值。

 类似资料:
  • 我试图通过参数在谷歌搜索,它的工作,当我搜索一个词,但一个我做空间它坏了我知道有一种方法来编码网址。 回溯: 还有一次,我用希伯来文写道: UnicodeEncodeError:“ascii”编解码器无法对位置14-18中的字符进行编码:序号不在范围内(128)

  • 我在服务器端对JSON进行了编码(使用ESAPI编码器),然后客户机检索bean的字段并进行进一步的处理。 在服务器端 编码的JSON字符串 \x7b\x22name\x22\x3a\x22sameer\x22,\x22company\x22\x3a\x22company\x22,\x22designation\x22\x3a\x22developer\x22\x7d 在客户端

  • 问题内容: 我正在开始使用Google App Engine。我想像Twitter一样进行AJAX聊天。 服务器JSON对响应进行编码, 结果:您好! 还行吧。但是替换RPCHandler 结果:错误。服务器不可访问(获取) 如何对实体进行JSON编码? 问题答案: 在App Engine Python中,您可以使用此脚本将db.Models编码为JSON。您可能必须自定义某些部分,例如DateT

  • 问题内容: [ 我正在编写自动生成HTML的代码,并且希望它对事物进行正确编码。 假设我正在生成指向以下URL的链接: 我假设所有属性值都应进行HTML编码。(如果我写错了,请纠正我。)因此,这意味着如果将上述URL放入锚标记中,则应将&编码为,如下所示: 那是对的吗? ]() 问题答案: [ 是的。HTML实体在HTML属性中进行了解析,并且流浪会造成歧义。这就是为什么您应该始终编写而不是仅在

  • 我们的代码使用Asyncresttemplate如下所示

  • 我正在尝试修改bigquery-dataflow示例以处理CSV文件。https://github.com/GoogleCloudPlatform/bigquery-etl-dataflow-sample 我已将readObject更改为解析CSV并将其添加到data对象。在运行管道时,我收到以下错误: DoFnRunnerBase$DoFnProcessContext. out(DoFnRunn