Ichimoku_02

Profit factor:
1.06
Price Data Components
Series array that contains close prices for each barSeries array that contains the lowest prices of each barSeries array that contains the highest prices of each bar
Orders Execution
Checks for the total of open ordersIt automatically opens orders when conditions are reachedIt Closes Orders by itself
Indicators Used
Ichimoku Kinko Hyo
8 Views
0 Downloads
0 Favorites
Ichimoku_02
//+------------------------------------------------------------------+
//|                                                    Ichimoku_v0.5 |
//|                                          Copyright © 2007, Volky |
//|          Not recommended for using with your real money trading. |
//|                                                                  |
//+------------------------------------------------------------------+
//Try with EURUSD 4H, USDJPY 1H, EURJPY 1H

//You can go to "Expert Properties > Inputs", and choose which kind of signals should be executed. "1" means YES, "0" means NO.
//There are 4 types of signals with this EA.
//CrossSignals1: Tenkan crosses Kijun on the "right" side of the Kumo.
//CrossSignals2: Tenkan crosses Kijun inside the Kumo.
//CrossSignals3: Tenkan crosses Kijun on the "wrong" side of the Kumo.
//KijunSignals: Prices run away from Kijun.

extern double CrossSignals1=1;
extern double CrossSignals2=1;
extern double CrossSignals3=1;
extern double KijunSignals=1;

