一目了然战略 - 页 2

 

我 "简化 "了一下编码,开始进行策略测试

//+------------------------------------------------------------------+
//|                                              ICHIMOKU_SIMPLE.mq4 |
//|                      Copyright © 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

extern double Lots = 1.0;
extern double Tenkan = 9;
extern double Kijun = 26;   
//----
int start()
   {
   double tenkan_sen;
   double kijun_sen;
   int ticket;
  
// check for long position (BUY) possibility
      if(tenkan_sen>kijun_sen)
         {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+Point,"ichimoku",16384,0,Green);
         if(ticket>0)
            {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
            }
         else Print("Error opening BUY order : ",GetLastError()); 
         return(0); 
         
         }   //  added by RaptorUK
            
   // SELL 
     {
      OrderSelect(SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL && // check for opened position 
         OrderSymbol()==Symbol()) // check for symbol
         {
         if(OrderType()==OP_BUY) // long position is opened
            {
            // should it be closed?
            if(tenkan_sen<kijun_sen)   //  removed surplus (  RaptorUK
               {
               OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
               return(0); // exit
               }
            }
         }
      }
  return(0);
   }

策略测试显示,建模质量为90%,日记中没有错误。

日志显示:2012.01.18 20:29:44 ICHIMOKU_F1 GBPCHF,H1:加载成功
2012.01.18 20:29:47 ICHIMOKU_F1输入。手数=1;Tenkan=9;Kijun=26。

然而,没有进行任何交易,因此没有任何结果。

会不会是代码出了问题?

 
RaptorUK:

你初始化了这些变量,但没有给它们任何值.. .

. . . 所以测试将永远是假的。 这个EA将永远不会下订单。

你错过了我之前的帖子吗?
 
我想是的,我很抱歉。但是,在这种情况下,这是不是有点不寻常,因为在每一个开盘的订单中,天干线和启明星都会有不同的数值。所以这肯定意味着不能给出数值。每次开单唯一相同的属性 是 tenkan-sen 的值高于 kijun-sen 的值。
 
ToBa:
我想是的,我很抱歉。但是,在这种情况下,是不是有点不寻常,因为在每一个订单打开时,Tenkan-sen和Kijun-sen将有不同的值。

但你并没有得到随每个新条形图而变化的值......你声明了这些变量,但你从未设置它们......所以它们从未变化,你期望它们通过魔法而变化吗?

 
ToBa:

我 "简化 "了一下编码,开始进行策略测试。

策略测试显示,建模质量为90%,日志中没有错误。

日志显示:2012.01.18 20:29:44 ICHIMOKU_F1 GBPCHF,H1:加载成功
2012.01.18 20:29:47 ICHIMOKU_F1输入。手数=1;Tenkan=9;Kijun=26。

然而,没有进行任何交易,因此没有任何结果。

会不会是代码出了问题?


"简化" 为什么这样说....

如果你已经给了 tenkan-sen 和 kijun-sen 正确的编码以获得其值,并且你把它放在下面

那么你会得到每一个tick tenkan_sen>kijun_sen的新交易。

你想进行多少次交易?

 
deVries:


"简化" 为什么这样做....

如果你已经给了 tenkan-sen 和 kijun-sen 正确的编码来获得它的价值,并且你把它放在这里

那么你将得到每一个tick tenkan_sen>kijun_sen的新交易。

你想开多少笔交易?


其目的是在天干线大于启明星时立即下单(1.0手),并保持该位置直到天干线小于启明星。
 
ToBa:

其目的是在天干线大于启明星时立即下单(1.0手),并保持该位置直到天干线小于启明星。
你从哪里得到这些数值?
 
RaptorUK:
你从哪里得到这些值?
我不太清楚你的意思。从MACD 的例子来看,使用以下方法是可以的: if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious &&

MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious) 而没有给出数值。

 
好吧,我终于明白你的意思了。虽然,我不知道如何检索这些值。
 
ToBa:
好吧,我终于明白你的意思了。虽然,我不知道如何检索这些值。
很好,这是个进步 :-)