[存档!]共同书写一个国家!!。 - 页 20

 

我意识到我在读完第一篇后卡在了第19页,但让我们把话说清楚。

1)这是一个基于分解的专家顾问

2)所有其他不符合故障的想法都被拒绝?

3)我们不应该对策略进行分类,然后建立3-4个EA吗?

4) 我已准备好用想法和代码支持他们

5) 对不起--我必须阅读之前的18页

 
到目前为止,没有任何具体的建议...既不是在破损上,也不是在其他...到目前为止,作者只对多币种分析(套期保值)做了具体说明
 

然后是我的第一个建议。

让我们定义一下可能的工作方式(故障、非故障等)。天啊,我在什么地方看到过文章,如果有人有线索,我很感激,如果有人能把链接投进来。

 
我想,只要有利润,没有人关心战略......。
 
sllawa3 >> :
我想,只要有利可图,没有人关心战略的原则......。

有了这种方法,它可以是任何东西。

就我而言,最主要的是由合格的治疗师支持的编码。既然作者已经没有了热情,我建议--让我们用成熟的方式来做事情?????。

1)有一个由BookKeeper先生制定的策略。让我们在此基础上创建一个专家顾问。你可以在这里找到这个策略http://uploadbox.com/files/73dd564596/

2)我们先不要关注它的盈利能力--实施的过程会告诉我们所有的瓶颈,这可以成为未来项目的起点。

3)我建议创建一个新的主题(我希望版主不会介意)--创建策略"基于BookKeeper策略的专家顾问"

 
caspermax >> :

那么第一句话就是我说的。

让我们确定可能的工作方式(突破、不突破,等等)。该死的,我知道文章的某处,所以如果有人能告诉我--我会很感激,如果有人能扔掉一个链接。

如果有人懒得看完19页,我就简单告诉你;)

最初的想法其实是为了突破前一天的高/低点。我们只是愚蠢地用固定的止损和利润进入。从长期来看,这个系统的工作原理是利润系数大约等于1.0。也就是说,它所损失的利润与它所损失的50/50一样多。这就是为什么我建议使用额外的工具,利用2009年的测试期来提高专家顾问的盈利能力。回顾一下,最初没有指标,没有振荡器,没有拖网,没有市场退出规则,也就是说,没有任何...

随后有几个建议,作为一种选择,我决定也发布自己的多货币指标。我把它附在我的专家顾问上,得到了2000年以来的结果。(P.9).

这就是为什么我们忘记了最初的想法,开始讨论指标))),并在此基础上建立我们的EA。因此,让我们做一个简单的介绍:)

不过今天会回到分解的想法上,并发表专家意见。我很乐意一起讨论...

 
RomanS >> :

最初确实有一个想法,就是对前一天的高/低点进行细分......但由于某些原因,他们忘记了最初的想法,开始讨论指标本身 ))))

我还 处理我的问题。但我同意关于指标的说法)应该有一些东西作为交易过滤器...

 
ALex2008 >> :

我还在整理 我的...。但关于指标,我将加入你的行列)应该有一些东西作为交易过滤器...


我时常检查这个主题...

看到最后的结果很有意思,我看到你几乎把所有的东西都准备好了,但它仍然是一片密林)))。

 

这是与第一页相同的专家顾问,但它会检查MACD背离,即如果没有背离,我们就在崩溃的方向开盘,如果有,则正好相反。以下是图片中专家的一个例子

同时,止损设置为获利的2倍以下。

以下是代码

