ea n7s_ao_772012 - ページ 23 1...161718192021222324252627282930...68 新しいコメント Николай 2009.02.16 22:16 #221 さて、FLG 関数 に含まれないフラグについて少し説明すると、 自身は独立しています。 A)Flg - 初期化フラグ、入力信号(この信号は長持ちする)がある場合、失敗または動作開始後にポーズを開くことを避けるために必要である。論理的には、VSR!=0、すなわち信号があれば、Flg=falseに設定する。 信号が消えれば、すぐにフラグをリセットする。 if (!Flg){if (VSR () ==0) {Flg=true; return (0);}}。 B)Flq - 興味深いフラグで、同じバーで2つ目のポジションを開くことを禁止しています。当初は1バーでの損切りを 禁止したかったのですが、簡単にできるBuSll関数が完成したら実装しようと思っています。今のところ、そのようなバリエーションがあります。 位置開きに設定されています。 {if (Trd_Up_X && VSR() > 0 && bu <HM_Up_X ) { . if (MOS( 0, lots, sl, tp, WindowExpertName(), mn)>=1) {Flq=false;}}。 if (Trd_Dn_Y && VSR() < 0 && sll<HM_Dn_Y ) { 。 if (MOS( 1, lots, sl, tp, WindowExpertName(), mn)>=1) {Flq=false;}}。 ちなみに、この機能での修正については、先ほど書きました。 4時間ごとにリセットされます。もし、これが一部のペアにとって多すぎると思うのであれば、関数に追加することができます H1() 一部のペアを除いて、1時間ごとにフラグをリセット if (Symbol()!="GBPJPY" || Symbol()!="USDCHF"){ Flq = true ; }. EA N7S_AO_772012 コーディングの方法は? 10ポイント 3.mq4 Николай 2009.02.17 12:14 #222 WitoHOH писал(а)>> なんか最新版だとうまくいかない。 オプティマイザーは、最初の段階では一度も取引を開始しないのです。 前のEAに最適化されたパラメータを持つテスターも同じように動作します。 最適化されていない原因を突き止めたか? Vitaliy Khokhlov 2009.02.17 16:16 #223 SHOOTER777 писал(а)>> 最適化されなかった原因は解明されましたか? いいえ。 あまり時間がなかったんです。 前回は歴史が浅いということで問題がありました。 履歴を復旧させたところです。 明日の朝、お知らせします。 Vitaliy Khokhlov 2009.02.17 18:00 #224 SHOOTER777 писал(а)>> 最適化されなかった理由はわかりましたか? 最適化する気がないのです。 第7弾は、同じヒストリカルデータで最適化されています。 最新作はそうならない。 結果はすべて「0」。 Николай 2009.02.17 20:21 #225 専門家を再掲載しました。おそらく破損しているのでしょう。フォーラムがフリーズした。 そして、Expert Advisorの以下の行に注目してください。 Expert Advisorが取引されているときの初期残高、最小値、最大値。 //------------------------------------------------------------------// bool TrBlnc = true; int StrtBlnc = 3000; int DBlnc = 1500; int UBlnc = 4000; //------------------------------------------------------------------// 禁止事項は関数 bool FLG (int cs ) に実装されています。 ファイル: n7s_ao_772012_l9_2.mq4 16 kb Николай 2009.02.17 22:32 #226 参議院の論理をもう少し詳しく。 問題があるのは、頻繁に起こるギャップです。ギャップが発生すると、指標値と価格が乖離するため、最適化されたパラメータとマーケットエントリーの条件が同期されなくなります。回復には時間がかかる。AOでは12時間と定義し、20スタンダードポイント以上の価格変化を重要なギャップとみなしています(ペアによっては他の値もあり得ますし、そうあるべきです)。 こうして、私たちが行ってきたこと。 まず最初に、ギャップがあるかどうかを判断しました 文字列 dttm =StringConcatenate(Year(),".",Month(),".",Day())); datetime smtm=StrToTime(dttm); bool Gp; int shft = iBarShift(NULL,0,smtm); double iOpn = iOpen (NULL,0,shft); double iCls = iClose (NULL,0,shft+1); double dOC = MathAbs ((iOpn - iCls)/(Point*10)); if (dOC>20) Gp = true ; だった場合で、Gp=trueであれば、禁止される条件は ((曜日( ) == 1 && 時刻( ) < 14) && Gp)) という疑問はありますが、機能 iBarShift (NULL,0,smtm)です。 という書き方がよいかもしれません。 iBarShift (NULL,60,smtm,true); でもダメ、最後のデフォルトパラメータはfalseのまま? 皆さんのご意見、ご感想をお待ちしています。 EA N7S_AO_772012 コーディングの方法は? コーディングのヘルプ 削除済み 2009.02.17 22:55 #227 SHOOTER777 >> : また、EAの以下の行にも注目してください。 初期残高、最小値、最大値、EAが取引しているとき。 //------------------------------------------------------------------// bool TrBlnc = true; int StrtBlnc = 3000; int DBlnc = 1500; int UBlnc = 4000; //------------------------------------------------------------------// この禁止事項は,関数 bool FLG (int cs ) に実装されています。 なぜ、そのような制限が必要なのでしょうか? Николай 2009.02.17 23:04 #228 capellini писал(а)>> なぜ、そのような制限が必要なのでしょうか? 必要なければ使わなくていい!リアルで多通貨対応のEAとして準備中です。将来的には、EAは、不可抗力の状況ですべてを失うことがないように、下から取引することができないように、上から取引するフォークになります - 手の中の鳥はクレーンよりも優れている)))ただしMM Николай 2009.02.17 23:15 #229 そして今、現場から、あるいは前線からのニュースです)) 先週末は、L9版用のセットファイルを用意する時間がなく、作業が終わったのが遅く、しかも連休中でした)))) そこで、実験を行うことにした。L9のバージョンに、先週と別のバージョンのセットを入れてみました。 2日後の状況:残高 -$70 純資産 +$420 いい動きです! Vitaliy Khokhlov 2009.02.18 13:02 #230 SHOOTER777 писал(а)>> そのため、テストや最適化を行う場合は、Equityがパラメータで設定した範囲内であることを確認します。 bool TrBlnc = true; int StrtBlnc = 3000; int DBlnc = 1500; int UBlnc = 4000; or add to int init() line if (IsOptimization( ) )TrBlnc = false;//if ( IsTesting() ) TrBlnc = false; うまくいった。 最適化が進んでいる おそらく、そのような変数はコードの外に移動させるべきでしょう。 最適化の際も、実際の仕事でも、もっと楽になるはずです。 Expert Advisor は、残高を変更するたびに再コンパイルする必要はありません。 1...161718192021222324252627282930...68 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
さて、FLG 関数 に含まれないフラグについて少し説明すると、 自身は独立しています。
A)Flg - 初期化フラグ、入力信号(この信号は長持ちする)がある場合、失敗または動作開始後にポーズを開くことを避けるために必要である。論理的には、VSR!=0、すなわち信号があれば、Flg=falseに設定する。 信号が消えれば、すぐにフラグをリセットする。
if (!Flg){if (VSR () ==0) {Flg=true; return (0);}}。
B)Flq - 興味深いフラグで、同じバーで2つ目のポジションを開くことを禁止しています。当初は1バーでの損切りを 禁止したかったのですが、簡単にできるBuSll関数が完成したら実装しようと思っています。今のところ、そのようなバリエーションがあります。
位置開きに設定されています。
{if (Trd_Up_X && VSR() > 0 && bu <HM_Up_X ) { .
if (MOS( 0, lots, sl, tp, WindowExpertName(), mn)>=1) {Flq=false;}}。
if (Trd_Dn_Y && VSR() < 0 && sll<HM_Dn_Y ) { 。
if (MOS( 1, lots, sl, tp, WindowExpertName(), mn)>=1) {Flq=false;}}。
ちなみに、この機能での修正については、先ほど書きました。
4時間ごとにリセットされます。もし、これが一部のペアにとって多すぎると思うのであれば、関数に追加することができます H1() 一部のペアを除いて、1時間ごとにフラグをリセット if (Symbol()!="GBPJPY" || Symbol()!="USDCHF"){ Flq = true ; }.
なんか最新版だとうまくいかない。
オプティマイザーは、最初の段階では一度も取引を開始しないのです。
前のEAに最適化されたパラメータを持つテスターも同じように動作します。
最適化されていない原因を突き止めたか?
最適化されなかった原因は解明されましたか?
いいえ。
あまり時間がなかったんです。
前回は歴史が浅いということで問題がありました。
履歴を復旧させたところです。
明日の朝、お知らせします。
最適化されなかった理由はわかりましたか?
最適化する気がないのです。
第7弾は、同じヒストリカルデータで最適化されています。
最新作はそうならない。
結果はすべて「0」。
専門家を再掲載しました。おそらく破損しているのでしょう。フォーラムがフリーズした。
そして、Expert Advisorの以下の行に注目してください。
Expert Advisorが取引されているときの初期残高、最小値、最大値。
//------------------------------------------------------------------//
bool TrBlnc = true; int StrtBlnc = 3000; int DBlnc = 1500; int UBlnc = 4000;
//------------------------------------------------------------------//
禁止事項は関数 bool FLG (int cs ) に実装されています。
参議院の論理をもう少し詳しく。
問題があるのは、頻繁に起こるギャップです。ギャップが発生すると、指標値と価格が乖離するため、最適化されたパラメータとマーケットエントリーの条件が同期されなくなります。回復には時間がかかる。AOでは12時間と定義し、20スタンダードポイント以上の価格変化を重要なギャップとみなしています(ペアによっては他の値もあり得ますし、そうあるべきです)。
こうして、私たちが行ってきたこと。
まず最初に、ギャップがあるかどうかを判断しました
文字列 dttm =StringConcatenate(Year(),".",Month(),".",Day()));
datetime smtm=StrToTime(dttm);
bool Gp;
int shft = iBarShift(NULL,0,smtm);
double iOpn = iOpen (NULL,0,shft); double iCls = iClose (NULL,0,shft+1);
double dOC = MathAbs ((iOpn - iCls)/(Point*10));
if (dOC>20) Gp = true ;
だった場合で、Gp=trueであれば、禁止される条件は
((曜日( ) == 1 && 時刻( ) < 14) && Gp))
という疑問はありますが、機能
iBarShift (NULL,0,smtm)です。
という書き方がよいかもしれません。
iBarShift (NULL,60,smtm,true); でもダメ、最後のデフォルトパラメータはfalseのまま?
皆さんのご意見、ご感想をお待ちしています。
また、EAの以下の行にも注目してください。
初期残高、最小値、最大値、EAが取引しているとき。
//------------------------------------------------------------------//
bool TrBlnc = true; int StrtBlnc = 3000; int DBlnc = 1500; int UBlnc = 4000;
//------------------------------------------------------------------//
この禁止事項は,関数 bool FLG (int cs ) に実装されています。
なぜ、そのような制限が必要なのでしょうか?
なぜ、そのような制限が必要なのでしょうか?
必要なければ使わなくていい!リアルで多通貨対応のEAとして準備中です。将来的には、EAは、不可抗力の状況ですべてを失うことがないように、下から取引することができないように、上から取引するフォークになります - 手の中の鳥はクレーンよりも優れている)))ただしMM
そして今、現場から、あるいは前線からのニュースです))
先週末は、L9版用のセットファイルを用意する時間がなく、作業が終わったのが遅く、しかも連休中でした))))
そこで、実験を行うことにした。L9のバージョンに、先週と別のバージョンのセットを入れてみました。
2日後の状況:残高 -$70 純資産 +$420 いい動きです!
そのため、テストや最適化を行う場合は、Equityがパラメータで設定した範囲内であることを確認します。
bool TrBlnc = true; int StrtBlnc = 3000; int DBlnc = 1500; int UBlnc = 4000;
or add to int init() line if (IsOptimization( ) )TrBlnc = false;//if ( IsTesting() ) TrBlnc = false;
うまくいった。
最適化が進んでいる
おそらく、そのような変数はコードの外に移動させるべきでしょう。
最適化の際も、実際の仕事でも、もっと楽になるはずです。
Expert Advisor は、残高を変更するたびに再コンパイルする必要はありません。