如何编码? - 页 222

 

谢谢Roger09

原文由ForExTyro发表

我想在一个EA中添加代码,限制它每天的交易数量,使其只能做两笔(2)。每天只有一个多头交易和一个空头交易。这是我目前掌握的代码,但在后面的测试中,它不起作用。

你能帮助我吗?

回复者:Roger09

替换

datetime LongTrade=0;

datetime ShortTrade=0;

改为

static datetime LongTrade=0。

静态数据时间ShortTrade=0。

就这样了?

这就是它了!

谢谢你,Roger09

 

你好。

这是一个很好的例子,如何看待反编译的EA和Ind.

b.

 
Kalenzo:
这就对了!请欣赏

嗨,Kalenzo。

我再次需要你的帮助,你能不能像以前那样为我编码一个额外的

信息,我想把LSMA酒吧的信息放进去。

当LSMA Woodie Bar为绿色时,显示Word LONG(绿色)。

而当Woodie Bar为红色时,它显示Short(红色)。

查看附件中的图片。

http://i98.photobucket.com/albums/l277/compobey/CCIinfo.jpg

请注意。

compobey

 

帮助请求

大家好

我一直在使用非常简单的系统,每月赚取约+100点。

我想把它变成EA,但我对编码非常陌生,我感到非常迷茫 。也许你们这些家伙/女士可以帮助我创建这个EA,我们都可以使用它?

如果您有兴趣,请告诉我,我将发布EA需要做的细节。

谢谢你们

 

卡伦佐

Kalenzo:
就这样吧!请欣赏

你好,Kalenzo。

我一直在观察你为我修复的Indi。

一般来说,它工作得很好,但偶尔也会在线上放错颜色。

正如你在图片中看到的,有些地方应该是番茄色或红色,但却变成了DodgerBlue。

规则是。

当数值(收盘时)大于前一个收盘时的数值(上升)时 =

当值<0时,DodgerBlue。

当值>0时为蓝色

当数值(收盘时)小于前一个收盘时的数值(下降) =

当值>0时,番茄色

当值<0时为红色

我已经用红色箭头标出了错误的地方。

请你看一下代码。

我已经尽力解释了,但如果你需要更多信息,请告诉我。

谢谢。

附加的文件:
 
Klondyke:
你好,Kalenzo。

我一直在观察你为我修复的Indi。

一般来说,它工作得很好,但偶尔也会在线上放错颜色。

正如你在图片中看到的,有些地方应该是番茄或红色,但却变成了DodgerBlue。

规则是。

当数值(收盘时)大于前一个收盘时的数值(上升)时 =

当值<0时,DodgerBlue。

当值>0时为蓝色

当数值(收盘时)小于前一个收盘时的数值(下降) =

当值>0时,番茄色

当值<0时为红色

我已经用红色箭头标出了错误的地方。

请你看一下代码。

我已经尽量解释了,但如果你需要更多信息,请告诉我。

谢谢。

对不起,我忘了拿文件了。

附加的文件:
 

如何转到线型标签?

我怎样才能在Metatrader 4中找到一个行标?

比如说

if(a > b) goto fred

if(c > d) goto jim

:fred

在这里做一些更多的代码

:jim

在这里做一些代码

我得到了一个答案,但我需要再澄清一下

你可以在函数中写一些代码来代替。像这样。

if(a > b) ReturnValue = fred();

if(c > d) ReturnValue = jim();

int fred()

{

在这里做一些更多的代码

}

int jim()

{

在这里做一些代码

}

什么是ReturnValue? 不是一个函数,我到底该怎么写?

 

在你发布的例子中,'ReturnValue'只是一个变量。它可以被称为任何东西,但无论谁给你的代码都使用了'ReturnValue'。

说实话,这种格式并没有什么意义,除非你打算对两个函数 返回的值做一些实际的处理。你不能像在VB中那样使用goto的概念(或者是Basic--已经很久远了,我记不清了!)。

就像...

if(a>b)DoThisFunction();

if(a<b)DoAnotherFunction();

那么当程序跳转时,无论你想做什么,都可以用goto来做,而不是在这两个函数中做。

希望这能说明一些问题。

谢谢

拉克斯

 
luxinterior:
在你发布的例子中,"ReturnValue "只是一个变量。它可以被称为任何东西,但无论谁给你的代码都使用了'ReturnValue'。

说实话,这种格式没有什么意义,除非你打算对这两个函数返回的值进行实际操作。你不能像VB(或者是Basic--太久远了,我记不清了!)中那样使用goto的概念。

就像...

if(a>b)DoThisFunction();

if(a<b)DoAnotherFunction();

那么当程序跳转时,无论你想做什么,都可以用goto来做,而不是在这两个函数中做。

希望这能说明一些问题。

谢谢你的回答。

卢克斯

谢谢你的回答,我想做的是让EA在两个条件中进行选择,但选择先改变的条件。

所以在你的例子中

if(a>b)DoThisFunction()。

if(a<b)DoAnotherFunction()。

它需要的不仅仅是如果这样做,或者如果那样做,因为另一个条件是c和d在a和b之前发生了变化,如果这样做,忽略a和b。

因为在现实中我有

if(a>b && c>d) //在这里买入

否则

如果(a>b && c<d) // 在这里做平仓买入

否则

反过来做一个卖出或接近卖出

但如果c和d先发生变化,在a和b之前,则忽略上述代码,对c和d进行上述测试。

对不起,这是很清楚的

 

使用CSV文件 -- 我都快疯了

你好。

我正在编写一个使用CSV文件的EA。

为了测试,我把我的CSV文件放在以下文件夹中。

/tester/files

这里只是我的EA的一小部分。

int handle = 0;

int Long = 0;

handle=FileOpen("LongMarket.csv",FILE_CSV|FILE_READ,';');

if (handle > 0)

{

Long= FileReadNumber(handle);

FileClose(handle);

}

Print("LongMarket = ", Long);

Print("Long handle = ", handle);

在我的EA中,我读取CSV文件,然后写下一些整数。

现在,当我做测试并在日志中读取 "打印 "信息时,我经常得到旧的整数,而这些整数已经不在CSV文件中写了!!!"。

比如说。

首先是写了3,而我的EA正在工作,把0写进了文件。

我只能看到CSV文件中的3!!。

当我清除该CSV文件并在"/tester/files "文件夹中放入一个带有3的新CSV文件时,我只能从测试前!!!!,读取0。但是我找不到,EA在哪里读到了0!!?

我都快疯了!!!!!

我希望你能理解我的问题,并给我一个建议!!