初心者です。自分でも調べてみたのですがあと一つエラーが消せません。よろしくお願いします。
エラーメッセージは'[' - open parenthesis expected BB_Entry.mq4 122 22となっていて、
122行近辺は
//売りエントリー
if(BB_UP2 > iClose[2] && BB_UP1<=iClose[1]&&ADX_value<ADX_LINE&&Time_Entry == true&&Position_Count == 0)
{
Ticket = OrderSend(NULL,OP_SELL,Lots,Bid,slipPoint,songiriPoint,rikaku*Point,NULL,0,0,clrRed);
と書きました。122行目の22文字目はiClise[2]の[でしっかり閉じていると思うのですが、、、
分かる方がいましたら、教えてください。よろしくお願いします。
以下、全文です。
//+------------------------------------------------------------------+
//| BB_Entry.mq4 |
//| Copyright 2022, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int Ticket = 0;
input double Lots = 0.1;
input int slip = 10;
input int songiri = 50;
input int rikaku = 50;
input int BB_per = 20;
input int BB_dev = 2;
input int ADX_per = 14;
input double ADX_LINE = 20.0;
int Summer_5ji = 22;
int Summer_9ji = 2;
int Winter_5ji = 23;
int Winter_9ji = 3;
//サマータイム関数
bool SummerTime(){
bool ret = false;
datetime summerStart; //サマータイム開始日
datetime summerEnd; //サマータイム終了日
datetime tc = TimeCurrent();
//サマータイム開始日を3/14の前の日曜日に設定
summerStart = StringToTime(IntegerToString(Year()) + ".03.14");
summerStart = summerStart - TimeDayOfWeek(summerStart) * 24 * 60 * 60;
//サマータイム終了日を11/7の前の日曜日に設定
summerEnd = StringToTime(IntegerToString(Year()) + ".11.07");
summerEnd = summerEnd - TimeDayOfWeek(summerEnd) *24 * 60 * 60;
//現在の時刻がサマータイム開始日と終了日の間であればtrueを返す
if(tc > summerStart && tc < summerEnd) ret = true;
return ret;
}
//ポジションチェック関数
int OpendOrderTotal(){
int count = 0;
for(int i = OrdersTotal() - 1; i >= 0; i--){
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderCloseTime() == 0){
if(OrderType() == OP_BUY || OrderType() == OP_SELL){
count++;}
}
}
return count;}
//トレンドが無い時間か聞く関数
int Time_Entry (int Summer_5ji,int Summer_9ji,int Winter_5ji,int Winter_9ji,bool SummerTime)
{
bool ret = false;
if(SummerTime == true)
{
if(Summer_5ji < Hour() || Hour() < Summer_9ji) ret =true;
}
else
{
if(Winter_5ji < Hour() || Hour() < Winter_9ji) ret = true;
}
return ret ;
}
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
double BB_UP1 = iBands(NULL,0,BB_per,BB_dev,0,PRICE_CLOSE,MODE_UPPER,1);
double BB_UP2 = iBands(NULL,0,BB_per,BB_dev,0,PRICE_CLOSE,MODE_UPPER,2);
double BB_LO1 = iBands(NULL,0,BB_per,BB_dev,0,PRICE_CLOSE,MODE_LOWER,1);
double BB_LO2 = iBands(NULL,0,BB_per,BB_dev,0,PRICE_CLOSE,MODE_LOWER,2);
double ADX_value = iADX(NULL,0,ADX_per,PRICE_CLOSE,MODE_MAIN,1);
bool SummerTime = SummerTime();
//datetime ima = TimeCurrent();
int Position_Count = OpendOrderTotal();
bool Time_Entry = Time_Entry(Summer_5ji,Summer_9ji,Winter_5ji,Winter_9ji,SummerTime);
//売りエントリー
if(BB_UP2 > iClose[2] && BB_UP1<=iClose[1]&&ADX_value<ADX_LINE&&Time_Entry == true&&Position_Count == 0)
{
Ticket = OrderSend(NULL,OP_SELL,Lots,Bid,slipPoint,songiriPoint,rikaku*Point,NULL,0,0,clrRed);
}
//買いエントリー
if(BB_LO2<iClose[2]&&BB_LO1>=iClose[1]
&&
ADX_value < ADX_LINE
&&
Time_Entry == true
&&
Position_Count == 0)
{
Ticket = OrderSend(NULL,OP_BUY,Lots,Ask,slipPoint,songiriPoint,rikaku*Point,NULL,0,0,clrBlue);
}
}
//+------------------------------------------------------------------+
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/05/26 04:35