[存档!]免费撰写顾问文章 - 页 71 1...646566676869707172737475767778...94 新评论 [删除] 2011.05.15 02:56 #701 我请求帮助编写一个基于i-Regr指标的简单交易机器人。如果做得好,我保证合理的付款。 如果有人感兴趣,请写信给 ma.gog@mail.ru Cashin 2011.05.16 10:37 #702 亲爱的程序员先生们!我请求帮助我写一个EA,因为我还不会说MQL。 如果EA能够盈利,我愿意与写它的人分享我的利润,或者描述你的条件。我认为它应该是有利可图的。 总体思路如下: 1.专家顾问应在分形上放置待定的止损和限价订单(买入止损、卖出止损、买入限价、卖出限价),应设置订单的到期 时间(小时、分钟)。 2.订单类型应该是可切换的(要么是止损和限价订单一起;要么是单独的:仅止损订单,仅限价订单), 3.从被下的订单到分形的距离应以点为单位进行设置,对止损订单单独设置,对限价订单单独设置。 4.StopLoss和TakeProfit是固定的,立即设置。 5.你想从一个点开始有一个追踪止损,并禁用它。 6.地段应该被修复。但也可以建立一个资金管理。 7.订单中必须考虑到点差:(买入订单+点差,卖出订单-点差) 如需联系:Cashinroman@yandex.ru baykanur 2011.05.16 11:20 #703 有谁能理解这段代码,为什么在测试器中英镑的H4工作得很好,而在演示和真实的情况下,只能倒出一些东西来改变它,也许他看的是历史。 外置双倍Init_line1 = 1.9620。 外置双倍Init_line2 = 1.9630。 外置双数Init_line3 = 1.9640。 外置双倍Init_line4 = 1.9650。 Extern int Step_line = 40; 外来的双倍Lots = 1; 外部int ColUr = 2; int i, j; int a[4][4];/1-买,2-卖,3-买停,4-卖停 双倍的迷你乐。 datetime LastWork。 //+------------------------------------------------------------------+ //|专家初始化功能| //+------------------------------------------------------------------+ //******************************************************************** //验证是否有空缺职位。 //将未结头寸的数量压入数组a[4][4]。 bool Pred() { int NL; //哪些行在数组中? for (i=0; i<=4; i++) for (j=0; j<=4; j++) a[i][j]=-1;//全部为-1 for (i=0; i<OrdersTotal(); i++) //反转所有订单。 { 如果(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)//选择订单如果不可能的话 突破。 如果(OrderSymbol()==Symbol())//有这个符号的位置 如果(OrderComment()=="a1")//是否有标记? NL=0。 else if (OrderComment()=="a2")//是我们的标签? NL=1。 else if (OrderComment()=="a3")//是我们的标签? NL=2。 else if (OrderComment()=="a4")//是我们的标签? NL=3。 否则 继续;//没有? 那就继续搜索 //我们有我们的命令,让我们来处理它们 如果(OrderType()==OP_BUY)//如果位置是BUY a[NL][0]=OrderTicket();//记住其编号 否则,如果(OrderType()==OP_SELL)//如果头寸是卖出的。 a[NL][1]=OrderTicket();//记住其编号 否则,如果(OrderType()==OP_BUYSTOP)//如果头寸是待定的买入。 a[NL][2]=OrderTicket();//记住其编号 否则,如果(OrderType()==OP_SELLSTOP)//如果头寸是待定的卖出。 a[NL][3]=OrderTicket();//记住其编号 }//循环结束 } //******************************************************************** //举例说明。 //控制位1.9420,当前价格1.9277或1.9537,找到接近底部的水平 //а)|1.9420-1.9277|*10000/40=3.575 /3.575-3=0.575;0.575*40=23;1.9277-0.0023=1.9255最接近的顶层 //б)|1.9420-1.9537|*10000/40=2.925 // 2.925-2=0.925; 0.925*40=37; 1.9537-0.0037=1.9500 最接近的低水平 int init() { LastWork = -1; } //******************************************************************** int deinit() { return(0); } //******************************************************************** int start() { 如果(CurTime() - LastWork < 5) return(0); //每5秒不超过一次 LastWork = CurTime()。 Pred();//全部收集 Comment("a[1][1]=",a[0][0]," a[0][2]=",a[0][1]," a[1][3]=",a[0][2]," a[1][4]=",a[0][3],"\n", "a[2][1]=",a[1][0], "a[2][2]=",a[1][1], "a[2][3]=",a[1][2], "a[2][4]=",a[1][3], "n" "a[3][1]=",a[2][0], "a[3][2]=",a[2][1], "a[3][3]=",a[2][2], "a[3][4]=",a[2][3], "n" "a[4][1]=",a[3][0]," a[4][2]=",a[3][1]," a[4][3]=",a[3][2]," a[4][4]=",a[3][3], "/n" ) 弦外之音。 double Init_line,qw,qw1,uo,w, sl, op; for(i=0;i<ColUr;i++)//运行数组a[4][4] 。 { //需要进一步 coment="; 如果(i==0) { coment="a1"。 Init_line=Init_line1。 } 否则如果(i==1) { coment="a2"。 Init_line=Init_line2。 } 否则如果(i==2) { coment="a3"。 Init_line=Init_line3。 } 否则如果(i==3) { coment="a4"。 Init_line=Init_line4。 } //寻找最近的级别 w=(MathAbs(Bid-Init_line)*1/Point)/Step_line;//coefficient 如果(Bid>=Init_line) qw=Step_line*(w-MathFloor(w));//下至最近一级的点的数量 否则 qw=Step_line-Step_line*(w-MathFloor(w));//下至最接近水平的点数 qw1=Step_line-qw;//点数到最近的一级。 // Comment("Line1",Init_line," w=",((Bid-Init_line)*1/Point)/Step_line," qw=",qw," NewLine", Bid-(qw)*Point)。 if ((a[i][0]==-1)&&(a[i][1]==-1)&&(a[i][2]==-1)&&(a[i][3]==-1))//нету открытых { //下订单 如果(qw+4>=15)//我们可以放置一个卖出等待。 OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid-(qw)*Point,0,Bid-Point*(qw-2*Step_line),0,0,CLR_NONE) 。 否则 //设置下一个级别 OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid-Point*(qw+Step_line),0,Bid-Point*(qw+Step_line-2*Step_line),0,coment,0,CLR_NONE) 。 如果(qw1>=15)//可以为买入设置一个等待。 OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask+(qw1-4)*Point,0,Ask+Point*(qw1-4-2*Step_line),0,coment,0,0,CLR_NONE) 。 否则//把它放到上一级去 OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask+Point*(qw1-4+Step_line),0,Ask+Point*(qw1-4+Step_line-2*Step_line),0,coment,0,CLR_NONE) } //!!!!!!!!!!!!! 否则,如果(a[i][0]!=-1)//将购买 [//开放购买 OrderSelect(a[i][0],SELECT_BY_TICKET, MODE_TRADES);//选择开放订单 uo=OrderOpenPrice();//其开盘价-水平 op=uo。 如果(uo<(Ask-(qw-4)*Point))//开盘价低于当前低点 //检查SL的打开情况,如有必要可进行修改 如果(OrderStopLoss()<(Ask-Point*(qw+4+2*Step_line)))//SL低于当前价格向下2个水平 OrderModify(a[i][0],NULL,Ask-Point*(qw+4+2*Step_line),NULL,NULL,CLR_NONE) 。 sl=OrderStopLoss()。 //决定待定 如果(a[i][3]!=-1)//站在卖点上。 { OrderSelect(a[i][3],SELECT_BY_TICKET, MODE_TRADES);//在待定的位置。 uo=OrderOpenPrice();//开盘价--级别 如果(uo!=sl)//(Bid-Point*(qw+2*Step_line)))//开仓水平等于买入止损。 OrderModify(a[i][3],sl, sl+Point*(2*Step_line),NULL,NULL, CLR_NONE) // OrderModify(a[i][3],Bid-Point*(qw-2*Step_line),Bid+qw*Point,NULL,NULL,NULL) 。 } 否则,如果(a[i][3]==-1)//转为买入已被打开,应设置卖出止损。 OrderSend(Symbol(), OP_SELLSTOP, Lots, sl,0,sl+Point*(2*Step_line),NULL,coment,0,0,CLR_NONE) 。 // OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid-(qw+2*Step_line)*Point,0,Bid-Point*(qw),NULL,coment,0,0,0) 。 } //!!!!!!!!!!!!! 否则,如果(a[i][1]!=-1)//站着销售 { OrderSelect(a[i][1],SELECT_BY_TICKET, MODE_TRADES);//选择开放订单。 uo=OrderOpenPrice();//开盘价--级别 op=uo。 如果(uo>(Bid+(qw1)*Point))//开盘价高于当前最高水平 //检查SL的打开情况,如有必要可进行修改 如果(OrderStopLoss()>(Bid+Point*(qw1+2*Step_line)))//SL高于当前价格的2个级别。 OrderModify(a[i][1],NULL,Bid+Point*(qw1+2*Step_line),NULL,NULL,CLR_NONE) 。 sl=OrderStopLoss()。 //采取延缓执行的措施 如果(a[i][2]!=-1)//值得买入停止。 { OrderSelect(a[i][2],SELECT_BY_TICKET, MODE_TRADES);//在待定的位置。 uo=OrderOpenPrice();//开盘价--级别 如果(uo!=sl)//开仓水平等于卖出止损。 OrderModify(a[i][2],sl,sl-(2*Step_line)*Point,NULL,NULL,CLR_NONE)。 // OrderModify(a[i][2],Ask+Point*(qw1-4+2*Step_line), Ask+(qw1-4)*Point,NULL,NULL,NULL)。 } 否则,如果(a[i][2]==-1)//转为卖出已被打开,我们必须设置买入停止。 OrderSend(Symbol(), OP_BUYSTOP, Lots, sl,0,sl-Point*(2*Step_line),NULL,0,0,CLR_NONE) 。 //OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask+(qw1-4+2*Step_line)*Point,0,Ask+Point*(qw1-4),NULL,coment,0,0,0) 。 } } 返回(0)。 } [Archive!] Writing an advisor EA: Lucky [存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. Andrey F. Zelinsky 2011.05.16 11:21 #704 Cashin: 亲爱的程序员先生们!我想请大家帮助我写一个EA。 我还不会说MQL。 如果我的EA是盈利的,我愿意与写它的人分享我的利润,或者描述你的条件。我认为它应该是有利可图的。 关于 "分享奖品"--这很有价值) 但 "描述术语 "更有意思。 我的条件:我现在就为钱而写,我不假手于人。 档案中的联系人 OCTOBER 2011.05.22 10:59 #705 尊敬的本网站访问者。需要编写一个非常简单的专家顾问。我有一个建议。我给你一个条件,你给我一个专家顾问。你也将能够使用我的简单策略。如果你能解释如何在EA中改变订单量,我将非常感激,因为这是有必要的。我将在个人通信或ICQ 300333834或邮件forexbmf@yandex.ru Andrew时给出条款。 --- 2011.05.22 11:10 #706 october: 尊敬的本网站访问者。需要编写一个非常简单的专家顾问。我有一个建议。我给你一个条件,你给我一个专家顾问。你也将能够使用我的简单策略。如果你能解释如何在EA中改变订单量,我将非常感激,因为这是有必要的。我将在个人通信或ICQ 300333834或邮件forexbmf@yandex.ru Andrew时给出条款。 如果你想在上面免费交易(最好是真实交易或模拟1-2个月)。 否则,这里https://www.mql5.com/ru/job OCTOBER 2011.05.22 11:17 #707 sergeev 关于需要EA的策略--手动交易非常困难,几乎不可能(需要大量时间,难以及时下注)。然而,在听完这个条件后,你会意识到这种交易确实有意义。 Sceptic Philozoff 2011.05.22 15:15 #708 Однако выслушав условие вы поймёте, что действительно имеет смысл такая торговля. october,你不知道在你之前有多少人说过几乎相同的话,并让自己感到沮丧。 Yury Reshetov 2011.05.22 19:04 #709 october: 亲爱的网站访问者。需要写一个非常简单的EA。 见在线EA向导:http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/ 可提供俄语语言支持 Alexandr Bryzgalov 2011.05.22 19:07 #710 这里的任务,并证明它不会工作 ) 1...646566676869707172737475767778...94 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我请求帮助编写一个基于i-Regr指标的简单交易机器人。如果做得好,我保证合理的付款。
如果有人感兴趣,请写信给 ma.gog@mail.ru
总体思路如下:
1.专家顾问应在分形上放置待定的止损和限价订单(买入止损、卖出止损、买入限价、卖出限价),应设置订单的到期 时间(小时、分钟)。
2.订单类型应该是可切换的(要么是止损和限价订单一起;要么是单独的:仅止损订单,仅限价订单),
3.从被下的订单到分形的距离应以点为单位进行设置,对止损订单单独设置,对限价订单单独设置。
4.StopLoss和TakeProfit是固定的,立即设置。
5.你想从一个点开始有一个追踪止损,并禁用它。
6.地段应该被修复。但也可以建立一个资金管理。
7.订单中必须考虑到点差:(买入订单+点差,卖出订单-点差)
如需联系:Cashinroman@yandex.ru
有谁能理解这段代码,为什么在测试器中英镑的H4工作得很好
,而在演示和真实的情况下,只能倒出一些东西来改变它,也许他看的是历史。
外置双倍Init_line1 = 1.9620。
外置双倍Init_line2 = 1.9630。
外置双数Init_line3 = 1.9640。
外置双倍Init_line4 = 1.9650。
Extern int Step_line = 40;
外来的双倍Lots = 1;
外部int ColUr = 2;
int i, j;
int a[4][4];/1-买,2-卖,3-买停,4-卖停
双倍的迷你乐。
datetime LastWork。
//+------------------------------------------------------------------+
//|专家初始化功能|
//+------------------------------------------------------------------+
//********************************************************************
//验证是否有空缺职位。
//将未结头寸的数量压入数组a[4][4]。
bool Pred()
{
int NL; //哪些行在数组中?
for (i=0; i<=4; i++)
for (j=0; j<=4; j++)
a[i][j]=-1;//全部为-1
for (i=0; i<OrdersTotal(); i++) //反转所有订单。
{
如果(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)//选择订单如果不可能的话
突破。
如果(OrderSymbol()==Symbol())//有这个符号的位置
如果(OrderComment()=="a1")//是否有标记?
NL=0。
else if (OrderComment()=="a2")//是我们的标签?
NL=1。
else if (OrderComment()=="a3")//是我们的标签?
NL=2。
else if (OrderComment()=="a4")//是我们的标签?
NL=3。
否则
继续;//没有? 那就继续搜索
//我们有我们的命令,让我们来处理它们
如果(OrderType()==OP_BUY)//如果位置是BUY
a[NL][0]=OrderTicket();//记住其编号
否则,如果(OrderType()==OP_SELL)//如果头寸是卖出的。
a[NL][1]=OrderTicket();//记住其编号
否则,如果(OrderType()==OP_BUYSTOP)//如果头寸是待定的买入。
a[NL][2]=OrderTicket();//记住其编号
否则,如果(OrderType()==OP_SELLSTOP)//如果头寸是待定的卖出。
a[NL][3]=OrderTicket();//记住其编号
}//循环结束
}
//********************************************************************
//举例说明。
//控制位1.9420,当前价格1.9277或1.9537,找到接近底部的水平
//а)|1.9420-1.9277|*10000/40=3.575
/3.575-3=0.575;0.575*40=23;1.9277-0.0023=1.9255最接近的顶层
//б)|1.9420-1.9537|*10000/40=2.925
// 2.925-2=0.925; 0.925*40=37; 1.9537-0.0037=1.9500 最接近的低水平
int init()
{
LastWork = -1;
}
//********************************************************************
int deinit()
{
return(0);
}
//********************************************************************
int start()
{
如果(CurTime() - LastWork < 5)
return(0); //每5秒不超过一次
LastWork = CurTime()。
Pred();//全部收集
Comment("a[1][1]=",a[0][0]," a[0][2]=",a[0][1]," a[1][3]=",a[0][2]," a[1][4]=",a[0][3],"\n",
"a[2][1]=",a[1][0], "a[2][2]=",a[1][1], "a[2][3]=",a[1][2], "a[2][4]=",a[1][3], "n"
"a[3][1]=",a[2][0], "a[3][2]=",a[2][1], "a[3][3]=",a[2][2], "a[3][4]=",a[2][3], "n"
"a[4][1]=",a[3][0]," a[4][2]=",a[3][1]," a[4][3]=",a[3][2]," a[4][4]=",a[3][3], "/n" )
弦外之音。
double Init_line,qw,qw1,uo,w, sl, op;
for(i=0;i<ColUr;i++)//运行数组a[4][4] 。
{
//需要进一步
coment=";
如果(i==0)
{
coment="a1"。
Init_line=Init_line1。
}
否则如果(i==1)
{
coment="a2"。
Init_line=Init_line2。
}
否则如果(i==2)
{
coment="a3"。
Init_line=Init_line3。
}
否则如果(i==3)
{
coment="a4"。
Init_line=Init_line4。
}
//寻找最近的级别
w=(MathAbs(Bid-Init_line)*1/Point)/Step_line;//coefficient
如果(Bid>=Init_line)
qw=Step_line*(w-MathFloor(w));//下至最近一级的点的数量
否则
qw=Step_line-Step_line*(w-MathFloor(w));//下至最接近水平的点数
qw1=Step_line-qw;//点数到最近的一级。
// Comment("Line1",Init_line," w=",((Bid-Init_line)*1/Point)/Step_line," qw=",qw," NewLine", Bid-(qw)*Point)。
if ((a[i][0]==-1)&&(a[i][1]==-1)&&(a[i][2]==-1)&&(a[i][3]==-1))//нету открытых
{
//下订单
如果(qw+4>=15)//我们可以放置一个卖出等待。
OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid-(qw)*Point,0,Bid-Point*(qw-2*Step_line),0,0,CLR_NONE) 。
否则 //设置下一个级别
OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid-Point*(qw+Step_line),0,Bid-Point*(qw+Step_line-2*Step_line),0,coment,0,CLR_NONE) 。
如果(qw1>=15)//可以为买入设置一个等待。
OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask+(qw1-4)*Point,0,Ask+Point*(qw1-4-2*Step_line),0,coment,0,0,CLR_NONE) 。
否则//把它放到上一级去
OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask+Point*(qw1-4+Step_line),0,Ask+Point*(qw1-4+Step_line-2*Step_line),0,coment,0,CLR_NONE)
}
//!!!!!!!!!!!!!
否则,如果(a[i][0]!=-1)//将购买
[//开放购买
OrderSelect(a[i][0],SELECT_BY_TICKET, MODE_TRADES);//选择开放订单
uo=OrderOpenPrice();//其开盘价-水平
op=uo。
如果(uo<(Ask-(qw-4)*Point))//开盘价低于当前低点
//检查SL的打开情况,如有必要可进行修改
如果(OrderStopLoss()<(Ask-Point*(qw+4+2*Step_line)))//SL低于当前价格向下2个水平
OrderModify(a[i][0],NULL,Ask-Point*(qw+4+2*Step_line),NULL,NULL,CLR_NONE) 。
sl=OrderStopLoss()。
//决定待定
如果(a[i][3]!=-1)//站在卖点上。
{
OrderSelect(a[i][3],SELECT_BY_TICKET, MODE_TRADES);//在待定的位置。
uo=OrderOpenPrice();//开盘价--级别
如果(uo!=sl)//(Bid-Point*(qw+2*Step_line)))//开仓水平等于买入止损。
OrderModify(a[i][3],sl, sl+Point*(2*Step_line),NULL,NULL, CLR_NONE)
// OrderModify(a[i][3],Bid-Point*(qw-2*Step_line),Bid+qw*Point,NULL,NULL,NULL) 。
}
否则,如果(a[i][3]==-1)//转为买入已被打开,应设置卖出止损。
OrderSend(Symbol(), OP_SELLSTOP, Lots, sl,0,sl+Point*(2*Step_line),NULL,coment,0,0,CLR_NONE) 。
// OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid-(qw+2*Step_line)*Point,0,Bid-Point*(qw),NULL,coment,0,0,0) 。
}
//!!!!!!!!!!!!!
否则,如果(a[i][1]!=-1)//站着销售
{
OrderSelect(a[i][1],SELECT_BY_TICKET, MODE_TRADES);//选择开放订单。
uo=OrderOpenPrice();//开盘价--级别
op=uo。
如果(uo>(Bid+(qw1)*Point))//开盘价高于当前最高水平
//检查SL的打开情况,如有必要可进行修改
如果(OrderStopLoss()>(Bid+Point*(qw1+2*Step_line)))//SL高于当前价格的2个级别。
OrderModify(a[i][1],NULL,Bid+Point*(qw1+2*Step_line),NULL,NULL,CLR_NONE) 。
sl=OrderStopLoss()。
//采取延缓执行的措施
如果(a[i][2]!=-1)//值得买入停止。
{
OrderSelect(a[i][2],SELECT_BY_TICKET, MODE_TRADES);//在待定的位置。
uo=OrderOpenPrice();//开盘价--级别
如果(uo!=sl)//开仓水平等于卖出止损。
OrderModify(a[i][2],sl,sl-(2*Step_line)*Point,NULL,NULL,CLR_NONE)。
// OrderModify(a[i][2],Ask+Point*(qw1-4+2*Step_line), Ask+(qw1-4)*Point,NULL,NULL,NULL)。
}
否则,如果(a[i][2]==-1)//转为卖出已被打开,我们必须设置买入停止。
OrderSend(Symbol(), OP_BUYSTOP, Lots, sl,0,sl-Point*(2*Step_line),NULL,0,0,CLR_NONE) 。
//OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask+(qw1-4+2*Step_line)*Point,0,Ask+Point*(qw1-4),NULL,coment,0,0,0) 。
}
}
返回(0)。
}
亲爱的程序员先生们!我想请大家帮助我写一个EA。 我还不会说MQL。 如果我的EA是盈利的,我愿意与写它的人分享我的利润,或者描述你的条件。我认为它应该是有利可图的。
关于 "分享奖品"--这很有价值)
但 "描述术语 "更有意思。
我的条件:我现在就为钱而写,我不假手于人。
档案中的联系人
尊敬的本网站访问者。需要编写一个非常简单的专家顾问。我有一个建议。我给你一个条件,你给我一个专家顾问。你也将能够使用我的简单策略。如果你能解释如何在EA中改变订单量,我将非常感激,因为这是有必要的。我将在个人通信或ICQ 300333834或邮件forexbmf@yandex.ru Andrew时给出条款。
如果你想在上面免费交易(最好是真实交易或模拟1-2个月)。
否则,这里https://www.mql5.com/ru/job
Однако выслушав условие вы поймёте, что действительно имеет смысл такая торговля.
october,你不知道在你之前有多少人说过几乎相同的话,并让自己感到沮丧。
亲爱的网站访问者。需要写一个非常简单的EA。
见在线EA向导:http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/
可提供俄语语言支持