[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 595 1...588589590591592593594595596597598599600601602...652 新评论 NADYA 2012.02.27 18:00 #5941 Wanderer1000: 安装了MetaTrader 4,开设了一个模拟账户。试图打开/关闭订单。现在我怎样才能使终端本身在价格上涨时触发卖单,在价格下跌时触发买单,使用 "你需要2根蜡烛的差价来关闭旧的订单并开立新的订单 "这样的信息? 写一个EA,也许) Рустам 2012.02.27 18:18 #5942 nadya: 晚上好。问题:当我关闭一个交易的一部分时,EA会用一个新的票据打开一个新的交易。新秩序的魔力是否依然如故? 是 Иван 2012.02.27 21:37 #5943 谁能解释一下为什么所有的交易都是买入?我在SELL上没有交易,SELL上if()前的旗形指标不知为何总是1,WHY???? 在设置中是多头和空头。 我还想问,为什么我让我的EA错过了一些我可以打开的位置?我不能进去! 以下是代码(变量声明 被截断): double upfr,dnfr=0.0;//最后一个分形的水平 int flag=0; int start() //在分形中断时打开,在s烛光后关闭 { if(iFractals(Symbol(),PERIOD_H1,MODE_UPPER,4) !=0) { upfr=iFractals(Symbol(),PERIOD_H1,MODE_UPPER,4); } if(iFractals(Symbol(),PERIOD_H1,MODE_UPPER,4)==0) { upfr=0; } if(iFractals(Symbol(),PERIOD_H1,MODE_LOWER,4)!=0) { dnfr=iFractals(Symbol(),PERIOD_H1,MODE_LOWER,4); } if(iFractals(Symbol(,PERIOD_H1,MODE_LOWER,4)==0) { dnfr=0; } //通过PROBIT打开ORDRERS H=iHigh(Symbol(),PERIOD_H1,1); L=iLow(Symbol(),PERIOD_H1,1); tOpen=iTime(Symbol(),PERIOD_H1,1); if(H>upfr &&)flag==0) //如果分形上升,并且超过了分形水平 { tClose=tOpen+s*stime*60; OrderSend(Symbol(),OP_BUY,lot,Ask,slipage,NULL,NULL); flag=1; } 如果(L<dnfr) Print(L," -L dnfr- " ,dnfr," flag- " ,flag); if(L<dnfr &&)flag==0)//如果分形下跌且分形水平下降 { tClose=tOpen+s*stime*60; OrderSend(Symbol(),OP_SELL,lot,Bid,slipage,NULL,NULL); flag=1; } //按时间结束关闭订单 if(Time[1]>=tClose && flag==1)//如果指定时间已过 { Print("CLOSE FUNCTION"); OrClose() ; flag=0; upfr=0; dnfr=0; } return(0); } 附加的文件: 1liedmpsbk1.mq4 4 kb [ARCHIVE] Any rookie question, [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 [WARNING CLOSED!] Any newbie DOCTORGAD 2012.02.28 04:04 #5944 偶然发现了这个... 当删除一个EA时,它必须删除未决订单 有两种变体 1.它只是删除了一切... int deinit() { int i; //---- for(i=OrdersTotal()-1; i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS)) { if (OrderType() == OP_BUYSTOP) { OrderDelete(OrderTicket()); } if (OrderType() == OP_SELLSTOP) { OrderDelete(OrderTicket()); } } } //---- return(0); } 2.选择性地... int deinit() { OrderSelect(ticket1,SELECT_BY_TICKET,MODE_TRADES); OrderDelete(ticket1); OrderSelect(ticket2,SELECT_BY_TICKET,MODE_TRADES); OrderDelete(ticket2); return(0); } 现在,问题是,在演示中,两种情况下都能正常工作......但在现实生活中...由于某种原因,只有一个待处理的地段被删除...问题--谁知道为什么? [ARCHIVE] Any rookie question, [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 KimIV的有用功能 ilunga 2012.02.28 05:10 #5945 DOCTORS:偶然发现了这个...当删除一个EA时,它必须删除未决订单 有两种变体1.它只是删除了一切... int deinit() { int i; //---- for(i=OrdersTotal()-1; i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS)) { if (OrderType() == OP_BUYSTOP) { OrderDelete(OrderTicket()); } if (OrderType() == OP_SELLSTOP) { OrderDelete(OrderTicket()); } } } //---- return(0); } 2.选择性地... int deinit() { OrderSelect(ticket1,SELECT_BY_TICKET,MODE_TRADES); OrderDelete(ticket1); OrderSelect(ticket2,SELECT_BY_TICKET,MODE_TRADES); OrderDelete(ticket2); return(0); } 现在,问题是,在演示中,两种情况下都能正常工作......但在现实生活中...由于某种原因,只有一个待处理的地段被删除...问题是--谁知道为什么? IMHO "没有足够的时间"。 一个特殊函数deinit()的运行时间 被限制在2.5秒。如果一个特殊函数deinit()的代码执行时间超过指定时间,客户终端将强制终止特殊函数deinit()和整个程序。 DOCTORGAD 2012.02.28 05:19 #5946 ilunga: IMHO "不及时"。 特殊函数deinit()的执行时间为2.5秒。如果特殊deinit()函数中的代码运行时间超过这个时间,客户终端将强行终止特殊deinit()函数和整个程序。 :( 也就是说,没有希望了?粗略的说,我们先用脚本关闭挂单... 然后关闭猫头鹰...不错的自动交易... 还有一个问题--助手已经把吊坠镶嵌在https://forum.mql4.com/ru/42300/page588 当我改变时间框架时,由于某种原因,订单被删除... ilunga 2012.02.28 05:34 #5947 DOCTORS::( 所以没有希望了?粗略地说,我们先用一个脚本来关闭吊坠......然后再关闭猫头鹰......。不错的自动交易...还有一个问题--助手已经把吊坠镶嵌在https://forum.mql4.com/ru/42300/page588当我改变时间框架时,由于某种原因,订单被删除... 脚本或以其他方式命令EA终止其操作(例如,通过全局变量)。 时间框架的变化=专家顾问的重启 DOCTORGAD 2012.02.28 05:38 #5948 ilunga: 脚本或其他方式来命令EA终止(例如,通过全局变量)。 时间框架的变化=专家顾问的重启 该变量起作用了--非常感谢你 嗯......没有办法绕过时间框架的变化? link1 2012.02.28 08:14 #5949 论坛成员,请帮助修改订单 Vitalie Postolache 2012.02.28 10:32 #5950 问题:在视觉测试 模式下,指标线只在测试结束时画出,每个人都是这种情况,还是我做错了什么? 1...588589590591592593594595596597598599600601602...652 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
安装了MetaTrader 4,开设了一个模拟账户。试图打开/关闭订单。现在我怎样才能使终端本身在价格上涨时触发卖单,在价格下跌时触发买单,使用 "你需要2根蜡烛的差价来关闭旧的订单并开立新的订单 "这样的信息?
晚上好。问题:当我关闭一个交易的一部分时,EA会用一个新的票据打开一个新的交易。新秩序的魔力是否依然如故?
是
谁能解释一下为什么所有的交易都是买入?我在SELL上没有交易,SELL上if()前的旗形指标不知为何总是1,WHY???? 在设置中是多头和空头。
我还想问,为什么我让我的EA错过了一些我可以打开的位置?我不能进去!
以下是代码(变量声明 被截断):
double upfr,dnfr=0.0;//最后一个分形的水平
int flag=0;
int start() //在分形中断时打开,在s烛光后关闭
{
if(iFractals(Symbol(),PERIOD_H1,MODE_UPPER,4) !=0)
{
upfr=iFractals(Symbol(),PERIOD_H1,MODE_UPPER,4);
}
if(iFractals(Symbol(),PERIOD_H1,MODE_UPPER,4)==0)
{
upfr=0;
}
if(iFractals(Symbol(),PERIOD_H1,MODE_LOWER,4)!=0)
{
dnfr=iFractals(Symbol(),PERIOD_H1,MODE_LOWER,4);
}
if(iFractals(Symbol(,PERIOD_H1,MODE_LOWER,4)==0)
{
dnfr=0;
}
//通过PROBIT打开ORDRERS
H=iHigh(Symbol(),PERIOD_H1,1);
L=iLow(Symbol(),PERIOD_H1,1);
tOpen=iTime(Symbol(),PERIOD_H1,1);
if(H>upfr &&)flag==0) //如果分形上升,并且超过了分形水平
{
tClose=tOpen+s*stime*60;
OrderSend(Symbol(),OP_BUY,lot,Ask,slipage,NULL,NULL);
flag=1;
}
如果(L<dnfr)
Print(L," -L dnfr- " ,dnfr," flag- " ,flag);
if(L<dnfr &&)flag==0)//如果分形下跌且分形水平下降
{
tClose=tOpen+s*stime*60;
OrderSend(Symbol(),OP_SELL,lot,Bid,slipage,NULL,NULL);
flag=1;
}
//按时间结束关闭订单
if(Time[1]>=tClose && flag==1)//如果指定时间已过
{
Print("CLOSE FUNCTION");
OrClose() ;
flag=0;
upfr=0;
dnfr=0;
}
return(0);
}
偶然发现了这个...
当删除一个EA时,它必须删除未决订单
有两种变体
1.它只是删除了一切...
int deinit()
{
int i;
//----
for(i=OrdersTotal()-1; i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS))
{
if (OrderType() == OP_BUYSTOP)
{
OrderDelete(OrderTicket());
}
if (OrderType() == OP_SELLSTOP)
{
OrderDelete(OrderTicket());
}
}
}
//----
return(0);
}
2.选择性地...
int deinit()
{
OrderSelect(ticket1,SELECT_BY_TICKET,MODE_TRADES);
OrderDelete(ticket1);
OrderSelect(ticket2,SELECT_BY_TICKET,MODE_TRADES);
OrderDelete(ticket2);
return(0);
}
现在,问题是,在演示中,两种情况下都能正常工作......但在现实生活中...由于某种原因,只有一个待处理的地段被删除...问题--谁知道为什么?
偶然发现了这个...
当删除一个EA时,它必须删除未决订单
有两种变体
1.它只是删除了一切...
int deinit()
{
int i;
//----
for(i=OrdersTotal()-1; i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS))
{
if (OrderType() == OP_BUYSTOP)
{
OrderDelete(OrderTicket());
}
if (OrderType() == OP_SELLSTOP)
{
OrderDelete(OrderTicket());
}
}
}
//----
return(0);
}
2.选择性地...
int deinit()
{
OrderSelect(ticket1,SELECT_BY_TICKET,MODE_TRADES);
OrderDelete(ticket1);
OrderSelect(ticket2,SELECT_BY_TICKET,MODE_TRADES);
OrderDelete(ticket2);
return(0);
}
现在,问题是,在演示中,两种情况下都能正常工作......但在现实生活中...由于某种原因,只有一个待处理的地段被删除...问题是--谁知道为什么?
IMHO "没有足够的时间"。
一个特殊函数deinit()的运行时间 被限制在2.5秒。如果一个特殊函数deinit()的代码执行时间超过指定时间,客户终端将强制终止特殊函数deinit()和整个程序。
IMHO "不及时"。
特殊函数deinit()的执行时间为2.5秒。如果特殊deinit()函数中的代码运行时间超过这个时间,客户终端将强行终止特殊deinit()函数和整个程序。
:(
也就是说,没有希望了?粗略的说,我们先用脚本关闭挂单... 然后关闭猫头鹰...不错的自动交易...
还有一个问题--助手已经把吊坠镶嵌在https://forum.mql4.com/ru/42300/page588
当我改变时间框架时,由于某种原因,订单被删除...
:(
所以没有希望了?粗略地说,我们先用一个脚本来关闭吊坠......然后再关闭猫头鹰......。不错的自动交易...
还有一个问题--助手已经把吊坠镶嵌在https://forum.mql4.com/ru/42300/page588
当我改变时间框架时,由于某种原因,订单被删除...
脚本或以其他方式命令EA终止其操作(例如,通过全局变量)。
时间框架的变化=专家顾问的重启
脚本或其他方式来命令EA终止(例如,通过全局变量)。
时间框架的变化=专家顾问的重启
嗯......没有办法绕过时间框架的变化?