[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 357 1...350351352353354355356357358359360361362363364...537 新评论 GreinV 2011.04.29 09:47 #3561 Zhunko: 你能不能把代码贴出来?也许是一个伪装的代码。你的意思是没有开始......?这是一个基本函数,就像C++中的main()。 这取决于你要解决什么任务,并确定你的代码在EA程序主体中的位置。没有人强迫我们保留start()函数中的代码 start()函数是我们代码模板中预定义的三个函数之一。它至少应该存在!因为父程序--终端程序(这是main(),主程序),执行它的主要任务,从服务器接收一个新的报价(大概)只是看你的函数start和执行代码,这是在它,如果它将只是返回(),那么start函数将停止在这里。 [删除] 2011.04.29 10:54 #3562 "专业人士,不要擦肩而过",:)请分享你最喜欢的(最好是俄语)新闻资源的链接,那里发布经济日历 和其他有用的东西。如果这些链接不能在这里发布,那就通过PM发给我。 [删除] 2011.04.29 16:42 #3563 ,如果有买入信号, ,检查开放的卖出订单 ,如果有,关闭 ,如果没有,开放买入 ,如果有卖出信号 ,检查开放买入订单 ,如果有,关闭 ,如果没有,开放买入 Andrey F. Zelinsky 2011.04.29 16:52 #3564 frxmax: 帮助写出以下内容。 如果有一个买入信号 检查开放的卖出订单 如果是,请关闭 如果没有买入的信号 如果有一个卖出信号 检查未结的买入订单 如果是,我们就关闭 如果没有信号,重开买入 自己开始写--我们将帮助你 这里有一个起点,可以帮助你https://book.mql4.com/ru/ [删除] 2011.04.29 16:59 #3565 abolk: 自己开始写--我们会帮助你 给你https://book.mql4.com/ru/ 我已经 "开始 "了。 total=OrdersTotal()。 如果(CONDITION打开一个购买订单) 如果(total<1) { ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Bid-StopLoss*Point,Bid+100*Point, "Buy",1111,0,Green); 如果(ticket<0) { Print("OrderSend failed with error #",GetLastError())。 return(0); } 否则 { 如果(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)) { 如果(OrderType()==OP_SELL) OrderClose(NULL,Lot,Ask,3)。 return(0); } } [Archive!] Any rookie question, 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 如何编码? Alexander 2011.04.29 17:24 #3566 几乎是对的,只是先检查,然后再设置。 KONDOR 2011.04.29 17:27 #3567 frxmax: 帮助写出以下内容。 如果有一个买入信号 检查开放的卖出订单 如果是,请关闭 如果没有信号,我们可以打开一个买入订单 // в ф-ции старт if(....условие покупки....){ if(CalculateOrders(Symbol(),OP_SELL)>0) Ord_Close(Symbol(),OP_SELL); 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()!=mn) 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+Take*pp;} if(op==1) {open_price=pBid; col=Red; T=pBid-Take*pp;} int res=OrderSend(Symbol(),op,0.1,open_price,0,0,T,NULL,mn,0,col); return(res); } [删除] 2011.04.29 17:39 #3568 KONDOR: 非常感谢你的帮助,但我的做法有点不同,你的方法让我有点不明白。 你能向我解释一下如何卖掉这一切吗? 这里有很多我不明白的地方。 你一直都很有帮助。 [删除] 2011.04.29 17:54 #3569 frxmax: 试着把所有东西都翻出来卖掉--失败了,没有交易。 错误130。- 停止是不对的,那么我们在哪里有他们呢? 现在,它为每一个柱子都开了一个订单,但我只需要一个。 total=OrdersTotal()。 如果(total<1) 等。 [删除] 2011.04.29 18:03 #3570 KONDOR: 嗯,我深入到游戏中去了--出价和要求改变等......谢谢你的提醒) 我也弄好了停车的问题。 1...350351352353354355356357358359360361362363364...537 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你能不能把代码贴出来?也许是一个伪装的代码。你的意思是没有开始......?这是一个基本函数,就像C++中的main()。
这取决于你要解决什么任务,并确定你的代码在EA程序主体中的位置。没有人强迫我们保留start()函数中的代码
start()函数是我们代码模板中预定义的三个函数之一。它至少应该存在!因为父程序--终端程序(这是main(),主程序),执行它的主要任务,从服务器接收一个新的报价(大概)只是看你的函数start和执行代码,这是在它,如果它将只是返回(),那么start函数将停止在这里。
,检查开放的卖出订单
,如果有,关闭
,如果没有,开放买入
,如果有卖出信号
,检查开放买入订单
,如果有,关闭
,如果没有,开放买入
帮助写出以下内容。
如果有一个买入信号
检查开放的卖出订单
如果是,请关闭
如果没有买入的信号
如果有一个卖出信号
检查未结的买入订单
如果是,我们就关闭
如果没有信号,重开买入
自己开始写--我们将帮助你
这里有一个起点,可以帮助你https://book.mql4.com/ru/
自己开始写--我们会帮助你
给你https://book.mql4.com/ru/
我已经 "开始 "了。
total=OrdersTotal()。
如果(CONDITION打开一个购买订单)
如果(total<1)
{
ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Bid-StopLoss*Point,Bid+100*Point, "Buy",1111,0,Green);
如果(ticket<0)
{
Print("OrderSend failed with error #",GetLastError())。
return(0);
}
否则
{
如果(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
如果(OrderType()==OP_SELL)
OrderClose(NULL,Lot,Ask,3)。
return(0);
}
}
帮助写出以下内容。
如果有一个买入信号
检查开放的卖出订单
如果是,请关闭
如果没有信号,我们可以打开一个买入订单
非常感谢你的帮助,但我的做法有点不同,你的方法让我有点不明白。
你能向我解释一下如何卖掉这一切吗? 这里有很多我不明白的地方。
你一直都很有帮助。
试着把所有东西都翻出来卖掉--失败了,没有交易。
错误130。- 停止是不对的,那么我们在哪里有他们呢?
现在,它为每一个柱子都开了一个订单,但我只需要一个。
total=OrdersTotal()。
如果(total<1)
等。
嗯,我深入到游戏中去了--出价和要求改变等......谢谢你的提醒)
我也弄好了停车的问题。