任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1008 1...100110021003100410051006100710081009101010111012101310141015...1178 新评论 Maksim Narumov 2016.02.08 01:52 #10071 Stereosin: 大家好。我们的想法是,在触发止损时,为每个未平仓市场订单(即获利和止损)放置相反方向的挂单(如果买入订单,则发送挂单)。我找不到任何语法序列来写一个脚本,当当前订单在获利时关闭时删除挂单?也许在免费的脚本中,有一个书面的脚本,但搜索并不成功( 。我想自己写一个,以便能够处理它,但我不能理解语法顺序。让我用另一个例子来解释--我想吃冰淇淋--语法顺序--1)--离开沙发2)穿上衣服3)去商店4)买冰淇淋。我的任务是否也可以这样做?当当前订单关闭时,买入订单的数量 将减少,或根本没有(取决于算法),你做这个检查并删除待定订单像这样(在这种情况下,相反,如果早先买入的订单已经获利平仓,那么挂单将被删除)。 for(int m=OrdersTotal()-1;m>=0;m--) if(OrderSelect(m,SELECT_BY_POS,MODE_TRADES)) if(Symbol()==OrderSymbol() && OrderMagicNumber()==Magic) { if(OrderType()==OP_BUY) sBuy++; if(OrderType()==OP_SELL) sSell++; if(OrderType()==OP_BUYLIMIT) if(sBuy==0 || sSell>0) OrderDelete(OrderTicket()); if(OrderType()==OP_SELLLIMIT) if(sSell==0 || sBuy>0) OrderDelete(OrderTicket()); } Alexey Viktorov 2016.02.08 04:25 #10072 Ratmirf:所以这是对的吗?如果(OrderOpenTime()+7200+15*60 <=TimeCurrent()) Cls_Buy=true。如果(OrderOpenTime()+7200+900 <=TimeCurrent()) Cls_Buy=true;而最终变成这样?如果(OrderOpenTime()+8100 <=TimeCurrent())Cls_Buy=true。 嗯,这是高中数学...要更有信心一些。 Roman 2016.02.08 10:27 #10073 harbor:当当前订单关闭时,买入订单的数量将减少,或根本没有(取决于算法),你做这个检查并删除待定订单像这样(在这种情况下,相反,如果早先买入的订单已经获利平仓,则挂单被删除)。 非常感谢你。我今晚会研究一下。 [删除] 2016.02.08 19:15 #10074 如果发生这种情况--我把止损增加到所需的大小。 我没有设置阈值,而是在程序中保持虚拟,然后打开订单。 结果,15到20个订单中只有一个打开。 我应该怎样做才能打开每个订单?RefreshRates(); double bid = MarketInfo(symbol,MODE_BID); double ask = MarketInfo(symbol,MODE_ASK); double stoplevel = NormalizeDouble(stoplevelTemp * tickTemp,digitsTemp)+tickTemp; if(digitsTemp == 5 ) stoplevel+=(700 * tickTemp); if(spreadOrdDangBr < stoplevel) //если спред меньше стоплевела - перебиваем spreadOrdDangBr=stoplevel; double lotDB = calculationLot(spreadOrdDangBr,0.0025); //расчитываем лот - четверть процента свободных денег slODB=ask-spreadOrdDangBr; tpODB= ask+ spreadOrdDangBr; orderTicketODB=OrderSend(symbol,OP_BUY,lotDB,ask,3,slODB,0,("dangBr" +spreadOrdDangBr)); 并因此在终端 Any rookie question, so [存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. 自己改写了一个EA望大家看一下问题到底在哪里,为什么不下订单。 Tema97 2016.02.09 09:58 #10075 大家好)如何确定所选条形的最高价格(如第100条)? Ratmirf 2016.02.09 12:33 #10076 请帮助我!我想建立买入头寸,如果价格上涨了100 点,我的止损 就会相对于之前的止损变成等于零。我的做法正确吗?如果(Bid-OrderOpenPrice()>Point*100){OrderModify(OrderTicket(),OrderOpenPrice(),0,TakeProfit,0,)。return(0);}谢谢你! Victor Nikolaev 2016.02.09 12:58 #10077 Tema97: 你好)如何确定所选条形图的最高价格(如第100条)? 高[100]将无济于事 Tema97 2016.02.09 13:40 #10078 我发现了一个函数,它定义了100个柱子的最高和最低价格,并画出了水平线(请帮助我使前15个柱子通过,然后才检查100个(如何使这个转变?),还有一个关于线的问题--它只画1次--也就是说--如果我们再走100个点,有新的高点和低点--线就不画了)有谁知道请写下来--这里是代码外部inttern Quant_Bars=100; //条数。//--------------------------------------------------------------------int start() // 特殊功能启动{int i; // bar numberdouble Minimum=Bid; // 最低价格最高价=出价; //最高价for(i=0;i<=Quant_Bars-1;i++) // 从零(!)到{ // ...Quant_Bars-1 (!)如果(Low[i]<最小值)//如果<已知Minimum=Low[i]; // 这将是最小值。如果(High[i]> Maximum)//如果>已知Maximum=High[i]; //它将是最大值。}Alert("对于最后的",Quant_Bars, //显示"Min=",Minimum," Max=",Maximum)。double linia1=ObjectCreate("highLine",OBJ_HLINE,0,0,Maximum)。double linia2=ObjectCreate("lowLine",OBJ_HLINE,0,0,Minimum);return(0); //exit start()} Any rookie question, so I need help on [存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. Alexey Viktorov 2016.02.09 14:26 #10079 特马 终于读完了文件。你可以在那里找到很多有趣的东西...例如,iHighest 返回相应图表的最大发现值的索引(与当前条形图的偏移)。而iHigh 则返回相应图表的条形图(由shift参数指定)的最高价格的值。一旦你理解了这两个函数,你就可以很容易地解决你的问题,而不必求助于那些不一定由他人编写的函数。 Alexander 2016.02.10 10:50 #10080 伙计们,如果指标画出非标准的图形对象,是否可以访问它们?问题是,它们没有显示在对象列表中(当按下所有按钮时),ObjectsTotal()函数也没有看到它们。当试图通过名称访问对象时,GetLastError()返回错误4202(ObjectFind()函数)。 1...100110021003100410051006100710081009101010111012101310141015...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
大家好。我们的想法是,在触发止损时,为每个未平仓市场订单(即获利和止损)放置相反方向的挂单(如果买入订单,则发送挂单)。我找不到任何语法序列来写一个脚本,当当前订单在获利时关闭时删除挂单?也许在免费的脚本中,有一个书面的脚本,但搜索并不成功( 。我想自己写一个,以便能够处理它,但我不能理解语法顺序。让我用另一个例子来解释--我想吃冰淇淋--语法顺序--1)--离开沙发2)穿上衣服3)去商店4)买冰淇淋。我的任务是否也可以这样做?
当当前订单关闭时,买入订单的数量 将减少,或根本没有(取决于算法),你做这个检查并删除待定订单
像这样(在这种情况下,相反,如果早先买入的订单已经获利平仓,那么挂单将被删除)。
所以这是对的吗?
如果(OrderOpenTime()+7200+15*60 <=TimeCurrent()) Cls_Buy=true。
如果(OrderOpenTime()+7200+900 <=TimeCurrent()) Cls_Buy=true;
而最终变成这样?
如果(OrderOpenTime()+8100 <=TimeCurrent())Cls_Buy=true。
当当前订单关闭时,买入订单的数量将减少,或根本没有(取决于算法),你做这个检查并删除待定订单
像这样(在这种情况下,相反,如果早先买入的订单已经获利平仓,则挂单被删除)。
如果发生这种情况--我把止损增加到所需的大小。 我没有设置阈值,而是在程序中保持虚拟,然后打开订单。 结果,15到20个订单中只有一个打开。 我应该怎样做才能打开每个订单?
RefreshRates();
double bid = MarketInfo(symbol,MODE_BID);double ask = MarketInfo(symbol,MODE_ASK);
double stoplevel = NormalizeDouble(stoplevelTemp * tickTemp,digitsTemp)+tickTemp;
if(digitsTemp == 5 )stoplevel+=(700 * tickTemp);
if(spreadOrdDangBr < stoplevel) //если спред меньше стоплевела - перебиваем
spreadOrdDangBr=stoplevel;
double lotDB = calculationLot(spreadOrdDangBr,0.0025); //расчитываем лот - четверть процента свободных денег
slODB=ask-spreadOrdDangBr;
tpODB= ask+ spreadOrdDangBr;
orderTicketODB=OrderSend(symbol,OP_BUY,lotDB,ask,3,slODB,0,("dangBr" +spreadOrdDangBr));
并因此在终端
请帮助我!我想建立买入头寸,如果价格上涨了100
点,我的止损 就会相对于之前的止损变成等于零。
我的做法正确吗?
如果(Bid-OrderOpenPrice()>Point*100)
{
OrderModify(OrderTicket(),OrderOpenPrice(),0,TakeProfit,0,)。
return(0);
}
谢谢你!
你好)如何确定所选条形图的最高价格(如第100条)?
我发现了一个函数,它定义了100个柱子的最高和最低价格,并画出了水平线(请帮助我使前15个柱子通过,然后才检查100个(如何使这个转变?),还有一个关于线的问题--它只画1次--也就是说--如果我们再走100个点,有新的高点和低点--线就不画了)有谁知道请写下来--这里是代码
外部inttern Quant_Bars=100; //条数。
//--------------------------------------------------------------------
int start() // 特殊功能启动
{
int i; // bar number
double Minimum=Bid; // 最低价格
最高价=出价; //最高价
for(i=0;i<=Quant_Bars-1;i++) // 从零(!)到
{ // ...Quant_Bars-1 (!)
如果(Low[i]<最小值)//如果<已知
Minimum=Low[i]; // 这将是最小值。
如果(High[i]> Maximum)//如果>已知
Maximum=High[i]; //它将是最大值。
}
Alert("对于最后的",Quant_Bars, //显示
"Min=",Minimum," Max=",Maximum)。
double linia1=ObjectCreate("highLine",OBJ_HLINE,0,0,Maximum)。
double linia2=ObjectCreate("lowLine",OBJ_HLINE,0,0,Minimum);
return(0); //exit start()
}