分析家公式网,提供股票公式,股票软件用户登录  |  用户 注册
[MT4外汇指标]波浪交易系统
  • 软件大小:0 Bytes
  • 推荐星级:
  • 更新时间:2008-12-22 22:21:19
  • 软件类别: 国产软件 / 其他股票公式
  • 软件语言:简体中文
  • 授权方式: 解密版
  • 联系方式:暂无联系方式
  • 官方主页: Home Page
  • 点击大图:  【一键转帖到论坛】
  • 插件情况:
  • 运行环境:Win9X/2000/XP/2003/
  • 相关Tags:指标公式 股票软件,公式源码
  • (12)92%
    (1)8%

软件介绍

外汇指标


 

仅仅提供源码;
 是MT4的指标 名为波浪交易系统
//| ICWR indicator |
//| Copyright ?2005, John Lotoski |
//| mailto:john@fayandjohn.com |
//| |
//+------------------------------------------------------------------+
#property copyright "Copyright ?2005, john@fayandjohn.com"
#property link "mailto:john@fayandjohn.com" #property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 White


//---- indicator parameters
extern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;
extern int RequiredWaveHeight=40;

//---- indicator buffers
double ExtMapBuffer[];
double ExtMapBuffer2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(2);

//---- drawing settings
SetIndexStyle(0,DRAW_SECTION);

//---- indicator buffers mapping
SetIndexBuffer(0,ExtMapBuffer);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexEmptyValue(0,0.0);
ArraySetAsSeries(ExtMapBuffer,true);
ArraySetAsSeries(ExtMapBuffer2,true);

//---- indicator short name
IndicatorShortName("ICWR("+ExtDepth+","+ExtDeviation+","+ExtBackstep+")");

//---- initialization done
return(0);
}

//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+

int deinit() // Removes all lines and text
{ // from the chart upon removal
// of the indicator
ObjectDelete("ActiveWave");
ObjectDelete("Fibo");
return(0);
}

