他の通貨ペアからbid/askをインポートする方法は? - ページ 3 123456 新しいコメント Seng Joo Thio 2019.05.07 04:44 #21 HosseinKOGO:何が問題なのでしょうか?Ask2とBid2が0なので、どちらかの行の後にこの行を追加してみてはいかがでしょうか? Print("MarketInfo Error = ", GetLastError()); そして、何か有用な情報があるかどうか見てみましょうか? William Roeder 2019.05.07 15:11 #22 HosseinKOGO:開いたチャートが GBPAUDで、セカンドペアがGBPUSDで試しています。2つ目のペア」である2つ目のTFに対してdownload_historyを 呼び出したのでしょうか? HosseinKOGO 2019.05.09 17:43 #23 William Roeder:2つ目のペア、2つ目のTFに対してdownload_historyを 呼び出したのでしょうか? これが私のグローバルエリアです。extern string SecondPair; double Ask2,Bid2; #define HR2400 PERIOD_D1 * 60 // 86400 = 24 * 3600 int TimeOfDay(datetime when=0){ if(when == 0) when = TimeCurrent(); return( int(when % HR2400 )); } datetime DateOfDay(datetime when=0){ if(when == 0) when = TimeCurrent(); return( when - TimeOfDay(when) ); } #define SYMBOL string #define THIS_SYMBOL "" bool download_history(ENUM_TIMEFRAMES period=PERIOD_CURRENT){ return download_history(_Symbol, period); } bool download_history( SYMBOL symbol=THIS_SYMBOL, ///< The symbol required. ENUM_TIMEFRAMES period=PERIOD_CURRENT /**< The standard timeframe.*/){ if(symbol == THIS_SYMBOL) symbol = _Symbol; if(period == PERIOD_CURRENT) period = _Period; datetime today = DateOfDay(); ResetLastError(); datetime other = iTime(symbol, period, 0); if(_LastError == 0 && today == DateOfDay(other)) return true; if(_LastError != ERR_HISTORY_WILL_UPDATED && _LastError != ERR_NO_HISTORY_DATA ) Print(StringFormat("iTime(%s,%i) Failed: %i", symbol, period,_LastError)); return false; } . . . そして、これが私のスタート関数 です。 download_history(SecondPair,PERIOD_H4); while(!download_history(SecondPair,PERIOD_H4) ){ Sleep(1000); RefreshRates(); } Ask2=SymbolInfoDouble(SecondPair,SYMBOL_ASK); Bid2=SymbolInfoDouble(SecondPair,SYMBOL_BID); Comment(Ask2,Bid2); . . .で、GBPUSDをSecondPairの入力として入れて、GBPAUDチャートでこのバックテストをしています。 HosseinKOGO 2019.05.09 18:06 #24 Seng Joo Thio:Ask2とBid2が0なので、どちらかの行の後にこの行を追加してみてはいかがでしょうか? そして、有用な情報があるかどうか見てみましょう。 私はローソク足が始まり、チャートが進むようにするために、以下の行を無効にしたとき、私のスタート関数にあなたが言ったこの行を追加しました Ask2、Bid2定義直後。while(!download_history(SecondPair,PERIOD_H4) ){ Sleep(1000); RefreshRates(); }エラーは4106で、"Unknown symbol "という意味です。 そして、下の行も無効にしてみました。 download_history(SecondPair,PERIOD_H4); すると、最初4066エラー(更新中の履歴データを要求されました)が出て、その後4106になりました。 Seng Joo Thio 2019.05.12 05:13 #25 HosseinKOGO: 私は、ローソク足が始まってチャートが進むようにするために、下の行を無効にして、Ask2,Bid2を定義した直後に、あなたが言ったこの行を私のスタート関数に追加しました。エラーは4106で、"Unknown symbol "という意味です。 それから、下の行も無効にしました。 すると、最初4066エラー(Requested history data in updating state)が出て、その後4106になりました。あなたのシンボル名は単に "GBPUSD "ではないのでは...どこかに余分な文字があるのでは...これを試したことがありますか。 Print("Symbol Name = ", Symbol()); シンボル名が6文字の大文字であることを確認するために、この行を追加しましたか? HosseinKOGO 2019.05.12 11:36 #26 Seng Joo Thio:シンボル名が "GBPUSD "だけではないのでは...どこかに余計な文字があるのでは...これを試しましたか? シンボル名が大文字6文字であることを確認するため、"before "をクリックしてください。GBPAUDのチャートに置いたので、symbol()関数には"GBPAUD "と表示されています。 私はバックテストのために通常のデモ口座を使っているにもかかわらず、正確に6キャップ文字。しかし、私はあなたが提案したことを試して、期待される結果を得ました。 また、コードをコンパイルするときに警告が出ました。「暗黙のenum変換 "私は下に強調表示されているそこにある。これはどういう意味なのでしょうか? #define HR2400 PERIOD_D1 * 60 // 86400 = 24 * 3600 int TimeOfDay(datetime when=0){ if(when == 0) when = TimeCurrent(); return( int(when % HR2400 )); } datetime DateOfDay(datetime when=0){ if(when == 0) when = TimeCurrent(); return( when - TimeOfDay(when) ); } #define SYMBOL string #define THIS_SYMBOL "" bool download_history(ENUM_TIMEFRAMES period=PERIOD_CURRENT){ return download_history(_Symbol, period); } bool download_history( SYMBOL symbol=THIS_SYMBOL, ///< The symbol required. ENUM_TIMEFRAMES period=PERIOD_CURRENT /**< The standard timeframe.*/){ if(symbol == THIS_SYMBOL) symbol = _Symbol; if(period == PERIOD_CURRENT) period = _Period; datetime today = DateOfDay(); ResetLastError(); datetime other = iTime(symbol, period, 0); if(_LastError == 0 && today == DateOfDay(other)) return true; if(_LastError != ERR_HISTORY_WILL_UPDATED && _LastError != ERR_NO_HISTORY_DATA ) Print(StringFormat("iTime(%s,%i) Failed: %i", symbol, period,_LastError)); return false; } Seng Joo Thio 2019.05.12 12:56 #27 ゼロが表示される原因を見つけた気がします...。これらの行をスクリプトに書いて、MT4で実行しました。 for (int i=SymbolsTotal(false)-1; i>=0; i--) { string SName = SymbolName(i,false); Ask2=SymbolInfoDouble(SName,SYMBOL_ASK); Bid2=SymbolInfoDouble(SName,SYMBOL_BID); Print (SName, " Ask = ", Ask2, ", Bid = ", Bid2); } マーケットウォッチにないシンボルはAsk2とBid2がゼロになることに気がつきました。履歴データに悩まされることはありません。 HosseinKOGO 2019.05.12 17:55 #28 Seng Joo Thio:ゼロが表示される原因を見つけた気がします...。これらの行をスクリプトに書いて、MT4で実行しました。 マーケットウォッチにないシンボルはAsk2とBid2がゼロになることに気がつきました。履歴データに悩まされることはありません。MT4の左上にある マーケットウォッチウィンドウにそれらのシンボルを入れています。 しかし、私のコードにそれらを含めるということであれば、どのようにコードでそれらを含めるのでしょうか?(もし私が誤解していたら、私はそのプロではないので、教えてください。:D) Seng Joo Thio 2019.05.12 19:26 #29 HosseinKOGO:私のMT4の左上 隅のマーケットウォッチウィンドウにこれらのシンボルがあります。 しかし、私のコードにそれらを含めるということであれば、どのようにコードでそれらを含めるのでしょうか?(もし私が誤解していたら、私はそのプロではないので、私を明確にしてください:D) コードではありません。マーケットウォッチウィンドウにすでに表示されているので、事態はより怪しくなっています。どのブローカーからmt4をダウンロードしたのですか?テストするためにインストールしたいのですが。 rabada 2019.05.12 20:16 #30 あなたの反応に大いに感謝します。確かに私はコーダーではありませんが、いくつかのEAをコーディングしたことがあります。私の活動は創意工夫とシステムに関連しているので、EAを作るために600~700の考えを構想し、今まで構築してきました。単に簡単なEAをコーディングするだけで、皆さんの異常な状態のコーディングには慣れていないのですが...。私はそれらのコードを私のEAに入れましたが、それはこの失態を返すだけです: 2019.05.06 15:37:56.586 2018.01.02 00:00:07 MyEA!GBPAUD,H4: iTime(GBPUSD,240) 失敗: 0開いた図がGBPAUD、2つ目のペアがGBPUSDで試しています。何が問題なのでしょうか? 123456 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
何が問題なのでしょうか?
Ask2とBid2が0なので、どちらかの行の後にこの行を追加してみてはいかがでしょうか?
そして、何か有用な情報があるかどうか見てみましょうか?
2つ目のペア」である2つ目のTFに対してdownload_historyを 呼び出したのでしょうか?
2つ目のペア、2つ目のTFに対してdownload_historyを 呼び出したのでしょうか?
そして、これが私のスタート関数 です。
で、GBPUSDをSecondPairの入力として入れて、GBPAUDチャートでこのバックテストをしています。
Ask2とBid2が0なので、どちらかの行の後にこの行を追加してみてはいかがでしょうか?
そして、有用な情報があるかどうか見てみましょう。
エラーは4106で、"Unknown symbol "という意味です。
そして、下の行も無効にしてみました。
download_history(SecondPair,PERIOD_H4);
すると、最初4066エラー(更新中の履歴データを要求されました)が出て、その後4106になりました。私は、ローソク足が始まってチャートが進むようにするために、下の行を無効にして、Ask2,Bid2を定義した直後に、あなたが言ったこの行を私のスタート関数に追加しました。
エラーは4106で、"Unknown symbol "という意味です。
それから、下の行も無効にしました。
すると、最初4066エラー(Requested history data in updating state)が出て、その後4106になりました。あなたのシンボル名は単に "GBPUSD "ではないのでは...どこかに余分な文字があるのでは...これを試したことがありますか。
シンボル名が6文字の大文字であることを確認するために、この行を追加しましたか?
シンボル名が "GBPUSD "だけではないのでは...どこかに余計な文字があるのでは...これを試しましたか?
シンボル名が大文字6文字であることを確認するため、"before "をクリックしてください。
GBPAUDのチャートに置いたので、symbol()関数には"GBPAUD "と表示されています。
私はバックテストのために通常のデモ口座を使っているにもかかわらず、正確に6キャップ文字。しかし、私はあなたが提案したことを試して、期待される結果を得ました。
また、コードをコンパイルするときに警告が出ました。「暗黙のenum変換 "私は下に強調表示されているそこにある。これはどういう意味なのでしょうか?
ゼロが表示される原因を見つけた気がします...。これらの行をスクリプトに書いて、MT4で実行しました。
マーケットウォッチにないシンボルはAsk2とBid2がゼロになることに気がつきました。履歴データに悩まされることはありません。
ゼロが表示される原因を見つけた気がします...。これらの行をスクリプトに書いて、MT4で実行しました。
マーケットウォッチにないシンボルはAsk2とBid2がゼロになることに気がつきました。履歴データに悩まされることはありません。
MT4の左上にある マーケットウォッチウィンドウにそれらのシンボルを入れています。
しかし、私のコードにそれらを含めるということであれば、どのようにコードでそれらを含めるのでしょうか?(もし私が誤解していたら、私はそのプロではないので、教えてください。:D)
私のMT4の左上 隅のマーケットウォッチウィンドウにこれらのシンボルがあります。
しかし、私のコードにそれらを含めるということであれば、どのようにコードでそれらを含めるのでしょうか?(もし私が誤解していたら、私はそのプロではないので、私を明確にしてください:D)