编码帮助 - 页 63

 

在这种方式下,你只检查 指定魔法号码(和符号)的订单。

dasio:
在这种方式下,我检查的订单没有打开指定的魔法号码,对不对?我需要检查具有特定符号和魔法号码的订单。我不知道这是否重要,但我在策略测试器中发现了这个错误。
 
drofwarc:
大家好。

我知道可以通过使用Sleep()或记录一个时间戳,并在时间戳之后等待N秒再允许另一个信号,使EA在交易之间暂停。

但是否有可能对一个指标做同样的事情。

例如,我希望能够使一个在两条移动平均线交叉时绘制箭头的指标在交叉后跳过n个小节再绘制另一个箭头。换句话说,如果在n个柱子之前发生了另一个交叉,该指标将忽略该交叉而不绘制箭头。

我一直在寻找一个能做到这一点的指标,但没有任何收获。

谁能把已经有这个功能的指标贴出来,让我研究一下代码?或者给我提供一个可以实现这一建议的代码例子,以便我可以尝试实现它。

非常感谢。

滴水不漏

BUMP!

嗨,mladen,我知道你很忙,整个论坛有那么多要求。但如果你能至少给我提供一个编码解决方案的方向,我将非常感激。

先谢谢你了。

drofwarc

 

drofwarc

Sleep()函数 在指标中不工作,所以你可以忘记指标中的计时器(如果你依赖ticks,你就不能得到一个准确的时间)。至于计数:从编码上来说,这没有问题。如果你能提供一些你曾经工作过的例子,就可以说明在这样的情况下如何计数。

drofwarc:
BUMP!

嗨,mladen,我知道你很忙,整个论坛有很多请求。但如果你能至少给我一个编码解决方案的方向,我将非常感激。

先谢谢你了。

滴水不漏
 
mladen:
drofwarc Sleep()函数在指标中不起作用,所以你可以忘记指标中的计时器(如果你依赖ticks,你不能得到一个准确的时间)。至于计数:从编码上来说,这没有问题。如果你能提供一些你曾经工作过的例子,就可以说明在这样的情况下如何计数。

你好,mladen。

谢谢你的回复。下面是一个简单指标的代码,该指标在每次价格反转时画出一个箭头。我想做的是:在指标找到一个有效的设置后,它应该回看n个柱子(n可以在设置中调整),以确定是否存在一个有效的信号。

如果一个有效的信号在回顾期内出现,它将不会 在当前有效设置的基础上绘制一个新的箭头。

如果在回溯期内没有 有效信号,它 根据当前的有效设置绘制一个新的箭头。

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Red

#property indicator_color2 DodgerBlue

double UpArrowBuffer[];

double DownArrowBuffer[];

///////////Arrows

extern int ArrowSize = 1;

extern int Offset = 100;

extern color UpColor = White;

extern color DnColor = White;

extern color NoSignalColor = DarkGray;

extern int myWingDing1 = 233 ;

extern int myWingDing2 = 234 ;

double Poin;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init() {

//---- indicator buffers mapping

SetIndexBuffer(0,UpArrowBuffer);

SetIndexBuffer(1,DownArrowBuffer);

//---- drawing settings

SetIndexStyle(0,DRAW_ARROW,0,ArrowSize, UpColor);

SetIndexArrow(0,myWingDing1);

SetIndexStyle(1,DRAW_ARROW,0,ArrowSize, DnColor);

SetIndexArrow(1,myWingDing2);

Poin = Point;

if ((Point == 0.00001) || (Point == 0.001)) Poin *= 10;

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit() {

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start() {

int limit;

int counted_bars=IndicatorCounted();

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for(int i=limit; i>=0; i--)

{

if (Close Open)

{

UpArrowBuffer = Low - Offset*Point;

}

if (Close > Open && Close < Open)

{

DownArrowBuffer = High + Offset*Point;

}

}

return(0);

}

//+------------------------------------------------------------------+*/

我希望这很清楚,

衷心的问候。

衷心感谢

 

帮助

谁能帮我解决这个问题?

我想在一个图表中使用两个 "VoltyChannel_Stop_v2.1_TRO_MODIFIED_VERSION+.mq4 "的不同设置,但是

当我放置两个时,只有一个价格框显示。有什么办法能够显示两个价格框吗?

 

滴水不漏

附上一个修改过的指标,它可以在允许新信号出现之前,从最后一个同类信号开始计算条数。下面是一个设置了15条距离的例子。

drofwarc:
你好mladen。

谢谢你的回答。下面是一个简单指标的代码,该指标在每次价格反转时绘制一个箭头。我想做的是:在指标找到一个有效的设置后,它应该回看n个柱子(n可在设置中调整),以确定是否存在一个有效的信号。

如果一个有效的信号在回顾期内出现,它将不会 在当前有效设置的基础上绘制一个新的箭头。

如果在回溯期内没有 有效信号,它 根据当前的有效设置绘制一个新的箭头。

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Red

#property indicator_color2 DodgerBlue

double UpArrowBuffer[];

double DownArrowBuffer[];

///////////Arrows

extern int ArrowSize = 1;

extern int Offset = 100;

extern color UpColor = White;

extern color DnColor = White;

extern color NoSignalColor = DarkGray;

extern int myWingDing1 = 233 ;

extern int myWingDing2 = 234 ;

double Poin;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init() {

//---- indicator buffers mapping

SetIndexBuffer(0,UpArrowBuffer);

SetIndexBuffer(1,DownArrowBuffer);

//---- drawing settings

SetIndexStyle(0,DRAW_ARROW,0,ArrowSize, UpColor);

SetIndexArrow(0,myWingDing1);

SetIndexStyle(1,DRAW_ARROW,0,ArrowSize, DnColor);

SetIndexArrow(1,myWingDing2);

Poin = Point;

if ((Point == 0.00001) || (Point == 0.001)) Poin *= 10;

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit() {

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start() {

int limit;

int counted_bars=IndicatorCounted();

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for(int i=limit; i>=0; i--)

{

if (Close Open)

{

UpArrowBuffer = Low - Offset*Point;

}

if (Close > Open && Close < Open)

{

DownArrowBuffer = High + Offset*Point;

}

}

return(0);

}

//+------------------------------------------------------------------+*/

我希望这很清楚,

衷心的问候。

滴水不漏
附加的文件:
test.gif  41 kb
_test.mq4  3 kb
 
ZANKY:
谁能帮我解决这个问题?

我想在一个图表中使用两个 "VoltyChannel_Stop_v2.1_TRO_MODIFIED_VERSION+.mq4",设置不同,但

当我放置两个时,只显示一个价格框。有什么办法能够显示两个价格框吗?

只要把第85行 改成这样,然后编译,它应该作为一种神奇的数字工作,所以只要有任何输入被改变,第二个价格框也会被加载。

ftShortName = "tbb "+ symbol + tChartPeriod +MA_Length + ATR_Length + Kv + MA_Mode +MoneyRisk + MA_Price;

 

谢谢你!

cja

非常感谢你! 它工作得很完美。

 

你好,姆拉登。我不太懂英语,对不起。

请帮我把这些指标在线条上升或下降时变成不同的颜色。谢谢您的帮助!

附加的文件:
1234.gif  23 kb
rmi.mq4  5 kb
 
mladen:
drofwarc

附上一个修改过的指标,它可以在允许新信号出现之前,从上一个同类信号开始计算条数。下面是一个设置了15条距离的例子。

你好mladen。

谢谢你!这正是我想要的。这正是我在寻找的东西。

祝你在假日期间一切顺利

drofwarc

原因: