Haydn 發表於 18-4-1 21:47

請問如何定義K棒並取得該K棒的 O,H,L,C

請問如何定義K棒並取得該K棒的 O,H,L,C 如圖所示

下跌關鍵K
當2號K低點低於1號K時 下跌關鍵K為2號K
當3號K低點低於下跌關鍵K低時 下跌關鍵K變成3號K
當4號K低點低於下跌關鍵K低時 下跌關鍵K變成4號K
5號K 收盤必須大於當下關鍵K(4號K)的高 才能取代4號K成為上漲的關鍵K
否則下跌關鍵K依然維持為4號K
當6號K低點低於下跌關鍵K低時 關鍵K=6號K
以此類推直到15號K收盤站上14號K的高點時 15號K變成上漲關鍵K
當16號K高點高於15號K時 16號K變成上漲關鍵K
當18號K高點高於16號K時 18號K變成上漲關鍵K
當18號K高點高於19號K時 19號K變成上漲關鍵K
當22號K收盤低於19號上漲關鍵K時 22號K成為下跌關鍵K




Simon 發表於 18-4-8 19:28




請問如何定義K棒並取得該K棒的 O,H,L,C 如圖所示

下跌關鍵K
當2號K低點低於1號K時 下跌關鍵K為2號K
當3號K低點低於下跌關鍵K低時 下跌關鍵K變成3號K
當4號K低點低於下跌關鍵K低時 下跌關鍵K變成4號K
5號K 收盤必須大於當下關鍵K(4號K)的高 才能取代4號K成為上漲的關鍵K
否則下跌關鍵K依然維持為4號K
當6號K低點低於下跌關鍵K低時 關鍵K=6號K
以此類推直到15號K收盤站上14號K的高點時 15號K變成上漲關鍵K
當16號K高點高於15號K時 16號K變成上漲關鍵K
當18號K高點高於16號K時 18號K變成上漲關鍵K
當18號K高點高於19號K時 19號K變成上漲關鍵K
當22號K收盤低於19號上漲關鍵K時 22號K成為下跌關鍵K.....

因為小弟不是很清楚MC怎麼寫
但是可以給您一些建議或是看法

1. 先宣告 上漲關鍵K 與 下跌關鍵K 二個參數
2. 寫一隻函數判斷上漲關K
3. 寫一隻函數判斷下跌關K

For Example: (舉例用..... ,看懂後請自行轉MC code)

///回傳上漲關K
K_object GetUpKeyPointK()
{
    //這裡可以有二種作法
    /*
      1.直接取值 Min(close[]) andMin(low[]) 令 收盤最低的值為 下跌關K         (此為第一種)
      2.跑一個迴圈 找出最低的收盤價格 並取得 下跌關K = GetDownKeyPointK()(此為第二種)
      //條件判斷
      //當16號K高點高於15號K時 16號K變成上漲關鍵K
      //當18號K高點高於16號K時 18號K變成上漲關鍵K
      //當18號K高點高於19號K時 19號K變成上漲關鍵K
      
      //這是一種作法
      if( thisK.High >下跌關K.High) //跟目前的K作條件比對
         Return ThisK;
      
       //另一種作法 需要宣告 KP, Bool UpFlag
       for(int i = index-20; i<index; i++)
      {
             if( thisK.High >下跌關K.High)
             {
                   UpFlag = True;
                     KP = thisK;
             }
            
            if(UpFlag)
            {
                  if( thisK.High >KP.High
                         KP = thisK;
            }
       }
            Return KP;
   */
}

以上為 GetUpKeyPointK 演算法
僅提供參考
若有謬誤還請多多包涵。

Haydn 發表於 18-4-10 07:08

Simon 發表於 18-4-8 19:28


謝謝您 我嘗試寫看看!!!
頁: [1]
查看完整版本: 請問如何定義K棒並取得該K棒的 O,H,L,C