Ichimoku_02

Profit factor:
1.25
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
3 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

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%
USD/CAD Jan 2025 - Jul 2025
2.16
Total Trades 147
Won Trades 72
Lost trades 75
Win Rate 48.98 %
Expected payoff 126.34
Gross Profit 34594.15
Gross Loss -16021.81
Total Net Profit 18572.34
-100%
-50%
0%
50%
100%
NZD/USD Jan 2025 - Jul 2025
1.10
Total Trades 116
Won Trades 51
Lost trades 65
Win Rate 43.97 %
Expected payoff 18.22
Gross Profit 22547.00
Gross Loss -20433.00
Total Net Profit 2114.00
-100%
-50%
0%
50%
100%
GBP/USD Jan 2025 - Jul 2025
0.60
Total Trades 39
Won Trades 16
Lost trades 23
Win Rate 41.03 %
Expected payoff -218.00
Gross Profit 12711.00
Gross Loss -21213.00
Total Net Profit -8502.00
-100%
-50%
0%
50%
100%
GBP/CAD Jan 2025 - Jul 2025
0.38
Total Trades 26
Won Trades 10
Lost trades 16
Win Rate 38.46 %
Expected payoff -326.97
Gross Profit 5173.65
Gross Loss -13674.87
Total Net Profit -8501.22
-100%
-50%
0%
50%
100%
GBP/AUD Jan 2025 - Jul 2025
0.39
Total Trades 31
Won Trades 9
Lost trades 22
Win Rate 29.03 %
Expected payoff -274.22
Gross Profit 5333.44
Gross Loss -13834.26
Total Net Profit -8500.82
-100%
-50%
0%
50%
100%

Comments