初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1494 1...148714881489149014911492149314941495149614971498149915001501...1503 新しいコメント Roman Kutemov 2024.01.22 19:01 #14931 Maksim Burov #:こんにちは。得られた最適化パラメータを別の期間で再実行する方法を教えてください。エクセルに記録された1つの通貨ペアのパラメータを過去半年間最適化しました。昨年1年間の期間を設定し、そのパラメータを実行したい。 通過するもの、しないものをチェックし、エクセルに書き出す。例えば、過去2年間を実行する。 データを実行したい期間を選択する。そして、得られたパラメータのタブで、必要なパラメータを右クリックし、単一テストを選択する。 Maksim Burov 2024.01.22 19:47 #14932 Roman Kutemov #: データを実行したい期間を選択する。そして、取得したパラメータのタブで、必要なパラメータを右クリックし、単一テストを選択します。 ありがとうございます。 また、各パラメータをつつかず、すべてスコープ内で行うにはどうすればよいでしょうか? Sergey Izhutov 2024.01.24 06:11 #14933 計算方法を教えてください。 利食いはストップの3倍必要です。うまくいっているように見えますが、何かがおかしいのです。)このロボットは金と株価指数では取引しますが、通貨では取引を拒否します(計算はすべて正しく行われますが)。 まず、ローソク足1の安値にストップを設定します: //---Устанавливаем стоп double stoploss = iLow(_Symbol,PERIOD_CURRENT,1); Print("Цена стопа ", stoploss); 次に、ASKから ストップまでの距離をポイントで計算し、この値をパ-トポイントに 割り当てます: //---Опредеяем размер стопа в пунктах double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK); double low = iLow(_Symbol, 0, 1); double points = NormalizeDouble((ask - low) / _Point, _Digits); Print("Размер стопа ", points); その後、ストップもピップで計算します: //---Считаем тейкпрофит double TP = NormalizeDouble(points * 3, _Digits); Print("Размер тейка ", TP); その後、取引をオープンし、TRを ASKに 追加します: //---Открываем сделку на покупку if(Close > maHandle && Close > Open) { if(trade.Buy(Lot,_Symbol,SYMBOL_ASK,stoploss, ask + TP,"Это я, твой робот") == true) { Print("Открыта покупка"); } テスターではすべての計算が正しく、5桁のポイントで、ストップはLow1にもあり、ストップのサイズも5桁のポイントで正しい。しかし、テイクプロフィットが507ピップスではなく、5070ピップスになっています。 Yuriy Bykov 2024.01.24 07:13 #14934 こんにちは、セルゲイ。 ストップを計算するとき、価格の距離からpipsの距離に移動します。次に、3倍して、テイクアウトまでの距離をpipsで求めます。そして、そのpips数をアスク価格に加えます。 1ピップの大きさで割らないようにするか、もう一度掛けるのを忘れないようにします。 //---Устанавливаем стоп double stoploss = iLow(_Symbol,PERIOD_CURRENT,1); Print("Цена стопа ", stoploss); //---Опредеяем размер стопа double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK); double low = iLow(_Symbol, 0, 1); double points = NormalizeDouble((ask - low) / _Point, _Digits); double points = NormalizeDouble((ask - low), _Digits); //--- ... または次のようにします。 //---Устанавливаем стоп double stoploss = iLow(_Symbol,PERIOD_CURRENT,1); Print("Цена стопа ", stoploss); //---Опредеяем размер стопа в пунктах (это целое число) double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK); double low = iLow(_Symbol, 0, 1); int points = (ask - low) / _Point; Print("Размер стопа ", points); //---Считаем тейкпрофит int TP = points * 3; Print("Размер тейка ", TP); //---Открываем сделку на покупку if(Close > maHandle && Close > Open) { if(trade.Buy(Lot,_Symbol,SYMBOL_ASK,stoploss, NormalizeDouble(ask + TP * _Point, _Digits),"Это я, твой робот") == true) { Print("Открыта покупка"); } Sergey Izhutov 2024.01.24 08:19 #14935 Yuriy Bykov #:やあ、セルゲイ。 どうもありがとう!本当に価格とアイテムで迷ってしまいました。今やってみます)) Sergey Izhutov 2024.01.24 08:33 #14936 今、すべてがカウントされ、正しく設定されていますが、USDJPY、XAUUSDと任意のインデックスでのみです。しかしUSDCADやEURUSDのような通貨ではフクロウは取引せず、エラー4756を送信します。ヘルプで値を調べましたが、役に立ちませんでした。) Yuriy Bykov 2024.01.24 09:20 #14937 Sergey Izhutov #: 今、すべてがカウントされ、正しく設定されていますが、USDJPY、XAUUSDと任意のインデックスでのみです。しかし、USDCADやEURUSDのような通貨では、フクロウは取引せず、エラー4756を送信します。私はヘルプで値を調べましたが、何もしませんでした。) 前の投稿のように、ポジションをオープンするコードを提供してください。そうすれば、何かアドバイスができるかもしれません。USDJPYとUSDCADの間に根本的な違いはないはずで、おそらく些細なエラーがあるのでしょう。 Sergey Izhutov 2024.01.24 11:47 #14938 Yuriy Bykov #:前回の記事と同じように: 以下はそのコードです。 //---Открываем сделку на покупку if(Close > maHandle && Close > Open) { if(trade.Buy(Lot,_Symbol,SYMBOL_ASK,stoploss, ask + BuyTP,"Это я, твой робот") == true) { Print("Открыта покупка"); } else { // Получение кода ошибки int error_code = GetLastError(); Print("Ошибка отправки заявки: ", GetLastError()); } return; } //---Открываем сделку на продажу if(Close < maHandle && Close < Open) { if(trade.Sell(Lot,_Symbol,SYMBOL_ASK,stoploss,ask - SellTP,"Это я, твой робот") == true) { Print("Открыта продажа"); } else { // Получение кода ошибки int error_code = GetLastError(); Print("Ошибка отправки заявки: ", GetLastError()); } return; } Yuriy Bykov 2024.01.24 18:06 #14939 エラーはここにある可能性が高いです: if(Close > maHandle && Close > Open) あなたのロジックによると、maHandleは価格であるべきで、これはハンドル、つまり整数、つまりロードされたすべてのインジケータのシリアル番号である可能性が高いです。インジケーターの値を取得する正しい方法については、MQL5のヘルプを参照してください。 Sergey Izhutov 2024.01.25 05:03 #14940 Yuriy Bykov #:おそらくここに間違いがある:あなたのロジックによると、maHandleは価格であるべきで、これはおそらくハンドル、つまり整数、つまりロードされたすべてのインジケータの中のインジケータのシリアル番号です。インジケーターの値を取得する正しい方法については、MQL5のヘルプをご覧ください。 私も夕方同じことを考えました。私はまだインジケーターと友達になっていません。ただ、4ではClose > MAと書くだけで、すべてがうまくいったのをなんとなく覚えています。ハンドルネームをコメントアウトして結果を見てみます。 1...148714881489149014911492149314941495149614971498149915001501...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは。
得られた最適化パラメータを別の期間で再実行する方法を教えてください。
エクセルに記録された1つの通貨ペアのパラメータを過去半年間最適化しました。昨年1年間の期間を設定し、そのパラメータを実行したい。
通過するもの、しないものをチェックし、エクセルに書き出す。例えば、過去2年間を実行する。
データを実行したい期間を選択する。そして、取得したパラメータのタブで、必要なパラメータを右クリックし、単一テストを選択します。
ありがとうございます。
また、各パラメータをつつかず、すべてスコープ内で行うにはどうすればよいでしょうか?
計算方法を教えてください。
利食いはストップの3倍必要です。うまくいっているように見えますが、何かがおかしいのです。)このロボットは金と株価指数では取引しますが、通貨では取引を拒否します(計算はすべて正しく行われますが)。
まず、ローソク足1の安値にストップを設定します:
次に、ASKから ストップまでの距離をポイントで計算し、この値をパ-トポイントに 割り当てます:
その後、ストップもピップで計算します:
その後、取引をオープンし、TRを ASKに 追加します:
テスターではすべての計算が正しく、5桁のポイントで、ストップはLow1にもあり、ストップのサイズも5桁のポイントで正しい。しかし、テイクプロフィットが507ピップスではなく、5070ピップスになっています。
こんにちは、セルゲイ。
ストップを計算するとき、価格の距離からpipsの距離に移動します。次に、3倍して、テイクアウトまでの距離をpipsで求めます。そして、そのpips数をアスク価格に加えます。
1ピップの大きさで割らないようにするか、もう一度掛けるのを忘れないようにします。
または次のようにします。
やあ、セルゲイ。
どうもありがとう!本当に価格とアイテムで迷ってしまいました。今やってみます))
今、すべてがカウントされ、正しく設定されていますが、USDJPY、XAUUSDと任意のインデックスでのみです。しかし、USDCADやEURUSDのような通貨では、フクロウは取引せず、エラー4756を送信します。私はヘルプで値を調べましたが、何もしませんでした。)
前の投稿のように、ポジションをオープンするコードを提供してください。そうすれば、何かアドバイスができるかもしれません。USDJPYとUSDCADの間に根本的な違いはないはずで、おそらく些細なエラーがあるのでしょう。
前回の記事と同じように:
以下はそのコードです。
エラーはここにある可能性が高いです:
あなたのロジックによると、maHandleは価格であるべきで、これはハンドル、つまり整数、つまりロードされたすべてのインジケータのシリアル番号である可能性が高いです。インジケーターの値を取得する正しい方法については、MQL5のヘルプを参照してください。
おそらくここに間違いがある:
あなたのロジックによると、maHandleは価格であるべきで、これはおそらくハンドル、つまり整数、つまりロードされたすべてのインジケータの中のインジケータのシリアル番号です。インジケーターの値を取得する正しい方法については、MQL5のヘルプをご覧ください。
私も夕方同じことを考えました。私はまだインジケーターと友達になっていません。ただ、4ではClose > MAと書くだけで、すべてがうまくいったのをなんとなく覚えています。ハンドルネームをコメントアウトして結果を見てみます。