问吧! - 页 61 1...545556575859606162636465666768...182 新评论 proverbs 2007.06.07 14:08 #601 代码问题 请不要理会这个帖子。这个设置做了我需要做的事情。谢谢你开始帮助我们。 我修改了一个EA,使其与几种方法一起工作。我做了一些研究,但不知道如何在开单时将EA的名称添加到评论栏中。谁能给我指出正确的方向。 我希望有一个简单的字符串命令,我可以把它整合到我修改的任何EA中,这样在测试过程中运行多个EA时,订单就可以更好地组织起来。 谢谢你的时间和洞察力。 这里是我需要修改的非修改部分之一,以输入EA的评论。 if(ObjectFind(BuyStop_TrendName) == 0) { SetObject("Active" + BuyStop_TrendName, ObjectGet(BuyStop_TrendName, OBJPROP_TIME1), ObjectGet(BuyStop_TrendName, OBJPROP_PRICE1) + BuyStop_StepActive*Point, ObjectGet(BuyStop_TrendName, OBJPROP_TIME2), ObjectGet(BuyStop_TrendName, OBJPROP_PRICE2) + BuyStop_StepActive*Point, ObjectGet(BuyStop_TrendName, OBJPROP_COLOR)); SetObject("Prepare" + BuyStop_TrendName, ObjectGet(BuyStop_TrendName, OBJPROP_TIME1), ObjectGet(BuyStop_TrendName, OBJPROP_PRICE1) - BuyStop_StepPrepare*Point, ObjectGet(BuyStop_TrendName, OBJPROP_TIME2), ObjectGet(BuyStop_TrendName, OBJPROP_PRICE2) - BuyStop_StepPrepare*Point, ObjectGet(BuyStop_TrendName, OBJPROP_COLOR)); vA = NormalizeDouble(ObjectGetValueByShift("Active"+BuyStop_TrendName,0),Digits); vM = NormalizeDouble(ObjectGetValueByShift(BuyStop_TrendName,0),Digits); vP = NormalizeDouble(ObjectGetValueByShift("Prepare"+BuyStop_TrendName,0),Digits); sl = vA - BuyStop_StopLoss*Point; tp = vA + BuyStop_TakeProfit*Point; if(Ask = vP && OrderFind(MagicBuyStop) == false) if(OrderSend(Symbol(), OP_BUYSTOP, BuyStop_Lot, vA, 3, sl, tp,"", MagicBuyStop, 0, Green) < 0) Print("Err (", GetLastError(), ") Open BuyStop Price= ", vA, " SL= ", sl," TP= ", tp); if(Ask = vP && OrderFind(MagicBuyStop) == true && glbOrderType == OP_BUYSTOP) { OrderSelect(glbOrderTicket, SELECT_BY_TICKET, MODE_TRADES); if(vA != OrderOpenPrice()) if(OrderModify(glbOrderTicket, vA, sl, tp, 0, Green) == false) Print("Err (", GetLastError(), ") Modify BuyStop Price= ", vA, " SL= ", sl, " TP= ", tp); } if(Ask < vP && OrderFind(MagicBuyStop) == true && glbOrderType == OP_BUYSTOP && AutoClose==true) { OrderDelete(glbOrderTicket); } } [/code] I am not sure of the logic but can I just input the CommentName in the following location? I have not tested this but it compiles fine. [code] if(OrderSend(Symbol(), OP_BUYSTOP, BuyStop_Lot, vA, 3, sl, tp,"CommentName", MagicBuyStop, 0, Green) < 0) Print("Err (", GetLastError(), ") Open BuyStop Price= ", vA, " SL= ", sl," TP= ", tp); 附加的文件: ordercomment.jpg 21 kb Ask! [Archive!] Any rookie question, Raw Ideas [删除] 2007.06.07 15:56 #602 感谢Coderguru为我们提供的服务! 我有一个关于警报的问题。 我想改变这段代码中的警报类型,这样它就会播放我选择的wav文件,而不会出现弹出窗口买入卖出的情况。当分形 出现时,只播放wav文件。 这段代码应该是怎样的。我已经附上了sFractals警报指标。 如果(PrevSignal <= 0 ) { if(ExtDownFractalsBuffer[SIGNAL_BAR] > 0) { PrevSignal = 1; Alert("sFractals (", Symbol(), " , " , Period(), " )- 买入!!")。 } } 如果(PrevSignal >= 0) { 如果(ExtUpFractalsBuffer[SIGNAL_BAR] > 0) { PrevSignal = -1; Alert("sFractals (", Symbol(), " , " , Period(), " )- 卖出!!!")。 } } 附加的文件: sfractals.mq4 8 kb ryanklefas 2007.06.07 16:02 #603 proverbs: 我不清楚其中的逻辑,但我是否可以在以下位置输入CommentName?我没有测试过这个,但它的编译很好。 if(OrderSend(Symbol(), OP_BUYSTOP, BuyStop_Lot, vA, 3, sl, tp,"CommentName", MagicBuyStop, 0, Green) < 0) Print("Err (", GetLastError(), ") Open BuyStop Price= ", vA, " SL= ", sl," TP= ", tp); 这样就可以正常工作了。 你也可以在那个地方放一个字符串变量。 ryanklefas 2007.06.07 16:05 #604 Drivefast: 感谢Coderguru在这里为我们服务!我有一个关于警报的问题。 我想改变这段代码中的警报类型,这样它就会播放我选择的wav文件,而不会出现弹出窗口买入卖出的情况。当分形出现时,只播放wav文件。 这段代码应该是怎样的。我已经附上了sFractals警报指标。 如果(PrevSignal <= 0 ) { if(ExtDownFractalsBuffer[SIGNAL_BAR] > 0) { PrevSignal = 1; Alert("sFractals (", Symbol(), " , " , Period(), " ) - 买入!!")。 } } 如果(PrevSignal >= 0) { 如果(ExtUpFractalsBuffer[SIGNAL_BAR] > 0) { PrevSignal = -1; Alert("sFractals (", Symbol(), " , " , Period(), " ) - 卖出!!!")。 } } 我认为CodersGuru死了还是什么。 他已经有一段时间没有出现了。 总之....,添加这个语句。 PlaySound("alert.wav")。 ....,其中 "alert.wav "是你要播放的文件的名称。 [删除] 2007.06.07 16:47 #605 ryanklefas: 我认为CodersGuru死了还是什么。 他已经有一段时间没有出现了。 总之....,添加这条语句。PlaySound("alert.wav")。.... 其中 "alert.wav "是你要播放的文件的名称。 谢谢你对我的帖子作出回应。 我不太清楚在代码中把PlaySound("alert.wav");放在 哪里。 我可以直接删除这部分吗?Alert("sFractals (", Symbol(), " , " , Period(), " )- 买入!!!")。 或者,是否需要像这样的内容? PrevSignal = 1; PlaySound("alert.wav")。 Alert("sFractals (", Symbol(), ", ", Period(), ")- 买入!!")。 ryanklefas 2007.06.07 17:37 #606 是的。 只要用声音取代整个警报。 if(PrevSignal <= 0 ) { if(ExtDownFractalsBuffer[SIGNAL_BAR] > 0) { PrevSignal = 1; PlaySound("alert.wav"); } } if(PrevSignal >= 0) { if(ExtUpFractalsBuffer[SIGNAL_BAR] > 0) { PrevSignal = -1; PlaySound("alert.wav"); } } [删除] 2007.06.07 21:23 #607 感谢ryanklefas的帮助,它现在就像我想要的那样工作了。 niva 2007.06.08 05:06 #608 询问关于排序的问题 我有一个二维的数据表,存储在一个二维数组中。我想做一些操作,比如根据该数据表的任何一列进行排序。 ArraySort()函数,在指令中,可以对数组的第一维进行排序。我不知道这对我有什么用。 对MetaTrader的数据表排序有什么建议吗? veematics 2007.06.08 05:10 #609 专家顾问之间的沟通 你好。 我想知道是否有办法在专家顾问之间进行交流,比如我有EA A作为主策略 和备份EA B作为备份策略 我把它放在两个不同的交易对上。 我想在EA A处于缩减状态时触发,启动EA B...... 当EA A和EA B的累计利润达到某个目标点时。 关闭EA A和EA B的所有头寸 是否可以这样做? ryanklefas 2007.06.09 08:53 #610 veematics: 你好。我想知道是否有办法在专家顾问之间进行沟通,比如我有EA A作为主策略和备份EA B作为备份策略我把它放在两个不同的对子上...我想在EA A处于缩减状态时触发,启动EA B......当EA A和EA B的累计利润达到某个目标点时。关闭EA A和EA B的所有头寸 是否可以这样做? 我认为全局变量就是你要找的东西。你可以在MetaEditor参考部分查看 它们。要查看您当前的全局变量,请在MT4终端按F3。 1...545556575859606162636465666768...182 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
代码问题
请不要理会这个帖子。这个设置做了我需要做的事情。谢谢你开始帮助我们。
我修改了一个EA,使其与几种方法一起工作。我做了一些研究,但不知道如何在开单时将EA的名称添加到评论栏中。谁能给我指出正确的方向。
我希望有一个简单的字符串命令,我可以把它整合到我修改的任何EA中,这样在测试过程中运行多个EA时,订单就可以更好地组织起来。
谢谢你的时间和洞察力。
这里是我需要修改的非修改部分之一,以输入EA的评论。
if(ObjectFind(BuyStop_TrendName) == 0)
{
SetObject("Active" + BuyStop_TrendName,
ObjectGet(BuyStop_TrendName, OBJPROP_TIME1),
ObjectGet(BuyStop_TrendName, OBJPROP_PRICE1) + BuyStop_StepActive*Point,
ObjectGet(BuyStop_TrendName, OBJPROP_TIME2),
ObjectGet(BuyStop_TrendName, OBJPROP_PRICE2) + BuyStop_StepActive*Point,
ObjectGet(BuyStop_TrendName, OBJPROP_COLOR));
SetObject("Prepare" + BuyStop_TrendName,
ObjectGet(BuyStop_TrendName, OBJPROP_TIME1),
ObjectGet(BuyStop_TrendName, OBJPROP_PRICE1) - BuyStop_StepPrepare*Point,
ObjectGet(BuyStop_TrendName, OBJPROP_TIME2),
ObjectGet(BuyStop_TrendName, OBJPROP_PRICE2) - BuyStop_StepPrepare*Point,
ObjectGet(BuyStop_TrendName, OBJPROP_COLOR));
vA = NormalizeDouble(ObjectGetValueByShift("Active"+BuyStop_TrendName,0),Digits);
vM = NormalizeDouble(ObjectGetValueByShift(BuyStop_TrendName,0),Digits);
vP = NormalizeDouble(ObjectGetValueByShift("Prepare"+BuyStop_TrendName,0),Digits);
sl = vA - BuyStop_StopLoss*Point;
tp = vA + BuyStop_TakeProfit*Point;
if(Ask = vP && OrderFind(MagicBuyStop) == false)
if(OrderSend(Symbol(), OP_BUYSTOP, BuyStop_Lot, vA, 3, sl, tp,"", MagicBuyStop, 0, Green) < 0)
Print("Err (", GetLastError(), ") Open BuyStop Price= ", vA, " SL= ", sl," TP= ", tp);
if(Ask = vP && OrderFind(MagicBuyStop) == true &&
glbOrderType == OP_BUYSTOP)
{
OrderSelect(glbOrderTicket, SELECT_BY_TICKET, MODE_TRADES);
if(vA != OrderOpenPrice())
if(OrderModify(glbOrderTicket, vA, sl, tp, 0, Green) == false)
Print("Err (", GetLastError(), ") Modify BuyStop Price= ", vA,
" SL= ", sl, " TP= ", tp);
}
if(Ask < vP && OrderFind(MagicBuyStop) == true &&
glbOrderType == OP_BUYSTOP && AutoClose==true)
{
OrderDelete(glbOrderTicket);
}
}
[/code]
I am not sure of the logic but can I just input the CommentName in the following location? I have not tested this but it compiles fine.
[code]
if(OrderSend(Symbol(), OP_BUYSTOP, BuyStop_Lot, vA, 3, sl, tp,"CommentName", MagicBuyStop, 0, Green) < 0)
Print("Err (", GetLastError(), ") Open BuyStop Price= ", vA, " SL= ", sl," TP= ", tp);
感谢Coderguru为我们提供的服务!
我有一个关于警报的问题。
我想改变这段代码中的警报类型,这样它就会播放我选择的wav文件,而不会出现弹出窗口买入卖出的情况。当分形 出现时,只播放wav文件。
这段代码应该是怎样的。我已经附上了sFractals警报指标。
如果(PrevSignal <= 0 )
{
if(ExtDownFractalsBuffer[SIGNAL_BAR] > 0)
{
PrevSignal = 1;
Alert("sFractals (", Symbol(), " , " , Period(), " )- 买入!!")。
}
}
如果(PrevSignal >= 0)
{
如果(ExtUpFractalsBuffer[SIGNAL_BAR] > 0)
{
PrevSignal = -1;
Alert("sFractals (", Symbol(), " , " , Period(), " )- 卖出!!!")。
}
}
我不清楚其中的逻辑,但我是否可以在以下位置输入CommentName?我没有测试过这个,但它的编译很好。
if(OrderSend(Symbol(), OP_BUYSTOP, BuyStop_Lot, vA, 3, sl, tp,"CommentName", MagicBuyStop, 0, Green) < 0)
Print("Err (", GetLastError(), ") Open BuyStop Price= ", vA, " SL= ", sl," TP= ", tp);
这样就可以正常工作了。 你也可以在那个地方放一个字符串变量。
感谢Coderguru在这里为我们服务!
我有一个关于警报的问题。
我想改变这段代码中的警报类型,这样它就会播放我选择的wav文件,而不会出现弹出窗口买入卖出的情况。当分形出现时,只播放wav文件。
这段代码应该是怎样的。我已经附上了sFractals警报指标。
如果(PrevSignal <= 0 )
{
if(ExtDownFractalsBuffer[SIGNAL_BAR] > 0)
{
PrevSignal = 1;
Alert("sFractals (", Symbol(), " , " , Period(), " ) - 买入!!")。
}
}
如果(PrevSignal >= 0)
{
如果(ExtUpFractalsBuffer[SIGNAL_BAR] > 0)
{
PrevSignal = -1;
Alert("sFractals (", Symbol(), " , " , Period(), " ) - 卖出!!!")。
}
}我认为CodersGuru死了还是什么。 他已经有一段时间没有出现了。
总之....,添加这个语句。
PlaySound("alert.wav")。
....,其中 "alert.wav "是你要播放的文件的名称。
我认为CodersGuru死了还是什么。 他已经有一段时间没有出现了。
总之....,添加这条语句。
PlaySound("alert.wav")。
.... 其中 "alert.wav "是你要播放的文件的名称。谢谢你对我的帖子作出回应。
我不太清楚在代码中把PlaySound("alert.wav");放在 哪里。
我可以直接删除这部分吗?Alert("sFractals (", Symbol(), " , " , Period(), " )- 买入!!!")。
或者,是否需要像这样的内容?
PrevSignal = 1;
PlaySound("alert.wav")。
Alert("sFractals (", Symbol(), ", ", Period(), ")- 买入!!")。
是的。 只要用声音取代整个警报。
{
if(ExtDownFractalsBuffer[SIGNAL_BAR] > 0)
{
PrevSignal = 1;
PlaySound("alert.wav");
}
}
if(PrevSignal >= 0)
{
if(ExtUpFractalsBuffer[SIGNAL_BAR] > 0)
{
PrevSignal = -1;
PlaySound("alert.wav");
}
}感谢ryanklefas的帮助,它现在就像我想要的那样工作了。
询问关于排序的问题
我有一个二维的数据表,存储在一个二维数组中。我想做一些操作,比如根据该数据表的任何一列进行排序。
ArraySort()函数,在指令中,可以对数组的第一维进行排序。我不知道这对我有什么用。
对MetaTrader的数据表排序有什么建议吗?
专家顾问之间的沟通
你好。
我想知道是否有办法在专家顾问之间进行交流,比如我有EA A作为主策略
和备份EA B作为备份策略
我把它放在两个不同的交易对上。
我想在EA A处于缩减状态时触发,启动EA B......
当EA A和EA B的累计利润达到某个目标点时。
关闭EA A和EA B的所有头寸
是否可以这样做?
你好。
我想知道是否有办法在专家顾问之间进行沟通,比如我有EA A作为主策略
和备份EA B作为备份策略
我把它放在两个不同的对子上...
我想在EA A处于缩减状态时触发,启动EA B......
当EA A和EA B的累计利润达到某个目标点时。
关闭EA A和EA B的所有头寸
是否可以这样做?我认为全局变量就是你要找的东西。你可以在MetaEditor参考部分查看 它们。要查看您当前的全局变量,请在MT4终端按F3。