#property copyright "Copyright 2024, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" #include //+------------------------------------------------------------------+ //| Variable | //+------------------------------------------------------------------+ input int openHour; input int closeHour; input double lotsize =0.1; bool isTradeOpen = false; CTrade trade; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit(){ if(openHour == closeHour){return INIT_PARAMETERS_INCORRECT;} return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason){ } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick(){ // get current time MqlDateTime timeNow; TimeToStruct(TimeCurrent(), timeNow); // check for trade open if(openHour == timeNow.hour && !isTradeOpen){ //open trade trade.PositionOpen(_Symbol,ORDER_TYPE_BUY,lotsize,SymbolInfoDouble(_Symbol,SYMBOL_ASK),0,0); //set flag isTradeOpen = true; } // check for trade close if(closeHour == timeNow.hour && isTradeOpen){ //open trade trade.PositionClose(_Symbol); //set flag isTradeOpen = false; } }