メタエディターで記入していってるのですがエラーが出るのでエラーをなくしてコンパイルできるようにしたい。
治したいエラー箇所
-------------------------------------------------------------------行 列
' ' - declaration without type しろがね3号機.mq4 17 26
'Exit_L' - declaration without type しろがね3号機.mq4 104 5
'Exit_S' - declaration without type しろがね3号機.mq4 115 6
'Currency' - undeclared identifier しろがね3号機.mq4 80 38
'Calculated_Point' - undeclared identifier しろがね3号機.mq4 90 9
'return' - 'void' function returns a value しろがね3号機.mq4 90 2
'Calculated_Point' - undeclared identifier しろがね3号機.mq4 43 13
'return' - 'void' function returns a value しろがね3号機.mq4 188 19
言語はMQL4
MQL4
1コード 2 3 4//パラメーター設定 5 6 extern double Lots = 0.1; //取引ロット数 7 extern int Slip = 5; //許容スリップページ ←17行目26列ここでエラー 8 extern string coment = "";//コメント 9 extern int Trailing_Stop = 500; 10 double Pips = 0; 11 extern int TrailingStop=50; // if 0, MoveTrailingStop() will not be called 12 extern int MagicNumber=3333; 13//変数の設定 14 15 int Ticket_L = 0;//買い注文の結果をキャッチする変数 16 int Ticket_S = 0;//売り注文の 、、 17 int Exit_L = 0;//買いポジションの決済注文の結果をキャッチする変数 18 int Exit_S = 0;//売りポジションの 、、 19 20double AdjustPoint(string Currency); 21double AdjustPoint(string Currency) 22{ 23 int Symbol_Digits = (int)MarketInfo(Currency,MODE_DIGITS); 24 25 if(Symbol_Digits == 2 || Symbol_Digits == 3) 26 { 27 double Calculated_Point = 0.01; 28 } 29 else if(Symbol_Digits == 4 || Symbol_Digits == 5) 30 { 31 double Calculated_Point = 0.0001; 32 } 33 return(Calculated_Point); }; ここでエラー43行目13列 34 35 //トレール設定関数--------------------------------- 36 if(TrailingStop>0)MoveTrailingStop(); 37//+------------------------------------------------------------------+ 38//| Expert initialization function | 39//+------------------------------------------------------------------+ 40int OnInit() 41 { 42 43//---トレールの記述 44 Pips = AdjustPoint(Symbol()); 45//--- 46 return(INIT_SUCCEEDED); 47 } 48//+------------------------------------------------------------------+ 49//| Expert deinitialization function | 50//+------------------------------------------------------------------+ 51void OnDeinit(const int reason) 52 { 53//--- 54 55 } 56//+------------------------------------------------------------------+ 57//| Expert tick function | 58//+------------------------------------------------------------------+ 59 60 61void OnTick() 62 63 64 65//タイムフィルター----------------------------- 66 67 68//通貨表示の桁数統一の定義 69{ 70 int Symbol_Digits = (int)MarketInfo(Currency,MODE_DIGITS); ←ここでエラー80行目38列 71 72 if(Symbol_Digits == 2 || Symbol_Digits == 3) 73 { 74 double Calculated_Point = 0.01; 75 } 76 else if(Symbol_Digits == 4 || Symbol_Digits == 5) 77 { 78 double Calculated_Point = 0.0001; 79 } 80 return(Calculated_Point); ここでエラー90行目9列 90行目2列 81} 82 83 84 85 86 87 //---------------------------------------------------------------------------- 88 89 //買いポジションのエグジット 90 if( 91 92 &&(Ticket_L != 0&&Ticket_L != -1));//約定が0でなくて失敗してない場合、つまりポジションを持っている場合 93 94 Exit_L=oederClose(Ticket_L,Lots,Bid,Slip,Red); ←ここでエラー104行目5列 95 if(Exit_L==1){Ticket_L=0};//1で約定したら0で注文を出さないという意味 96 97 98 //---------------------------------------------------------------------------- 99 100 //売りポジションのエグジット 101 if( 102 103 &&(Ticket_S != 0&&Ticket_S != -1));//約定が0でなくて失敗してない場合、つまりポジションを持っている場合 104 105 Exit_S=oederClose(Ticket_S,Lots,Ask,Slip,Blue); ←ここでエラー115行目6列 106 if(Exit_S==1){Ticket_S=0};//1で約定したら0で注文を出さないという意味 107 108 109 110 111 112 113 114 115 116 //----------------------------------------------------------------- 117 118 //買いエントリー 119 //買い注文の条件=if(○○ 120 if( 121 122 //&&はかつなになにで||はどちらか一方でこれは注文結果を確定させるための指示 123 //0は一度も注文を出してない状態-1は注文が失敗した状態 124 125 &&(Ticket_L==0||Ticket_L==-1)//買いポジションを持ってないという意味 126 &&(Ticket_S==0||Ticket_S==-1))//売りポジションを持ってないという意味 127 128 //注文内容の設定 129 { 130 Ticket_L=ordersend(symbol(),OP_BUY,Lots,Ask,slip,0,0,comments,MAGIC,0,RED) 131 } 132 //------------------------------------------------------------------------ 133 //売りエントリー 134 135 if( 136 137 //&&はかつなになにで||はどちらか一方でこれは注文結果を確定させるための指示 138 //0は一度も注文を出してない状態-1は注文が失敗した状態 139 &&(Ticket_S==0||Ticket_S==-1)//売りポジションを持ってないという意味 140 &&(Ticket_L==0||Ticket_L==-1))//買いポジションを持ってないという意味 141 142 143 //注文内容の設定 144 { 145 Ticket_S=ordersend(symbol(),OP_SELL,Lots,Bid,slip,0,0,comments,MAGIC,0,Blue) 146 } 147 //トレール設定関数--------------------------------- 148 if(TrailingStop>0)MoveTrailingStop(); 149 150 //---------------------------------------------- 151 //トレールのソース----------------------------------- 152 void MoveTrailingStop() 153{ 154 int cnt,total=OrdersTotal(); 155 for(cnt=0;cnt<total;cnt++) 156 { 157 if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==false) continue; 158 if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber) 159 { 160 if(OrderType()==OP_BUY) 161 { 162 if(TrailingStop>0) 163 { 164 if((NormalizeDouble(OrderStopLoss(),Digits)<NormalizeDouble(Bid-Point*TrailingStop,Digits))||(OrderStopLoss()==0)) 165 { 166 OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Point*TrailingStop,Digits),OrderTakeProfit(),0,Blue); 167 return; 168 } 169 } 170 } 171 else if(OrderType()==OP_SELL) 172 { 173 if(TrailingStop>0) 174 { 175 if((NormalizeDouble(OrderStopLoss(),Digits)>(NormalizeDouble(Ask+Point*TrailingStop,Digits)))||(OrderStopLoss()==0)) 176 { 177 OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+Point*TrailingStop,Digits),OrderTakeProfit(),0,Red); 178 return(0) ←ここでエラー188行目19列 179 } 180 } 181 } 182 } 183 } 184} 185//+------------------------------------------------------------------+
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/17 20:12