[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 54 1...474849505152535455565758596061...432 新しいコメント Рустам 2013.01.06 15:11 #531 MA_TALKING_LONG , MA_TALKING_SHORT とはどんな定数ですか?どのように申告するのですか? Viktar Dzemikhau 2013.01.06 15:29 #532 Vinin: 変数や配列の可視性を考慮するグローバルに設定したのですが・・・。同じエラーです。よくある質問MA_TALKING_LONG , MA_TALKING_SHORT とはどんな定数ですか?どのように申告するのですか? #define MA_TALKING_LONG 0 // Машки расположены к покупке #define MA_TALKING_SHORT 1 // Машки расположены к продаже #define MA_TALKING_FLAT -1 // Машки указывают на флет Рустам 2013.01.06 15:31 #533 この関数GetStateMa()のヘッダー(宣言)を表示する - 問題はそこにあるGetStateMa(int signal){}に変更すると直るはずです。 Viktar Dzemikhau 2013.01.06 15:51 #534 FAQ:この関数GetStateMa()のヘッダー(宣言)を表示する - 問題はそこにあるGetStateMa(int signal){}に変更すると直るはずです。 とにかく、ここが肝心なところです。ある専門家が私のExpert Advisorを修正したところ、問題なく動作するようになりました。私の仕事は、4つの異なるシグナルに対して1つの注文を出すことで、それぞれのシグナルは別々に生成・計算されました。Expert Advisorを直してくれたが、ロジックがめちゃくちゃになった。私は彼のコードを解析し始めた。彼の文章は残酷だ、2日目から調べている。以前はこんな感じでした。を開始しました。 int signal[4]; CalcSignals(signal); if (!Trade(signal)) return (0);そして、何が何なのかを明確にするための機能がここにあります。//+-------------------------------------------------------------------------------------+ //| Получение значений МА на двух соседних барах | //+-------------------------------------------------------------------------------------+ double GetCurAndPrevMA(int maPeriod, double& prevMA) { prevMA = iMA(NULL, i_trading_TF, maPeriod, 0, MODE_EMA, MODE_CLOSE, 1); return (iMA(NULL, i_trading_TF, maPeriod, 0, MODE_EMA, MODE_CLOSE, 0)); } //+-------------------------------------------------------------------------------------+ //| Получение положения машек между собой | //+-------------------------------------------------------------------------------------+ void CalcSignals(int& signal[]) { double ema365_1; double ema365_0 = GetCurAndPrevMA(365, ema365_1); for (int i = 0; i < 4; i++) { double ema1; double ema0 = GetCurAndPrevMA(g_maPeriod[i], ema1); signal[i] = SIGNAL_NO; if (ema1 < ema365_1 && ema0 > ema365_0) signal[i] = SIGNAL_BUY; if (ema1 > ema365_1 && ema0 < ema365_0) signal[i] = SIGNAL_SELL; } }一般に、voidとしての 関数は定義上何も返さないはずなのに、それにもかかわらず配列 signal[i] の要素の値を返しているのはおかしな話です。経験豊富なプログラマーはよく使うのでしょうかね?それとも、やりすぎ?今、私はそのExpert Advisorに存在するトリックを見て、必要なものを書こうとしています。そこでは、アレイがないとやっていけないからです。 Mislaid 2013.01.06 16:57 #535 Тhoz: とにかく、ここが肝心なところです。今まで問題なく使えていたExpert Advisorが、プロの手によって修正されました。私の仕事は、4つの異なるシグナルによって1つの注文を開くことであり、それぞれのシグナルは別々に生成され計算されました。Expert Advisorを直してくれたが、ロジックがめちゃくちゃになった。 私は彼のコードを解析し始めた。彼の文章は残酷だ、2日目から調べている。 以前はこんな感じでした。 を開始しました。 そして、何が何なのかを明確にするための機能がここにあります。 一般に、voidとしての 関数は定義上何も返さないはずなのに、それにもかかわらず配列signal[i] の要素の値を返しているのはおかしな話です。 経験豊富なプログラマーはよく 使うのでしょうかね?それとも、やりすぎ? 今、私はそのExpert Advisorに存在するトリックを見て、必要なものを書こうとしています。そこでは、アレイがないとやっていけないからです。int& ,double&の 秘密、よく使われます。 Viktar Dzemikhau 2013.01.06 17:08 #536 Mislaid: よく使われる、int& ,double&の 秘密。それはもう、曲解しているとしか思えません。では、なぜvoid 関数を作るのでしょうか?論理的ではないのです。何かを返す必要がある...int、double 型の関数で返す...。 Viktar Dzemikhau 2013.01.06 17:10 #537 プリンターのデバッグ時にエラーが発生しました。2013.01.06 21:06:32 2011.11.28 00:20 Base150 EURUSD,M5: not enough stack for parameter どうすればいいのか? PapaYozh 2013.01.06 17:21 #538 hoz: それはもう、曲解しているとしか思えません。では、なぜvoid 関数を作るのでしょうか?論理的ではないのです。 論理的である。 この関数は何も返さず、渡された配列の要素に対して操作を行う。 Vadim Krisenko 2013.01.06 18:02 #539 hoz:以下は、私の修正した保留注文の機能です。修正するときは、新しい価格と新しいストップロスを設定します。この関数は部分的に動作しますが、なぜかテスターではエラー1が発生します。私の関数は正しく書かれていますか? if((b_mod) && (priceB > Ask))OrderModify(b_ticket,priceB,priceS,0,0,Brown); if((s_mod && (priceS < Bid)))OrderModify(s_ticket,priceS,priceB,0,0,Brown); ここでは、MarketInfo(Symbol(),MODE_STOPLEVEL)を考慮する必要があります。priceB >= Ask+ MarketInfo(Symbol(),MODE_STOPLEVEL)*ポイント priceS < =Bid- MarketInfo(Symbol(),MODE_STOPLEVEL)*ポイント Viktar Dzemikhau 2013.01.06 18:10 #540 PapaYozh: これなら納得です。 この関数は何も返さず、渡された配列の要素に対して操作します。 そのため、double 型やint 型の関数に要素を渡すと、その関数も曲解することなく、同じ操作を行うことができる。なぜ人生を複雑にするのか? 1...474849505152535455565758596061...432 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MA_TALKING_LONG , MA_TALKING_SHORT とはどんな定数ですか?
どのように申告するのですか?
変数や配列の可視性を考慮する
グローバルに設定したのですが・・・。同じエラーです。
MA_TALKING_LONG , MA_TALKING_SHORT とはどんな定数ですか?
どのように申告するのですか?
この関数GetStateMa()のヘッダー(宣言)を表示する - 問題はそこにある
GetStateMa(int signal){}に変更すると直るはずです。
この関数GetStateMa()のヘッダー(宣言)を表示する - 問題はそこにある
GetStateMa(int signal){}に変更すると直るはずです。
とにかく、ここが肝心なところです。ある専門家が私のExpert Advisorを修正したところ、問題なく動作するようになりました。私の仕事は、4つの異なるシグナルに対して1つの注文を出すことで、それぞれのシグナルは別々に生成・計算されました。Expert Advisorを直してくれたが、ロジックがめちゃくちゃになった。
私は彼のコードを解析し始めた。彼の文章は残酷だ、2日目から調べている。
以前はこんな感じでした。
を開始しました。
そして、何が何なのかを明確にするための機能がここにあります。
一般に、voidとしての 関数は定義上何も返さないはずなのに、それにもかかわらず配列 signal[i] の要素の値を返しているのはおかしな話です。
経験豊富なプログラマーはよく使うのでしょうかね?それとも、やりすぎ?
今、私はそのExpert Advisorに存在するトリックを見て、必要なものを書こうとしています。そこでは、アレイがないとやっていけないからです。
とにかく、ここが肝心なところです。今まで問題なく使えていたExpert Advisorが、プロの手によって修正されました。私の仕事は、4つの異なるシグナルによって1つの注文を開くことであり、それぞれのシグナルは別々に生成され計算されました。Expert Advisorを直してくれたが、ロジックがめちゃくちゃになった。
私は彼のコードを解析し始めた。彼の文章は残酷だ、2日目から調べている。
以前はこんな感じでした。
を開始しました。
そして、何が何なのかを明確にするための機能がここにあります。
一般に、voidとしての 関数は定義上何も返さないはずなのに、それにもかかわらず配列signal[i] の要素の値を返しているのはおかしな話です。
経験豊富なプログラマーはよく 使うのでしょうかね?それとも、やりすぎ?
今、私はそのExpert Advisorに存在するトリックを見て、必要なものを書こうとしています。そこでは、アレイがないとやっていけないからです。
よく使われる、int& ,double&の 秘密。
それはもう、曲解しているとしか思えません。では、なぜvoid 関数を作るのでしょうか?論理的ではないのです。何かを返す必要がある...int、double 型の関数で返す...。
どうすればいいのか?
それはもう、曲解しているとしか思えません。では、なぜvoid 関数を作るのでしょうか?論理的ではないのです。
論理的である。
この関数は何も返さず、渡された配列の要素に対して操作を行う。
以下は、私の修正した保留注文の機能です。修正するときは、新しい価格と新しいストップロスを設定します。この関数は部分的に動作しますが、なぜかテスターではエラー1が発生します。
私の関数は正しく書かれていますか?
if((b_mod) && (priceB > Ask))OrderModify(b_ticket,priceB,priceS,0,0,Brown);
if((s_mod && (priceS < Bid)))OrderModify(s_ticket,priceS,priceB,0,0,Brown);
ここでは、MarketInfo(Symbol(),MODE_STOPLEVEL)を考慮する必要があります。
priceB >= Ask+ MarketInfo(Symbol(),MODE_STOPLEVEL)*ポイント
priceS < =Bid- MarketInfo(Symbol(),MODE_STOPLEVEL)*ポイント
これなら納得です。
この関数は何も返さず、渡された配列の要素に対して操作します。
そのため、double 型やint 型の関数に要素を渡すと、その関数も曲解することなく、同じ操作を行うことができる。なぜ人生を複雑にするのか?