前提・実現したいこと
参考サイト通りに記述したのですがエラーがかなり発生してしまいました、大半はなんとか解決できたのですがこの2つだけがどうしてもわかりません。
発生している問題・エラーメッセージ
'return' - 'void' function returns a value//最後の部分
MQL4
1#property copyright "Copyright 2020, MetaQuotes Software Corp." 2#property link "https://www.mql5.com" 3#property version "1.00" 4#property strict 5#property copyright"詳解MT4" 6#property link"http://mt4-traders.com" 7 8//変数の宣言 9extern int Magic = 1515; 10extern int Break_Period = 24; 11extern double Lots = 0.1; 12extern int Slippage = 10; 13extern string Comments = "Break Out"; 14extern int Trailing_Stop = 50; 15 16int Buy_Ticket = 0; 17int Sell_Ticket = 0; 18double Pips = 0; 19int Adjusted_Slippage = 0; 20 21//関数の定義 22//関数1 23double AdjustPoint(string Currency) 24 { 25 double Calculated_Point; 26 int Symbol_Digits = MarketInfo(Currency,MODE_DIGITS); 27 if(Symbol_Digits == 2 || Symbol_Digits == 3) 28 { 29 Calculated_Point = 0.01; 30 } 31 else if(Symbol_Digits == 4 || Symbol_Digits == 5) 32 { 33 Calculated_Point = 0.0001; 34 } 35 return(Calculated_Point); 36} 37 38//関数2 39int AdjustSlippage(string Currency,int Slippage_Pips) 40 { 41 int Calculated_Slippage; 42 int Symbol_Digits = MarketInfo(Currency,MODE_DIGITS); 43 if(Symbol_Digits == 2 || Symbol_Digits == 4) 44 { 45 Calculated_Slippage = Slippage_Pips; 46 } 47 else if(Symbol_Digits== 3 || Symbol_Digits == 5) 48 { 49 Calculated_Slippage = Slippage_Pips*10; 50 } 51 return(Calculated_Slippage); 52} 53 54int OnInit() 55 { 56 Pips = AdjustPoint(Symbol()); 57Adjusted_Slippage = AdjustSlippage(Symbol(),Slippage); 58return(0); 59 } 60 61void OnDeinit(const int reason) 62 { 63 } 64 65void OnTick() 66{ 67 //チケット番号の初期化 68 if(OrdersTotal()==0) 69 { 70 Buy_Ticket=0; 71 Sell_Ticket=0; 72 } 73//クローズ処理 74//ポジション保有の確認 75if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true) 76 { 77 //ロングポジションクローズ 78 if(OrderType()==OP_BUY) 79 { 80 if(Close[0]<Low[iLowest(Symbol(),0,MODE_LOW,Break_Period,1)] && OrderCloseTime()==0) 81 { 82 bool Closed = OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Adjusted_Slippage,Magenta); 83 if(Closed==true) 84 { 85 Buy_Ticket=0; 86 } 87 } 88 } 89 //ショートポジションクローズ 90 else if(OrderType()==OP_SELL) 91 { 92 if(Close[0]>High[iHighest(Symbol(),0,MODE_HIGH,Break_Period,1)] && OrderCloseTime()==0) 93 { 94 bool Closed = OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Adjusted_Slippage,Aqua); 95 if(Closed==true) 96 { 97 Sell_Ticket=0; 98 } 99 } 100 } 101 } 102 103 //エントリー処理 104 //ロングエントリー 105 if(Close[0]>High[iHighest(NULL,0,MODE_HIGH,Break_Period,1)] && OrdersTotal()==0) 106 { 107 Buy_Ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Adjusted_Slippage,0,0,Comments,Magic,0,Magenta); 108 } 109 110 //ショートエントリー 111 if(Close[0]<Low[iLowest(NULL,0,MODE_LOW,Break_Period,1)] && OrdersTotal()==0) 112 { 113 Sell_Ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Adjusted_Slippage,0,0,Comments,Magic,0,Aqua); 114 } 115 116 //トレイリングストップ 117 if(Buy_Ticket>0 || Sell_Ticket>0) 118 { 119 for(int i=OrdersTotal()-1; i>=0; i--) 120 { 121 if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) 122 { 123 //買いポジションの場合 124 if(OrderType()==OP_BUY) 125 { 126 double Max_Stop_Loss = Bid-Trailing_Stop*Pips; 127 Max_Stop_Loss = NormalizeDouble(Max_Stop_Loss,MarketInfo(Symbol(),MODE_DIGITS)); 128 double Current_Stop=NormalizeDouble(OrderStopLoss(),MarketInfo(Symbol(),MODE_DIGITS)); 129 130 //損切価格の変更 131 if(OrderMagicNumber()==Magic && OrderSymbol()==Symbol() && Current_Stop<Max_Stop_Loss) 132 { 133 bool Modified=OrderModify(OrderTicket(),OrderOpenPrice(),Max_Stop_Loss,0,0); 134 } 135 } 136 //売りポジションの場合 137 else if(OrderType()==OP_SELL) 138 { 139 double Max_Stop_Loss=Ask+Trailing_Stop*Pips; 140 Max_Stop_Loss=NormalizeDouble(Max_Stop_Loss,MarketInfo(Symbol(),MODE_DIGITS)); 141 double Current_Stop=NormalizeDouble(OrderStopLoss(),MarketInfo(Symbol(),MODE_DIGITS)); 142 143 //損切価格の変更 144 if(OrderMagicNumber()==Magic && OrderSymbol()==Symbol() && (Current_Stop>Max_Stop_Loss || Current_Stop==0)) 145 { 146 double Modified=OrderModify(OrderTicket(),OrderOpenPrice(),Max_Stop_Loss,0,0); 147 } 148 } 149 } 150 } 151 } 152return(0); 153}
試したこと
スペルチェック
補足情報(FW/ツールのバージョンなど)
https://mt4-traders.com/wp-content/uploads/2018/12/Break-Out-EA.pdf ←参考にしたもの
回答1件
あなたの回答
tips
プレビュー