void ClosePos(){double pp;if(OrderSelect(0, SELECT_BY_POS)==true)// Если есть открытый ордер{if(OrderType()==OP_BUY){
pp=MarketInfo(OrderSymbol(),MODE_BID);OrderClose(OrderTicket(),OrderLots(),Bid,0,Blue);}if(OrderType()==OP_SELL){
pp=MarketInfo(OrderSymbol(),MODE_ASK);OrderClose(OrderTicket(),OrderLots(),Ask,0,Red);}}}
...对于非程序员的新手来说,可能会有不同的结果...
))这对我来说是个大词!我从事外汇工作只有2.5年...在这段时间里,我赚了2次:第一次是在模拟账户上(我把存款增加了50倍),第二次是在真实账户上(结果是比较温和的)。
我只做了一个结论:没有纪律!我决定尝试写一些不取决于我的情绪的东西)。
为了帮助你更快地思考,请先将你的专家通过所有的TICS和这里的结果运行。
反正测试通过了所有的虱子!你可以在图片中看到它...
我似乎在这段代码中弄错了什么......
我在日志中一直得到一个错误...
OrderClose 函数的无效票据
OrderClose错误4051
OrderSend错误130
这个检查关闭在相反的输入信号之前进行...
如果有一个买入信号
关闭当前卖出反之亦然...
但整个日志都填上了一个错误...
看起来它试图在每一个刻度上关闭......但没有任何条件......
OrderSelect 在哪里?
阅读这个函数......转换为这个变体。
如果不是因为建模的质量,我也会喜欢它。
搜索它,你需要下载并重新计算历史数据。
它取决于什么?
下载分钟蜡烛(例如来自Alpari)并在分钟蜡烛上进行测试。
你不能在4小时烛台上测试5个点的止损。