16時頃に1H足がゴールデンクロスしてたらエントリーして8時間後に決済するEA

FX

たしか何かの本を見ながら真似してつくったEAと思います。ご参考に

//+——————————————————————+
//| nicholus.mq4 |
//| Copyright 2021, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+——————————————————————+
#property copyright “Copyright 2021, MetaQuotes Software Corp.”
#property link “https://www.mql5.com”
#property version “1.00”
#property strict
//10時は16時(夏)、11時は17時(冬)、決済は8時間

int TicketB;
int TicketCloseB;
int EntryOKB;
int TicketS;
int TicketCloseS;
int EntryOKS;
extern int Entry_Hour=10;
extern int Entry_Minute=00;
extern int Close_Hour=18;
extern int Close_Minute=00;

//+——————————————————————+
//| Expert initialization function |
//+——————————————————————+
int OnInit()
{
//—

//—
return(INIT_SUCCEEDED);
}
//+——————————————————————+
//| Expert deinitialization function |
//+——————————————————————+
void OnDeinit(const int reason)
{
//—

}
//+——————————————————————+
//| Expert tick function |
//+——————————————————————+
void OnTick()
{
//—
//ロング
//夏16時または冬17時に1個前の1H足の終値>6MA>24MA>120MAならエントリーOK
if(Hour()==Entry_Hour&&Minute()==Entry_Minute&&iClose(0,0,1)>iMA(NULL,PERIOD_H1,6,0,0,0,1)&&iMA(NULL,PERIOD_H1,6,0,0,0,1)>iMA(NULL,PERIOD_H1,24,0,0,0,1)&&iMA(NULL,PERIOD_H1,24,0,0,0,1)>iMA(NULL,PERIOD_H1,120,0,0,0,1))
{EntryOKB=1;}

//注文番号がない&エントリーOKならロング!
if(TicketB<1&&EntryOKB==1)
{TicketB=OrderSend(Symbol(),OP_BUY,0.1,Ask,10,Ask-iATR(NULL,PERIOD_D1,14,1)*5,0,”BUY”,0,0,clrBlue);}

//注文番号があるなら、エントリー判断変数をリセット
if(TicketB>=1)
{EntryOKB=0;}

//8時間後にポジションがあるなら、成行決済
if(Hour()==Close_Hour&&Minute()==Close_Minute&&OrdersTotal()>=1)
{TicketCloseB=OrderClose(TicketB,0.1,Bid,10,clrBlue);}

//決済したら、注文番号をリセット
if(OrdersTotal()==0)
{TicketB=0;}

//注文番号が0になったら、TicketCloseBもリセット
if(TicketB==0)
{TicketCloseB=0;}

//ショート
//夏16時または冬17時に1個前の1H足の終値<6MA<24MA<120MAならエントリーOK
if(Hour()==Entry_Hour&&Minute()==Entry_Minute&&iClose(0,0,1)<iMA(NULL,PERIOD_H1,6,0,0,0,1)&&iMA(NULL,PERIOD_H1,6,0,0,0,1)<iMA(NULL,PERIOD_H1,24,0,0,0,1)&&iMA(NULL,PERIOD_H1,24,0,0,0,1)<iMA(NULL,PERIOD_H1,120,0,0,0,1))
{EntryOKS=1;}

//注文番号がない&エントリーOKならショート!
if(TicketS<1&&EntryOKS==1)
{TicketS=OrderSend(Symbol(),OP_SELL,0.1,Bid,10,Bid+iATR(NULL,PERIOD_D1,14,1)*5,0,”SELL”,0,0,clrRed);}

//注文番号があるなら、エントリー判断変数をリセット
if(TicketS>=1)
{EntryOKS=0;}

//8時間後にポジションがあるなら、成行決済
if(Hour()==Close_Hour&&Minute()==Close_Minute&&OrdersTotal()>=1)
{TicketCloseS=OrderClose(TicketS,0.1,Ask,10,clrBlue);}

//決済したら、注文番号をリセット
if(OrdersTotal()==0)
{TicketS=0;}

//注文番号が0になったら、TicketCloseSもリセット
if(TicketS==0)
{TicketCloseS=0;}

}
//+——————————————————————+

コメント

タイトルとURLをコピーしました