问吧! - 页 20

 

lsma代码

文件。

这里是lsma的源代码。谢谢你的意见!

//---- 指标设置

#属性 indicator_chart_window

#属性 indicator_buffers 3

#属性 indicator_color1 黄色

#属性 indicator_color2 Chartreuse(图表颜色)

#属性 indicator_color3 红色

//---- 缓冲区

double ExtMapBuffer1[];

double ExtMapBuffer2[];

双倍ExtMapBuffer3[]。

int宽度。

extern int Rperiod = 34;

Extern int Draw4HowLongg = 300; // 500 // 1000

int Draw4HowLong;

int shift;

int i;

int loopbegin;

双倍的sum[]。

int length;

double lengthvar;

double tmp ;

双重wt[]。

int c;

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

//|自定义指标 初始化函数|

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

int init()

{

//---- 2个额外的缓冲区被用于计数。

IndicatorBuffers(5)。

//---- 绘图设置

SetIndexBuffer(2,ExtMapBuffer1);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexBuffer(0,ExtMapBuffer3);

SetIndexBuffer(3,sum);

SetIndexBuffer(4,wt);

SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,3);

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,3);

SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,3);

//---- 初始化完成

返回(0)。

}

int start()

{ Draw4HowLong = Bars-Rperiod - 5;

length = Rperiod;

loopbegin = Draw4HowLong - length - 1;

for(shift = loopbegin; shift >= 0; shift--)

{

sum[1] = 0。

for(i = length; i >= 1; i--)

{

lengthvar = length + 1;

lengthvar /= 3;

tmp = 0。

tmp = ( i - lengthvar)*Close[length-i+shift];

sum[1]+=tmp。

}

wt[shift] = sum[1]*6/(length*(length+1))。

//========== 颜色编码 ===========================================

ExtMapBuffer3[shift] = wt[shift]; //红色

ExtMapBuffer2[shift] = wt[shift]; //绿色

ExtMapBuffer1[shift] = wt[shift]; //黄色

// for(c=loopbegin;c==shift;c++)

// {

如果(wt[shift+1] > wt[shift])

{

ExtMapBuffer2[shift+1] = EMPTY_VALUE。

// ObjectCreate("smiley_face", OBJ_ARROW, 0, Time[shift], Low[shift]-Point*20) 。

// Print("time=",Time[shift])。

// ObjectSet("smiley_face", OBJPROP_ARROWCODE, 242);

// ObjectSet("smiley_face", OBJPROP_COLOR , Red);

// ObjectSet("smiley_face", OBJPROP_WIDTH , 1);

// ObjectsRedraw()。

//ExtMapBuffer3[shift+1] = EMPTY_VALUE;

//ExtMapBuffer3[shift+1] = EMPTY_VALUE;

}

否则如果(wt[shift+1] < wt[shift])

{

ExtMapBuffer1[shift+1] = EMPTY_VALUE; //-1 red/greem tight

//ExtMapBuffer3[shift+1] = EMPTY_VALUE;

}

否则

{

ExtMapBuffer1[shift+1]=CLR_NONE;//EMPTY_VALUE。

ExtMapBuffer2[shift+1]=CLR_NONE;//EMPTY_VALUE。

}

}

return(0);

}

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

 

嗨,大家好

我想知道如何将这段代码写入EA中

rsi 14

参数设置 30和70

买入

-RSI从下方穿过30线(首先RSI应该从上方穿过30线,然后只穿过信号有效的那条线)。

卖出

-RSI从上方穿过70线(首先RSI应该从下方穿过70线以上,然后只穿过信号有效的线)。

预先感谢

 

如何在EA中添加交易时间?

例如。EA在14~20小时内不交易,而在其他时间正常交易!?

并关闭所有盈利的交易,并在14h之前保持亏损的交易?

谢谢

(对不起,我的英语不好)

 
quangmach:
如何在EA中添加交易时间?

