[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 532

 
Pyro:
谢谢你,这是个比我想出来的更简单的解决方案))
 
tol64:

我不是故意这样做的))。
事实证明,这是一个相对的概念)。余额为固定收益/亏损。而这是真实的。资金,AccountEquity(), 仍然可以随心所欲地改变,这在原则上也是真实的,但已经很模糊了。当然,我们不应该增加账户的临界值,控制存款负荷和风险,远离止损和保证金比例。上面已经给出了这样一个例子。同样的 "神风"))))。

在这种情况下,novicek 应该更具体,使用明确的定义,如平衡/平等(明确),而不是真实/虚幻(模糊)。那么下面的例子对你有用吗?

对我来说,AccountEquity(),作为一个未成形的蜡烛和其他我感兴趣的指标,我在余额上计算,当然,我也遵循手段,要注意什么时候Equity(手段)应该转化为真实或虚拟(如果是测试)的钱,这就是余额。))

正是我所寻找的
我在哪里可以下载?

P.S.
对不起,我的措辞不对

 

大家好。

(当我们在设计我上面写的ES时)

是否有在一个DC注册多个交易账户并实施以下的事实。

1.是否有任何极端的MTS与一个DT进行了对决?(假设一个账户有一个MTS)......(似乎TC欢迎开设任何数量的账户)。

2.我对在一个贪婪的EA中整合几种交易算法 不感兴趣。


也就是说,如果不难的话,写出二维MTS的清单,如果有的话。你对二律背反的看法很有意思。

如果没有,那就没有。

我们的一项研究 意味着在一个DC中同时启动几个不同账户的极端MTS(当然也同时终止他们的工作)。如果以前有人这样做过,请提供一个结果的链接或关于崩溃的讨论。对观察和适度的分析感兴趣。如果为了这些测试--我们运行自己的 "测试办公室",那将是不愉快的))如果有信息--请分享。很简单,如果没有你的支持,我们就不会告诉你我们在研究历史上跌得有多惨,你也就没有理由对我们苦笑)))。

P.S. 正如我之前写的--我们对解决 一个应用问题感兴趣--"硬加"。我们最近实际上在头脑风暴什么。然后是其他一切。

 

我在Nikolay Kositsin的文章(https://www.mql5.com/ru/articles/1516) 中注意到,指标值被加载到缓冲区。

//----+ ВЫЧИСЛЕНИЕ ИНДИКАТОРНЫХ ЗНАЧЕНИЙ И ЗАГРУЗКА ИХ В БУФЕРЫ        
  for(bar = 1; bar <= 3; bar++)
      Mov[bar - 1] = iCustom(NULL, Timeframe_Dn, "JFatl", Length_Dn, Phase_Dn, 0, IPC_Dn, 0, bar);
           
           //----+ ОПРЕДЕЛЕНИЕ СИГНАЛОВ ДЛЯ СДЕЛОК
           dMov12 = Mov[0] - Mov[1];
           dMov23 = Mov[1] - Mov[2]; 
                                           
           if (dMov23 > 0)
              if (dMov12 < 0)
                       SELL_Sign = true;
                          
           if (dMov12 > 0)
                       SELL_Stop = true; 

我认为,这种在专家顾问中使用指标的方法将比这种方法更节省资源。

Mov_1 = iCustom(NULL, Timeframe_Dn, "JFatl", Length_Dn, Phase_Dn, 0, IPC_Dn, 0, 1);
Mov_2 = iCustom(NULL, Timeframe_Dn, "JFatl", Length_Dn, Phase_Dn, 0, IPC_Dn, 0, 2);
Mov_3 = iCustom(NULL, Timeframe_Dn, "JFatl", Length_Dn, Phase_Dn, 0, IPC_Dn, 0, 3);


我的假设是否正确,还是第二个选项与第一个选项相同?

 
novicek:
正是我所寻找的
P.S.
对措辞上的错误感到抱歉。


原则上你的表述是正确的,而我只是不明白)。你也写了这些数字。

账户中的金额=10000
杠杆资金量=10000
真金白银的总和=100

数字显示,该账户有10,000的余额和100的剩余权益。极端))。

 
novicek:

我在哪里可以下载它?

