int OpenStops()
{
if(OrderSelect(CalculateCurrentOrders1(Symbol()),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) // Проверка на то что открытый ордер на покупкуint ticket;
double LotSize=OrderLots(); // Размер лота открытого ордераdouble OpenPrice=OrderOpenPrice(); // Цена открытия открытого ордера
ticket=OrderSend(Symbol(),OP_SELLSTOP,LotSize*2,OpenPrice-DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // Открытие отложки на продажу в противополжну сторону до открытого ордера
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,OpenPrice+TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); // Открытие отложки на покупку в сторону продолжения до открытого ордераif(OrderSelect(CalculateCurrentOrders1(Symbol()),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_SELL) // Проверка на то что открытый ордер на продажу
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,OpenPrice-TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // Открытие отложки на покупку в сторону продолжения до открытого ордера
ticket=OrderSend(Symbol(),OP_BUYSTOP,LotSize*2,OpenPrice+DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); // Открытие отложки на покупку в противополжну сторону до открытого ордера
}
if(OrderSelect(CalculateCurrentOrders1(Symbol()),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) // Проверка на то что открытый ордер на покупкуint ticket;
在EA本身中,整个代码被布置好了。
非常感谢你们所有人的帮助。
你好。请帮助一个受苦的人。
我刚刚开始学习MQL,并决定编写我的第一个专家顾问。
我想解释一下为什么它不能打开挂单,问题出在哪里。
int OpenStops()
{
如果(OrderSelect(CalculateCurrentOrders1(Symbol(),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) //检查是否有未平仓的买单
int票。
double LotSize=OrderLots(); //开单手数大小
double OpenPrice=OrderOpenPrice(); // 打开订单的开放价格
ticket=OrderSend(Symbol(),OP_SELLSTOP,LotSize*2,OpenPrice-DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); //在开仓单之前开一个反方向的卖出仓位。
ticket=OrderSend(Symbol(,OP_BUYSTOP,Lot,OpenPrice+TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); //开立一个买入头寸以延续开仓指令。
如果(OrderSelect(CalculateCurrentOrders1(Symbol())SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_SELL) // 检查是否有未平仓的卖单
ticket=OrderSend(Symbol(,OP_SELLSTOP,Lot,OpenPric-TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); //打开一个购买挂单。
ticket=OrderSend(Symbol(),OP_BUYSTOP,LotSize*2,OpenPrice+DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); //在开仓单之前开一个买入/卖出挂单。
}
首先,学习如何正确插入代码--通过Counter+Alt+M--然后是其他一切...
首先,学习如何正确插入代码--通过Counter+Alt+M--然后是其他一切...
你能建议一个脚本或EA在屏幕上显示信息(点差、止损水平、未平仓交易、交易利润、当天的利润等)吗?谢谢。
谢谢你的帮助,这对我帮助很大。
我刚刚开始学习MQL,并决定编写我的第一个专家顾问,但我在代码中遇到了一个问题
,挂单 不能打开,请告诉我为什么,问题在哪里。 这样更好。
我在代码中看不到挂单的问题,我只想问为什么。
按顺序排列。
OrderSelect 的CalculateCurrentOrders1超出了范围,最大的 "POS "将是CalculateCurrentOrders1(Symbol())-1。if结构本身:如果条件得到满足,你是否声明一个 "票 "变量?某处显然需要一个大括号。我甚至不能理解你想做什么。你显然是在一个漫长的开始,我可以为你写,但这个代码没有意义,所以这是一个 "学习任务",所以你想自己做。这也是正确的。如果你有更具体的问题,我们将很乐意提供帮助。
我自己也被你的括号搞糊涂了,所以我修改了帖子。
你能建议一个脚本或EA在屏幕上显示信息(点差、止损水平、未完成的交易、交易利润、今天的利润等)吗?谢谢你。
除了传播显示外,所有东西都在终端的标签中。我怀疑剧本是否显示得更清楚。
而点差可以通过EA中的附加线显示在图表上。
评论((Ask - Bid) / Point)。
我为认识你感到骄傲。
花时间咀嚼所有的东西并不可惜。
进展顺利!
谢谢!
我也是。
谢尔盖耶夫--尊重和敬意))。
P.S. 对不起,如果我有点偏离主题))
按顺序排列。
OrderSelect的CalculateCurrentOrders1超出了范围,最大的 "POS "将是CalculateCurrentOrders1(Symbol())-1。if结构本身:如果条件得到满足,你是否声明一个 "票 "变量?某处显然需要一个大括号。我甚至不能理解你想做什么。你显然是在一个漫长的开始,我可以为你写,但这个代码没有任何意义,所以这是一个 "学习曲线",所以你想自己做它。这也是正确的。如果你有更具体的问题,我们将很乐意提供帮助。
Z.I.我自己也被你的括号弄糊涂了,我已经纠正了帖子。
非常感谢你指出我的信息。
这个想法可能比我的代码要简单得多))))这段代码的想法是相对于最后一个未平仓订单设置挂单,分别相对于最后一个未平仓订单的开盘价 和成交量。