エラー、バグ、質問 - ページ 33 1...262728293031323334353637383940...3185 新しいコメント 削除済み 2010.07.06 03:02 #321 Urain:これは特筆すべき提案 です。もっとも、普通の論理からすれば、右手で左耳を掻くようなものですが(でも、それはあなた次第ではなく、開発者次第)。なぜ、非ネイティブの楽器のデータを呼び出すことができるのか? それでもカスタム指標を 作成し、必要なシンボルから呼び出す必要がある場合は、一般的に、結論は私が買う頭を考えることです。 このような呼び出しの可能性は必要であり、開発者はインデックスを書くときにそのようなアプローチを想定できなかったに違いない。つまり、ユーザーのインジケーターのパラメーターにツール表示があることです(彼らの意見では、本来あるべきiCustom()パラメーターにはありません)。追記iCustom()の優先順位は、当初は機械的な取引に与えられていたようで、実際には、いくつかの瞬間が考慮され、いくつかのアクションがExpert Advisorで実行され、その後、iCustom()がカスタムインジケータ用に呼び出されることを想定しているようです。そうでなければ、インディのコードを実装するプログラマーにすべての作業と責任がかかってしまいます(あまりに派手なインディは、システム全体のブレーキやクラッシュにつながる可能性があるので、致命的なエラーや結果につながる可能性があります)。 削除済み 2010.07.06 03:09 #322 Urain:注目に値する提案 です。 EURのインジケーターはJPYのデータで準備万端といいつつも(例えば円の履歴だけでは物足りず) この長さのデータはないし、何を教えてくれるんだろう ? 同じ曲なのに。エラーやボトルネックをネイティブツールで処理する方がはるかに簡単で、Expert Advisorやデータ要求インジケータでの呼び出しの前後に予備チェックと最終チェックが行われます。2つ目の方法があると仮定すると、私の視点からは根本的に間違っている。このロジックでは、インジケータに1つ以上の関数を作成し(電卓から呼び出されます)、その中で必要なものをすべて計算し、結果を電卓に返す必要があります。追記しかし、ここで問題なのは、任意のシンボルのバーの本数を 計算することができることです。しかし、それ以外のことはどうでしょうか? Vladimir 2010.07.06 03:25 #323 Prival:バグです。説明ATSは常にマーケットにある(ダブルロット0.2によるロールオーバー)。テストモード全チックすべてが正常です。テストモードで、価格を開くことによって、同じ作品。なぜか2つの取引に分かれてしまう。表示方法のせいかもしれないが、おかしい。 オープニング コマンドとクロージングコマンドを並べ替える。この順序であるべきです - しゅうしょくぐち - じょうをおさえる - オープンポジション そうすると、クローズポジションとオープンポジションが同じバー上にあることになります。 Prival 2010.07.06 05:05 #324 gpwr: オープニングコマンドとクロージングコマンドを並べ替える。順番は以下のようにします。 - しゅうしょくぐち - じょうをおさえる - オープンポジション そうすれば、クローズとオープンが同じバー上になります。 0.1の買い相場であれば、0.2の売りを建てます。この操作の結果は、2回の取引ではなく、1回の取引で0.1.1となるはずです。開発者の方々は、私の言っていることを理解してくれたのだと思います。 ddd06 2010.07.06 09:10 #325 このようなコードを書きました。#property indicator_separate_window #property indicator_buffers 2 #property indicator_plots 2 //--- plot Label1 #property indicator_label1 "I1" #property indicator_type1 DRAW_LINE #property indicator_color1 Red #property indicator_style1 STYLE_SOLID #property indicator_width1 1 //--- plot Label2 #property indicator_label2 "I2" #property indicator_type2 DRAW_LINE #property indicator_color2 Green #property indicator_style2 STYLE_SOLID #property indicator_width2 1 //--- indicator buffers double I1Buffer[]; double I2Buffer[]; int OnInit() { SetIndexBuffer(0,I1Buffer,INDICATOR_DATA); SetIndexBuffer(1,I2Buffer,INDICATOR_DATA); return(0); } int OnCalculate (const int rates_total, // размер массива price[] const int prev_calculated, // обработано баров на предыдущем вызове const int begin, // откуда начинаются значимые данные const double& price[]) // массив для расчета { string Symbol_1="EURUSD",Symbol_2="GBPUSD"; if(rates_total<1) return(0); double Arr1[],Arr2[]; int end,rez0,rez1; end=MathMin((int)SeriesInfoInteger(Symbol_1,0,SERIES_BARS_COUNT)-1,(int)SeriesInfoInteger(Symbol_2,0,SERIES_BARS_COUNT)-1); end=MathMin(end,rates_total-prev_calculated+1); rez0=CopyClose(Symbol_1,PERIOD_CURRENT, 0,end, Arr1); if(rez0==-1){Print("Ошибка копирования ",Symbol_1," ",GetLastError()); return(0);} rez1=CopyClose(Symbol_2,PERIOD_CURRENT, 0,end, Arr2); if(rez1==-1){Print("Ошибка копирования ",Symbol_2," ",GetLastError()); return(0);} if(rez1!=rez0){Print("Ошибка Синхронизации"); return(0);} ArraySetAsSeries(Arr1,true); ArraySetAsSeries(Arr2,true); int li=rates_total-1; for(int i=0;i<end;i++) { I1Buffer[li]=Arr1[i]+0.26; I2Buffer[li]=Arr2[i]; li--; } return(rates_total); } 問題なく動作しているようですが、すべてを考慮に入れているかどうかはわかりません。 もしそうなら、ここにバリエーションがあります。 正しくない場合は、修正してください。 ddd06 2010.07.06 11:16 #326 さて、質問があります。 Expert Advisorからインジケータを呼び出すと、値が一致しないのはなぜですか? 例:インジケータが1.5123、EAが1.5117を取得 読み方が分からないので、見逃さないように使ってみました。static int Handle; int bars; void OnInit() { Handle=iCustom(NULL,0,"proverka"); } void OnTick() { if(bars==Bars(_Symbol,_Period))return; bars=Bars(_Symbol,_Period); double buf1[],buf2[]; if(CopyBuffer(Handle,0,0,2,buf1)<0 || CopyBuffer(Handle,1,0,2,buf2)<0)Alert("Ошибка копирования значений индикаторных буферов ",GetLastError(),"!!"); Print("Время "+TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES)," буф1-",buf1[0]," буф2-",buf2[0]); } と画像 そして、最初のバッファ、実行中の楽器が一致する。 ファイル: prover.mq5 1 kb proverka.mq5 2 kb Slava 2010.07.06 11:20 #327 ddd06: さて、質問があります。 Expert Advisorからインジケータを呼び出すと、値が一致しないのはなぜですか? 例:インジケータが1.5123、EAが1.5117を取得 以下は、添付ファイルと重複していますが、EAのコードです。 そして、インジケーターの前の値を見るのです。正確には1.5117ではないでしょうか。現在(最後)の値をインデックス 1 で取る。または配列の代入 SetAsSeries(bufX,true) ddd06 2010.07.06 11:28 #328 stringo: そして、前回のインジケーターの値を見るわけです。 1.512380 - 現在 1.512310 - 以前 Mykola Demko 2010.07.06 11:35 #329 ddd06:こんなコードを書きました 問題なく動作しているようですが、すべてを考慮しているかはわかりません。 もしそうなら、こんなバリエーションもありますよ。 正しくない場合は、修正してください。 そうそう、私の作り直したバージョンでは、配列の長さのチェックも行っているのですが、いつものようにシリーズの方向性に迷ってしまいました。で、描画は進むのですが、配列の長さがグラフの長さより短いので、端から真ん中(あたり)まで描画されてしまうことが判明しました。だから、レンダリングがないという印象があったんです。総じて、この場では長い間、混乱が続くのではないかと思っています。 というのも、同じ問題がmql4.comの訪問者にもあり、現在はこちらでダウンロードされているからです。 ddd06 2010.07.06 11:50 #330 Urain: そうなんです。 それは素晴らしいことです。コードがシンプルでローカルなので、ベースとして使えると思います。 EAに関する質問 -サービスデスクに手紙を 出すべきですか? Общайтесь с разработчиками через Сервисдеск! www.mql5.com Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы. 1...262728293031323334353637383940...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
これは特筆すべき提案 です。
もっとも、普通の論理からすれば、右手で左耳を掻くようなものですが(でも、それはあなた次第ではなく、開発者次第)。
なぜ、非ネイティブの楽器のデータを呼び出すことができるのか?
それでもカスタム指標を 作成し、必要なシンボルから呼び出す必要がある場合は、一般的に、結論は私が買う頭を考えることです。
このような呼び出しの可能性は必要であり、開発者はインデックスを書くときにそのようなアプローチを想定できなかったに違いない。
つまり、ユーザーのインジケーターのパラメーターにツール表示があることです(彼らの意見では、本来あるべきiCustom()パラメーターにはありません)。
追記
iCustom()の優先順位は、当初は機械的な取引に与えられていたようで、実際には、いくつかの瞬間が考慮され、いくつかのアクションがExpert Advisorで実行され、その後、iCustom()がカスタムインジケータ用に呼び出されることを想定しているようです。
そうでなければ、インディのコードを実装するプログラマーにすべての作業と責任がかかってしまいます(あまりに派手なインディは、システム全体のブレーキやクラッシュにつながる可能性があるので、致命的なエラーや結果につながる可能性があります)。
注目に値する提案 です。
EURのインジケーターはJPYのデータで準備万端といいつつも(例えば円の履歴だけでは物足りず)この長さのデータはないし、何を教えてくれるんだろう ? 同じ曲なのに。
エラーやボトルネックをネイティブツールで処理する方がはるかに簡単で、Expert Advisorやデータ要求インジケータでの呼び出しの前後に予備チェックと最終チェックが行われます。
2つ目の方法があると仮定すると、私の視点からは根本的に間違っている。このロジックでは、インジケータに1つ以上の関数を作成し(電卓から呼び出されます)、その中で必要なものをすべて計算し、結果を電卓に返す必要があります。
追記
しかし、ここで問題なのは、任意のシンボルのバーの本数を 計算することができることです。しかし、それ以外のことはどうでしょうか?
バグです。説明ATSは常にマーケットにある(ダブルロット0.2によるロールオーバー)。
テストモード全チックすべてが正常です。
テストモードで、価格を開くことによって、同じ作品。
なぜか2つの取引に分かれてしまう。表示方法のせいかもしれないが、おかしい。
オープニング コマンドとクロージングコマンドを並べ替える。この順序であるべきです
- しゅうしょくぐち
- じょうをおさえる
- オープンポジション
そうすると、クローズポジションとオープンポジションが同じバー上にあることになります。
オープニングコマンドとクロージングコマンドを並べ替える。順番は以下のようにします。
- しゅうしょくぐち
- じょうをおさえる
- オープンポジション
そうすれば、クローズとオープンが同じバー上になります。
0.1の買い相場であれば、0.2の売りを建てます。この操作の結果は、2回の取引ではなく、1回の取引で0.1.1となるはずです。
開発者の方々は、私の言っていることを理解してくれたのだと思います。
このようなコードを書きました。
問題なく動作しているようですが、すべてを考慮に入れているかどうかはわかりません。
もしそうなら、ここにバリエーションがあります。
正しくない場合は、修正してください。
さて、質問があります。
Expert Advisorからインジケータを呼び出すと、値が一致しないのはなぜですか?
例:インジケータが1.5123、EAが1.5117を取得
読み方が分からないので、見逃さないように使ってみました。
と画像
そして、最初のバッファ、実行中の楽器が一致する。
さて、質問があります。
Expert Advisorからインジケータを呼び出すと、値が一致しないのはなぜですか?
例:インジケータが1.5123、EAが1.5117を取得
以下は、添付ファイルと重複していますが、EAのコードです。
そして、前回のインジケーターの値を見るわけです。
こんなコードを書きました
問題なく動作しているようですが、すべてを考慮しているかはわかりません。
もしそうなら、こんなバリエーションもありますよ。
正しくない場合は、修正してください。
そうそう、私の作り直したバージョンでは、配列の長さのチェックも行っているのですが、いつものようにシリーズの方向性に迷ってしまいました。
で、描画は進むのですが、配列の長さがグラフの長さより短いので、端から真ん中(あたり)まで描画されてしまうことが判明しました。
だから、レンダリングがないという印象があったんです。
総じて、この場では長い間、混乱が続くのではないかと思っています。
というのも、同じ問題がmql4.comの訪問者にもあり、現在はこちらでダウンロードされているからです。
そうなんです。
それは素晴らしいことです。コードがシンプルでローカルなので、ベースとして使えると思います。
EAに関する質問 -サービスデスクに手紙を 出すべきですか?