谁能帮助解决机器人的问题,为什么它不工作了?

GIM  

大家好,谁能帮助解决机器人的问题,为什么它不工作?

外来的双倍数lot = 0。01;
extern double TPforSymbol = 0;
extern double SLforSymbol = 0;

int last_bar= 0;

int start(){
if (last_bar == Bars) return(0);
last_bar = Bars;
if(OrdersTotal()== 0){
OrderSend(Symbol(), OP_BUY, lots ,Ask, 3, Bid - SLforSymbol * Point, Ask + TPforSymbol * Point, 0, Blue);
OrderSend(Symbol(), OP_SELL, lots ,Bid, 3, Ask+ SLforSymbol * Point, Bid - TPforSymbol * Point, 0, Red);
}
return(0);
}

Vitalii Ananev  
GIM:
显示错误 OrderSend(Symbol()

1.在日志中查找错误代码

2.外来的双TPforSymbol = 0;

外来的双SLforSymbol = 0;

变量等于零。

GIM  
变量为零的事实是一个损益约束,我认为这在这里并不重要....。
Aleksey Vakhrushev  
GIM:
变量为零的事实是一个损益约束,我认为这在这里并不重要....。
错误必须是130?这确实很重要,你看,你正试图开一个TP和SL值等于升水和出价的订单。
Alexey Volchanskiy  
GIM:

大家好,谁能帮助解决机器人的问题,为什么它不工作?

外来的双倍lot = 0.01。
外来的双TPforSymbol = 0;
外来的双SLforSymbol = 0;

int last_bar = 0;

int start(){
如果(last_bar == Bars)返回(0)。
last_bar = Bars;
如果(OrdersTotal() == 0){
OrderSend(Symbol(), OP_BUY, lots ,Ask, 3, Bid - SLforSymbol * Point, Ask + TPforSymbol * Point, 0, Blue) 。
OrderSend(Symbol(), OP_SELL, lots ,Bid, 3, Ask + SLforSymbol * Point, Bid - TPforSymbol * Point, 0, Red)。
}
return(0);
}

根据语言的规则,你不能吞下默认值的参数。如果你必须设置箭头的颜色,那么把所有的参数写在颜色的左边。B的滑点3是不够的,如果是5位数,会有重新报价,我写了50。阿列克谢-瓦赫鲁舍夫 已经写过这个问题。

OrderSend(Symbol(), OP_BUY, lots ,Ask, 50, Bid - SLforSymbol * Point, Ask + TPforSymbol * Point,  "", 1, 0, clr Blue);
Yurij Izyumov  

对 =)

一个订单试图将止损点和止损点放在与价格相同的地方--这是不可能的

- 如果你想要0,就按下面的方法做

或指定TPforSymbol, SLforSymbol

OrderSend(Symbol(), OP_BUY, lots ,Ask, 50,0, 0,  "", 1, 0, clrBlue);
[删除]  
GIM:

大家好,谁能帮助解决机器人的问题,为什么它不工作了?


你是需要正确的打开功能,还是想找出错误的原因?
GIM  
Vladimir Zubov:
你是想让开幕式的功能正确,还是想了解为什么会有错误?
你希望它能打开交易。
Vitalii Ananev  
GIM:
它应该开启交易。

处理好各种变量

外来的双TPforSymbol = 0;

外来的双SLforSymbol = 0;

有了这个变量值,你会得到一个错误。

Alexey Volchanskiy 写道,你没有为OrderSend()函数 指定所有参数。

GIM  
外来的双倍数lot = 0。01;
extern double TPforSymbol = 100;
extern double SLforSymbol = 1000;
extern int stop_loss = 76;
extern int take_profit = 750;

intlast_bar = 0;

int start(){
if (last_bar == Bars) return(0);
last_bar = Bars;
如果(OrdersTotal()== 0){
OrderSend(Symbol(), OP_BUY, lots ,Ask, 50, Bid - stop_loss * Point, Ask + take_profit * Point, " ", 1, 0, clrBlue)。
OrderSend(Symbol(, OP_SELL, lots ,Bid, 50, Ask+ stop_loss * Point, Bid - take_profit * Point, "", 1, 0, clrRed);
}
return(0);

}


这样固定了,但仍然是错误的.....

原因: