[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 156

[Deleted]  
r772ra:

再次仔细阅读:对于Comment()、Alert()和Print()

双重类型的数据在打印时,点后有4位小数。要输出精度更高的数字,请使用 DoubleToStr()函数

再次感谢,我已经修好了!但为什么Comment中的数值(Macd1Buffer和Signal1Buffer)和MACD线的当前值(Macd1Buffer[i] Signal1Buffer[i])无论如何都不匹配?
 
MK07:
再次感谢,我已经修好了!但为什么Comment中的数值(Macd1Buffer和Signal1Buffer)和MACD线的当前值(Macd1Buffer[i] Signal1Buffer[i])不重合?

这是因为在循环for(i=0;i<=limit;i++)结束后,i变量等于limit+1,这意味着即使limit为0,注释也会至少打印第一个缓冲区的值,而不是当前的(0)。

正确的注释(Macd1Buffer[0], Signal1Buffer[0])。

[Deleted]  
alsu:

这是因为在循环for(i=0;i<=limit;i++)结束后,i变量等于limit+1,这意味着即使limit为0,注释也会至少打印第一个缓冲区的值,而不是当前的(0)。

正确的评论(Macd1Buffer[0], Signal1Buffer[0])

谢谢你的澄清和科学!有时你会错过一个重要的 "细节"。
 
在测试中,它是有效的,但在现实生活中,在5位数的账户中它不是,但在4位数的账户中,一切都很好 vClose[0] = (Bid+Ask)/2.0; 评论中的值显示是4位数的
 
r772ra:

这都是错的,想想看,你想开(),所以价格总是,要么高于...要么低于... 水平

试着在论坛上搜索一下,在某个地方讨论过 "打破水平"。

谢谢你的提示,我会修正它并继续寻找。
 
Armen63:
顾问在测试中起作用,但在现实生活中在5位数的账户中不起作用,但在4位数的账户中一切正常 vClose[0] = (Bid+Ask)/2.0; 评论中的数值显示是4位数的。
string DoubleToStr ()

来帮助。

 

你好,请你告诉我如何在函数中拼写代码来增加手数,使其不超过lot=10,并且

如果我想以lot=10开仓,那么下一个仓位将以lot=1重新开仓。

随着手数的增加,开仓的顺序应该是这样的。

1个位置 - 批量=1
2个姿势 - lot=2
3个位置 - lot=3
4个位置 - lot=4
5个位置 - lot=5
6个位置 - lot=6
7个位置 - lot=7
8个姿势 - lot=8
9个位置 - lot=9
10个姿势 - lot=10

11种姿势 - 批量=1
12个姿势 - 批量=2

等等。

编码本身,以增加随后的批次,如下。

     {
       if (Ballance!=0.0)
         {
           if (Ballance>AccountBalance())
               
       Lots=Lots+1;
                  else
             Lots=Lots+1+(!(Lots>1));   
         }
       Ballance=AccountBalance();
       }
 

论坛成员你好。

我需要解决以下任务。

将ADX指标值(即:日期(时间)、ADX值、DI+值、DI-值)写入CSV文件中。

什么是最好的方法?

 
STDinvest:

论坛成员你好。

我需要解决以下任务。

将ADX指标值(即:日期(时间)、ADX值、DI+值、DI-值)写入CSV文件中。

什么是最好的方法?

就是这样做的。
 
问题是这样的:例如,第一笔交易0.01手,第二笔交易0.02手,第三笔--0.03手,以此类推,直到趋势向相反方向变化,然后以0.01手重新开启交易。