[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 240 1...233234235236237238239240241242243244245246247...537 新しいコメント Roma 2011.03.13 14:46 #2391 artmedia70: それだけの違いがあったのでしょうか? を見ただけで、他は見ていないので、グレーのコードを読むのは不便です。 削除済み 2011.03.13 16:14 #2392 artmedia70: そういうやり方もあるのかもしれませんね。: //=================================================================================== double CalculateProfit() { double ld_ret_0 = 0; for (int cnt = 0; cnt < OrdersTotal(); cnt++) { if (OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()!=Symbol()) continue; if (OrderType()>1) continue; if (OrderMagicNumber()==MagicNumber || OrderMagicNumber() == LMagN) ld_ret_0 += OrderProfit(); } else if (!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) { Print ("Func: CalculateProfit(), Select Order Error = ", GetLastError()); break; } } return (ld_ret_0); } //=================================================================================== すべてが完璧に機能します!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Roma 2011.03.13 16:23 #2393 テスターで3つのboolパラメータを最適化すると、その値の9つの組み合わせすべてを実行するというのは正しい理解でしょうか? すなわち、以下のようになります。 1) bool1=true、bool2=true、bool3=true。2) bool1=true, bool2=true, bool3=false。 3) bool1=true、bool2=false、bool3=true。4) bool1=true, bool2=false, bool3=false など。 Виктор 2011.03.13 16:27 #2394 eddy: テスターで3つのboolパラメータを最適化すると、その値の9つの組み合わせすべてを実行するという理解で合っていますか...? 最適化の際にboolを段階的に実行することができないようです。代わりにintを取り、0から1まで実行します。 Roma 2011.03.13 16:28 #2395 boolを入れれば、trueとfalseのバリアントが実行されるのでは? 最適化を使ったことがない、話題に馴染んできた Виктор 2011.03.13 16:43 #2396 試してみてください。私には効果がありませんでした。 削除済み 2011.03.14 00:10 #2397 daytrader19: 親愛なる同僚の皆さん、 私はまだMQLプログラミングの完全な「ダミー」で、このトピックを勉強し始めたのはごく最近の ことです。しかし、私はすでに最初のExpert Advisorを書き始めていましたし、少なくとも書こうとしていました。 このトピックの182ページ 目で、このEAが取引すべき基準を示しました。その内容をご覧ください(このページの最後の記事)。3週間格闘していますが、まだここに取引基準を担当するコードの部分を書くことができません。このトピックに特化したチュートリアルの章を読みましたが、この特別なケースでは役に立ちませんでした。 私はプログラミングの戦いの中で、この部分のバリエーションを何十個も書いてきましたが、どれもまともに動作しませんでした。明らかに知識 不足で、MQL をそんなに早く 使いこなすことはできません。とにかく、少なくともおおよそ私が望むように動作するコードのバリエーションは以下の通りです。 //+-------------------------------------------------------------------------------------+ //| Расчет значений технических индикаторов с формированием сигналов для позиций | //+-------------------------------------------------------------------------------------+ void GetSignal() { Signal = 0; // - 1 - == Получение значений индикаторов ============================================== double SAR = iSAR(Symbol(), 0, SARStep, SARMaximum, 0); double EnvUp = iEnvelopes(Symbol(), 0, EnvPeriod, EnvMethod, EnvShift, EnvPrice, EnvDeviation, MODE_UPPER, 1); double EnvDn = iEnvelopes(Symbol(), 0, EnvPeriod, EnvMethod, EnvShift, EnvPrice, EnvDeviation, MODE_LOWER, 1); double StochM = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod, StochPrice, MODE_MAIN, 1); double StochS = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod, StochPrice, MODE_SIGNAL, 1); // - 1 - == Окончание блока ============================================================= // - 2 - == Генерация сигнала =========================================================== if (SAR < Low[1]) { Signal = 3; // Закрытие SELL if (StochM > StochS && StochM >= 80 && StochS >= 80 && High[1] >= EnvUp && SAR < Open[1]) Signal = 1; // Открытие BUY } if (SAR > High[1]) { Signal = 4; // Закрытие BUY if (StochM < StochS && StochM <= 20 && StochS <= 20 && Low[1] <= EnvDn && SAR > Open[1]) Signal = 2; // Открытие SELL } // - 2 - == Окончание блока ============================================================= } コードが曲がっていたり斜めになっていたり、一般的に ベイの位置 、売りが ごちゃごちゃしていますよね 。 しかし、これはストキャスティクスとエンベロープがお互いを無視することなく、一緒に取引されているときのコードの唯一のバリエーションです。同時に、パラボリックのシグナルは、なぜか取引に考慮されない。と にかく、このような「尻切れトンボ」をあまり叱らないでください、コードが正しくないことは十分承知しています。 私のExpert Advisorのコードを修正してください、助けてください。苦労しているんですよ。もっと簡単なストラテジー(Mooving + Momentum; Mooving +RSI)を実装 したことがあるが、これでは できない。よろしくお願いします。182ページで 説明したルールでEAが取引できるように、間違った行をすべて書き換えてください。本当に必要なんです。 P.Sさん:Expert Advisorのコードは、既成の MQLテンプレートを使っているので、全部は書いて いないんです。 私の主な(唯一ではないかもしれませんが)間違いがわかった気がします。私の取引条件では、すべての条件を論理的な「and」で組み合わせています。私が理解する限り、すべての条件を同時に満たす必要があるということです。エンベロープとストキャスティクスのシグナルは同期しているはずですが、システムルールでは正しくありません。た だし、パラボリックは エンベロープとストキャスティクスのシグナルを受信 した後、ポジションの開始を確認する必要が あります。5~10小節後に確認されることもあります(これはごく普通のことです)。 質問:この "after "はどのようにコードに 入れられるのでしょうか?もし可能であれば、私のコードの例を示してください。 よろしくお願いします。この取引基準でもう疲れました。 Alexander 2011.03.14 03:10 #2398 eddy: テスターが3つのboolパラメータを最適化した場合、その値の9つの組み合わせすべてを実行するという理解で合っていますか? つまり、そのようなことはありません。 2の3乗は常に8である :-) Роман 2011.03.14 03:16 #2399 daytrader19: 私の主な(唯一ではないかもしれませんが)間違いがわかったような気がします。私の取引基準の条件は、すべて論理的な「and」で括っています。私が理解する限り、これはすべての条件を同時に満たす必要があることを意味します。エンベロープとストキャスティクスのシグナルは同期しているはずですが、システムルールでは正しくありません。た だし、パラボリックは エンベロープとストキャスティクスのシグナルを受信 した後、ポジションの開始を確認する必要が あります。また、5~10本程度でポジションを確定することもあります(これはごく普通のことです)。 質問ですが、この "after "をどのようにコードに貼り 付ければいいのでしょうか?可能であれば、私のコードの例を示してください。 よろしくお願いします。この取引基準で疲弊していくばかりです。 だから試してみてください。私はあなたのコードをこのページで修正しました - 私自身はチェックしていません - コメントに注意してください。 すべてP182に記載のとおりです。 bool Buy_signal=false, Sell_signal=false; // эту строку разместить в глобальные переменные эксперта!!!!!!!!!! //+-------------------------------------------------------------------------------------+ //| Расчет значений технических индикаторов с формированием сигналов для позиций | //+-------------------------------------------------------------------------------------+ void GetSignal() { Signal = 0; // - 1 - == Получение значений индикаторов ============================================== double SAR = iSAR(Symbol(), 0, SARStep, SARMaximum, 1); // тут тоже правки в коде - вместо "0"-го используем первый бар double EnvUp = iEnvelopes(Symbol(), 0, EnvPeriod, EnvMethod, EnvShift, EnvPrice, EnvDeviation, MODE_UPPER, 1); double EnvDn = iEnvelopes(Symbol(), 0, EnvPeriod, EnvMethod, EnvShift, EnvPrice, EnvDeviation, MODE_LOWER, 1); double StochM1 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod, StochPrice, MODE_MAIN, 1); double StochS1 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod, StochPrice, MODE_SIGNAL, 1); double StochM2 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod, StochPrice, MODE_MAIN, 2); double StochS2 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod, StochPrice, MODE_SIGNAL, 2); // - 1 - == Окончание блока ============================================================= // - 2 - == Генерация сигнала =========================================================== if (SAR > High[1]) {Buy_signal=false; Sell_signal=false; // сбрасываем флаги условий открытия по стохастику и энвелопсу Signal = 4;} // Закрытие BUY if (SAR < Low[1]) {Buy_signal=false; Sell_signal=false; Signal = 3;} // Закрытие Sell if ( StochM2 < StochS2 && StochM1 > StochS1 && StochM1 <= 20 && Low[1] <= EnvDn) // ставим флаги условий открытия по стохастику и энвелопсу в лонг { Buy_signal=true; Sell_signal=false; } if (SAR < Low [1] && Buy_signal==true && Sell_signal==false) Signal = 1; // Открытие BUY if ( StochM2 > StochS2 && StochM1 < StochS1 && StochM1 >= 80 && High[1] >= EnvUp) // ставим флаги условий открытия по стохастику и энвелопсу в шорт { Buy_signal=false; Sell_signal=true; } if (SAR > High [1] && Buy_signal==false && Sell_signal==true) Signal = 2; // Открытие SELL // - 2 - == Окончание блока ============================================================= } Роман 2011.03.14 03:17 #2400 Roger: 2の3乗は常に8である :-) ナイスな観察眼です :-))) 1...233234235236237238239240241242243244245246247...537 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
それだけの違いがあったのでしょうか?
そういうやり方もあるのかもしれませんね。:
テスターで3つのboolパラメータを最適化すると、その値の9つの組み合わせすべてを実行するというのは正しい理解でしょうか? すなわち、以下のようになります。
1) bool1=true、bool2=true、bool3=true。テスターで3つのboolパラメータを最適化すると、その値の9つの組み合わせすべてを実行するという理解で合っていますか...?
boolを入れれば、trueとfalseのバリアントが実行されるのでは?
最適化を使ったことがない、話題に馴染んできた
親愛なる同僚の皆さん、 私はまだMQLプログラミングの完全な「ダミー」で、このトピックを勉強し始めたのはごく最近の ことです。しかし、私はすでに最初のExpert Advisorを書き始めていましたし、少なくとも書こうとしていました。
このトピックの182ページ 目で、このEAが取引すべき基準を示しました。その内容をご覧ください(このページの最後の記事)。3週間格闘していますが、まだここに取引基準を担当するコードの部分を書くことができません。このトピックに特化したチュートリアルの章を読みましたが、この特別なケースでは役に立ちませんでした。
私はプログラミングの戦いの中で、この部分のバリエーションを何十個も書いてきましたが、どれもまともに動作しませんでした。明らかに知識 不足で、MQL をそんなに早く 使いこなすことはできません。とにかく、少なくともおおよそ私が望むように動作するコードのバリエーションは以下の通りです。
コードが曲がっていたり斜めになっていたり、一般的に ベイの位置 、売りが ごちゃごちゃしていますよね 。 しかし、これはストキャスティクスとエンベロープがお互いを無視することなく、一緒に取引されているときのコードの唯一のバリエーションです。同時に、パラボリックのシグナルは、なぜか取引に考慮されない。と にかく、このような「尻切れトンボ」をあまり叱らないでください、コードが正しくないことは十分承知しています。
私のExpert Advisorのコードを修正してください、助けてください。苦労しているんですよ。もっと簡単なストラテジー(Mooving + Momentum; Mooving +RSI)を実装 したことがあるが、これでは できない。よろしくお願いします。182ページで 説明したルールでEAが取引できるように、間違った行をすべて書き換えてください。本当に必要なんです。
P.Sさん:Expert Advisorのコードは、既成の MQLテンプレートを使っているので、全部は書いて いないんです。
私の主な(唯一ではないかもしれませんが)間違いがわかった気がします。私の取引条件では、すべての条件を論理的な「and」で組み合わせています。私が理解する限り、すべての条件を同時に満たす必要があるということです。エンベロープとストキャスティクスのシグナルは同期しているはずですが、システムルールでは正しくありません。た だし、パラボリックは エンベロープとストキャスティクスのシグナルを受信 した後、ポジションの開始を確認する必要が あります。5~10小節後に確認されることもあります(これはごく普通のことです)。
よろしくお願いします。この取引基準でもう疲れました。
テスターが3つのboolパラメータを最適化した場合、その値の9つの組み合わせすべてを実行するという理解で合っていますか? つまり、そのようなことはありません。
2の3乗は常に8である :-)
私の主な(唯一ではないかもしれませんが)間違いがわかったような気がします。私の取引基準の条件は、すべて論理的な「and」で括っています。私が理解する限り、これはすべての条件を同時に満たす必要があることを意味します。エンベロープとストキャスティクスのシグナルは同期しているはずですが、システムルールでは正しくありません。た だし、パラボリックは エンベロープとストキャスティクスのシグナルを受信 した後、ポジションの開始を確認する必要が あります。また、5~10本程度でポジションを確定することもあります(これはごく普通のことです)。
よろしくお願いします。この取引基準で疲弊していくばかりです。
だから試してみてください。私はあなたのコードをこのページで修正しました - 私自身はチェックしていません - コメントに注意してください。
すべてP182に記載のとおりです。
2の3乗は常に8である :-)
ナイスな観察眼です :-)))