//+-----------------------------------------------------------------------+
//|                                                     Крокодил ГЕНА.mq4 |
//|                                                         Крокодил ГЕНА |
//+-----------------------------------------------------------------------+

  // Внешние переменные
  extern double TakeProfit = 1100; 
  extern double Lot        = 1;    
  extern string SYMBOL     = "EURUSD";
  
  // Глобальные переменные
  int LastTradeTime = 0;      // Время последней открытой сделки
  
  // Поехали... :)
  int start() 
  {  
     int Ticket;
  double BID,
         ASK,
         SL=0,
         TP=0;                                  
    bool Ans         = false,
         Open_Bay_1  = false,
         Open_Sell_1 = false,
         Open_Bay_2  = false,
         Open_Sell_2 = false;

  // Критерии открытия позиций
    RefreshRates();                                             
    BID = MarketInfo( SYMBOL,9);
    ASK = MarketInfo( SYMBOL,10);
    if ( BID > iHigh ( SYMBOL,PERIOD_D1,1))
      {
       if (iMACD( SYMBOL,15,12,26,9,0,0,0)>iMACD( SYMBOL,15,12,26,9,0,0,iHighest( SYMBOL,15,MODE_HIGH,96,1))) Open_Bay_1 = true;
       if (iMACD( SYMBOL,15,12,26,9,0,0,0)<iMACD( SYMBOL,15,12,26,9,0,0,iHighest( SYMBOL,15,MODE_HIGH,96,1))) Open_Sell_2 = true;
      }
    if ( BID < iLow ( SYMBOL,PERIOD_D1,1))
      {
       if (iMACD( SYMBOL,15,12,26,9,0,0,0)<iMACD( SYMBOL,15,12,26,9,0,0,iHighest( SYMBOL,15,MODE_HIGH,96,1))) Open_Sell_1 = true;
       if (iMACD( SYMBOL,15,12,26,9,0,0,0)>iMACD( SYMBOL,15,12,26,9,0,0,iHighest( SYMBOL,15,MODE_HIGH,96,1))) Open_Bay_2 = true;
      } 
        
  // Открытие позиций 1
      if ( Open_Bay_1 == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!= LastTradeTime)                                           
        {      
         SL = iLow( SYMBOL,PERIOD_D1,0);
         TP = ASK + TakeProfit*Point;
         Ticket=OrderSend( SYMBOL,OP_BUY, Lot, ASK,20, SL, TP);         
         LastTradeTime=TimeDay(TimeCurrent()); // задаем время сделки, чтобы сегодня больше не торговать 
        }
     if ( Open_Sell_1 == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!= LastTradeTime)                                             
        {      
         SL = iHigh ( SYMBOL,PERIOD_D1,0);
         TP = BID - TakeProfit*Point;
         Ticket = OrderSend( SYMBOL,OP_SELL, Lot, BID,20, SL, TP);         
         LastTradeTime=TimeDay(TimeCurrent());  // задаем время сделки, чтобы сегодня больше не торговать
        }
        
  // Открытие позиций 2
      if ( Open_Bay_2 == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!= LastTradeTime)                                           
        {      
         SL = BID - TakeProfit/2*Point; 
         TP = ASK + TakeProfit*Point;
         Ticket=OrderSend( SYMBOL,OP_BUY, Lot, ASK,20, SL, TP);         
         LastTradeTime=TimeDay(TimeCurrent()); 
        }
     if ( Open_Sell_2 == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!= LastTradeTime)                                             
        {      
         SL = BID + TakeProfit/2*Point;                                            
         TP = BID - TakeProfit*Point;
         Ticket = OrderSend( SYMBOL,OP_SELL, Lot, BID,20, SL, TP);         
         LastTradeTime=TimeDay(TimeCurrent());   
        } 
   // Закрытие позиций
     for(int i=0; i<=OrdersTotal(); i++)   
      {  
       if (OrderSelect( i, SELECT_BY_POS)==true)  
         {                                        
          if (OrderSymbol() != SYMBOL) continue;
          if (OrderType()==0)
            {
             if (OrderProfit()>0 && TimeDay(TimeCurrent())!= LastTradeTime)
             Ans = OrderClose(OrderTicket(),OrderLots(), ASK,20);
            }
          if (OrderType()==1)
            {
            if (OrderProfit()>0 && TimeDay(TimeCurrent())!= LastTradeTime)
            Ans = OrderClose(OrderTicket(),OrderLots(), BID,20);
            }
         } 
      }        
   return;       
  }

如果在一天内没有达到止盈,但头寸上有一些利润,我们就关闭头寸。

这是从2009年1月1日开始到今天。

顺便说一下,分歧的定义很简单,甚至很可笑,但它在某种程度上是有效的。有谁知道一个更好的定义吗?

 
大约一年前,我在许多不同的变化中尝试了故障原理......我可以自信地说,它是不可行的......至于缺乏指标,我也可以说,在任何情况下,价格已经是一个指标......而所有其他的都是它的衍生物......有不同程度的平均化......延迟,等等。我建议在一个简单而有效的原则上编写一个多货币系统......当两个指标运行过高时进入......随机指数和Vp......并同时在多个时间段(例如m1和5以及m15或30)。
原因: