if(sparam==SellButton) { result_message=MessageBox("Do you want to proceed?","Warning",MB_YESNO);
if(result_message==IDYES) { ordersell(); // Send Order function here Print("Clicked YES"," Sell Order Applied"); } else { Print("Clicked NO"," Sell Order Canceled"); } ObjectSetInteger(0,sparam,OBJPROP_STATE,false); }
如果你喜欢看到它被写下来,可以使用 "else if "语句。
if(sparam==SellButton) { result_message=MessageBox("Do you want to proceed?","Warning",MB_YESNO);
if(result_message==IDYES) { ordersell(); // Send Order function here Print("Clicked YES"," Sell Order Applied"); }
elseif(result_message==IDNO) { Print("Clicked NO"," Sell Order Canceled"); } ObjectSetInteger(0,sparam,OBJPROP_STATE,false); }
不,那是为了验证是模拟账户 还是真实账户,比赛很少使用。
最大手数可以很容易。
谢谢你的及时答复。
我只需要在模拟账户上申请最大手数。
(当然实际上是真实账户--这只是为了测试--我想试试,如果是模拟账户,如果手数更好,那么手数最大值就不会打开 卖单和买单--但如果是真实账户或比赛账户--那么这个手数最大值就不会 同时适用于 它们(真实或比赛))。
我可以使用切换操作员吗?
非常感谢。
(我以后会尝试。)
// calculate lotsize here
//---
// check if lotsize is not too high
if(lotsize>lotsize_max)
{
lotsize=losize_max;
}
我想问 - 你想说 - 如果 "lotsize > lotsize_max",那么模拟账户 的手数应该是 "lotsize = lotsize_max"?我的理解是正确的,请问?
非常感谢。
(我正在努力解决这个问题)
我想问 - 你想说 - 如果 "lotsize > lotsize_max",那么模拟账户 的手数应该是 "lotsize = lotsize_max"?我没有理解错吧,请问?
非常感谢。
( 我正在努力解决 )
尝试一下
哦!不错非常感谢。
----
功能 应该问我 - 是 或否- 我认为这对现在来说是更好。(我只是需要这个功能的经验,它是如何在我的模拟(当然是真实)账户上工作的 - 我将在周一测试这个功能 - 如果我能完成这部分代码)
(现在我对这个功能的了解还不够--我希望我可以在明天之前完成)
任何好的评论对我来说都是最好的帮助。
请提前感谢。
是的,当然,通过所有手段去使用它,没有Lotsmax,如果你以后想微调你的策略或想限制风险,你可以使用它,所以它不是一个必要的,因为目前。
你可以取消它,我只是想向你展示我的安全机制的一些线路。
如果你想确认,你可以使用一个
https://docs.mql4.com/common/messagebox
int result=MessageBox(" This is a Messagbox, Do you want to proceed?","Warning",MB_YESNO);
if(result==IDYES)
{
// Yes Pressed
Print("OK");
}
if(result==IDNO)
{
// No Pressed
}
以下是你在消息后的消息框功能中设置的主要标志。
常数
价值
说明
MB_OK
0x00000000
信息窗口只包含一个按钮。确定。默认值
MB_OKCANCEL
0x00000001
信息窗口包含两个按钮。确定和取消
mb_abortretryignore
0x00000002
消息窗口包含三个按钮。中止、重试和忽略
MB_YESNOCANCEL
0x00000003
消息窗口包含三个按钮。是、否和取消
MB_YESNO
0x00000004
信息窗口包含两个按钮。是和否
MB_RETRYCANCEL
0x00000005
消息窗口包含两个按钮。重试和取消
mb_canceltrycontinue
0x00000006
消息窗口包含三个按钮。取消,重试,继续
还有这里的返回值。
常数
返回值
说明
IDOK
1
"OK "按钮已被按下
IDCANCEL
2
已按下 "取消 "按钮
取消
3
已按下 "中止 "按钮
IDRETRY
4
已按下 "重试 "按钮
终止
5
"忽略 "按钮已被按下
忽略
6
已按下 "是 "按钮
拒绝
7
按了 "否 "的按钮
身份证号:IDTRYAGAIN
10
已按下 "再试 "按钮
IDCONTINUE
11
"继续 "按钮已被按下
Messagebox()在测试器中不起作用。
是的,当然,通过各种手段去使用它,没有Lotsmax,如果你后来想微调你的策略或想限制风险,你可以使用它,所以它不是一个必要的,因为目前。
你可以取消它,我只是想向你展示我的安全机制的一些线路。
非常感谢您的巨大帮助。
所以,我刚刚尝试了以下方法,请问我做得对吗?
(我需要在我把它们带到我的主要.mq4文件之前问一下 - 我正在努力)
先谢谢你。
{
result_message=MessageBox("Do you want to proceed?","Warning",MB_YESNO);
if(result_message==IDYES)
{
ordersell(); // Send Order function here
Print("Clicked YES"," Sell Order Applied");
}
if(result_message==IDNO)
{
Print("Clicked NO"," Sell Order Canceled");
}
ObjectSetInteger(0,sparam,OBJPROP_STATE,false);
}
只是一个风格提示,这将使你的代码运行(非常,非常轻微)更有效率......但是,嘿,这一切都增加了
你有一个有2个按钮的消息框。如果它不是IDYES,它一定是IDNO(或者函数 没有成功完成)。
所以没有必要对result_message测试 两次。
{
result_message=MessageBox("Do you want to proceed?","Warning",MB_YESNO);
if(result_message==IDYES)
{
ordersell(); // Send Order function here
Print("Clicked YES"," Sell Order Applied");
}
else
{
Print("Clicked NO"," Sell Order Canceled");
}
ObjectSetInteger(0,sparam,OBJPROP_STATE,false);
}
如果你喜欢看到它被写下来,可以使用 "else if "语句。
{
result_message=MessageBox("Do you want to proceed?","Warning",MB_YESNO);
if(result_message==IDYES)
{
ordersell(); // Send Order function here
Print("Clicked YES"," Sell Order Applied");
}
else if(result_message==IDNO)
{
Print("Clicked NO"," Sell Order Canceled");
}
ObjectSetInteger(0,sparam,OBJPROP_STATE,false);
}
只是一个风格提示,这将使你的代码运行(非常,非常轻微)更有效率......但是,嘿,这一切都增加了
你有一个有2个按钮的消息框。如果它不是IDYES,它一定是IDNO(或者函数 没有成功完成)。
所以没有必要对result_message 进行两次测试。
非常感谢你所做的一切。
现在,我可以把它们放在主EA中。
( 我还需要MessageBox()的经验 )
非常感谢你所做的一切。
现在,我可以把它们放在主EA中。
(我还需要MessageBox()的经验)