MqlTick latest_price; // To be used for getting recent/latest price quotesMqlTradeRequest mrequest; // To be used for sending our trade requestsMqlTradeResult mresult; // To be used to get our trade resultsMqlRates mrate[]; // To be used to store the prices, volumes and spread of each barZeroMemory(mrequest); // Initialization of mrequest structure
if(ConditionDICrossMain = -1)
{
if(Buy_opened)
{
return; // Don't open a new Buy Position
}
mrequest.action = TRADE_ACTION_DEAL; // immediate order execution
mrequest.price = NormalizeDouble(latest_price.ask,_Digits); // latest ask price
mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // Take Profit
mrequest.symbol = _Symbol; // currency pair
mrequest.volume = Lot; // number of lots to trade
mrequest.magic = EA_Magic; // Order Magic Number
mrequest.type = ORDER_TYPE_BUY; // Buy Order
mrequest.type_filling = ORDER_FILLING_FOK; // Order execution type
mrequest.deviation=100; // Deviation from current price//--- send orderOrderSend(mrequest,mresult);
// get the result codeif(mresult.retcode==10009 || mresult.retcode==10008) //Request is completed or order placed
{
Alert("A Buy order has been successfully placed with Ticket#:",mresult.order,"!!");
}
else
{
Alert("The Buy order request could not be COMPLETE -error:",GetLastError());
ResetLastError();
return;
}
}
Standard Constants, Enumerations and Structures / Data Structures / Structure of Request Check Results - Reference on algorithmic/automated trading language for MetaTrader 5
显示你的代码,这样我们就可以告诉你在哪里添加这一行。
Bonsoir Angevoyageur,
这是我的代码。这两部分在onTick部分是分开的。
谢谢你
维瓦迪
Bonsoir Angevoyageur,
这是我的代码。这两部分在onTick部分是分开的。
谢谢你
维瓦迪
我没有看到日志中的信息,它说问题来自于止损。
如果数值为0,则效果很好 :)
我没有看到日志中的信息,它说问题来自于止损。
如果数值为0,则效果很好 :)
Ange 我现在可以工作了:) 问题来自STP变量。
需要改变声明的类型为double (而不是int),以请教NormalizeDouble先生。
谢谢
double STP, TKP;我弄错了,改变变量声明并没有解决这个错误信息。问题来自STP和TKP变量,它们都是0,使得sl = tp。
是否有必要增加
ZeroMemory(request);975(x86)中的一个错误?
我最近在一个策略测试中遇到了4756的错误 ,添加上面这行就解决了。
是否有必要增加
975(x86)中的一个错误?
我最近在一个策略测试中遇到了4756的错误 ,添加上面这行就解决了。
尊敬的客户
发送订单在模拟账户 中有效,但在真实账户中不工作(2014.11.30 18:21:00.062 55 (اخابر,D1) BuyA: error 4756, retcode = 10006)
{ //--- prepare the request MqlTradeRequest request; MqlTradeResult result; MqlTradeCheckResult check; ZeroMemory(request); ZeroMemory(result); ZeroMemory(check); request.action=5; request.symbol=_Symbol; request.volume=1000.00; request.price=2652.000; request.stoplimit=2652.000; request.sl=0; request.tp=0; request.type=6; request.type_filling=2; request.type_time=0; request.expiration=0; request.magic=0; request.comment=""; if(!OrderSend(request,result)) { Print(__FUNCTION__,": error ",GetLastError(),", retcode = ",result.retcode); } //---