如何编码? - 页 320 1...313314315316317318319320321322323324325326327...347 新评论 tkuan77 2012.11.01 14:05 #3191 大家好,我想看看 是否有办法跟踪当前价格? 例如,当价格越过一个预先设定的点时,它将立即触发交易。我在网上找到的主要是指收盘价、高点、低点等。谁能帮帮我。谢谢。 谢谢 特伦斯 Mladen Rakic 2012.11.01 14:46 #3192 如果我理解正确,你应该使用Askand Bid。问是指新的买单,买是指新的卖单。 tkuan77: 大家好,我想看看是否有办法跟踪当前价格?例如,当价格越过一个预先设定的点时,它将立即触发交易。我在网上找到的主要是指收盘价、最高价、最低价等。谁能帮帮我。谢谢。 疑问 特伦斯 tkuan77 2012.11.01 15:16 #3193 是的,Mladen,这就是我现在正在使用的东西。也许我的问题没有解释清楚。我想实现的是,比如说,我预设了一个点,比如之前的D1蜡烛收盘价加减20点,如果当前价格达到预设的点(D1+20点)或(D1-20点),就会触发买入或卖出,而不管当前蜡烛是收盘还是现在。 所以我现在想实现的是如何让我的系统在价格达到所谓的(D1+20点)或(D1-20点)时触发交易。提前感谢您的建议。 问候 特伦斯 mladen: 如果我理解正确,你应该使用Askand Bid。新的买入订单的问价和新的卖出订单的买价。 Mladen Rakic 2012.11.01 16:20 #3194 现在我真的不确定我是否理解,但会试一试。像这样(这不是真正的代码,只是一个如何检查 的例子--在大多数情况下,收盘价和买入价是一样的)。 if (close[1](D1+20pips)) trigger up action if (close[1]>(D1-20pips) && close[0]<(D1-20pips)) trigger down action tkuan77: 是的,Mladen,这就是我现在正在使用的。也许我的问题没有解释清楚。我想实现的是,比如说,我预设了一个点,比如之前的D1蜡烛收盘价加减20点,如果当前价格达到预设的点(D1+20点)或(D1-20点),就会触发买入或卖出,而不管当前蜡烛是收盘还是现在。 所以我现在想实现的是如何让我的系统在价格达到所谓的(D1 + 20点)或(D1 - 20点)时触发交易。提前感谢您的建议。谢谢 特伦斯 tkuan77 2012.11.03 16:15 #3195 嗨,Mladen。 是的,我已经设法解决了不少我遇到的错误,但是有一个问题仍然困扰着我。我怎样才能触发。 1) 当FastMA1向上穿过SlowMA1 10个点时,做多交易 2) 当FastMA1与SlowMA1相交10个点时,做空交易。 我不知道的是,如何在代码中加入MA以对10点做出反应。 /*--------------------------------------------------------------------------------*/ FastMA1 = iMA(NULL,PERIOD_M30,10,0,MODE_SMA,PRICE_CLOSE,0)。 SlowMA1= iMA(NULL,PERIOD_M30,20,0,MODE_SMA,PRICE_CLOSE,1)。 如果(FastMA1 > SlowMA1) {Long}(长)。 如果(FastMA1 < SlowMA1) {短线} /*--------------------------------------------------------------------------------*/ 谢谢你的帮助,感谢你的帮助。 谢谢 特伦斯 mladen: 现在我真的不确定我是否理解,但会试一试。像这样(这不是一个真正的代码,只是一个如何检查的例子 - 在大多数情况下,关闭和出价是相同的)。if (close[1](D1+20pips)) trigger up action if (close[1]>(D1-20pips) && close[0]<(D1-20pips)) trigger down action Mladen Rakic 2012.11.03 18:02 #3196 试试这样的方法: double pipMultiplier=1; if (Digits==3 || Digits==5) pipMultiplier=10; double diff = 10*Point*pipMultiplier; 如果(FastMA1 > SlowMA1+diff) {Long} 如果(FastMA1 < SlowMA1-diff) {短} tkuan77: 嗨,Mladen。是的,我已经设法解决了不少我遇到的错误,然而有一个问题仍然困扰着我。我怎样才能触发。 1) 当FastMA1向上穿过SlowMA1 10个点时做多交易 2) 当FastMA1与SlowMA1相交10个点时,做空交易。 我不知道的是,如何在代码中加入MA以对10点做出反应。 /*--------------------------------------------------------------------------------*/ FastMA1 = iMA(NULL,PERIOD_M30,10,0,MODE_SMA,PRICE_CLOSE,0)。 SlowMA1= iMA(NULL,PERIOD_M30,20,0,MODE_SMA,PRICE_CLOSE,1)。 如果(FastMA1 > SlowMA1) {Long}(长)。 如果(FastMA1 < SlowMA1) {短线} /*--------------------------------------------------------------------------------*/ 谢谢你的帮助,感谢你的帮助。 谢谢你的帮助。 特伦斯 dasio 2012.11.05 17:48 #3197 Malden 我试着用你的答案来编写关于前一个h1蜡烛日的指标。但我无法做到这一点。 我有一个例子。 我有一个指标,在独立窗口中只有一个缓冲区。它画了一条线,像rsi, atr等等等等。 现在我需要在同一个单独的窗口中添加一条线(水平线),它是由过去24天的指标值的平均值计算出来的(由于这个原因,我说的是24天,它只是1小时)。我怎样才能做到这一点?是否可以为过去的每一天都画这条线? 我知道我必须增加一个缓冲区。 我怎样才能在这个缓冲区提供我所需要的东西呢? 谢谢你。 Mladen Rakic 2012.11.05 18:47 #3198 ... dasio 你所描述的看起来像是一个常规指标(rsi, atr, ...)和同一指标的多时间框架平均值的组合。你有试过这种方式吗? dasio: 马登,我试着用你的答案来编写关于前一个h1蜡烛日的指标。但我做不到。我有一个例子。 我有一个指标,在不同的窗口中只有一个缓冲区。它画了一条像rsi, atr等等的线。 现在我需要在同一个单独的窗口中添加一条线(水平线),它是由过去24天的指标值的平均值计算出来的(由于这个原因,我说的是24天,它只有1小时)。我怎样才能做到这一点?是否可以为过去的每一天都画这条线? 我知道我必须增加一个缓冲区。 我怎样才能在这个缓冲区内提供我所需要的东西呢? 谢谢你 dasio 2012.11.05 18:59 #3199 mladen: dasio 你所描述的看起来像是一个常规指标(rsi, atr, ...)和同一指标的多时间框架平均值的组合。你有试过这种方式吗? 你好,谢谢你的回答。 也许我没有解释清楚。 我创建了一个指标,在一个单独的图表窗口中用我自己的计算方法在以前的条形图上画一条线。 现在我需要在指标中添加一条线,这条线的值等于上一天计算的最后24个值的演变,我需要在前一天画这条线。我附上一张图片。然而,这条线必须在一天结束时计算,因为它必须在我计算它的同一天的指标的la 24值上计算。 目前这个指标必须只在1小时的时间框架 内使用,所以它不是MTF指标。 谢谢你。 ps.白线的计算值与它们被打印的1天内的24值相同。 附加的文件: example_1.gif 7 kb Mladen Rakic 2012.11.05 19:20 #3200 ... 晓晓 试试这样的方法。 #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 OrangeRed #property indicator_color2 Silver #property indicator_width1 2 extern int RsiPeriod = 50; extern int RsiPrice = PRICE_CLOSE; double work[]; double avg[]; //------------------------------------------------------------------ // //------------------------------------------------------------------ // // // // // int init() { SetIndexBuffer(0,work); SetIndexBuffer(1,avg); return(0); } int start() { int i,countedBars = IndicatorCounted(); if (countedBars<0) return(-1); if (countedBars>0) countedBars--; int limit = MathMin(Bars-countedBars,Bars-1); for(i=limit; i>=0; i--) { work = iRSI(NULL,0,RsiPeriod,RsiPrice,i); int y = iBarShift(NULL,PERIOD_D1,Time); int x = iBarShift(NULL,PERIOD_D1,Time); if (x!=y) { int k = iBarShift(NULL,0,iTime(NULL,PERIOD_D1,y)); double average = work[k]; int c = 1; for (int j=k-1; j>=i; j--,c++) average += work[j]; average /= c; for ( j=k ; j>=i; j--) avg[j] = average; } } return(0); } dasio: 你好,谢谢你的回答。也许我没有解释清楚。 我创建了一个指标,在一个单独的图表窗口中用我自己的计算方法在以前的条形图上画一条线。 现在我需要在指标中添加一条线,这条线的值等于上一天计算的最后24个值的演变,我需要在前一天画这条线。我附上一张图片。然而,这条线必须在一天结束时计算,因为它必须在我计算它的同一天的指标的la 24值上计算。 目前这个指标必须只在1小时的时间框架内使用,所以它不是MTF指标。 谢谢你。 ps.白线的计算值与打印的1天时间段的24值相同。 附加的文件: test.gif 34 kb How to code? 编码帮助 精英指标 :) 1...313314315316317318319320321322323324325326327...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
大家好,我想看看 是否有办法跟踪当前价格?
例如,当价格越过一个预先设定的点时,它将立即触发交易。我在网上找到的主要是指收盘价、高点、低点等。谁能帮帮我。谢谢。
谢谢
特伦斯
如果我理解正确,你应该使用Askand Bid。问是指新的买单,买是指新的卖单。
大家好,我想看看是否有办法跟踪当前价格?
例如,当价格越过一个预先设定的点时,它将立即触发交易。我在网上找到的主要是指收盘价、最高价、最低价等。谁能帮帮我。谢谢。
疑问
特伦斯是的,Mladen,这就是我现在正在使用的东西。也许我的问题没有解释清楚。我想实现的是,比如说,我预设了一个点,比如之前的D1蜡烛收盘价加减20点,如果当前价格达到预设的点(D1+20点)或(D1-20点),就会触发买入或卖出,而不管当前蜡烛是收盘还是现在。
所以我现在想实现的是如何让我的系统在价格达到所谓的(D1+20点)或(D1-20点)时触发交易。提前感谢您的建议。
问候
特伦斯
如果我理解正确,你应该使用Askand Bid。新的买入订单的问价和新的卖出订单的买价。
现在我真的不确定我是否理解,但会试一试。像这样(这不是真正的代码,只是一个如何检查 的例子--在大多数情况下,收盘价和买入价是一样的)。
if (close[1]>(D1-20pips) && close[0]<(D1-20pips)) trigger down action
是的,Mladen,这就是我现在正在使用的。也许我的问题没有解释清楚。我想实现的是,比如说,我预设了一个点,比如之前的D1蜡烛收盘价加减20点,如果当前价格达到预设的点(D1+20点)或(D1-20点),就会触发买入或卖出,而不管当前蜡烛是收盘还是现在。
所以我现在想实现的是如何让我的系统在价格达到所谓的(D1 + 20点)或(D1 - 20点)时触发交易。提前感谢您的建议。
谢谢
特伦斯嗨,Mladen。
是的,我已经设法解决了不少我遇到的错误,但是有一个问题仍然困扰着我。我怎样才能触发。
1) 当FastMA1向上穿过SlowMA1 10个点时,做多交易
2) 当FastMA1与SlowMA1相交10个点时,做空交易。
我不知道的是,如何在代码中加入MA以对10点做出反应。
/*--------------------------------------------------------------------------------*/
FastMA1 = iMA(NULL,PERIOD_M30,10,0,MODE_SMA,PRICE_CLOSE,0)。
SlowMA1= iMA(NULL,PERIOD_M30,20,0,MODE_SMA,PRICE_CLOSE,1)。
如果(FastMA1 > SlowMA1)
{Long}(长)。
如果(FastMA1 < SlowMA1)
{短线}
/*--------------------------------------------------------------------------------*/
谢谢你的帮助,感谢你的帮助。
谢谢
特伦斯
现在我真的不确定我是否理解,但会试一试。像这样(这不是一个真正的代码,只是一个如何检查的例子 - 在大多数情况下,关闭和出价是相同的)。
if (close[1]>(D1-20pips) && close[0]<(D1-20pips)) trigger down action
试试这样的方法:
double pipMultiplier=1; if (Digits==3 || Digits==5) pipMultiplier=10;
double diff = 10*Point*pipMultiplier;
如果(FastMA1 > SlowMA1+diff)
{Long}
如果(FastMA1 < SlowMA1-diff)
{短}
嗨,Mladen。
是的,我已经设法解决了不少我遇到的错误,然而有一个问题仍然困扰着我。我怎样才能触发。
1) 当FastMA1向上穿过SlowMA1 10个点时做多交易
2) 当FastMA1与SlowMA1相交10个点时,做空交易。
我不知道的是,如何在代码中加入MA以对10点做出反应。
/*--------------------------------------------------------------------------------*/
FastMA1 = iMA(NULL,PERIOD_M30,10,0,MODE_SMA,PRICE_CLOSE,0)。
SlowMA1= iMA(NULL,PERIOD_M30,20,0,MODE_SMA,PRICE_CLOSE,1)。
如果(FastMA1 > SlowMA1)
{Long}(长)。
如果(FastMA1 < SlowMA1)
{短线}
/*--------------------------------------------------------------------------------*/
谢谢你的帮助,感谢你的帮助。
谢谢你的帮助。
特伦斯Malden 我试着用你的答案来编写关于前一个h1蜡烛日的指标。但我无法做到这一点。
我有一个例子。
我有一个指标,在独立窗口中只有一个缓冲区。它画了一条线,像rsi, atr等等等等。
现在我需要在同一个单独的窗口中添加一条线(水平线),它是由过去24天的指标值的平均值计算出来的(由于这个原因,我说的是24天,它只是1小时)。我怎样才能做到这一点?是否可以为过去的每一天都画这条线?
我知道我必须增加一个缓冲区。
我怎样才能在这个缓冲区提供我所需要的东西呢?
谢谢你。
...
dasio
你所描述的看起来像是一个常规指标(rsi, atr, ...)和同一指标的多时间框架平均值的组合。你有试过这种方式吗?
马登,我试着用你的答案来编写关于前一个h1蜡烛日的指标。但我做不到。
我有一个例子。
我有一个指标,在不同的窗口中只有一个缓冲区。它画了一条像rsi, atr等等的线。
现在我需要在同一个单独的窗口中添加一条线(水平线),它是由过去24天的指标值的平均值计算出来的(由于这个原因,我说的是24天,它只有1小时)。我怎样才能做到这一点?是否可以为过去的每一天都画这条线?
我知道我必须增加一个缓冲区。
我怎样才能在这个缓冲区内提供我所需要的东西呢?
谢谢你dasio 你所描述的看起来像是一个常规指标(rsi, atr, ...)和同一指标的多时间框架平均值的组合。你有试过这种方式吗?
你好,谢谢你的回答。
也许我没有解释清楚。
我创建了一个指标,在一个单独的图表窗口中用我自己的计算方法在以前的条形图上画一条线。
现在我需要在指标中添加一条线,这条线的值等于上一天计算的最后24个值的演变,我需要在前一天画这条线。我附上一张图片。然而,这条线必须在一天结束时计算,因为它必须在我计算它的同一天的指标的la 24值上计算。
目前这个指标必须只在1小时的时间框架 内使用,所以它不是MTF指标。
谢谢你。
ps.白线的计算值与它们被打印的1天内的24值相同。
...
晓晓
试试这样的方法。
#property indicator_buffers 2
#property indicator_color1 OrangeRed
#property indicator_color2 Silver
#property indicator_width1 2
extern int RsiPeriod = 50;
extern int RsiPrice = PRICE_CLOSE;
double work[];
double avg[];
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int init()
{
SetIndexBuffer(0,work);
SetIndexBuffer(1,avg);
return(0);
}
int start()
{
int i,countedBars = IndicatorCounted();
if (countedBars<0) return(-1);
if (countedBars>0) countedBars--;
int limit = MathMin(Bars-countedBars,Bars-1);
for(i=limit; i>=0; i--)
{
work = iRSI(NULL,0,RsiPeriod,RsiPrice,i);
int y = iBarShift(NULL,PERIOD_D1,Time);
int x = iBarShift(NULL,PERIOD_D1,Time);
if (x!=y)
{
int k = iBarShift(NULL,0,iTime(NULL,PERIOD_D1,y));
double average = work[k];
int c = 1;
for (int j=k-1; j>=i; j--,c++) average += work[j]; average /= c;
for ( j=k ; j>=i; j--) avg[j] = average;
}
}
return(0);
}
你好,谢谢你的回答。
也许我没有解释清楚。
我创建了一个指标,在一个单独的图表窗口中用我自己的计算方法在以前的条形图上画一条线。
现在我需要在指标中添加一条线,这条线的值等于上一天计算的最后24个值的演变,我需要在前一天画这条线。我附上一张图片。然而,这条线必须在一天结束时计算,因为它必须在我计算它的同一天的指标的la 24值上计算。
目前这个指标必须只在1小时的时间框架内使用,所以它不是MTF指标。
谢谢你。
ps.白线的计算值与打印的1天时间段的24值相同。