技术分析的巅峰
首先需要说明的是,我并不是在这里出卖我的系统或者交易信号,只是希望能够找到理解我的系统优化思想的人进行交流,互相学习,并且希望能够得到机构的资助。
目前的技术分析往往停留在技术指标(Indicators)层面,即使是Meta Trader中的Expert Adviser也没有能够进入到实质的交易系统之中。我这么说是因为他们仅仅是使用固定的参数,不能通过市场的形势的变化而动态的适应市场。使用这些技术分析方法的人,心中最大的问题就是:使用哪个参数最合适?用在哪个时间段最合适?止损和止盈设在多少比较好?
我所指的技术分析的顶峰就是能够同时确定最佳参数和最佳交易策略(止损,止盈),并且能够根据市场情况的变化动态的调整全部参数,以保证盈利的最大化和风险的最小化。经过我长时间对Metatrader的研究,在我深入了解了Meta Language4的运行机理之后,我终于成功地实现了这样一个系统。准确地说它不仅仅能够准确地产生交易信号,而且能够通过对单一指标的衡量与比较,找出最适合交易的货币对以及时间区间,确定能够产生最佳Sharpe Ratio 的参数和交易策略,并能根据市场情况动态的优化他们。因此我称这样的一个交易平台为技术分析的顶峰。
当然,单纯的使用技术分析还是有很大局限的, 因为技术分析看到都全部是历史数据的运算结果,不能够理解国内外大事对外汇市场的影响,但是技术分析工具是成功的交易员不可或缺的一个工具,因为它至少在统计上是成功并且能够持续盈利的。
我把这样一个优化系统建立在最新的MetaTrader4上是由于这是一个外汇行业目前最先进的交易平台。 我的优化系统程序由三部分组成:1,交易信号发生器(Indicators),2,交易策略生成(Portfolio Management),3,系统优化平台。
考虑到任何一个成功的优化策略必须同时考虑交易信号和交易策略。两者缺一不可。所以我在优化过程中设置3个变量在Indicators, 2个变量在Portfolio Management。当然变量的数目越多结果就越准确。可是需要的计算机能力随着变量数目成几何级数增长。因此我选择了5个变量作为基础,然后通过 Optimization 选取最合适的变量组合。
下面我把这三个部分的主要功能介绍给大家:
1 交易信号发生器 (signal generation)
我使用了一个Customer Indicator 来实现交易信号的产生,其中可以包含各种各样的信号生成策略。 产生的输出是明确的买入卖出信号,并不包含任何的投资组合管理信息。信号发生器中包含了3个可用于优化的变量。
2,交易策略,投资组合管理
使用了另外一个Customer Indicator, 通过调用信号发生器,并使用适当的止盈和止损策略输出在特定时间内的盈利能力和风险水平。由于计算机能力的限制,只能包含2个可用于优化的变量
3,系统优化
这里我使用了一个Expert adviser 来完成系统的优化工作。通过对五个变量的Optimization, 找到最佳的Sharpe Ratio(盈利与风险比)。进而找到最佳的交易信号以及交易策略
在我家中的两台超级电脑上, 在 EURUSD 1M chart (包含38516 Bars)上运行这5个变量的优化,进行7点采样和使用最简单的信号机制时需要大约25分钟才能完成。
在优化的结果中,我使用了许多指标来衡量系统的盈利能力与风险水平。 由于适当的选择,结果可以在不同货币对以及不同时间段上进行对比衡量。结果报告中明确标明使用哪些参数,怎样的止损, 止盈策略,才能最大程度的扩大受益以及降低风险。
虽然这样的一个平台我已经在Metatrader4中实现了, 而且也通过验证找到了很多优秀的交易策略。但是我在具体实现这个系统时遇到了一些困难。 这些困难是:第一,资金问题。由于我现在已经有了家庭的负担,所以能够让我用来投资的资金并不多。 第二:这样的系统需要大量的计算,我家里的两台电脑(P4 3.6G Hz CPU,1GB 内存) 都不能够满足这一平台的超大运算量的需要。 所以在这里我想把我研发的这个优化平台的主要思想告诉大家。不是为了出卖我的系统,而是希望有机构投资者能够明白我的创作思想,并且给我提供资金和技术上的资助。
我在交易系统之中运用了许多我在美国攻读金融硕士时学到的知识。 在去美国之前我毕业于国内某著名大学计算机系。 现在我觉得只有在外汇市场中才能将我所学到的知识全部应用到实际中。 因此我回国后在上海一直专注于自动交易系统的开发。希望我的系统优化方法和我的编程水平能够得到机构的赏识,并且能够为我提供一个发展系统交易的机会。
[ 本帖最后由 老正 于 2005-8-3 19:08 编辑 ]b.gifa.gif
发表于:2005-08-03 11:00只看该作者
2楼
太长了,看着晕哦
韬客社区www.talkfx.co
发表于:2005-08-03 11:11只看该作者
3楼
........这个 估计很难做到吧.........
我感觉 你还是拿着成果直接找公司吧........
网络上像你说的这样的很多很多.........没有人会分辨真假........
遇到矛盾 先站在对方的立场上想想问题,先试着去理解别人
● 如何使用WinMTR查询平台连接流畅度
发表于:2005-08-03 13:47只看该作者
4楼
my -e-mail is [email protected].,if win money, i must share with u
发表于:2005-08-04 08:54只看该作者
6楼
在历史数据上做BACK TEST不说明问题,放在实际市场上TEST几个月,这个结果才说明问题。如果赚了,也不用卖系统找投资人了;如果赔了,说明系统无效。
左侧交易,死了白死
反抗市场,自取灭亡
发表于:2005-08-04 09:15只看该作者
7楼
楼主,如果你想让更多的人了解你的交易系统,你至少应该用中文将一些重要的系统指标列出来,比如:交易次数,总赢利,最大阶段赢利,最大阶段损失,单笔平均赢利/亏损比率,单笔最大赢利,单笔最大亏损等等。
我的理解是,对于一个交易系统来说,总的赢利虽然很重要,但它还是没有最大阶段损失来得重要,如果你的最大阶段损失足够小的话,比如说小于1000点,每年2000点的赢利就可以保证你的资金翻两翻(400%),你根本就不必寻找他人的赏识或帮助,我觉得,你是不是可以在这个方面研究研究,或许可以获得突破。
春风春雨花经眼,江北江南水拍天。
发表于:2005-08-04 12:51只看该作者
8楼
楼主怀才不遇阿~
韬客社区www.talkfx.co
9楼
对于风险控制方面,我使用Max Consequtitive DragDown来衡量风险的, 对比的结果是按照Sharpe Ratio的值排列的,也就是说排名第一的优化方案具有最大的(盈利/风险比)。我不会把我的程序放在网上。如果有机构或者个人愿意资助我的开发工作的话,我会透露更多的细节给资助我的人。
韬客社区www.talkfx.co
10楼
我发现还是有很多人没能够明白我的设计思想。我开发的不是一个交易系统,而是一个能够优化任何交易策略的优化平台。首先我有能力把你的任何交易策略写成程序。然后在我的平台上优化,找到最佳的参数和最佳的策略。
换句话说如果每个策略都是一个战士的话。我的平台就是一个练兵场。挑选出最佳的战士和最佳的团队,然后再把它们派往前线。
我的平台完成的是一个比较和挑选的工作。
发表于:2005-08-05 02:06只看该作者
11楼
还是没太明白,但祝你成功.
韬客社区www.talkfx.co
发表于:2005-08-05 03:06只看该作者
12楼
借宝地,如能得到楼主帮忙,不胜感激.
我的操作方法主要有3个指标组成.第一个是均线
(MA(C,21)+MA(C,34))/2,既是21日和34日移动平均线的算术平均.
第二个是KDJ指标的变形,原码如下.
//+------------------------------------------------------------------+
//| BENBEN-KD.mq4 |
//| Copyright ?2005, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright ?2005, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Silver
#property indicator_color2 Yellow
extern int N1=60;
extern int N2=10;
double buffer1;
double buffer2;
double buffer3;
double buffer4;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
IndicatorBuffers(4);
SetIndexBuffer(0, buffer3);
SetIndexBuffer(1, buffer4);
SetIndexBuffer(2, buffer1);
SetIndexBuffer(3, buffer2);
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
IndicatorShortName("BENBEN-KD("+N1+","+N2+")");
SetIndexLabel(0,"Q");
SetIndexLabel(1,"KK");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int i,limit;
//----
limit=Bars-counted_bars;
for(i=0;ihttp://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright ?2005, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Silver
#property indicator_color2 Yellow
extern int N1=60;
extern int N2=10;
double buffer1;
double buffer2;
double buffer3;
double buffer4;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
IndicatorBuffers(4);
SetIndexBuffer(0, buffer3);
SetIndexBuffer(1, buffer4);
SetIndexBuffer(2, buffer1);
SetIndexBuffer(3, buffer2);
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
IndicatorShortName("BENBEN-KD("+N1+","+N2+")");
SetIndexLabel(0,"Q");
SetIndexLabel(1,"KK");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int i,limit;
//----
limit=Bars-counted_bars;
for(i=0;i均线,KDJ变形指标中灰线>黄线并且灰线>0,MACD中柱线为红时,发出作多信号,并且给出报警的声音. 反之,当收盘价<均线,KDJ变形指标中灰线<黄线并且灰线<0,MACD中柱线为绿线时,发出作空信号,并且给出报警的声音.
多谢楼主!qiuzhu.GIF
韬客社区www.talkfx.co
14楼
但是我还是不太明白你的图形,你的MACD的程序看上去和前面一个一模一样。 是不是贴错了呢?
另外你的图形上的文字看不清楚,能再贴一个清楚点的吗?现在的图上区分不清你的指标。
还有,你的MACD和系统的MACD有什么不同呢?为什么会有红色的柱线呢?
最后,请您另开一个新的主题,因为我们讨论的问题和这个主题无关, 只要新的主题上写清楚要我做什么指标就行了
韬客社区www.talkfx.co
15楼
看看这个系统eur.gif
韬客社区www.talkfx.co
发表于:2005-08-08 02:37只看该作者
16楼
帮你顶一下,很佩服你的钻研能力、希望你能成功、我也是用均线,和你的图有点类似。
韬客社区www.talkfx.co
发表于:2005-08-08 02:41只看该作者
17楼
没有说明什么也看不出来啊~
韬客社区www.talkfx.co
发表于:2005-08-10 03:28只看该作者
18楼
原帖由 maningok 于 2005-8-8 09:31 发表 看看这个系统
韬客外汇论坛TALKFOREX.COM
发表于:2005-08-10 03:31只看该作者
19楼
这些自动系统国外太多了。。好的没几个。。自己写出来自己实际用来交易的人寥寥无几..
[ 本帖最后由 noo 于 2005-8-10 11:34 编辑 ]
韬客外汇论坛TALKFOREX.COM
发表于:2005-08-12 14:32只看该作者
20楼
技术分析有那么强吗?
长资管理公司够强了吧,不是照样挂了。
外汇投资多做些基础分析更重要啊!