[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 175 1...168169170171172173174175176177178179180181182...652 新评论 [删除] 2011.09.14 13:28 #1741 下午好,请你告诉我是否有一个代码 OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY);//выбрать последний ордер if (OrderType()==OP_BUY||OP_SELL) { if (OrderMagicNumber()==1) { if (OrderProfit()<0) { 这将选择历史上最后一个有负利润的订单。 如果出现3个订单同时关闭的情况,我怎么知道最后3个订单是同时关闭的? 我试着做for循环,但它发现所有的订单 都是亏损关闭的,而我只需要最后一个订单或最后一个订单,这取决于他们中有多少人同时关闭 。 --- 2011.09.14 14:12 #1742 BruDer: 我在搜索中没有找到答案 我怎样才能从脚本中看到图表上有哪些指标,哪些参数和指标,它们位于哪个子窗口中? 谢谢 不可能。 --- 2011.09.14 14:13 #1743 vik-777: 我怎么知道最后3个是在同一时间关闭的? 订单关闭时间(OrderCloseTime)。 Роман 2011.09.14 14:13 #1744 vik-777:下午好,请你告诉我是否有一个代码这将选择历史上最后一个有负利润的订单。如果出现3个订单同时关闭的情况,我怎么知道最后3个订单是同时关闭的?我试着做for循环,但它发现所有的订单都是亏损关闭的,而我只需要最后一个订单或最后一个订单,这取决于他们有多少人同时关闭 。 如果它是相同的,那么你就把它与你以前的平仓订单的平仓时间进行比较...像这样,自然,这一切都在一个循环中--从最后一个关闭到第一个,你一个接一个,比较订单关闭的时间......另一件事--打印你事先知道的最后一个订单的关闭时间,比方说三个订单, 它可能是不同的,即使你理解为 " 同时",即按照我的理解,订单在任何时间关闭,即。实际上,比如说,三个订单的关闭时间不可能是一样的--试着打印(),看看你的三个TIME订单的值--它们的OrderCloseTime()的特征值,也就是说,我们可能要引入关闭时间的概念,也就是说,当我们可能认为它们同时关闭时,几个订单的关闭时间偏离一些小值 。实验一下,从这里自己看。 BBC 2011.09.14 15:49 #1745 接受大厅的帮助。 如何在OrderSelect() 中编写条件。 if(order opening day != today's day)ticket=OrderTicket(); Alexander 2011.09.14 16:22 #1746 如果(TimeDay(OrderOpenTime())!=TimeDay(CurrentTime())),ticket=OrderTicket()。 Artyom Trishkin 2011.09.14 16:23 #1747 ikatsko:你如何计算盈利的多头头寸数量,并分别计算盈利的空头头寸数量?该策略如下:如果自EA开始以来(或更好的情况下--整个账户历史)盈利的多头头寸数量大于空头头寸数量,那么只允许开多头头寸。反之亦然。如何计算这些交易是很清楚的,如果它们被专家顾问关闭:关闭-计数。但如果一个头寸被TP或SL平仓,那么......。?也许有人有一个现成的函数代码?那么,在已关闭的头寸 上循环比较它们的收盘价以及它们的取价和止损价。 OrderTakeProfit(); OrderStopLoss(); OrderClosePrice(); 而选择OP_BUY和OP_SELL,并在四个独立的变量中写出亏损和盈利的买入和卖出头寸的数量,就更加容易了。 如果(OrderProfit()+OrderSwap()+OrderCommission()>0) { /*头寸是盈利的 */ } else { /*头寸是亏损的 */ } BBC 2011.09.14 16:24 #1748 谢谢你! [删除] 2011.09.14 16:27 #1749 我看了一切......,我做了一切......。它不会打开一个位置,就是这样!它可以正常关闭,但不能打开...我不知道该怎么做!也许有人会发现程序中的一个错误? [删除] 2011.09.14 16:28 #1750 //+------------------------------------------------------------------+ //| DOKTRADE.mq4 | //| DOKSTER@YANDEX.RU | //| DOKSTER@YANDEX.RU | //+------------------------------------------------------------------+ #property copyright "DOKSTER@YANDEX.RU" #property link "DOKSTER@YANDEX.RU" extern double LOT = 0.01; // LOTS extern double KOF = 2; extern double SAF = 5; extern int FRC = 144; extern double STL = 100; extern double TPF = 100; int start() { int CNT; int DIG; int TOTAL; int SPREAD; double SPR; double SPRW; double FRCU; double FRCD; double EMAH; double EMAM; double EMAL; double OPEN; double CLOSE; double DFB; double DFS; double STLW = STL*Point; double TPFW = TPF*Point; double SAFW = SAF*Point; EMAH = iMA(NULL,0,34,8,MODE_SMA,PRICE_HIGH,1); EMAM = iMA(NULL,0,34,8,MODE_SMA,PRICE_MEDIAN,1); EMAL = iMA(NULL,0,34,8,MODE_SMA,PRICE_LOW,1); OPEN = iOpen(NULL,0,1); CLOSE = iClose(NULL,0,1); FRCU = High[iHighest(NULL,0,MODE_HIGH,FRC,1)]; FRCD = Low[iLowest(NULL,0,MODE_LOW,FRC,1)]; DFB = (CLOSE-FRCD); DFS = (FRCU-CLOSE); SPR = MarketInfo(Symbol(),MODE_SPREAD); SPRW = (SPR*Point); DIG = MarketInfo(Symbol(),MODE_DIGITS); TOTAL = OrdersTotal(); if(TOTAL<1) { if (OPEN<EMAH&&CLOSE>EMAH) OrderSend(Symbol(),OP_BUY,LOT,Ask,3,0,0,"DOKTRADE",15775,0,Green); if (OPEN>EMAL&&CLOSE<EMAL) OrderSend(Symbol(),OP_SELL,LOT,Bid,3,0,0,"DOKTRADE",15885,0,Red); return(0); } for(CNT=0;CNT<TOTAL;CNT++) { OrderSelect(CNT,SELECT_BY_POS,MODE_TRADES); { if (OrderType()==OP_BUY && OrderSymbol()==Symbol()) { if (OPEN>EMAL&&CLOSE<EMAL) OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); if (OPEN>EMAM&&CLOSE>EMAM) OrderModify(OrderTicket(),OrderOpenPrice(),FRCD-SAFW,CLOSE+DFB,Green); return(0); } if (OrderType()==OP_SELL && OrderSymbol()==Symbol()) { if (OPEN<EMAH&&CLOSE>EMAH) OrderClose(OrderTicket(),OrderLots(),Ask,3,Blue); if (OPEN<EMAM&&CLOSE<EMAM) OrderModify(OrderTicket(),OrderOpenPrice(),FRCU+(SAFW+SPRW),CLOSE-DFS,Red); return(0); } } } } 1...168169170171172173174175176177178179180181182...652 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
下午好,请你告诉我是否有一个代码
这将选择历史上最后一个有负利润的订单。
如果出现3个订单同时关闭的情况,我怎么知道最后3个订单是同时关闭的?
我试着做for循环,但它发现所有的订单 都是亏损关闭的,而我只需要最后一个订单或最后一个订单,这取决于他们中有多少人同时关闭
。
我在搜索中没有找到答案
我怎样才能从脚本中看到图表上有哪些指标,哪些参数和指标,它们位于哪个子窗口中?
谢谢
不可能。
vik-777:
我怎么知道最后3个是在同一时间关闭的?
下午好,请你告诉我是否有一个代码
这将选择历史上最后一个有负利润的订单。
如果出现3个订单同时关闭的情况,我怎么知道最后3个订单是同时关闭的?
我试着做for循环,但它发现所有的订单都是亏损关闭的,而我只需要最后一个订单或最后一个订单,这取决于他们有多少人同时关闭
。
如果它是相同的,那么你就把它与你以前的平仓订单的平仓时间进行比较...像这样,自然,这一切都在一个循环中--从最后一个关闭到第一个,你一个接一个,比较订单关闭的时间......另一件事--打印你事先知道的最后一个订单的关闭时间,比方说三个订单, 它可能是不同的,即使你理解为 " 同时",即按照我的理解,订单在任何时间关闭,即。实际上,比如说,三个订单的关闭时间不可能是一样的--试着打印(),看看你的三个TIME订单的值--它们的OrderCloseTime()的特征值,也就是说,我们可能要引入关闭时间的概念,也就是说,当我们可能认为它们同时关闭时,几个订单的关闭时间偏离一些小值 。实验一下,从这里自己看。
接受大厅的帮助。
如何在OrderSelect() 中编写条件。
if(order opening day != today's day)ticket=OrderTicket();
你如何计算盈利的多头头寸数量,并分别计算盈利的空头头寸数量?
该策略如下:如果自EA开始以来(或更好的情况下--整个账户历史)盈利的多头头寸数量大于空头头寸数量,那么只允许开多头头寸。反之亦然。
如何计算这些交易是很清楚的,如果它们被专家顾问关闭:关闭-计数。但如果一个头寸被TP或SL平仓,那么......。?
也许有人有一个现成的函数代码?
那么,在已关闭的头寸 上循环比较它们的收盘价以及它们的取价和止损价。
OrderTakeProfit(); OrderStopLoss(); OrderClosePrice();
而选择OP_BUY和OP_SELL,并在四个独立的变量中写出亏损和盈利的买入和卖出头寸的数量,就更加容易了。
如果(OrderProfit()+OrderSwap()+OrderCommission()>0) { /*头寸是盈利的 */ }
else { /*头寸是亏损的 */ }
我看了一切......,我做了一切......。它不会打开一个位置,就是这样!它可以正常关闭,但不能打开...我不知道该怎么做!也许有人会发现程序中的一个错误?