下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PTN指标(TS版)这个指标的主要功能是识别特定的交易模式(Pattern),并计算该模式出现的次数以及其中上涨日的次数。最后,它会在图表上绘制出这些信息。1.**输入变量**:-`MinSamples(9)`:设置最小样本数量为9。-`PlotType(1)`:设置绘图类型为1。2.**变量声明**:-`Pattern(0)`:用于存储识别到的模式。-`UpDay(0)`:用于标记是否上涨日,1表示上涨日,0表示非上涨日。-`LoopCounter(0)`:循环计数器。-`Offset(1)`:用于设置数组的最大索引。-`Location(0)`:用于记录模式的位置。-`MyTest(0)`:用于存储当前测试的模式。-`ReportLocation(0)`:用于记录报告的位置。3.**数组声明**:-`PatternArray()`:用于存储识别到的模式。-`CountArray()`:用于存储每个模式出现的次数。-`CountUpArray()`:用于存储每个模式中上涨日的次数。4.**代码逻辑**:-首先,将`Pattern`变量设置为通过`msRecognize`函数识别的模式。-如果收盘价大于开盘价,则将`UpDay`设置为1,否则设置为0。-如果是图表上的第一个柱状图,初始化数组的最大索引和所有值。-通过循环,检查当前模式是否与数组中的模式匹配,并更新计数和上涨日计数。-如果循环结束,更新数组的大小和模式,并将新的模式存储在数组中。-如果是图表上的最后一个柱状图,将当前模式存储为`MyTest`,并再次循环以检查是否匹配。-最后,如果这是最后一个柱状图,绘制模式、事件总数和上涨日总数。这个指标可以帮助识别特定的价格模式,并量化这些模式的出现频率和上涨日的比例,从而做出更好的交易决策。指标代码解读:inputs:MinSamples(9),PlotType(1);variables:Pattern(0),UpDay(0),LoopCounter(0),Offset(1),Location(0),MyTest(0),ReportLocation(0);arrays:PatternArray[](0),CountArray[](0),CountUpArray[](0);Pattern=msRecognize;//将Pattern变量设置为某个识别模式的结果ifClose>Openthen//如果收盘价大于开盘价UpDay=1//标记为上涨日elseUpDay=0;//否则标记为非上涨日ifCurrentBar=1then//如果是图表上的第一个柱状图beginArray_SetMaxIndex(PatternArray,1);//设置PatternArray数组的最大索引为1Array_SetMaxIndex(CountArray,1);//设置CountArray数组的最大索引为1Array_SetMaxIndex(CountUpArray,1);//设置CountUpArray数组的最大索引为1end;forLoopCounter=0toOffset//循环从0到OffsetbeginifPattern[1]=PatternArray[LoopCounter]then//如果当前模式与数组中的模式匹配begin;CountArray[LoopCounter]=CountArray[LoopCounter]+1;//增加该模式的计数CountUpArray[LoopCounter]=CountUpArray[LoopCounter]+UpDay;//根据是否为上涨日增加计数Location=LoopCounter;//记录位置LoopCounter=Offset+1;//跳出循环end;end;ifLoopCounter<>Offset+2then//如果循环没有被提前终止beginOffset=Offset+1;//增加OffsetArray_SetMaxIndex(PatternArray,Offset);//增加数组的大小Array_SetMaxIndex(CountArray,Offset);//增加数组的大小Array_SetMaxIndex(CountUpArray,Offset);//增加数组的大小PatternArray[Offset]=Pattern[1];//存储新模式CountArray[Offset]=1;//初始化计数CountUpArray[Offset]=UpDay;//初始化上涨日计数Location=Offset;//更新位置end;ifLastBarOnChartthen//如果是图表上的最后一个柱状图MyTest=Pattern;//将MyTest设置为当前模式forLoopCounter=0toOffset//再次循环beginifMyTest=PatternArray[LoopCounter]then//如果MyTest与数组中的模式匹配beginReportLocation=LoopCounter;//记录位置LoopCounter=Offset+1;//跳出循环end;end;ifLastBarOnChartthen//如果是最后一个柱状图beginPlot1(Pattern,"Pattern");//绘制模式Plot2(CountArray[ReportLocation],"Events");//绘制事件总数Plot3(CountUpArray[ReportLocation],"Up");//绘制上涨日总数end;指标代码:inputs:MinSamples(9),PlotType(1);variables:Pattern(0),UpDay(0),LoopCounter(0),Offset(1),Location(0),MyTest(0),ReportLocation(0);arrays:PatternArray[](0),CountArray[](0),CountUpArray[](0);Pattern=msRecognize;ifClose>OpenthenUpDay=1elseUpDay=0;ifCurrentBar=1thenbeginArray_SetMaxIndex(PatternArray,1);Array_SetMaxIndex(CountArray,1);Array_SetMaxIndex(CountUpArray,1);end;forLoopCounter=0toOffsetbeginifPattern[1]=PatternArray[LoopCounter]thenbegin;CountArray[LoopCounter]=CountArray[LoopCounter]+1;CountUpArray[LoopCounter]=CountUpArray[LoopCounter]+UpDay;Location=LoopCounter;LoopCounter=Offset+1;end;end;ifLoopCounter<>Offset+2thenbeginOffset=Offset+1;Array_SetMaxIndex(PatternArray,Offset);Array_SetMaxIndex(CountArray,Offset);Array_SetMaxIndex(CountUpArray,Offset);PatternArray[Offset]=Pattern[1];CountArray[Offset]=1;CountUpArray[Offset]=UpDay;Location=Offset;end;ifLastBarOnChartthenMyTest=Pattern;forLoopCounter=0toOffsetbeginifMyTest=PatternArray[LoopCounter]thenbeginReportLocation=L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论