[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 50

 

在EA本身中,整个代码被布置好了。

非常感谢你们所有人的帮助。

 
Sergstuddek:

你好。请帮助一个受苦的人。

我刚刚开始学习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--然后是其他一切...
 
Roman.:
首先,学习如何正确插入代码--通过Counter+Alt+M--然后是其他一切...
Вот в этом окошке будет код, если воспользоваться кнопкой SRC на верхней панели
 

你能建议一个脚本或EA在屏幕上显示信息(点差、止损水平、未平仓交易、交易利润、当天的利润等)吗?谢谢。

 
granit77:



谢谢你的帮助,这对我帮助很大。
 
你好。请帮助一个受苦的人。

我刚刚开始学习MQL,并决定编写我的第一个专家顾问,但我在代码中遇到了一个问题

挂单 不能打开,请告诉我为什么,问题在哪里。
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); // Открытие отложки на покупку в противополжну сторону до открытого ордера
}
这样更好。
附加的文件:
 
Sergstuddek:

我在代码中看不到挂单的问题,我只想问为什么。

按顺序排列。

if(OrderSelect(CalculateCurrentOrders1(Symbol()),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) // Проверка на то что открытый ордер на покупку
int ticket;

OrderSelect 的CalculateCurrentOrders1超出了范围,最大的 "POS "将是CalculateCurrentOrders1(Symbol())-1。if结构本身:如果条件得到满足,你是否声明一个 "票 "变量?某处显然需要一个大括号。我甚至不能理解你想做什么。你显然是在一个漫长的开始,我可以为你写,但这个代码没有意义,所以这是一个 "学习任务",所以你想自己做。这也是正确的。如果你有更具体的问题,我们将很乐意提供帮助。

我自己也被你的括号搞糊涂了,所以我修改了帖子。

 
prom18:

你能建议一个脚本或EA在屏幕上显示信息(点差、止损水平、未完成的交易、交易利润、今天的利润等)吗?谢谢你。

除了传播显示外,所有东西都在终端的标签中。我怀疑剧本是否显示得更清楚。

而点差可以通过EA中的附加线显示在图表上。

评论((Ask - Bid) / Point)。

 
Sorento:

我为认识你感到骄傲。

花时间咀嚼所有的东西并不可惜。

进展顺利!

谢谢!



我也是。

谢尔盖耶夫--尊重和敬意))。

P.S. 对不起,如果我有点偏离主题))

 
Figar0:

按顺序排列。

OrderSelect的CalculateCurrentOrders1超出了范围,最大的 "POS "将是CalculateCurrentOrders1(Symbol())-1。if结构本身:如果条件得到满足,你是否声明一个 "票 "变量?某处显然需要一个大括号。我甚至不能理解你想做什么。你显然是在一个漫长的开始,我可以为你写,但这个代码没有任何意义,所以这是一个 "学习曲线",所以你想自己做它。这也是正确的。如果你有更具体的问题,我们将很乐意提供帮助。

Z.I.我自己也被你的括号弄糊涂了,我已经纠正了帖子。

非常感谢你指出我的信息。

这个想法可能比我的代码要简单得多))))这段代码的想法是相对于最后一个未平仓订单设置挂单,分别相对于最后一个未平仓订单的开盘价 和成交量。