//+------------------------------------------------------------------+ //| EA Ichimoku tendance + cassure | //+------------------------------------------------------------------+ #property strict input double LotSize = 0.1; input double StopLossPips = 50; input double TakeProfitPips = 100; input int TenkanPeriod = 9; input int KijunPeriod = 26; input int SenkouSpanBPeriod = 52; //+------------------------------------------------------------------+ void OnTick() { double tenkan = iIchimoku(NULL,0,TenkanPeriod,KijunPeriod,SenkouSpanBPeriod,MODE_TENKANSEN,0); double kijun = iIchimoku(NULL,0,TenkanPeriod,KijunPeriod,SenkouSpanBPeriod,MODE_KIJUNSEN,0); double senkouA = iIchimoku(NULL,0,TenkanPeriod,KijunPeriod,SenkouSpanBPeriod,MODE_SENKOUSPANA,0); double senkouB = iIchimoku(NULL,0,TenkanPeriod,KijunPeriod,SenkouSpanBPeriod,MODE_SENKOUSPANB,0); double chikou = iIchimoku(NULL,0,TenkanPeriod,KijunPeriod,SenkouSpanBPeriod,MODE_CHIKOUSPAN,0); double price = Close[0]; bool hasPosition = PositionSelect(Symbol()); //---------- BUY SIGNAL ---------- if(price > senkouA && price > senkouB && tenkan > kijun && chikou > price && !hasPosition) { double sl = price - StopLossPips*_Point; double tp = price + TakeProfitPips*_Point; OrderSend(Symbol(),OP_BUY,LotSize,Ask,3,sl,tp,"Ichimoku Buy",0,0,clrGreen); } //---------- SELL SIGNAL ---------- if(price < senkouA && price < senkouB && tenkan < kijun && chikou < price && !hasPosition) { double sl = price + StopLossPips*_Point; double tp = price - TakeProfitPips*_Point; OrderSend(Symbol(),OP_SELL,LotSize,Bid,3,sl,tp,"Ichimoku Sell",0,0,clrRed); } }