39 líneas
Sin EOL
1,7 KiB
Text
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);
|
|
}
|
|
} |