例子。EA在14~20小时内不交易,而在另一个时间段交易正常!

在14点之前关闭所有盈利的交易,并保持亏损的交易?

谢谢

(对不起,我的英语不好)

我不确定,但它可能与时间过滤器相反,例如,在启动后添加这样的东西。

if (UseHourTrade){

if ((Hour()>=FromHourTrade && Hour()<=ToHourTrade)) {

Comment("Time for trade has not come else!");

return(0);

}

}[/CODE]

And in the settings of EA add the following:

[CODE]extern bool UseHourTrade = True;

extern int FromHourTrade = 14;

extern int ToHourTrade = 20;

但请注意,时间(14和20)是Metatrader时间(取决于经纪人)。此外,这取决于你使用EA的时间框架。例如,如果收盘条是在15点,那么它将从15点到20点,而不考虑你的14-20。这取决于收盘条的情况。

 
newdigital:
我不确定,但它可能与时间过滤器相反,例如,在开始后添加这样的东西。
if (UseHourTrade){

if ((Hour()>=FromHourTrade && Hour()<=ToHourTrade)) {

Comment("Time for trade has not come else!");

return(0);

}

}[/CODE]

And in the settings of EA add the following:

[CODE]extern bool UseHourTrade = True;

extern int FromHourTrade = 14;

extern int ToHourTrade = 20;
但请注意,时间(14和20)是Metatrader时间(取决于经纪人)。此外,这取决于你使用EA的时间框架。例如,如果收盘条是在15点,那么它将从15点到20点,而不考虑你的14-20。这取决于收盘条。

哇,太感谢了

和如何

关闭所有盈利的交易,并在14小时前保持亏损的交易?

这可能吗?

 

评论颜色

你好 --

是否有办法改变指标注释的颜色 -- -- 在独立窗口中显示的那些?

如果有的话,怎么做?

谢谢

 
kiwigold:
你好 --

是否有办法改变指标注释的颜色--那些显示在独立窗口中的注释?

如果有的话,怎么做?

谢谢

你可以通过使用标签来实现。标签可以放在选定窗口的任何地方,它也可以有你想要的任何字体和任何颜色/大小等。所以你可以用标签作为评论,把它放在x=20和y=20的地方,并按你的要求设置字体的颜色。

 

计算过去到现在的条数

在MQL中,小节计数总是从右到左(从现在到过去),对吗?

我如何实现从过去到现在的条形计数?

举个简单的例子,我如何对某个月的每个条形进行编号,1代表该月的第一个条形,随后的条形向上递增?

谢谢你的帮助。

比尔(仍然陷入了一个循环)

 

使用现有对象的名称和位置创建新对象

我的一个学习项目是去定制tester.tpl,它管理着Strategy Tester 的图表显示选项。我发现默认的图表风格非常难以视觉化。所以,我创建了一个新的模板,然后建立了一个脚本,将所有的箭头替换成更有吸引力的箭头。

然而,我也想在箭头名称中抓取信息,并在图表上显示为文本。箭头名称包括 "#62买入 "或 "73卖出收盘 "等内容。这样,你就可以在图表上看到某个特定的交易#进入/退出的确切时间。我不知道为什么Strategy Tester没有像其他平台(例如TradeStation)那样默认包含这个功能。

总之,我想抓取相关的文本,并在图表上现有的箭头下方插入新的文本对象。但是,我不知道如何完成这个任务。

我怎样才能做到这一点呢?

谢谢

比尔

 
billworld2:
在MQL中,条形计数总是从右到左(现在到过去),对吗?

我如何实现从过去到现在的条形计数?

举个简单的例子,我如何对某个月的每个条形进行编号,1代表该月的第一个条形,随后的条形向上递增?

谢谢你的帮助。

比尔(仍然陷入一个循环)

你应该阅读日期和时间函数,并使用iBarShift函数来获得指定时间框架内指定月份的第一个条形的移动。