谁来为5WMZ写个剧本吧。 - 页 15

 

在商品市场上,有些工具的价格经常以令人惊讶的日内一致性变化而日复一日地变化着!这时,我们就会发现,在商品市场上,有一些工具的价格在不断地变化。正是在这样的仪器上,这种方法将非常有效(在我看来)。

例如,看看昨天和今天的NGV0(天然气)的价格走势,正如他们所说的--"找到10个差异"......

 

列昂尼德。我不介意任何人茁壮成长。不客气!我只有一个问题:两年前这些获奖者在哪里?为什么在2008年没有人用左手拇指砍1000%?

 

至于趋势的迹象,这里已经讨论了很久,甚至已经做了一些有用的事情。例如这里https://www.mql5.com/ru/articles/1508#6586。 然而,他们建议使用一些晦涩的指标(我不喜欢)。也许看看蜡烛的颜色会更好一些(如列昂尼德的)。但是,作者的方法论仍然不符合对时间模式的诚实判断!它在这里开始了某种数字学......我想这就是为什么许多人对它的看法是讽刺的。

 

你能告诉我为什么一个正常编译的EA没有预和错误,没有测试,没有交易,它缺少什么呢?

extern double Lots          = 0.1;
extern double StopLoss      = 120;
extern double TakeProfit    = 120;

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  int cnt, ticket, total;
  static int prevtime = 0;
   
        total=OrdersTotal();
if(total<1){  //если  нет открытых позиций
//+------------------------------------------------------------------+
//|               Открытие позиций понедельника                      |
//+------------------------------------------------------------------+
if ( DayOfWeek()==5){//если сегодня вечер пятницы
if ( Hour() == 23)  {//если - 22 часа терминального времени
// BUY
       if ( Close[1]<= Open[24] && Close[23]<=Open[48] && Close[47]<=Open[72]) {    
        
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask+StopLoss*Point,3,0,Ask+TakeProfit*Point,"Regulest",0,0,Green);}
         if(ticket < 0) {
            Print("Ошибка открытия ордера BUY #", GetLastError()); 
            Sleep(10000);  prevtime = Time[1];  return (0); }}
// SELL
if ( DayOfWeek()==5){//если сегодня вечер пятницы
if ( Hour() == 23)  {//если - 22 часа терминального времени
    if ( Close[1]>= Open[24] && Close[23]<=Open[48] && Close[47]<=Open[72]) {
    
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid-StopLoss*Point,3,0,Bid-TakeProfit*Point,"Regulest",0,0,Red);
         if(ticket < 0) {
            Print("Ошибка открытия ордера SELL #", GetLastError()); 
            Sleep(10000);  prevtime = Time[1];  return (0); }
          } 
        }
      return(0);
     }}}
//+------------------------------------------------------------------+
//|                     Закрытие позиций                             |
//+------------------------------------------------------------------+
      if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())  
        {
         if(OrderType()==OP_BUY)   // long position is opened
           {
            // should it be closed?
            if ( DayOfWeek()==1  && Hour() == 22)
                {
                 OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
                 return(0); // exit
                }
              }
           }
         else // go to short position
           {
            // should it be closed?
            if ( DayOfWeek()==1  && Hour() == 22)
              {
               OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
               return(0); // exit
              }      
           }  
   return(0);
  }  
//+------------------------------------------------------------------+
 
Profitabl:

你能告诉我为什么一个正常编译的EA没有预和错误,没有测试,没有交易,它缺少什么呢?

也许一个条件没有得到满足。 例如,在Alpari,周五没有小时值为23的条形图。 正如你在评论中所说的那样,把22

if ( Hour() == 23)  {//если - 22 часа терминального времени
 

不,这不是原因。我需要它重新编译整个瑞士法郎的EA,它在测试器中完美测试,但在 "允许EA交易 "的选项下不能交易。 作为一个专家,你对EA的调整有什么看法?顺便说一下,周二时,该EA正在进行交易,但后来我对代码做了一些改动,它就不再进行交易了。一个正常的EA停止工作的原因是什么?

 
发布包括所有虱子在内的报告。在如此大的时间范围内,如此粗糙的测试方法并不能给出一个完全客观的结果。 顺便说一句,非常有趣的是,这段代码是如何得到任何结果的,因为在开盘函数中没有开盘价,而是试图设置止损)))这是一个幼儿园,看在上帝的份上:))。
 
lasso:

也许条件没有得到满足。例如,在Alpari,周五没有时值为23的酒吧。正如你在评论中所说的那样,把22


我删除了止损点 "Ask-StopLoss*Point "和 "Bid-StopLoss*Point",并开始测试,但我应该怎么做才能让它也测试到它们?

       if ( Close[1]<= Open[24] && Close[23]<=Open[48] && Close[47]<=Open[72]) {    
        
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"Regulest",0,0,Green);}
         if(ticket < 0) {
            Print("Ошибка открытия ордера BUY #", GetLastError()); 
            Sleep(10000);  prevtime = Time[1];  return (0); }}
// SELL
if ( DayOfWeek()==5){//если сегодня вечер пятницы
if ( Hour() == 23)  {//если - 22 часа терминального времени
    if ( Close[1]>= Open[24] && Close[23]<=Open[48] && Close[47]<=Open[72]) {
    
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"Regulest",0,0,Red);
 
Techno:
发布一份考虑到所有蜱虫的报告。在如此大的时间范围内,如此粗糙的测试方法并不能给出一个完全客观的结果。顺便说一句,非常有趣的是,这段代码是如何得到任何结果的,因为在开盘功能中,你试图设置止损,而不是开盘价)))这有点像一个幼儿园,看在上帝的份上:))


我把StopLoss移过一个逗号,我想起了两年来没有做过的事情,一切都经过了测试。不需要刻度,条件看到非常简单的 "前天,昨天,今天"="明天",NNN=买入,NNV=卖出,交易与需要的东西相吻合。由于不可能为30M期开仓,预测准确率较低,约69%的交易是盈利的,而人工预测更准确,例如,327%的年度图表是基于254笔交易,此外,72%的交易是盈利的。

顾问的调整 是艰苦的,40个预测中的每一个都有自己的S\L和T\P,一些总价为-700ps的预测只是被替换为未定义的,但在测试器中得到了完善,手数的计算是存款的10%,如果你从100个开始,136周的1070%变成了8422476%的利润。亏损的风险相对较低,在1000%的固定保证金水平下,最多连续8次亏损交易是很容易容忍的;临界点是在14-16次连续亏损交易之间,这在这种分析系统中几乎是不可能的。

测试器中的头寸已经可以手动复制,但专家顾问最好能独立交易,把它连接到租用的服务器上。

你不会帮助我确定其代码中的什么东西会阻止交易,因为我不能展示代码或给你EA--这是一种心理武器,它可以导致金融危机和违约,在外汇开盘中是无害的,只为盈利服务,但这种模式在所有科学分支中随处可见。

同样的道理,得到一个预测表,你会在一周内做出同样的EA。

 

首先,纠正主要错误。

你可以选择在一个条件内关闭头寸

  
        total=OrdersTotal();
if(total<1){  //если  нет открытых позиций

你在哪里看到这里的逻辑?如果不存在,怎么能平仓?