新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 172

 
-Aleks-:

很明显,他们这样做了,但数据储存在哪里呢!?我正在导入另一个工具的报价--Si期货,我需要删除那里的小数点后的零,因为它们不在Si中。

那么让我们从另一个方面开始: 如何进口
 
YURAZ_CreateCSV_HistoryFile_From_MT5_For_MT4
YURAZ_CreateCSV_HistoryFile_From_MT5_For_MT4
  • 投票: 28
  • 2010.12.15
  • Yuriy Zaytsev
  • www.mql5.com
Данный скрипт поможет получить для MetaTrader 4 полную историю без дырок из базы MetaTrader 5.
 
Victor Nikolaev:

这足以让我们重写一下脚本了

哪个方向要返工--卸货时没有零点。

或者,你是建议用另一种方式来分割整数吗?


 
Vitalie Postolache:
这样就可以对脚本进行 "修正",使最终的文件包含正确格式的引号,但终端是否会显示没有小数部分的引号,我不确定。最有可能的是,导入终端后会出现零。询问剧本的作者。

这就是我说的,有零!这就是我说的。否则,一切正常。而这些零让我感到不安--点数的天文数字破坏了人们的看法。
 
-Aleks-:

哪个方向要返工--卸货时没有零点。

或者,你建议反过来分割整数吗?


那么剩下的就是隐藏图表价格并绘制你自己的对象,但这值得吗?为什么零点会困扰你,难道是美学上的问题?
 
Vitalie Postolache:
那么剩下的就是隐藏图表价格并绘制你自己的对象,但这值得吗?零是为了防止什么,美学是错误的?

零点使我们无法做到这一点,因为我们必须在那些使用点的地方全面重新配置EA--这是在浪费时间。
 
-Aleks-:

零点会碍事,因为你必须在使用点的地方全局性地重新配置EA--这是一种浪费时间的做法。
那么换成A就更容易了 :)
 
Vitalie Postolache:
那就更容易换成五号机了 :)

这对一些人来说比较容易,对另一些人来说则比较困难--我有一个超过15行的EA,还不算8个独立的类...
 

对一个新手的代码有一点帮助。


有锁定交易的代码。

MQL-代码。
void OnTick(void){double LB=0, LS=0;int b=0,s=0;for(int i=0; i<OrdersTotal(); i++){if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){if(OrderSymbol() ==Symbol()){int tip =OrderType(); 
           if(tip==OP_BUY){ LB +=OrderLots(); b++; }if(tip==OP_SELL){ LS +=OrderLots(); s++;
            }}}}Comment(b," 买入",DoubleToStr(LB,2)," lot","n",s," 卖出",DoubleToStr(LS,2)," lot");if(LS<LB){if(OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),100,0, stoploss,NULL,0,0,CLR_NONE)==-)Print("Error",GetLastError()," order opening
   }如果(LS>LB){如果(OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),100,0, takeprofit,NULL,0,0,CLR_NONE)==-1)Print("Error"GetLastError()," order opening "); }
它的工作原理是锁定每笔未平仓的交易......也就是说,一笔交易打开后,它立即用相反的交易来覆盖它,如此类推,直到无限大......。

我必须这样做!当一个交易被打开(或我自己有点打开),如果它是成功的,它被安全地关闭......而如果它是不正当的,那么在第n个数字之后(可以在设置中指定),蜱打开锁并保持这个位置......我的意思是,逻辑很清楚吗?如果没有,我将尝试更详细地解释这一点...

请帮助好心人....,我将非常感激。
原因: