一目了然战略 - 页 3

 

好的,它现在在策略测试 中起作用了,但是,不止一个交易被放置--每分钟都有几个。哪一段代码应该被修改?

我知道你们现在一定很恼火,但如果你不问就不会得到。

//+------------------------------------------------------------------+
//|                                              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; 
//----
int start()
   {
   double tenkan_sen=iIchimoku(NULL, 0, 9, 26, 52, MODE_TENKANSEN, 1);
   double kijun_sen=iIchimoku(NULL, 0, 9, 26, 52, MODE_KIJUNSEN, 1);
   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);
   }
 
ToBa:

好的,它现在在策略测试中起作用了,但是,不止一个交易被放置--每分钟都有几个。哪一段代码应该被修改?

我知道你们现在一定很恼火,但如果你不问就不会得到。

恼火吗?不,不是我......只是想帮助你们学习,而你们似乎正在这样做......现在你们需要继续学习。
 

好的,我知道这和这条线路有关。

但我不知道这些数字是什么意思。我试图删除一些部分,但我得到')' - 错误的参数 计数 C:\Program Files (x86)\MetaTrader 4experts\ICHIMOKU_F1.mq4 (21, 51)

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+Point,"ichimoku",16384,0,Green);
 
阅读文档 ...... 点击这里 -->OrderSend
 
ToBa:

好的,它现在在策略测试中起作用了,但是,不止一次交易,每分钟都有好几次。

首先,你需要弄清楚你想让它做什么,而不是每分钟下几笔订单 . . .
 

好吧,我已经取得了重大进展。然而,一旦货币对价格增加0.0001,就会执行t/p。

现在的代码看起来像这样。

//+------------------------------------------------------------------+
//|                                              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;
//----

int start()
   {
   double tenkan_sen=iIchimoku(NULL, 0, 9, 26, 52, MODE_TENKANSEN, 1);
   double kijun_sen=iIchimoku(NULL, 0, 9, 26, 52, MODE_KIJUNSEN, 1);
   int ticket,total,order_id;
   
// BUY
      total=OrdersTotal();
   if(total<1 && tenkan_sen>kijun_sen)
         {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+Point,"ichimoku",16384,0,Green);
         } 
                      
// SELL 
   if(tenkan_sen<kijun_sen)   
         {
         OrderClose(order_id,1,Ask,3,Red);
         return(0);
         }     
  return(0);
   }
 
一个T/P似乎是自动放置的;我不知道哪个部分要改变。
 
ToBa:
一个T/P似乎是自动放置的;我不知道哪个部分要改变。
它是OrderSend 的一部分......。
 
好吧,我现在知道是这一点--Ask+*Point,但不是放一个数字,我希望t/p是在Tenkan-sen<kijun-sen时。
 
将其设置为0,那么你将需要继续检查 当Tenkan-sen<kijun-sen,然后当它是你关闭订单 ... ...这样做的缺点是,如果你有一个开放的订单,你失去了与互联网的连接,你的交易将保持开放,一个胜利的交易可能变成失败的交易。