int start()
  {
   double tenkan, kijun, senkouA, senkouB, chinkou;
   double pretenkan, prekijun, presenkouA, presenkouB, prechinkou;
   double KumoHigh, KumoLow;
   double buycross1, sellcross1, buycross2, sellcross2, buycross3, sellcross3, buyprice1, sellprice1;
   double lots=1;
   double profit=1000;
   double stop=1000;
   double noopen1, noopen2, noopen3, noopen4, noopen5, noopen6, noopen7, noopen8;
   int cnt, ticket, total;
   
   if(Bars<100)
     {
      Print("bars less than 100");
      return(0);  
     }

   tenkan=iIchimoku(NULL,0,9,26,52,MODE_TENKANSEN,1);
   kijun=iIchimoku(NULL,0,9,26,52,MODE_KIJUNSEN,1);
   senkouA=iIchimoku(NULL,0,9,26,52,MODE_SENKOUSPANA,1);
   senkouB=iIchimoku(NULL,0,9,26,52,MODE_SENKOUSPANB,1);
   chinkou=iIchimoku(NULL,0,9,26,52,MODE_CHINKOUSPAN,26);
   pretenkan=iIchimoku(NULL,0,9,26,52,MODE_TENKANSEN,2);
   prekijun=iIchimoku(NULL,0,9,26,52,MODE_KIJUNSEN,2);
   presenkouA=iIchimoku(NULL,0,9,26,52,MODE_SENKOUSPANA,2);
   presenkouB=iIchimoku(NULL,0,9,26,52,MODE_SENKOUSPANB,2);

      //KUMO
   if (senkouA>senkouB)
    {KumoHigh=senkouA;
     KumoLow=senkouB;
    }
   if (senkouA<=senkouB)
    {KumoHigh=senkouB;
     KumoLow=senkouA;
    }
   double KumoAv=(KumoHigh+KumoLow)/2;
   
   total=OrdersTotal();

   for(cnt=0;cnt<total;cnt++)
    {
     OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
     if(OrderMagicNumber()==1) noopen1=1;
     if(OrderMagicNumber()==2) noopen2=1;
     if(OrderMagicNumber()==3) noopen3=1;     
     if(OrderMagicNumber()==4) noopen4=1;
     if(OrderMagicNumber()==5) noopen5=1;
     if(OrderMagicNumber()==6) noopen6=1;
     if(OrderMagicNumber()==7) noopen7=1; 
     if(OrderMagicNumber()==8) noopen8=1;
    }   
   
   if (pretenkan>prekijun && tenkan<=kijun) noopen1=1;
   if (pretenkan<prekijun && tenkan>=kijun) noopen2=1;
   if ((pretenkan>prekijun && tenkan<=kijun)||(iClose(NULL,0,2)>=KumoLow && iClose(NULL,0,1)<KumoLow)) noopen3=1;
   if ((pretenkan<prekijun && tenkan>=kijun)||(iClose(NULL,0,2)<KumoHigh && iClose(NULL,0,1)>=KumoHigh)) noopen4=1;
   if ((pretenkan>prekijun && tenkan<=kijun)||(iClose(NULL,0,2)>=KumoHigh && iClose(NULL,0,1)<KumoHigh)) noopen5=1;
   if ((pretenkan<prekijun && tenkan>=kijun)||(iClose(NULL,0,2)<KumoLow && iClose(NULL,0,1)>=KumoLow)) noopen6=1;
   if (pretenkan>prekijun && tenkan<=kijun) noopen7=1;
   if (pretenkan<prekijun && tenkan>=kijun) noopen8=1;
   
   
   //on the "right side" of Kumo
   if (noopen1==0 && pretenkan<=prekijun && tenkan>kijun && iClose(NULL,0,1)>=KumoHigh) buycross1=1;
   if (noopen2==0 && pretenkan>=prekijun && tenkan<kijun && iClose(NULL,0,1)<KumoLow) sellcross1=1;
   
   //inside the Kumo
   if (noopen3==0 && pretenkan<=prekijun && tenkan>kijun && iClose(NULL,0,1)>=KumoLow && iClose(NULL,0,1)<KumoHigh) buycross2=1;
   if (noopen4==0 && pretenkan>=prekijun && tenkan<kijun && iClose(NULL,0,1)>=KumoLow && iClose(NULL,0,1)<KumoHigh) sellcross2=1;
   
   //on the "wrong side" of Kumo
   if (noopen5==0 && pretenkan<=prekijun && tenkan>kijun && iClose(NULL,0,1)<KumoLow) buycross3=1;
   if (noopen6==0 && pretenkan>=prekijun && tenkan<kijun && iClose(NULL,0,1)>=KumoHigh) sellcross3=1;

   //Price Leaves Kijun
   if (noopen7==0 && iLow(NULL,0,2)<=prekijun && iLow(NULL,0,1)>kijun && iLow(NULL,0,1)>=KumoHigh) buyprice1=1;
   if (noopen8==0 && iLow(NULL,0,2)>=prekijun && iLow(NULL,0,1)<kijun && iHigh(NULL,0,1)<=KumoLow) sellprice1=1;
   
   noopen1=0;
   noopen2=0;
   noopen3=0;
   noopen4=0;
   noopen5=0;
   noopen6=0;
   noopen7=0;
   noopen8=0;
   
   //POSITION OPENINGS
    if(CrossSignals1==true && buycross1==1 && noopen1==0) ticket=OrderSend(Symbol(),OP_BUY,lots,Ask,3,0,Ask+profit*Point,"BUY1",1,0,Green);
    if(CrossSignals1==true && sellcross1==1 && noopen2==0) ticket=OrderSend(Symbol(),OP_SELL,lots,Bid,3,0,Bid-profit*Point,"SELL1",2,0,Red);
    if(CrossSignals2==true && buycross2==1 && noopen3==0) ticket=OrderSend(Symbol(),OP_BUY,lots,Ask,3,0,Ask+profit*Point,"BUY2",3,0,Green);
    if(CrossSignals2==true && sellcross2==1 && noopen4==0) ticket=OrderSend(Symbol(),OP_SELL,lots,Bid,3,0,Bid-profit*Point,"SELL2",4,0,Red);
    if(CrossSignals3==true && buycross3==1 && noopen5==0) ticket=OrderSend(Symbol(),OP_BUY,lots,Ask,3,0,Ask+profit*Point,"BUY3",5,0,Green);
    if(CrossSignals3==true && sellcross3==1 && noopen6==0) ticket=OrderSend(Symbol(),OP_SELL,lots,Bid,3,0,Bid-profit*Point,"SELL3",6,0,Red);
    if(KijunSignals==true && buyprice1==1 && noopen7==0) ticket=OrderSend(Symbol(),OP_BUY,lots,Ask,3,0,Ask+profit*Point,"BUYP1",7,0,Green);
    if(KijunSignals==true && sellprice1==1 && noopen8==0) ticket=OrderSend(Symbol(),OP_SELL,lots,Bid,3,0,Bid-profit*Point,"SELLP1",8,0,Red);
    
   //CLOSING
    for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      
      if(OrderMagicNumber()==1 && pretenkan>prekijun && tenkan<=kijun) 
       {OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
        }
      
      if(OrderMagicNumber()==2 && pretenkan<prekijun && tenkan>=kijun) 
       {OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
       }
       
      if(OrderMagicNumber()==3)
       {if ((pretenkan>prekijun && tenkan<=kijun)||(iClose(NULL,0,2)>=KumoLow && iClose(NULL,0,1)<KumoLow)) OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
       }
      
      if(OrderMagicNumber()==4)
       {if ((pretenkan<prekijun && tenkan>=kijun)||(iClose(NULL,0,2)<KumoHigh && iClose(NULL,0,1)>=KumoHigh)) OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
       }
      
      if(OrderMagicNumber()==5)
       {if ((pretenkan>prekijun && tenkan<=kijun)||(iClose(NULL,0,2)>=KumoHigh && iClose(NULL,0,1)<KumoHigh)) OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
       }
      
      if(OrderMagicNumber()==6)
       {if ((pretenkan<prekijun && tenkan>=kijun)||(iClose(NULL,0,2)<KumoLow && iClose(NULL,0,1)>=KumoLow)) OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
       }
      
      if(OrderMagicNumber()==7 && pretenkan>prekijun && tenkan<=kijun) 
       {OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
        }
      
      if(OrderMagicNumber()==8 && pretenkan<prekijun && tenkan>=kijun) 
       {OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
       }
      
      
     }
     