//+------------------------------------------------------------------+
//| Main function |
//+------------------------------------------------------------------+
int start()
{
int shift,back,lasthighpos,lastlowpos,LastActivePos;
double val,res;
double curlow,curhigh,lasthigh,lastlow,LastActive;

int AWStartPos, AWEndPos;
double AWStart, AWEnd;

double FiboL, FiboH, FiboLC, FiboLR, FiboHR, FiboHC;

for(shift=Bars-ExtDepth; shift>=0; shift--)
{
// The beginning code of this for loop is dedicated
// to finding a low endpoint of a zig-zag
val=Low[Lowest(NULL,0,MODE_LOW,ExtDepth,shift)];
// Start at beginning of data
// - Get low of last depth (12) periods
// - Repeat low search of 12 periods,
// advancing 1 bar every search (for loop)

if(val==lastlow) // If this is not a new low
val=0.0; // - Reset the val marker to dbl 0

else // Otherwise, if it is a new low
{
lastlow=val; // - Record this new low in lastlow for future reference
if((Low[shift]-val)>(ExtDeviation*Point))
val=0.0; // If the low of the current bar is 6 or
// more pips greater than the lowest low of the last
// depth (12) periods, then reset val to dbl 0.
// Ie: continue the zig because the line is going up

else // Otherwise, if the current low is within 6 pips
{ // of the lowest low of the last 12 bars
for(back=1; back<=ExtBackstep; back++)
{ // Check back 3 bars, and if each value over those
// three bars is greater than the current lowest low,
// then reset the map buffer value to 0 because
// we have a new lower low.
res=ExtMapBuffer[shift+back];
if((res!=0)&&(res>val))
ExtMapBuffer[shift+back]=0.0;
}
}
}

ExtMapBuffer[shift]=val; // Set our current bar to 0 (continuation of zig) if:
// - A new low has not been reached;
// - The current bar is 6 pips beyond the lowest low
// Set our current bar to the lowest low if:
// - It is within 6 pips of the lowest low and
// and go back over the last three bars and set them
// to continuation of zig as well if they are greater
// than the new lowest value


// Same deal for below, except the case is reversed
// and everything is done in terms of trying to find
// the high zig-zag endpoint
val=High[Highest(NULL,0,MODE_HIGH,ExtDepth,shift)];

if(val==lasthigh)
val=0.0;
else
{
lasthigh=val;
if((val-High[shift])>(ExtDeviation*Point))
val=0.0;
else
{
for(back=1; back<=ExtBackstep; back++)
{
res=ExtMapBuffer2[shift+back];
if((res!=0)&&(res<val))
ExtMapBuffer2[shift+back]=0.0;
}
}
}
ExtMapBuffer2[shift]=val;
}

// final cutting
lasthigh=-1;
lasthighpos=-1;
lastlow=-1;
lastlowpos=-1;

for(shift=Bars-ExtDepth; shift>=0; shift--)
{
curlow=ExtMapBuffer[shift];
curhigh=ExtMapBuffer2[shift];

if((curlow==0)&&(curhigh==0)) // Break into the next cycle of the loop
continue; // to try and find the next zig-zap endpoint

if(curhigh!=0) // If there is a current high, then:
{
if(lasthigh>0) // If there was a previous high already:
{
if(lasthigh<curhigh) // - Set the last high to 0 if it is less than the current high
ExtMapBuffer2[lasthighpos]=0;
else // - Set the current bar to 0 if it is less than the last high
ExtMapBuffer2[shift]=0;
}

if(lasthigh<curhigh || lasthigh<0)
{ // If there was no last high or the last high was less than the current high
lasthigh=curhigh; // - Set the current high to be the last high (keep record of it)
lasthighpos=shift; // - Set the current bar to the lasthighpos (keep record of it)
}
lastlow=-1; // Since we just had a new high, reset the lastlow flag
}

if(curlow!=0) // If there is a low, then do the same as above, except for the case of lows instead of highs
{
if(lastlow>0)
{
if(lastlow>curlow)
ExtMapBuffer[lastlowpos]=0;
else
ExtMapBuffer[shift]=0;
}

if((curlow<lastlow)||(lastlow<0))
{
lastlow=curlow;
lastlowpos=shift;
}
lasthigh=-1;
}
}

for(shift=Bars-1; shift>=0; shift--)
{ // Go through all the bars
if(shift>=Bars-ExtDepth) // If we are not at the beginning comparison bars,
ExtMapBuffer[shift]=0.0; // then set the low buffer to 0
else
{ // Otherwise:
res=ExtMapBuffer2[shift]; // - If the current bar has a high, set the low
if(res!=0.0) // buffer to contain the high
ExtMapBuffer[shift]=res;
} // Looks like this function brings the highs into the lows
} // so that all the zig-zags can be drawn from one function

LastActive = -1;
LastActivePos = -1;

for(shift=0; shift<=Bars-ExtDepth; shift++)
{
if(ExtMapBuffer[shift]!=0.0)
{
if(LastA

软件评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

说明

* 使用方法:点击上面蓝色块,打开新页面按照提示进行

* 本网站提供的各种股票软件,例如大智慧软件,通达信软件,同花顺软件,东方财富通等等,和各种股票公式指标,例如大智慧公式,通达信公式,同花顺公式,文华公式,博易大师公式,股票价格计算公式等等公式指标等,都来源网上公开来源收集

本网提供的公式文件说明:
* alg格式飞狐股票公式,可以用飞狐交易师或者交易师软件导入;
* fnc格式大智慧新一代公式指标,可以用大智慧股票软件使用,少部分可以用分析家股票软件引入使用;
* exp格式大智慧经典版股票公式,仅可以用大智慧经典版股票软件引入使用;
* tni和tnc格式通达信股票公式,仅可以用通达信新引入使用,例如可以用通达信股票软件引入使用;
* tne,tn6格式通达信公式,可以用通达信公式编辑器5.0版导入,推荐通达信金融终端版本;
* hxf格式同花顺股票公式,仅可以用同花顺股票软件引入使用。
以上的各种软件都可以在本网股票软件栏目找到!

* 关于股票公式时间限制,如果在引入大智慧公式,交易师公式或者飞狐公式的时候,发现公式名称栏是空白的,这时候调整电脑时间到1997年,又能出现公式名称,并且能正常显示,可能是公式使用期限已过。
* 关于还原公式源码如果你忘记了自己编写的大智慧公式,通达信公式,同花顺公式,操盘手公式,飞狐公式,博易大师公式,金字塔公式,文华公式和交易师公式等等公式的密码,本网可帮恢复源码,有.偿.服.务无意勿扰,点击在线咨询联系我。

* 关于股票公式源码编辑
本网提供的源码,一般都可以编辑成公式,如果不明白公式的编辑,在本页右侧教程录像可参考,或者找公式教程资料学习,请搜索:教程

* 如果您发现软件内容或者链接错误,请点击报告错误谢谢!
* 站内提供的所有软件包含源码均是由网上搜集,若侵犯了你的版权利益,请联系通知我们!

关于本站 | 网站帮助 | 广告合作 | 声明 | 友情连接 | 网站地图 |
分析家公式网声明:本站所有股票公式软件资料均网上公开收集,如侵权请联系删帖。站内所有广告,均与本站无关!
Copyright © 2003-2022 fxjgsw.Com. All Rights Reserved .
页面执行时间:5,203.12500 毫秒