MqlTradeResult StageOneBuyRes={0};
MqlTradeRequest StageOneBuy={0};
StageOneBuy.action=TRADE_ACTION_DEAL;
StageOneBuy.magic=MagicNumber;
StageOneBuy.symbol=_Symbol; // symbol
StageOneBuy.volume=Lot;
StageOneBuy.price=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
StageOneBuy.sl=0; // Stop Loss is not specified
StageOneBuy.tp=0; // Take Profit is not specified
StageOneBuy.deviation =7;
StageOneBuy.type=ORDER_TYPE_BUY; // order type
StageOneBuy.type_filling = ORDER_FILLING_FOK;
StageOneBuy.comment = "test";
MqlTradeResult StageOneSellRes={0};
MqlTradeRequest StageOneSell={0};
StageOneSell.action=TRADE_ACTION_DEAL;
StageOneSell.magic=MagicNumber;
StageOneSell.symbol=_Symbol; // symbol
StageOneSell.volume=Lot;
StageOneSell.price=SymbolInfoDouble(_Symbol,SYMBOL_BID);
StageOneSell.sl=0; // Stop Loss is not specified
StageOneSell.tp=0; // Take Profit is not specified
StageOneSell.deviation =7;
StageOneSell.type=ORDER_TYPE_SELL; // order type
StageOneSell.type_filling = ORDER_FILLING_FOK;
StageOneSell.comment = "test";
请在GBPUSD图表 上运行这个小脚本,并报告结果。
请在GBPUSD图表上运行这个小脚本,并报告其结果。
对不起,我没有看到这个帖子。我正在处理我在演示模式下的mql4版本中遇到的一些问题。
我会运行这个脚本的,谢谢
报告
"2014.04.02 15:11:27.158 Lot (GBPUSD,D1) Volume min = 0.010000, volume step = 0.010000 forsymbol GBPUSD。"
报告
"2014.04.02 15:11:27.158 Lot (GBPUSD,D1) Volume min = 0.010000, volume step = 0.010000 for symbol GBPUSD。"
这很奇怪。你能把所有的相关代码贴出来吗,包括调用订单端和错误处理(打印)?
是的,按照要求在下面
Lot=LotSize/8;
是的,下面是按要求的
这段代码是不对的,你不能像你那样使用它。
你必须使用StageOneBuyRes结构来获得关于你的订单/交易的信息。主要是你必须检查retcode,请看文档 或在网站上搜索使用OrderSend()的例子,它不像mql4那样工作。
你的代码可能是在没有错误的地方返回错误。你是否检查过终端,看是否有开仓或增仓的情况?
作为一个题外话,但与本主题无关,下面的代码可能不会做你认为的那样。
好的,我会修改的。
我不知道你说的检查终端是什么意思,那里没有显示任何回测 结果。
好的,我会修改的。
我不知道你说的检查终端是什么意思,那里没有显示任何回测结果。
这个代码是不对的,你不能像你那样使用它。
你必须使用StageOneBuyRes结构来获得关于你的订单/交易的信息。主要是你要检查retcode,请看文档 或在网站上搜索使用OrderSend()的例子,它不像用mql4那样工作。