Tizbok/ichimoku
2026-02-27 23:07:37 +00:00

39 líneas
Sin EOL
1,7 KiB
Text

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