[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 369 1...362363364365366367368369370371372373374375376...537 新评论 Виктор 2011.05.04 12:11 #3681 颜色MA 奥尔洛瓦。 Sergey Diubakin 2011.05.04 14:49 #3682 谢谢你 [删除] 2011.05.04 15:38 #3683 我在弄清交易功能 方面仍有困难,但我对编程有一定的了解。 在你的帮助下,我可以实现这种算法,这对我有好处。 如果(购买条件) 如果有一个开放的订单 如果该订单是在触发了买入条件的货币对上。 如果它是一个卖出指令 关闭它 打开一个买入订单。 帮我写一下吧,我都快累死了。 我读了很多书,还不能理解。 Artyom Trishkin 2011.05.04 17:34 #3684 frxmax:我在弄清交易功能方面仍有困难,但我对编程有一定的了解。在你的帮助下,实现这种算法对我来说是件好事。1.如果(购买条件)2. 如果有一个开放的订单2.1. 如果该订单是在买入条件被触发的货币对上2.2. 如果是卖出指令3.关闭它4. 开立一个买入订单。帮我写一下吧,我都快累死了。 我读了很多书,但还是不明白。1.购买的条件是什么? 2.我们通过终端的市场订单做一个循环 2.1 在循环中(第2点),我们检查所选订单 是在哪一对上打开的,如果是正确的,那么......。 2.2. 检查所选订单的类型,如果是卖出......。 3.关闭所选订单 打开买入订单 还是你完全需要这些代码?这不是一种帮助,而是一种看跌的青睐。然而......。如果它不工作 - 我会写,但没有问题...... [删除] 2011.05.04 17:52 #3685 是的,我写过,也帮助过。在这个问题上,"每个人都有自己的真理"。 这是我的版本 if (LoCurent>LoPrevious && FtCurent>FtPrevious) { ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Bid-StopLoss*Point,Bid+TakeProfit*Point,"Buy",1111,0,Green); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice()); } else Print("Error opening BUY order : ",GetLastError()); return(0); } // условие ПРОДАЖИ if(LoCurent<LoPrevious && FtCurent<FtPrevious) { ticket=OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Ask+StopLoss*Point,Ask-TakeProfit*Point,"Sell",2222,0,Red); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice()); } else Print("Error opening SELL order : ",GetLastError()); return(0); } return(0); // ЗАКРЫТИЕ СДЕЛОК for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()<=OP_SELL && // check for opened position OrderSymbol()==Symbol()) // check for symbol { if(OrderType()==OP_BUY) // long position is opened { if(LoCurent<LoPrevious || FtCurent<FtPrevious || LoCurent<-30 || LoPrevious<-30) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position return(0); // exit } }else { if(LoCurent>LoPrevious || FtCurent>FtPrevious || LoCurent>30 || LoPrevious>30) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position return(0); // exit } } } } } 下面是KONDOR的版本 if(LoCurent<LoPrevious) if(CalculateOrders(Symbol(),OP_SELL)>0) Ord_Close(Symbol(),OP_SELL); if(total<1) Ticket(OP_BUY); } //----------------------- int CalculateOrders(string simbol,int type) { int count=0; //---- for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderSymbol()==simbol) { if(OrderType()==type) count++; } } return(count); } //--------------------- void Ord_Close(string simb,int type) { double price; if(type==OP_BUY) price=MarketInfo(simb, MODE_BID); else if(type==OP_SELL) price=MarketInfo(simb, MODE_ASK); for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if( OrderSymbol()!=simb || OrderMagicNumber()!=111) continue; //---- check order type if(OrderType()==type) { OrderClose(OrderTicket(),OrderLots(),price,3,White); break; } } } //----------------------------- int Ticket(int op){ double pp = MarketInfo(Symbol(), MODE_POINT); double pBid = MarketInfo(Symbol(), MODE_BID); double pAsk = MarketInfo(Symbol(), MODE_ASK); double open_price; double T; color col=NULL; int mn=0; if(op==0) {open_price=pAsk; col=Blue; T=pAsk+TakeProfit*pp;} if(op==1) {open_price=pBid; col=Red; T=pBid-TakeProfit*pp;} int res=OrderSend(Symbol(),op,Lot,open_price,1,Bid-StopLoss*Point,Bid+TakeProfit*Point,NULL,mn,0,col); return(res); } [删除] 2011.05.04 17:54 #3686 在满足开单条件的情况下,EA仍然在每次价格变化时开仓交易。 另一个问题是反向信号下的平仓单(在有卖出信号时覆盖买单,反之亦然)。 Victor Nikolaev 2011.05.04 17:57 #3687 frxmax: 当满足开单条件时,专家顾问仍然在每次价格变化时开仓交易。 还有一个问题是反向信号的平仓单(在收到卖出信号时覆盖买入订单,反之亦然)。 这是另一种方法。写一个职责范围(如Sergeev和Composter所要求的)。然后得到一个有效的代码。事实上,所有的问题都有一个解决方案。而且不止一次被贴在这个论坛上。 [删除] 2011.05.04 18:10 #3688 大家好。听说过外汇,但没有深入了解,我知道C语言编程的基本知识。 我想学习如何编写能产生收入的外汇机器人程序。 我真的能靠这个赚钱吗?开始工作的最低前提条件是什么?我需要学习什么? [删除] 2011.05.04 18:27 #3689 Vinin: 还有另一种方法可以做到这一点。编写职责范围(如Sergeev和Composter所要求的)。然后得到一个有效的代码。事实上,所有的问题都有一个解决方案。而且不止一次地在论坛上阐述。 我对任务的职责 范围理解得没错吧? Artyom Trishkin 2011.05.05 02:22 #3690 frxmax: 1.当打开订单的条件得到满足时,顾问仍然在每个价格变化上打开交易。 2.另一个问题是反向信号下的平仓单(在有卖出信号时覆盖买单,反之亦然)。 先决条件。 1.如果有条件开单(买入);如果没有开单(买入),开一个买入单。同样,对于卖出 2.如果有条件打开一个买入订单,如果有一个开放的卖出订单 - 关闭卖出。 因此,我们得到。 1.如果有一个信号,打开一个买入->>订单 2.如果有一个开放的卖出订单->。 2.1 关闭它。 3.如果没有开放的买入订单-> 3. 3.1 打开它。 同样,对于卖出 1...362363364365366367368369370371372373374375376...537 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我在弄清交易功能 方面仍有困难,但我对编程有一定的了解。
在你的帮助下,我可以实现这种算法,这对我有好处。
如果(购买条件)
如果有一个开放的订单
如果该订单是在触发了买入条件的货币对上。
如果它是一个卖出指令
关闭它
打开一个买入订单。
帮我写一下吧,我都快累死了。 我读了很多书,还不能理解。
我在弄清交易功能方面仍有困难,但我对编程有一定的了解。
在你的帮助下,实现这种算法对我来说是件好事。
1.如果(购买条件)
2. 如果有一个开放的订单
2.1. 如果该订单是在买入条件被触发的货币对上
2.2. 如果是卖出指令
3.关闭它
4. 开立一个买入订单。
帮我写一下吧,我都快累死了。 我读了很多书,但还是不明白。
1.购买的条件是什么?
2.我们通过终端的市场订单做一个循环
2.1 在循环中(第2点),我们检查所选订单 是在哪一对上打开的,如果是正确的,那么......。
2.2. 检查所选订单的类型,如果是卖出......。
3.关闭所选订单
打开买入订单
还是你完全需要这些代码?这不是一种帮助,而是一种看跌的青睐。然而......。如果它不工作 - 我会写,但没有问题......
是的,我写过,也帮助过。在这个问题上,"每个人都有自己的真理"。
这是我的版本
下面是KONDOR的版本
在满足开单条件的情况下,EA仍然在每次价格变化时开仓交易。
另一个问题是反向信号下的平仓单(在有卖出信号时覆盖买单,反之亦然)。
当满足开单条件时,专家顾问仍然在每次价格变化时开仓交易。
还有一个问题是反向信号的平仓单(在收到卖出信号时覆盖买入订单,反之亦然)。
大家好。听说过外汇,但没有深入了解,我知道C语言编程的基本知识。
我想学习如何编写能产生收入的外汇机器人程序。
我真的能靠这个赚钱吗?开始工作的最低前提条件是什么?我需要学习什么?
还有另一种方法可以做到这一点。编写职责范围(如Sergeev和Composter所要求的)。然后得到一个有效的代码。事实上,所有的问题都有一个解决方案。而且不止一次地在论坛上阐述。
1.当打开订单的条件得到满足时,顾问仍然在每个价格变化上打开交易。
2.另一个问题是反向信号下的平仓单(在有卖出信号时覆盖买单,反之亦然)。
先决条件。
1.如果有条件开单(买入);如果没有开单(买入),开一个买入单。同样,对于卖出
2.如果有条件打开一个买入订单,如果有一个开放的卖出订单 - 关闭卖出。
因此,我们得到。
1.如果有一个信号,打开一个买入->>订单
2.如果有一个开放的卖出订单->。
2.1 关闭它。
3.如果没有开放的买入订单-> 3.
3.1 打开它。
同样,对于卖出