一日2回ポジションを持つにはどうしたらいいですか?
以前に、質問投稿した事があります。火曜から金曜日まで動かして、一日に2回だけ売買するにはどうすればいいのかわからなくて困ってます。宜しくお願いします。
---------------------------------------------------
extern string X = "Basic Settings"; //基本設定
extern int MagicNumber = 10011; //マジックナンバー
extern double TakeProfit = 200; //リミット[pips]
extern double StopLoss = 150; //ストップ[pips]
extern double Lots = 0.1; //ロットサイズ
extern int Cmd = OP_BUY; //エントリー方法[OP_BUY/OP_SELL]
extern int Slippage = 30; //スリッページ
extern string XX = "Order Settings"; //新規注文設定
extern bool CheckOrderDayOfWeek = false; //曜日の判定有無
extern int OrderDayOfWeek = 1; //曜日
extern bool CheckOrderHour = true; //時間の判定有無
extern int OrderHour = 7; //時間
extern bool CheckOrderMinute = true; //分の判定有無
extern int OrderMinute = 5; //分
extern bool CheckOrderSeconds = true; //秒の判定有無
extern int OrderSeconds = 0; //秒
extern string XXX = "Close Settings"; //決済注文設定
extern bool CheckCloseHour = true; //時間の判定有無
extern int CloseHour = 7;//時 //時間
extern bool CheckCloseMinute = true; //分の判定有無
extern int CloseMinute = 40;//分 //分
extern bool CheckCloseSeconds = true; //秒の判定有無
extern int CloseSeconds = 0;//秒 //秒
//+------------------------------------------------------------------+
//| 開始関数 |
//+------------------------------------------------------------------+
int start()
{
if(OrdersTotal() == 0){
if((TimeDayOfWeek(TimeCurrent()) == OrderDayOfWeek
|| CheckOrderDayOfWeek == false)
&&(TimeHour(TimeCurrent()) == OrderHour
|| CheckOrderHour == false)
&&(TimeMinute(TimeCurrent()) == OrderMinute
|| CheckOrderMinute == false)
&&(TimeSeconds(TimeCurrent()) == OrderSeconds
|| CheckOrderSeconds == false))
{
if(Cmd == OP_BUY){
OrderSend(Symbol(),
Cmd,Lots,
Ask,
Slippage,
Ask-StopLoss*Point,
Ask+TakeProfit*Point,
"",
MagicNumber,
0,
Red);
return(0);
}
if(Cmd == OP_SELL){
OrderSend(Symbol(),
Cmd,Lots,
Bid,
Slippage,
Bid+StopLoss*Point,
Bid-TakeProfit*Point,
"",
MagicNumber,
0,
Blue);
return(0);
}
}
}
if((TimeDayOfWeek(TimeCurrent()) == OrderDayOfWeek
|| CheckOrderDayOfWeek == false)
&&(TimeHour(TimeCurrent()) == CloseHour
|| CheckCloseHour == false)
&&(TimeMinute(TimeCurrent()) == CloseMinute
|| CheckCloseMinute == false)
&&(TimeSeconds(TimeCurrent()) == CloseSeconds
|| CheckCloseSeconds == false))
{
for(int i = 0; i < OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false)
{
break;
}
if(OrderSymbol() == Symbol()
&& OrderMagicNumber() == MagicNumber)
{
if(OrderType() == OP_BUY)
{
OrderClose(OrderTicket(),
OrderLots(),
Bid,
Slippage,
Yellow);
return(0);
}
if(OrderType() == OP_SELL)
{
OrderClose(OrderTicket(),
OrderLots(),
Ask,
Slippage,
Lime);
return(0);
}
}
}
}
return(0);
}
お礼
ありがとうございます Cです。ためしに使ってみましたがやはりエラーとなりました