標籤

二元樹 (1) 字串常數池 (1) 投資 (3) 每月損益 (37) 例外處理 (1) 泛型 (2) 股票 (15) 指標 (5) 英文 (8) 基本資料型別 (1) 期貨 (1) 程式交易 (10) 量化投資 (5) 亂亂寫 (3) 概念 (3) 資料結構 (3) 演算法 (3) 數學 (3) 轉型 (1) AMA (1) ArrayList (1) assert (1) BeautifulSoup (1) C/C++ (8) casting (1) ClassCastException (1) classpath (1) Collection (4) Comparable (1) comparTo() (1) constructor (1) database (3) Debian (1) Dropbox (2) EA (2) enum (1) equals() (2) exception (3) extends (1) ffmpeg (1) final (1) Git (1) HashMap (1) HashSet (1) hasNext() (1) HTS (3) instanceof (1) IS-A (1) Iterator (1) JAVA (43) length (1) Linux (31) List (1) Mac (6) Map (1) ML (2) MT4 (6) MySQL (2) next() (1) NullPointerException (1) Number (1) Numpy (2) OpenCart (1) OpenCV (3) OSX (1) overloading (1) overriding (3) pandas (2) PHP (8) PriorityQueue (1) Python (11) Queue (1) random() (1) reverse() (1) Samba (1) SCJP (21) sqrt() (1) synchronized (1) talib (1) ufw (1) uTorrent (1) var-args (2) VHF (1) vim (2) Yhoo知識+ (4)

2016年3月25日 星期五

三重濾網

參考這篇文章寫出來的MT4版本。不過MT4沒有台指期,而且回測也不精準,所以跑出來(我測摩台)的績效沒有文章那麼好。


input double Lots          = 0.1;    
input int hands  = 1;

void OnTick(void){
   int    cnt,total;  
   if(Bars<100){
      Print("bars less than 100"); return;
     }

   total=OrdersTotal();

       if(total < hands){
          if(AccountFreeMargin() < (1000*Lots)){
             Print("We have no money. Free Margin = ",AccountFreeMargin());
             return;
          }
              if(iMACD(NULL,60,12,26,9,PRICE_CLOSE,MODE_MAIN,0)>iMACD(NULL,60,12,26,9,PRICE_CLOSE,MODE_MAIN,1) &&
iStochastic(NULL, 15, 9, 3, 3, MODE_SMA, 0, MODE_MAIN, 0)<95 && iStochastic(NULL, 15, 9, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0)<95 &&
iClose(NULL, 5, 0)>iMA(NULL, 5, 35, 8, MODE_SMA, PRICE_CLOSE, 0)){                                              
                OrderSend(Symbol(), OP_BUY, Lots, Ask,3, 0,0,"3ScreensSystem", 1234,0,Green);   return;
              }
if(iMACD(NULL,60,12,26,9,PRICE_CLOSE,MODE_MAIN,0)<iMACD(NULL,60,12,26,9,PRICE_CLOSE,MODE_MAIN,1) &&
iStochastic(NULL, 15, 9, 3, 3, MODE_SMA, 0, MODE_MAIN, 0)>5 && iStochastic(NULL, 15, 9, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0)>5 &&
iClose(NULL, 5, 0)<iMA(NULL, 5, 45, 8, MODE_SMA, PRICE_CLOSE, 0)){
                OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"3ScreensSystem", 1234,0,Red); return;
              }
        }

   for(cnt=0;cnt<total;cnt++){
      if(!OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))   continue;
      if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()){
         if(OrderType()==OP_BUY){
               if(iClose(NULL,5,0)-OrderOpenPrice()>2){
                      OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); return;
                }else if(OrderOpenPrice()-iClose(NULL,5,0)>0.5){
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); return;
}
          }else{
        if(OrderOpenPrice()-iClose(NULL,5,0)>2){
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); return;
}else if(iClose(NULL,5,0)-OrderOpenPrice()>0.5){
            OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); return;
}
          }
      }
    }
  }

沒有留言:

張貼留言