你这里有两条程序是重复的,稍作修改应该可以
xjqp:
你这里有两条程序是重复的,稍作修改应该可以
你这里有两条程序是重复的,稍作修改应该可以
1.你的意思是不能重复开仓指令吗?
2.我也曾修改成:
OrderSend(Symbol(),OP_BUY,2*Lots,Ask,15,BSL,BTP,"My order",Magic,0,clrBlue);
OrderSend(Symbol(),OP_SELL,Lots,Bid,15,SSL,STP,"My order",Magic,0,clrRed);
这样的话,同样是有时成交一个,有时成交两个。
MTraderboy:
1.你的意思是不能重复开仓指令吗?
2.我也曾修改成:
OrderSend(Symbol(),OP_BUY,2*Lots,Ask,15,BSL,BTP,"My order",Magic,0,clrBlue);
OrderSend(Symbol(),OP_SELL,Lots,Bid,15,SSL,STP,"My order",Magic,0,clrRed);
这样的话,同样是有时成交一个,有时成交两个。
1. OrderSend()函数的返回值你要检查,如果是-1,则开仓不成功。
2. 一般StopLoss,TakePrifit是点数,所以要乘以Point:
BSL=NormalizeDouble(Ask-StopLoss*Point,Digits); BTP=NormalizeDouble(Ask+StopProfit*Point,Digits); SSL=NormalizeDouble(Bid+StopLoss*Point,Digits); STP=NormalizeDouble(Bid-StopProfit*Point,Digits);
fxmeter:
谢谢指教。我在StopLoss,TakePrifit中巳经输入的是点数。如 StopLoss=0.5,TakeProfit=1(以EURJPY为例)。所以不会出现负值和不用再乘以Point。如果这里出问题的话也不会有时能成功开二个仓。现在问题是有时能成功开三个仓,但大多数是只能开二个。当改成开二个仓,它又只开一个。
1. OrderSend()函数的返回值你要检查,如果是-1,则开仓不成功。
2. 一般StopLoss,TakePrifit是点数,所以要乘以Point:
MTraderboy:
谢谢指教。我在StopLoss,TakePrifit中巳经输入的是点数。如 StopLoss=0.5,TakeProfit=1(以EURJPY为例)。所以不会出现负值和不用再乘以Point。如果这里出问题的话也不会有时能成功开二个仓。现在问题是有时能成功开三个仓,但大多数是只能开二个。当改成开二个仓,它又只开一个。
谢谢指教。我在StopLoss,TakePrifit中巳经输入的是点数。如 StopLoss=0.5,TakeProfit=1(以EURJPY为例)。所以不会出现负值和不用再乘以Point。如果这里出问题的话也不会有时能成功开二个仓。现在问题是有时能成功开三个仓,但大多数是只能开二个。当改成开二个仓,它又只开一个。
止损止盈点数太小了,靠市价太近了,至少要在STOPLEVEL之外。
太小了开仓不成功很正常。
fxmeter:
在 EURJPY 货币对中,0.5即是50点了,足够在STOPLEVEL之外。
止损止盈点数太小了,靠市价太近了,至少要在STOPLEVEL之外。
太小了开仓不成功很正常。
MTraderboy:
在 EURJPY 货币对中,0.5即是50点了,足够在STOPLEVEL之外。
一般都要大于点差,并且不要距离太近、、、
在 EURJPY 货币对中,0.5即是50点了,足够在STOPLEVEL之外。
开仓不成功的原因有很多
每次开仓你都要检查返回值,根据返回值来决定要不要继续开仓。
有些是因为价格变化太快价格无效,有些是止损无效,交易手数等各种原因。
luo jun:
我试过干脆先不设止损和止盈,看看能否同时开出三个仓,结果还是不行,有时开出一个、有时二个。
开仓不成功的原因有很多
每次开仓你都要检查返回值,根据返回值来决定要不要继续开仓。
各位师兄,求解。以下是编程,请问什么原因不能同时开三个仓位,只执行一或二个。谢谢!
if (Close[1]>Close[2] )
BSL=NormalizeDouble(Ask-StopLoss,Digits);{
BTP=NormalizeDouble(Ask+StopProfit,Digits);
SSL=NormalizeDouble(Bid+StopLoss,Digits);
STP=NormalizeDouble(Bid-StopProfit,Digits);
OrderSend(Symbol(),OP_BUY,Lots,Ask,15,BSL,BTP,"My order",Magic,0,clrBlue);
OrderSend(Symbol(),OP_SELL,Lots,Bid,15,SSL,STP,"My order",Magic,0,clrRed);
OrderSend(Symbol(),OP_BUY,Lots,Ask,15,BSL,BTP,"My order",Magic,0,clrBlue);
}