设为首页收藏本站

『外汇堂』·专业外汇论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4134|回复: 2
打印 上一主题 下一主题

请各位大师,大侠帮我写一个用时间計算聚焦點的飞狐,分析家或MT4的乾坤烛指标

[复制链接]
跳转到指定楼层
1#
发表于 2008-12-18 15:11:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请各位大师,大侠帮我写一个用时间計算聚焦點的飞狐,分析家或MT4的乾坤烛指标(最好是MT4的),显示在30分周期内。谢谢。
一、做出30分时间聚焦法。
1、以某一个30分时间周期為例,由開市起計,每一分鐘為一基數,共30个基數。所有價位都以基數記錄下來,用作計算聚焦點。每一個價位的一分鐘基數,無論只有1個交易或千個交易,我們都只會採用1個基數為代表(如左圖的"X"),出現最多一分鐘基數的價位,即為當日的聚焦點。聚焦點的具体算法可参看下面这段MT4代码://+------------------------------------------------------------------+
//|                                                MarketProfile.mq4 |
//|                             Copyright ?2006, Viatcheslav Suvorov|
//+------------------------------------------------------------------+
#property copyright "Viatcheslav Suvorov"
#property indicator_chart_window

extern datetime StartDate = D'';
extern bool lastdayStart = true;
extern int CountProfile = 2;

int fontsize=10;
int i,j;
double LastHigh,LastLow,CurPos;
bool signal;
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
ObjectsDeleteAll(0,OBJ_RECTANGLE);
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;