buycross1=0;
sellcross1=0;
buycross2=0; 
sellcross2=0;
buycross3=0;
sellcross3=0;
buyprice1=0;
sellprice1=1;            
  }

Profitability Reports

USD/JPY Jul 2025 - Sep 2025
0.22
Total Trades 12
Won Trades 6
Lost trades 6
Win Rate 50.00 %
Expected payoff -770.86
Gross Profit 2590.95
Gross Loss -11841.28
Total Net Profit -9250.33
-100%
-50%
0%
50%
100%
USD/CAD Jul 2025 - Sep 2025
0.38
Total Trades 57
Won Trades 18
Lost trades 39
Win Rate 31.58 %
Expected payoff -103.48
Gross Profit 3542.61
Gross Loss -9440.71
Total Net Profit -5898.10
-100%
-50%
0%
50%
100%
NZD/USD Jul 2025 - Sep 2025
1.02
Total Trades 51
Won Trades 17
Lost trades 34
Win Rate 33.33 %
Expected payoff 3.57
Gross Profit 9622.00
Gross Loss -9440.00
Total Net Profit 182.00
-100%
-50%
0%
50%
100%
GBP/USD Jul 2025 - Sep 2025
1.54
Total Trades 57
Won Trades 31
Lost trades 26
Win Rate 54.39 %
Expected payoff 124.51
Gross Profit 20165.00
Gross Loss -13068.00
Total Net Profit 7097.00
-100%
-50%
0%
50%
100%
GBP/CAD Jul 2025 - Sep 2025
1.47
Total Trades 64
Won Trades 34
Lost trades 30
Win Rate 53.13 %
Expected payoff 72.24
Gross Profit 14519.07
Gross Loss -9895.50
Total Net Profit 4623.57
-100%
-50%
0%
50%
100%
GBP/AUD Jul 2025 - Sep 2025
0.50
Total Trades 45
Won Trades 21
Lost trades 24
Win Rate 46.67 %
Expected payoff -188.97
Gross Profit 8533.96
Gross Loss -17037.82
Total Net Profit -8503.86
-100%
-50%
0%
50%
100%
EUR/USD Jul 2025 - Sep 2025
0.00
Total Trades 10
Won Trades 1
Lost trades 9
Win Rate 10.00 %
Expected payoff -316618.81
Gross Profit 86.00
Gross Loss -3166274.00
Total Net Profit -3166188.00
-100%
-50%
0%
50%
100%
AUD/USD Jul 2025 - Sep 2025
0.81
Total Trades 53
Won Trades 20
Lost trades 33
Win Rate 37.74 %
Expected payoff -33.72
Gross Profit 7722.00
Gross Loss -9509.00
Total Net Profit -1787.00
-100%
-50%
0%
50%
100%
USD/JPY Jan 2025 - Jul 2025
1.73
Total Trades 140
Won Trades 80
Lost trades 60
Win Rate 57.14 %
Expected payoff 121.67
Gross Profit 40485.20
Gross Loss -23450.99
Total Net Profit 17034.21
-100%
-50%
0%
50%
100%
USD/CHF Jan 2025 - Jul 2025
2.36
Total Trades 140
Won Trades 64
Lost trades 76
Win Rate 45.71 %
Expected payoff 178.69
Gross Profit 43466.52
Gross Loss -18450.47
Total Net Profit 25016.05
-100%
-50%
0%
50%
100%

Comments