你对帖子的编辑可能没有被注意到。))这很容易写,根据下面的例子试试吧。脚本在右上角 显示了当前的余额和权益。这是一个静态版本。该函数可被开发并在专家顾问中调用,以按ticks更新。

   int    Y_pxls     = 10;
   int    X_pxls     = 10;
   int    n_X_pxls   = 70;
   int    corner     = 1;
   int    size_font  = 7;
   color  basic      = White;
   string font       = "Arial";
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//---------------------------------- ИНФОРМАЦИЯ ТОРГОВОЙ СИСТЕМЫ -----------------------------------------//
//--- Names

   //--- Баланс депозита
         ObjectCreate("Account Balance",OBJ_LABEL,0,0,0);
         ObjectSetText("Account Balance","Account Balance ($) =",size_font,font,basic); 
         ObjectSet("Account Balance",OBJPROP_CORNER,corner);
         ObjectSet("Account Balance",OBJPROP_XDISTANCE,n_X_pxls); 
         ObjectSet("Account Balance",OBJPROP_YDISTANCE,Y_pxls*2);

   //--- Текущие средства
         ObjectCreate("Account Equity",OBJ_LABEL,0,0,0);
         ObjectSetText("Account Equity","Account Equity ($) =",size_font,font,basic); 
         ObjectSet("Account Equity",OBJPROP_CORNER,corner);
         ObjectSet("Account Equity",OBJPROP_XDISTANCE,n_X_pxls); 
         ObjectSet("Account Equity",OBJPROP_YDISTANCE,Y_pxls*3);

//--- Values
         
   //--- Баланс депозита
         ObjectCreate("Value Account Balance",OBJ_LABEL,0,0,0);
         ObjectSetText("Value Account Balance",""+DoubleToStr(AccountBalance(),0)+"",size_font,font,basic);
         ObjectSet("Value Account Balance",OBJPROP_CORNER,corner);
         ObjectSet("Value Account Balance",OBJPROP_XDISTANCE,X_pxls);
         ObjectSet("Value Account Balance",OBJPROP_YDISTANCE,Y_pxls*2);
   //--- Текущие средства
         ObjectCreate("Value Account Equity",OBJ_LABEL,0,0,0);
         ObjectSetText("Value Account Equity",""+DoubleToStr(AccountEquity(),0)+"",size_font,font,basic);
         ObjectSet("Value Account Equity",OBJPROP_CORNER,corner);
         ObjectSet("Value Account Equity",OBJPROP_XDISTANCE,X_pxls);
         ObjectSet("Value Account Equity",OBJPROP_YDISTANCE,Y_pxls*3);
//----
   return(0);
  }
 
Maxaxa:

大家好。

...

P.S. 正如我之前写的--我们对解决 一个应用问题感兴趣--"硬加"。这就是我们最近一直在进行的头脑风暴。然后是其他一切。


你必须为此开设几个账户吗?你可以在一个账户上运行多个专家顾问系统。如果你需要某个工具,你就用这个工具打开几个窗口,然后到处运行你的EA。Magic_Number参数应在外部参数中,为每个EA设置不同的数字。
 

我不是一个程序员新手,我从另一种语言改写了一个指标,我偶然发现了过度绘制的问题。 请纠正它,并告诉我错误在哪里。

附加的文件:
i_asi_total.mq4  14 kb
 
tol64:

真的有必要为此开几个账户吗?你可以在一个账户上运行多个专家顾问系统。如果你需要某个工具,你可以用这个工具打开几个窗口,在任何地方运行你的EA。Magic_Number参数应在外部参数中,为每个EA设置不同的数字。

好吧,这是对 "贪婪 "专家的问题))。

你是对的,但这一切至少只是为了实验的纯粹性。

我(我们)除了不同的模拟账户外,还有几个真实账户(不止几个))。DC的行为完全不同,不是说图片不同,--动态不同。至于NDD账户--反正对我来说很好。哦......以及我们在真正的每周测试中已经损失了多少,这是一个原谅的恐怖......是时候开一个麋鹿场了))。

但是,也许这将发挥作用,让我们拭目以待。)

 

亲爱的,我在测试器中测试一个EA,日志显示错误138。我的意思是,测试者产生了重新报价?我怀疑我在这部分代码的某个地方出了错误

   if (CloseOnFriday == TRUE && DayOfWeek() == Friday_Days && Hour() > HourStopSession && AccountEquity_>AccountBalance_) {
               RefreshRates();
               OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Orange);
            }
如果确实存在错误,请告知是什么问题?