//---- name for DataWindow and indicator subwindow label
   short_name="MarketProfile";
   IndicatorShortName(short_name);
   SetIndexLabel(0,short_name);
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {  
  deinit();
double onetick;  
double Mediana=0;
int MaxSize=0;
int MySize=0;
int MySizeEuropa=0;
int MySizeAzia=0;
int MySizeAmerica=0;
int BACK=0;
if (lastdayStart) StartDate=Time[0];
int x=Period();
if (x>6000) return(-1);
if (x<15) return(-1);

  BACK=0;
  while (TimeDayOfYear(Time[BACK])>TimeDayOfYear(StartDate) || TimeYear(Time[BACK])!=TimeYear(StartDate) && (BACK<Bars)) {  
    BACK++;   
    if (BACK>=Bars) return(0);
  }//while

onetick = 1/(MathPow(10,Digits));
i=BACK;
////
int cycles;
for (cycles=CountProfile;cycles>0;cycles--) {
signal=false;
LastHigh=High;
LastLow=Low;
while (!signal)
{
//if (i+1==Bars) signal=true;
if (High[i+1]>LastHigh) LastHigh=High[i+1];
if (Low[i+1]<LastLow) LastLow=Low[i+1];
MaxSize=0;
MySize=0;
if (TimeDay(Time)!=TimeDay(Time[i+1]))
   {
   
   signal=true;
   CurPos=LastLow;
   while (CurPos<=LastHigh){
     MySizeAzia=0;
     MySizeEuropa=0;
     MySizeAmerica=0;
     for (j=i;j>=BACK;j--) {
       if ((High[j]>=CurPos) && (Low[j]<=CurPos)) {
         MySize++;      
         if (TimeHour(Time[j])>=13)  MySizeAmerica++; else
         if ((TimeHour(Time[j])>=8) && (TimeHour(Time[j])<13)) MySizeEuropa++; else
           MySizeAzia++;
         
       }//if  
     }//for
     if (MySizeAzia+MySizeEuropa+MySizeAmerica>MaxSize){
       MaxSize=MySizeAzia+MySizeEuropa+MySizeAmerica;
       Mediana=CurPos;
     }
     if (i-MySizeAzia>=0)
     if(ObjectFind("rec"+"Azia"+TimeToStr(Time,TIME_DATE)+CurPos) == -1 && MySizeAzia!=0) {
           ObjectCreate("rec"+"Azia"+TimeToStr(Time,TIME_DATE)+CurPos, OBJ_RECTANGLE, 0, Time, CurPos,Time[i-MySizeAzia],CurPos+onetick);           
           ObjectSet("rec"+"Azia"+TimeToStr(Time,TIME_DATE)+CurPos, OBJPROP_COLOR, Olive);
     }//if      
     if(ObjectFind("rec"+"Europa"+TimeToStr(Time,TIME_DATE)+CurPos) == -1 && MySizeEuropa!=0) {
           ObjectCreate("rec"+"Europa"+TimeToStr(Time,TIME_DATE)+CurPos, OBJ_RECTANGLE, 0, Time[i-MySizeAzia], CurPos,Time[i-MySizeAzia-MySizeEuropa],CurPos+onetick);
           ObjectSet("rec"+"Europa"+TimeToStr(Time,TIME_DATE)+CurPos, OBJPROP_COLOR, Navy);           
     }//if      
     if(ObjectFind("rec"+"America"+TimeToStr(Time,TIME_DATE)+CurPos) == -1 && MySizeAmerica!=0) {
           ObjectCreate("rec"+"America"+TimeToStr(Time,TIME_DATE)+CurPos, OBJ_RECTANGLE, 0, Time[i-MySizeAzia-MySizeEuropa], CurPos,Time[i-MySizeAzia-MySizeEuropa-MySizeAmerica],CurPos+onetick);
           ObjectSet("rec"+"America"+TimeToStr(Time,TIME_DATE)+CurPos, OBJPROP_COLOR, Maroon);                     
     }//if      
           
     
                     
      
     CurPos=CurPos+onetick;
   }//while
      ObjectCreate("mediana"+TimeToStr(Time,TIME_DATE), OBJ_RECTANGLE, 0, Time, Mediana,Time[i+10],Mediana+onetick);
      ObjectSet("mediana"+TimeToStr(Time,TIME_DATE), OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mediana"+TimeToStr(Time,TIME_DATE), OBJPROP_COLOR,White);   
   BACK=i+1;   
   }//if
   i++;   
   if (i>=Bars) return(0);
}//while
}//for
//----
   return(0);
  }
//+------------------------------------------------------------------+

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播
2#
 楼主| 发表于 2008-12-18 15:11:21 | 只看该作者
2.算活跃区,活躍區是另一個乾坤燭獨有的數據。其特點與四度空間的價值區域相似,同樣由統計學上的正常分布衍生出來,利用電腦計算出位於中位數正負一個標準差的價格。簡單來說,活躍區代表著全日約68%的交投記錄(見乾坤烛公司网站)。活跃区是一个统计学上的概念,就是在一个时段的价格分布,价格所集中于中位数正负一个标准差的所在,量化一点说,68%的成交会集中在活跃区里,其它比较偏离的价格只占成交的少数,不是成交的焦点所在,因此对价格指示作用也不大
                    2、在30分周期上画出来,就成为时间聚焦法的乾坤烛了(包括聚集点、活跃区,开、高、低、收四个价位)。
二、成交量聚焦法,南客老师已经给出公式了,在此不再多说
以『時間法』計算出來的聚焦點:
以某一交易日為例,由開市起計,每五分鐘為一基數(例:10:00-10:04, 10:05-10:09, 10:10-10:14, 如此類推)。港股每日開市由上午10時至下午4時,共48個基數(即4個交易小時x 12個基數)。
所有價位都以基數記錄下來,用作計算聚焦點。每一個價位的五分鐘基數,無論只有1個交易或千個交易,我們都只會採用1個基數為代表(如左圖的"X")
出現最多五分鐘基數的價位,即為當日的聚焦點(見上圖顯示之紅色位置)。
此計算方法用在沒有成交量的外匯市場,尤為合適。此方式更能有助避開大戶在短期內的大手操控和造價,以致開市及收市價大起大落。因此,乾坤燭比傳統的分析工具更能有效地揭穿假突破,助你避開陷阱。
四度空間除了能顯示一般傳統技術分析之價位及時間外,還增加了兩項其他技術分析沒有的概念──人和事。以傳統技術分析和圖表技術所判斷的價位變動來比較,使用四度空間的理論,更能令投資者察覺到市場的潛能和力量。不過,四度空間欠缺一個簡明的圖表來闡述金融工具,所以要提升四度空間的概念來融入棒形圖/陰陽燭圖內,是一件知易難行的事。
乾坤燭發明的目的是企圖減低四度空間和其他技術分析圖表在功能上的限制。同時,提升成交量和時間的因素於傳統的技術分析和圖表內。
一般來說,乾坤燭的概念與四度空間相似,兩者皆由鐘形曲線理論而生。與傳統圖表不同,嶄新及直接的乾坤燭圖表提供重要和專業的市場資訊,強化你對金融工具的結構和理論之信心。
乾坤燭理論加入了時間和成交量,目的是減低在其他技術分析工具和圖表上產生的限制,所以乾坤燭分為兩種計算方法:以成交量計算和以時間計算。其概念將會在下文細述。
乾坤燭的外形與棒形圖和陰陽燭圖甚為相似,所以分析員絕不會對乾坤燭感到陌生。乾坤燭表達開高低收的方式與棒形圖無異,其燭身亦跟陰陽燭非常相似,同樣以白色代表低開高收;深色代表高開低收。但乾坤燭卻能提供更多的重要訊息反映市場動向,以下為乾坤燭獨有的數據:
聚焦點──乾坤燭燭身中的圓點代表當日成交最多的價位。
有兩種方法計算聚焦點: 『成交量計算法』與『時間計算法』,約98%情況下,以此兩種方法計算所得之聚焦點為同一價位; 如遇特別市場活動,如批股等,則用時間計算法所得之聚焦點更能清晰反應市場行為。
以『時間法』計算出來的聚焦點:
以某一交易日為例,由開市起計,每五分鐘為一基數(例:10:00-10:04, 10:05-10:09, 10:10-10:14, 如此類推)。港股每日開市由上午10時至下午4時,共48個基數(即4個交易小時x 12個基數)。
所有價位都以基數記錄下來,用作計算聚焦點。每一個價位的五分鐘基數,無論只有1個交易或千個交易,我們都只會採用1個基數為代表(如左圖的"X")
出現最多五分鐘基數的價位,即為當日的聚焦點(見上圖顯示之紅色位置)。
此計算方法用在沒有成交量的外匯市場,尤為合適。此方式更能有助避開大戶在短期內的大手操控和造價,以致開市及收市價大起大落。因此,乾坤燭比傳統的分析工具更能有效地揭穿假突破,助你避開陷阱。
以『成交量法』計算出來的聚焦點:
顧名思義,取自全日成交量最多的價位。只適用於附有成交量的金融產品。
隨著聚焦點的開發,應運而生的還有聚焦量和聚焦成交量。聚焦量是以聚焦點(時間法)相對的基數數值;而聚焦成交量是聚焦點(成交量法)相對的成交量。兩者各有優勝之處,缺一不可。我們相信聚焦量和聚焦成交量可在芸芸的技術指標中,得到大家的認同。
活躍區是另一個乾坤燭獨有的數據。其特點與四度空間的價值區域相似,同樣由統計學上的正常分布衍生出來,利用電腦計算出位於中位數正負一個標準差的價格。簡單來說,活躍區代表著全日約68%的交投記錄(見附圖綠色位置)。
利用活躍區作分析,每一個時段內的成交分布一目了然,有效看穿假突破,逃過大戶的操縱。
綜合以上各點,乾坤燭並不是要取代專業人仕常用的傳統技術分析和圖表工具,而是提升傳統技術工具(如陰陽燭、相對強弱指數、移動平均線等)的功能。
目前在股市广泛应用的K线图表相比,乾坤烛除了反映传统K线图表所涵盖的阴阳烛“立体视觉”的开盘、最高、收盘、最低四价格外,还反映了以往线图、棒形图、K线图所不能反映的时间和成交量因素。
  在乾坤烛的理论里,其聚集点代表了当日成交最多的价位,其活跃区代表了当日约68%的交易记录。乾坤烛相比K线,加入了时间和成交量因素,烛的计算也相应的有两种计算方法。以聚集点的计算来说,以时间法计算出来的聚集点,表示当日出现次数最多的价位;而以成交量法计算出来的聚集点,表示当日成交最多的价位。而在股票实际的走势中,出现次数最多的价位经常也就是成交最多的价位,所以很多股票依两种方法计算出来的聚集点,其值都一样。同样的道理也适用于活跃区的计算确定。所以下文凡涉及乾坤烛或使用乾坤烛图表处,只涉及时间要素,即其烛或活跃区的计算都是以时间法计算确定的,笔者认为这既不影响乾坤烛理论的完整性,也不存在在使用乾坤烛上有以偏概全的嫌疑。
  从图表技术分析发展的历程看,棒形图反映了四个价格要素,即开盘价、最高价、收盘价、最低价,这比只反映了一个价格要素(即收盘价)的线图大大地前进了一步。但线图和棒形图都只是平面的二维图表。K线图则更进一步提升到三维图像,给人以“立体市场”的感觉。正如科学发展所证实的那样,我们所观察的世界不只是三维,还有第四维,那就是时间。乾坤烛引入了时间要素,可以说把图表分析者的眼光带到了一个四维世界里,这使得乾坤烛使用者在图表分析方面较K线使用者天然地占有更全面、更重要、更深刻的讯息。
  乾坤烛所反映的“四维”技术分析图表,对于那些孜孜不倦地探究图表背后所代表的市场本质内容的技术分析者来说,无疑是一大福音。
  从乾坤烛在图表分析中的一般作用来看,在短期,实体较长乾坤烛的促涨或促跌作用比较大;两根以上乾坤烛相同聚集点所构成的聚集点平台有一定的支撑或压力作用;在形态或趋势线的突破位置,聚集点连线的支撑或压力作用比较关键。相对于K线使用者而言,乾坤烛使用者在支撑、压力或突破位置的把握上要看得更实质、更透彻一些,往往能较前者更早一步把握先机,例如能避开人为在临收市时做收盘价而“画出”突破某种形态的认识误区。
技术分析的基础是依据图表记录, 从传统图表发展历程来讲已经经历了三代,即线图、棒形图、阴阳烛图,直到现在,多数投资者用的图表仍是棒图或者阴阳烛图。但不管是棒图还是阴阳烛图,它们最多能够记录4条信息,即开、高、低、收四个价位的数据。在长期的投资生涯中大家都会领会到这一点——开、高、低、收四个价位很多时候是市场主力刻意制造出来的,而图表是不能反映出假象的,因此,投资者往往陷入主力预谋的图表陷阱。另外对于外汇这种24小时成交的市场,开市价和收市价对技术分析几乎没有什么意义。能否再找到一种既能如棒图和阴阳烛这样方便分析,同时又能够反映市场深度交易信息的图表表达方式呢?乾坤烛发明人李政平将其30年的交易及分析经验进行总结,响应市场需求的呼唤,终于在九九年底推出了乾坤烛。
  乾坤烛其实是两套分析工具的结合,将四度空间(一种分析股票成交量和价位关系的方法)与人们习惯使用的阴阳烛的优点合二为一的一套分析工具。乾坤烛独特的地方就是提供了时段内成交量的动态信息,其中最重要的成交价,就是聚焦点;而成交集中的区域,就是活跃区;成交稀疏的区域,就是偏离区尾巴。 市场主力要改动开高低收价相对容易,但如果要改动聚焦点、活跃区等数据便要用上很多钱去制造成交假象,造市成本增加的话难度自然大增,对成交活跃的大盘股票、指数期货、外汇来说,市场主力要制造假象便更难下手,因此乾坤烛提供的这些新资料便十分有参考价值。
  乾坤烛比起棒形图及阴阳烛图的开高低收四个数据多了三个部分:
  一是聚焦点:
  聚焦点的选取原则有二,一是针对有成交记录的股票或期货,以成交最多的价位作聚焦点;针对指数或外汇,以停留时间最长的价位作聚焦点;为了分辨聚焦点的重要程度,在乾坤烛的技术分析系统中设置了聚焦量,即聚焦点对应的成交量。聚焦量越大,表示该聚焦点越重要,能发挥支撑或阻力的效果便越大。相反,如果缺乏高的聚焦量支持,该聚焦点便不能发挥强大的支持或阻力作用了。聚焦量的计算也有两种,第一种是以成交量计算的,另一种是以时间计算的。
  二是活跃区:
  活跃区是一个统计学上的概念,就是在一个时段的价格分布,价格所集中于中位数正负一个标准差的所在,量化一点说,68%的成交会集中在活跃区里,其它比较偏离的价格只占成交的少数,不是成交的焦点所在,因此对价格指示作用也不大。
  三是偏离区尾巴:
  偏离区尾巴也是统计学上的概念,即在极端价位少于3%的成交。所谓极端价位是指一个时段的高价和低价,以日线图为例,由全日的最高位开始向下统计或者由最低位开始向上统计,成交低于3%的区域即是偏离区尾巴。由于极端价位的成交可能高于3%,所以不一定每支乾坤烛都有偏离区尾巴。此外,即使出现偏离区尾巴,也不表示高低位都会出现,可能是只出现于高位,也可能是只出现于低位。偏离区尾巴的最大用武之地是指数、外汇等大起大落的品种,投资者经常会看到市况急速上升或下降后产生回调,此时就意味着遇到了强大的抛压或支撑,但是乾坤烛以外的图表对此现象均未显示。
  仔细体会这三部分深度市场信息,分析者在分析时就多了份依据,不论是采用逻辑思维方法判断还是配合传统的技术分析方法,都可以找到一种“别有洞天”的新感受。 乾坤烛的参数,聚焦点便是针对市场高、低及收市价的缺点,与所有传统技术分析工具兼容。若以乾坤烛的参数代入各种技术指标图表,投资者便可以从另一层面看这一技术图表
3#
发表于 2008-12-18 15:39:05 | 只看该作者
呵呵,这个指标好用吗?

聚焦点好像有点像成本均线的概念。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|外汇堂·专业外汇论坛    

GMT+8, 2024-4-26 14:52 , Processed in 0.169099 second(s), 26 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表