如何编码? - 页 222 1...215216217218219220221222223224225226227228229...347 新评论 ForExTyro 2009.12.08 07:51 #2211 谢谢Roger09 原文由ForExTyro发表 我想在一个EA中添加代码,限制它每天的交易数量,使其只能做两笔(2)。每天只有一个多头交易和一个空头交易。这是我目前掌握的代码,但在后面的测试中,它不起作用。 你能帮助我吗? 回复者:Roger09替换 datetime LongTrade=0; datetime ShortTrade=0; 改为 static datetime LongTrade=0。 静态数据时间ShortTrade=0。 就这样了? 这就是它了! 谢谢你,Roger09 FXMan77 2009.12.08 12:49 #2212 你好。 这是一个很好的例子,如何看待反编译的EA和Ind. b. compobey 2009.12.08 18:04 #2213 Kalenzo: 这就对了!请欣赏 嗨,Kalenzo。 我再次需要你的帮助,你能不能像以前那样为我编码一个额外的 信息,我想把LSMA酒吧的信息放进去。 当LSMA Woodie Bar为绿色时,显示Word LONG(绿色)。 而当Woodie Bar为红色时,它显示Short(红色)。 查看附件中的图片。 http://i98.photobucket.com/albums/l277/compobey/CCIinfo.jpg 请注意。 compobey paralotnik 2009.12.08 19:05 #2214 帮助请求 大家好 我一直在使用非常简单的系统,每月赚取约+100点。 我想把它变成EA,但我对编码非常陌生,我感到非常迷茫 。也许你们这些家伙/女士可以帮助我创建这个EA,我们都可以使用它? 如果您有兴趣,请告诉我,我将发布EA需要做的细节。 谢谢你们 klondyke 2009.12.09 08:48 #2215 卡伦佐 Kalenzo: 就这样吧!请欣赏 你好,Kalenzo。 我一直在观察你为我修复的Indi。 一般来说,它工作得很好,但偶尔也会在线上放错颜色。 正如你在图片中看到的,有些地方应该是番茄色或红色,但却变成了DodgerBlue。 规则是。 当数值(收盘时)大于前一个收盘时的数值(上升)时 = 当值<0时,DodgerBlue。 当值>0时为蓝色 当数值(收盘时)小于前一个收盘时的数值(下降) = 当值>0时,番茄色 当值<0时为红色 我已经用红色箭头标出了错误的地方。 请你看一下代码。 我已经尽力解释了,但如果你需要更多信息,请告诉我。 谢谢。 附加的文件: complex_pairs1_colored.gif 24 kb klondyke 2009.12.09 09:32 #2216 Klondyke: 你好,Kalenzo。我一直在观察你为我修复的Indi。 一般来说,它工作得很好,但偶尔也会在线上放错颜色。 正如你在图片中看到的,有些地方应该是番茄或红色,但却变成了DodgerBlue。 规则是。 当数值(收盘时)大于前一个收盘时的数值(上升)时 = 当值<0时,DodgerBlue。 当值>0时为蓝色 当数值(收盘时)小于前一个收盘时的数值(下降) = 当值>0时,番茄色 当值<0时为红色 我已经用红色箭头标出了错误的地方。 请你看一下代码。 我已经尽量解释了,但如果你需要更多信息,请告诉我。 谢谢。 对不起,我忘了拿文件了。 附加的文件: complex_pairs1_colored.mq4 5 kb increase 2009.12.11 07:38 #2217 如何转到线型标签? 我怎样才能在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? 不是一个函数,我到底该怎么写? luxinterior 2009.12.11 11:19 #2218 在你发布的例子中,'ReturnValue'只是一个变量。它可以被称为任何东西,但无论谁给你的代码都使用了'ReturnValue'。 说实话,这种格式并没有什么意义,除非你打算对两个函数 返回的值做一些实际的处理。你不能像在VB中那样使用goto的概念(或者是Basic--已经很久远了,我记不清了!)。 就像... if(a>b)DoThisFunction(); if(a<b)DoAnotherFunction(); 那么当程序跳转时,无论你想做什么,都可以用goto来做,而不是在这两个函数中做。 希望这能说明一些问题。 谢谢 拉克斯 increase 2009.12.11 13:57 #2219 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进行上述测试。 对不起,这是很清楚的 sunshineh 2009.12.12 14:57 #2220 使用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!!? 我都快疯了!!!!! 我希望你能理解我的问题,并给我一个建议!! 任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. How to code? Working with CSV-Files --I 1...215216217218219220221222223224225226227228229...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谢谢Roger09
原文由ForExTyro发表
我想在一个EA中添加代码,限制它每天的交易数量,使其只能做两笔(2)。每天只有一个多头交易和一个空头交易。这是我目前掌握的代码,但在后面的测试中,它不起作用。
你能帮助我吗?
替换
datetime LongTrade=0;
datetime ShortTrade=0;
改为
static datetime LongTrade=0。
静态数据时间ShortTrade=0。就这样了?
这就是它了!
谢谢你,Roger09
你好。
这是一个很好的例子,如何看待反编译的EA和Ind.
b.
这就对了!请欣赏
嗨,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。
我一直在观察你为我修复的Indi。
一般来说,它工作得很好,但偶尔也会在线上放错颜色。
正如你在图片中看到的,有些地方应该是番茄色或红色,但却变成了DodgerBlue。
规则是。
当数值(收盘时)大于前一个收盘时的数值(上升)时 =
当值<0时,DodgerBlue。
当值>0时为蓝色
当数值(收盘时)小于前一个收盘时的数值(下降) =
当值>0时,番茄色
当值<0时为红色
我已经用红色箭头标出了错误的地方。
请你看一下代码。
我已经尽力解释了,但如果你需要更多信息,请告诉我。
谢谢。
你好,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来做,而不是在这两个函数中做。
希望这能说明一些问题。
谢谢
拉克斯
在你发布的例子中,"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!!?
我都快疯了!!!!!
我希望你能理解我的问题,并给我一个建议!!