如何编码? - 页 78 1...717273747576777879808182838485...347 新评论 hedge4x 2008.03.14 11:39 #771 我现在让它工作了。 Michel 2008.03.14 16:23 #772 hedge4x: 这一行 while(!IsAllClosed) {CloseAllTrades(); return;}。在主启动时将关闭所有未结头寸,如果MT下降 而我又重新启动它。 是否有办法将这一行 在closealltrades函数中,这样它就不会在MT4重启后关闭所有未结头寸了。 的方法,以便在MT4重启后不关闭所有未结头寸? 谢谢。 是的,对不起,你可以这样在启动时定义bool。 bool IsAllClosed = true ; //Global variable[/PHP] Then it becomes even better to define a extern variable, so you can keep the control :[PHP]extern bool CloseAll = false ; //Global variable void CloseAllTrades() { int cnt; CloseAll = false; for(cnt=OrdersTotal()-1;cnt>=0;cnt--) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber()==GetMagicNumber()) CloseAll = CloseAll || !OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), MarketInfo(OrderSymbol(), MODE_SPREAD), Yellow); } } void start() { while(CloseAll) {CloseAllTrades(); return;} ... 这种方法的主要优点是,EA会在每个点位尝试关闭每个头寸,直到全部关闭。 How to code? EA: Lucky 移动平均线专家! eldegwy 2008.03.18 02:47 #773 需要帮助的是我的半专业性的第一个EA 大家好... 我在伟大的专家顾问Bulder网站上做了一个EA,我对它进行了测试,发现它在过去的一年中是可以盈利的,但我认为它可以得到加强... 所以,如果有人能帮助改善该EA? 关于EA的详细情况... 该EA基于两个指标,其中一个是我的,另一个可以在bublic fourms上找到 "零滞后macd"。 现在这个专家一直在工作,先是买入,然后收盘,再转为卖出,如此反复...... 我需要让它只在短暂的时间内工作,添加一个资金管理机制,最后我需要将买入或卖出的时间推迟到下一个 "1分钟 "的蜡烛上,但事实上EA在1H蜡烛上工作... 所以希望能在这方面找到帮助。 谢谢大家 致以最崇高的敬意 塔莫 附加的文件: zerolag_macd.ex4 4 kb harv-test.gif 7 kb harv-test.htm 114 kb eur_harvester.ex4 4 kb -ate-1.mq4 11 kb star900 2008.03.19 23:42 #774 如何引用我正在运行的文件名? 你好。 我想知道我怎样才能引用我正在运行的文件名。 例如,如果我运行一个名为supertrader.mq4的脚本,我想从supertrader脚本中打开一个名为supertrader_logfile的日志文件。 是否有一个变量可以保存我正在运行的文件的名称? 谢谢。 Linuxser 2008.03.20 03:17 #775 star90: 你好。我想知道我怎样才能引用我正在运行的文件名。 例如,如果我运行一个名为supertrader.mq4的脚本,我想从supertrader脚本中打开一个名为supertrader_logfile的日志文件。 是否有一个变量来保存我正在运行的文件的名称? 谢谢。 也许可以通过在脚本中加入void Print( ...)。 void Print( ...) 打印一条信息到专家日志。 BigBe 2008.03.21 05:43 #776 致阿德里亚 你看到我的PM了吗? 大贝 richman 2008.03.21 08:07 #777 狼潮。我需要你的帮助 亲爱的Codersguru。 我不是一个程序员,在我的试验和错误风格中,我试图改进的wolf wave给出的信号是 "第二个参数,ObjectTextSetFunction必须是一个字符串。 请帮助我改正。 谢谢您的期待。 附加的文件: wolfwave.rar 3 kb nittany1 2008.03.23 22:35 #778 嗨,我需要一个布尔函数,如果5分钟过去了,或10分钟或其他什么,则返回真。我已经知道如何检查一个新栏,但它不够频繁。 Linuxser 2008.03.23 23:08 #779 nittany1: 嗨,我需要一个bool函数,如果5分钟过去了,或10分钟过去了,则返回true。我已经知道如何检查一个新条,但它不够频繁。 也许 double LastRedraw = 0; if(TimeLocal() - LastRedraw > 300) { Print(); ObjectsRedraw(); Print("ObjectsRedraw Done"); LastRedraw = TimeLocal(); } omelette 2008.03.24 02:23 #780 Linuxser: 也许 double LastRedraw = 0; if(TimeLocal() - LastRedraw > 300) { Print(); ObjectsRedraw(); Print("ObjectsRedraw Done"); LastRedraw = TimeLocal(); } [/code] 或者这样。 [代码] bool ElapsedTimeCheck(int MyMinutes) { 静态数据时间OldTime。 如果(OldTime == 0) OldTime = TimeCurrent() + MyMinutes * 60; // Initialised once... 如果(TimeCurrent() >= OldTime) { OldTime = TimeCurrent() + MyMinutes * 60; bool cond = true; } 否则 cond = false。 return(cond); } 1...717273747576777879808182838485...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我现在让它工作了。
这一行 while(!IsAllClosed) {CloseAllTrades(); return;}。
在主启动时将关闭所有未结头寸,如果MT下降
而我又重新启动它。 是否有办法将这一行
在closealltrades函数中,这样它就不会在MT4重启后关闭所有未结头寸了。
的方法,以便在MT4重启后不关闭所有未结头寸?
谢谢。是的,对不起,你可以这样在启动时定义bool。
Then it becomes even better to define a extern variable, so you can keep the control :[PHP]extern bool CloseAll = false ; //Global variable
void CloseAllTrades()
{
int cnt;
CloseAll = false;
for(cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderMagicNumber()==GetMagicNumber())
CloseAll = CloseAll || !OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), MarketInfo(OrderSymbol(), MODE_SPREAD), Yellow);
}
}
void start()
{
while(CloseAll) {CloseAllTrades(); return;}
...
这种方法的主要优点是,EA会在每个点位尝试关闭每个头寸,直到全部关闭。
需要帮助的是我的半专业性的第一个EA
大家好...
我在伟大的专家顾问Bulder网站上做了一个EA,我对它进行了测试,发现它在过去的一年中是可以盈利的,但我认为它可以得到加强...
所以,如果有人能帮助改善该EA?
关于EA的详细情况...
该EA基于两个指标,其中一个是我的,另一个可以在bublic fourms上找到 "零滞后macd"。
现在这个专家一直在工作,先是买入,然后收盘,再转为卖出,如此反复......
我需要让它只在短暂的时间内工作,添加一个资金管理机制,最后我需要将买入或卖出的时间推迟到下一个 "1分钟 "的蜡烛上,但事实上EA在1H蜡烛上工作...
所以希望能在这方面找到帮助。
谢谢大家
致以最崇高的敬意
塔莫
如何引用我正在运行的文件名?
你好。
我想知道我怎样才能引用我正在运行的文件名。
例如,如果我运行一个名为supertrader.mq4的脚本,我想从supertrader脚本中打开一个名为supertrader_logfile的日志文件。
是否有一个变量可以保存我正在运行的文件的名称?
谢谢。
你好。
我想知道我怎样才能引用我正在运行的文件名。
例如,如果我运行一个名为supertrader.mq4的脚本,我想从supertrader脚本中打开一个名为supertrader_logfile的日志文件。
是否有一个变量来保存我正在运行的文件的名称?
谢谢。也许可以通过在脚本中加入void Print( ...)。
void Print( ...) 打印一条信息到专家日志。
致阿德里亚
你看到我的PM了吗?
大贝
狼潮。我需要你的帮助
亲爱的Codersguru。
我不是一个程序员,在我的试验和错误风格中,我试图改进的wolf wave给出的信号是 "第二个参数,ObjectTextSetFunction必须是一个字符串。
请帮助我改正。
谢谢您的期待。
嗨,我需要一个布尔函数,如果5分钟过去了,或10分钟或其他什么,则返回真。我已经知道如何检查一个新栏,但它不够频繁。
嗨,我需要一个bool函数,如果5分钟过去了,或10分钟过去了,则返回true。我已经知道如何检查一个新条,但它不够频繁。
也许
double LastRedraw = 0;
if(TimeLocal() - LastRedraw > 300)
{
Print();
ObjectsRedraw();
Print("ObjectsRedraw Done");
LastRedraw = TimeLocal();
}
也许
double LastRedraw = 0;
if(TimeLocal() - LastRedraw > 300)
{
Print();
ObjectsRedraw();
Print("ObjectsRedraw Done");
LastRedraw = TimeLocal();
}
[/code]或者这样。
[代码]
bool ElapsedTimeCheck(int MyMinutes)
{
静态数据时间OldTime。
如果(OldTime == 0)
OldTime = TimeCurrent() + MyMinutes * 60; // Initialised once...
如果(TimeCurrent() >= OldTime)
{
OldTime = TimeCurrent() + MyMinutes * 60;
bool cond = true;
}
否则 cond = false。
return(cond);
}