Vladimir Karputov:
旧终端的拥护者被剥夺了支持。作为对懒惰的惩罚。
这就够了。
Vladimir Karputov:
旧终端的拥护者被剥夺了支持。作为对懒惰的惩罚
"我们对张伯伦的回应"。
没有 "MT4 专家 "的支持,您的代码仍将是 "如何做得更好 "的最佳范例。
void OnTimer() { //--- for(int i=PositionsTotal()-1;i>=0;i--) if(m_position.SelectByIndex(i)) // 通过索引选择位置,以便进一步访问其属性 if(TimeCurrent()-m_position.Time()>InpSeconds) { double ExtTakeProfit=0; double m_adjusted_point; // 点值调整为 3 点或 5 点 if(!InitTrade(m_position.Symbol(),m_position.Magic(),m_adjusted_point,ExtTakeProfit)) continue; ... } //+------------------------------------------------------------------+ //| 启动交易对象| //+------------------------------------------------------------------+ bool InitTrade(const string symbol,const ulong magic,double &adjusted_point,double &ext_take_profit) { ... //--- 调整 3 或 5 位数 int digits_adjust=1; if(m_symbol.Digits()==3 || m_symbol.Digits()==5) digits_adjust=10; adjusted_point=m_symbol.Point()*digits_adjust; ext_take_profit=InpTakeProfit*adjusted_point; //--- return(true); }
在 OnInit() 阶段已经知道报价(5 位数)的重要性,因此无需在分析每个仓位时执行报价。
Andrey F. Zelinsky:
您是否遇到过单个交易账户中不同符号的报价值(5 位数和 4 位数)不同的情况?
这样的例子比比皆是(您只需睁大眼睛,多看几眼)。我会等到你意识到为止:)
fxsaber:
我一直不明白为什么很多人使用这样的结构(我不止一次遇到过)--他们看点/数字是为了做一些额外的事情。
肯定是有道理的,但我不明白他们为什么要这样写。毕竟,这是从某人那里得来的。
其中的逻辑很简单--1)使相同的设置适用于不同的数字;2)许多人只是更习惯于使用 4 位数字。
只是有些人使用起来正确而不显眼,而有些人使用起来却很难看。
N 秒 N 点:
作者: Vladimir Karputov