初学者的问题 MQL5 MT5 MetaTrader 5 - 页 973

 
Sprut112:
你可以使用这种以百分比计算手数的变体,当然要取代MarketInfo?它很方便,因为它考虑到了计算的符号,因为eurusd lot和eurnzd lot是两个很大的区别。 我想知道如何为mt5写出它,是否可能
OP_LOTS =NormalizeDouble(AccountInfoDouble(ACCOUNT_BALANCE)* _LosPercent / 100 /SymbolInfoDouble(Symbol(),SYMBOL_TRADE_TICK_VALUE)/(pp),dg);

如果你想让它依赖于工具,请替换Symbol()。

到一个包含所需工具符号的字符串变量...

根据你的代码,它是

symbol_name[ii]


 
xxz:

如果你想让它依赖于工具,请替换Symbol()。

到一个包含所需工具符号的字符串变量...

根据你的代码,这是


是的,谢谢,这非常相似。对我的策略来说,货币的权重一致是很重要的。
 
我在重新启动我的Windows 8电脑时遇到了麻烦。终端正在工作。每天一次,我通过工作调度器用shutdown.exe -r -t 10 -f重新启动计算机。自动启动工作,但不幸的是,终端顾问的启动(重启前)没有100%的概率。请告知如何关闭并重新启动几个终端,以便始终加载EA?
 
pivomoe:
我有一个问题,我的电脑在Windows 8上重新启动。终端正在工作。每天一次,我通过工作调度器用shutdown.exe -r -t 10 -f重新启动计算机。自动启动工作,但不幸的是,终端顾问的启动(重启前)没有100%的概率。请告知如何关闭并重新启动几个终端,以便始终加载EA?

修复EA中的初始化块(OnInit())。

 

下午好。请帮助我找到一个EA,当某一水平被越过时,能根据随机指数向邮件发出信号。萨姆在编程中为零。提前感谢!

 
xxz:

如果你想让它依赖于工具,请替换Symbol()。

到一个包含所需工具符号的字符串变量...

根据你的代码,它是


在我看来,这里的最小手数是0.1,而我们需要0.01。也许第二行应该有dg=2?

 if(SymbolInfoDouble(Symb,SYMBOL_VOLUME_STEP)<0.1) dg=2; else
      if(SymbolInfoDouble(Symb,SYMBOL_VOLUME_STEP)<1.0) dg=1;
   
 
JimmyJonce:

下午好。请帮助我找到一个EA,当某一水平被越过时,能根据随机指数向邮件发出信号。萨姆在编程中为零。提前感谢!

在KodoBase中搜索"Stochastic"或"Stochastic"。

 
Sprut112:

在我看来,最小手数是0.1,而你需要0.01。也许在第二行dg=2?

你不必比较任何东西,只要找到Step并使用它,最好是在OnInit()中,它对特定账户是一样的,作为一项规则,它不会在不同的货币对中改变...

double Step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);
 
xxz:

你不必比较任何东西,只要找到Step并使用它,最好在OnInit()中对特定的账户是相同的,作为一项规则,它不会在不同的货币对中改变...

你能这样做吗?

 input_lots = NormalizeDouble(AccountInfoDouble(ACCOUNT_MARGIN_FREE)* MaximumRisk / 100 /SymbolInfoDouble(symbol_name[ir],SYMBOL_TRADE_TICK_VALUE)/1000,dg); 
 input_lots = MathRound(input_lots / SymbolInfoDouble(symbol_name[ir] , SYMBOL_VOLUME_STEP)) * SymbolInfoDouble(symbol_name[ir], SYMBOL_VOLUME_STEP);
      
 
Sprut112:

我可以这样做吗?

你可以...

我认为这样更好。

MathFloor
只是没有意义...