[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 279 1...272273274275276277278279280281282283284285286...652 新しいコメント Vitaliy Andreischev 2011.10.20 09:47 #2781 snail09: アルゴリズムが、ちょっと不明なので、言葉で投げてみてください...。 おおよそ次のとおりです。 //取引日数の合計を決定する。 OrderSelect(0,SELECT_BY_POS,MODE_HISTORY); Days=MathRound((TimeCurrent()-OrderOpenTime())/(3600*24) + 1)となります。 そして、与えられた期間について、利益/日数=%/日を計算します。 この期間全体の週末日数を計算し、計算から除外する必要があります。 利益/(日数) Вячеслав 2011.10.20 10:02 #2782 forexnew:おおよそ次のとおりです。//取引日数の合計を決定する。OrderSelect(0,SELECT_BY_POS,MODE_HISTORY);Days=MathRound((TimeCurrent()-OrderOpenTime())/(3600*24) + 1)となります。そして、与えられた期間について、利益/日数=%/日を計算します。この期間全体の週末日数を計算し、計算から除外する必要があります。利益/(日数)期間中に必要な履歴があるか確認し、「利益/日数」を計算します。カレンダー(計算式の中の定数)を使わないようにすればいいだけです。履歴に残るのは取引日のみです(祝日もあります)。日棒に自分を縛り付けるなど。 特にカレンダーを使用したい場合(例えばグレゴリオ暦やユリウス暦など)。新しいバーが ある、新しい曲がある、そんな仕掛けは? Всеволод 2011.10.20 10:28 #2783 forexnew:おおよそ次のとおりです。//取引日数の合計を決定する。OrderSelect(0,SELECT_BY_POS,MODE_HISTORY);Days=MathRound((TimeCurrent()-OrderOpenTime())/(3600*24) + 1)となります。そして、与えられた期間について、利益/日数=%/日を計算します。この期間全体の週末日数を計算し、計算から除外する必要があります。利益/(日数)テスト開始日からの日足バー数を計算することができます。 20時間以上の日足バーの数を数えることができます(パートタイム休日を除くため)。新しいバーが出現したかのように、新しい日を追跡することができます(トレードの全履歴を 読み、固有の日付を計算するようなものです)。 Вячеслав 2011.10.20 10:38 #2784 splxgf:テスト開始日からの日足バーの本数をカウントすることができます。20時間以上の日足バーの数を数えることができます(不完全な週末を除外するため)。新しいバーが現れたら新しい日を追跡するなど(トレードの全履歴を読んでユニークな日付をカウントするようなもの)。 いずれにせよ、「(3600*24)+1)」は適切な構成ではなく、 バーの数 から始めるべきでしょう。 Vitaliy Andreischev 2011.10.20 10:48 #2785 snail09:期間中に必要な履歴があるか確認し、「利益/日数」をカウントします。カレンダーのもの(計算式の定数)を使わないようにすればいいだけです。履歴に含まれるのは取引日のみです(祝日もあります)。日棒に自分を縛り付けるなど。特にカレンダーを使用したい場合(例えばグレゴリオ暦やユリウス暦など)。新しいバーがある、新しい曲がある、そんな仕掛けは? 私はこのようにしました。 OrderSelect(0,SELECT_BY_POS,MODE_HISTORY); Days=MathRound((TimeCurrent()-OrderOpenTime())/(3600*24)); for(i=0; i<Days; i++) { if(TimeDayOfWeek(CurTime()-i*24*3600)==6 || TimeDayOfWeek(CurTime()-i*24*3600)==7) Days3++; } ・Days3(Days2);Days3(Days2);Days3(Days3);Days3(Days3);Days3(Days3);Days4(Days3) Days-=Days3です。 Вячеслав 2011.10.20 11:09 #2786 forexnew:こんなことをしました。OrderSelect(0,SELECT_BY_POS,MODE_HISTORY); Days=MathRound((TimeCurrent()-OrderOpenTime())/(3600*24)); for(i=0; i<Days; i++) { if(TimeDayOfWeek(CurTime()-i*24*3600)==6 || TimeDayOfWeek(CurTime()-i*24*3600)==7) Days3++; } ・Days3(Days2);Days3(Days2);Days3(Days3);Days3(Days3);Days3(Days3);Days4(Days3) Days-=Days3です。いいえ、このorderselectでは、履歴から注文を選択(1回)して、1つ(最後の1つ)だけ移動します。何もかもが混乱しませんか? ループ内でオーダー検索を行い、各オーダーに条件を適用する。 // ループ内の全オーダーを検索する for(int i=0;i<=OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)) { // シンボルとマジックナンバーが一致した場合、オーダーは我々のものになる if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { // ここでチェック } } } Vitaliy Andreischev 2011.10.20 11:22 #2787 snail09: いいえ、このorderselectでは、履歴の中の注文を選択(1回)して、1つ(最後の1つ)だけ移動します。何もかもが混乱しませんか? ループ内でオーダー検索を行い、各オーダーに条件を適用する。 // ループ内の全オーダーを検索する for(int i=0;i<=OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)) { // シンボルとマジックナンバーが一致した場合、オーダーは我々のものになる if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { // ここでチェック } } } なぜワラントが必要なのですか?ただ、取引のない単発の曜日、つまり土曜と日曜を総日数から差し引いた曜日を特定する必要があるのです。 Vitaliy Andreischev 2011.10.20 11:39 #2788 まあ、当然間違えましたが。 TimeDayOfWeek(CurTime()-i*24*3600)==7 7ではなく、0であるべきです。 確認済み、1週間以上経過したアカウントについて。正しく表示されるようです。 --- 2011.10.20 12:41 #2789 iMAはどのように算出されるのですか? 90 Eugene1 2011.10.20 16:34 iMA機能がどのように計算されているのか(分類されているのか)、どこかに載っていないでしょうか? 特にMODE_LWMAに興味があります。 自分好みに見たりいじったりしたいのですが、何かgoogleのソースでは得られなかった Вячеслав 2011.10.20 13:08 #2790 forexnew: まあ、当然間違えましたが。 TimeDayOfWeek(CurTime()-i*24*3600)==7 7ではなく、0であるべきです。 確認済み、1週間以上経過したアカウントについて。正しく表示されるようです。 まあ、だからやめておけ。専門家が注文をコントロールできないなら、じゃあ彼はとにかく何をしているんだ? ...テスターで取引? 1...272273274275276277278279280281282283284285286...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
アルゴリズムが、ちょっと不明なので、言葉で投げてみてください...。
おおよそ次のとおりです。
//取引日数の合計を決定する。
OrderSelect(0,SELECT_BY_POS,MODE_HISTORY);
Days=MathRound((TimeCurrent()-OrderOpenTime())/(3600*24) + 1)となります。
そして、与えられた期間について、利益/日数=%/日を計算します。
この期間全体の週末日数を計算し、計算から除外する必要があります。
利益/(日数)
おおよそ次のとおりです。
//取引日数の合計を決定する。
OrderSelect(0,SELECT_BY_POS,MODE_HISTORY);
Days=MathRound((TimeCurrent()-OrderOpenTime())/(3600*24) + 1)となります。
そして、与えられた期間について、利益/日数=%/日を計算します。
この期間全体の週末日数を計算し、計算から除外する必要があります。
利益/(日数)
期間中に必要な履歴があるか確認し、「利益/日数」を計算します。カレンダー(計算式の中の定数)を使わないようにすればいいだけです。履歴に残るのは取引日のみです(祝日もあります)。日棒に自分を縛り付けるなど。
特にカレンダーを使用したい場合(例えばグレゴリオ暦やユリウス暦など)。新しいバーが ある、新しい曲がある、そんな仕掛けは?
おおよそ次のとおりです。
//取引日数の合計を決定する。
OrderSelect(0,SELECT_BY_POS,MODE_HISTORY);
Days=MathRound((TimeCurrent()-OrderOpenTime())/(3600*24) + 1)となります。
そして、与えられた期間について、利益/日数=%/日を計算します。
この期間全体の週末日数を計算し、計算から除外する必要があります。
利益/(日数)
テスト開始日からの日足バー数を計算することができます。
20時間以上の日足バーの数を数えることができます(パートタイム休日を除くため)。新しいバーが出現したかのように、新しい日を追跡することができます(トレードの全履歴を 読み、固有の日付を計算するようなものです)。
テスト開始日からの日足バーの本数をカウントすることができます。
20時間以上の日足バーの数を数えることができます(不完全な週末を除外するため)。新しいバーが現れたら新しい日を追跡するなど(トレードの全履歴を読んでユニークな日付をカウントするようなもの)。
期間中に必要な履歴があるか確認し、「利益/日数」をカウントします。カレンダーのもの(計算式の定数)を使わないようにすればいいだけです。履歴に含まれるのは取引日のみです(祝日もあります)。日棒に自分を縛り付けるなど。
特にカレンダーを使用したい場合(例えばグレゴリオ暦やユリウス暦など)。新しいバーがある、新しい曲がある、そんな仕掛けは?
私はこのようにしました。
OrderSelect(0,SELECT_BY_POS,MODE_HISTORY);
Days=MathRound((TimeCurrent()-OrderOpenTime())/(3600*24));
for(i=0; i<Days; i++)
{
if(TimeDayOfWeek(CurTime()-i*24*3600)==6 || TimeDayOfWeek(CurTime()-i*24*3600)==7) Days3++;
} ・Days3(Days2);Days3(Days2);Days3(Days3);Days3(Days3);Days3(Days3);Days4(Days3)
Days-=Days3です。
こんなことをしました。
OrderSelect(0,SELECT_BY_POS,MODE_HISTORY);
Days=MathRound((TimeCurrent()-OrderOpenTime())/(3600*24));
for(i=0; i<Days; i++)
{
if(TimeDayOfWeek(CurTime()-i*24*3600)==6 || TimeDayOfWeek(CurTime()-i*24*3600)==7) Days3++;
} ・Days3(Days2);Days3(Days2);Days3(Days3);Days3(Days3);Days3(Days3);Days4(Days3)
Days-=Days3です。
いいえ、このorderselectでは、履歴から注文を選択(1回)して、1つ(最後の1つ)だけ移動します。何もかもが混乱しませんか?
ループ内でオーダー検索を行い、各オーダーに条件を適用する。
// ループ内の全オーダーを検索する
for(int i=0;i<=OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS, MODE_HISTORY))
{
// シンボルとマジックナンバーが一致した場合、オーダーは我々のものになる
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
// ここでチェック
}
}
}
いいえ、このorderselectでは、履歴の中の注文を選択(1回)して、1つ(最後の1つ)だけ移動します。何もかもが混乱しませんか?
ループ内でオーダー検索を行い、各オーダーに条件を適用する。
// ループ内の全オーダーを検索する
for(int i=0;i<=OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS, MODE_HISTORY))
{
// シンボルとマジックナンバーが一致した場合、オーダーは我々のものになる
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
// ここでチェック
}
}
}
まあ、当然間違えましたが。
TimeDayOfWeek(CurTime()-i*24*3600)==7
7ではなく、0であるべきです。
確認済み、1週間以上経過したアカウントについて。正しく表示されるようです。
iMAはどのように算出されるのですか?
iMA機能がどのように計算されているのか(分類されているのか)、どこかに載っていないでしょうか?
特にMODE_LWMAに興味があります。
自分好みに見たりいじったりしたいのですが、何かgoogleのソースでは得られなかった
まあ、当然間違えましたが。
TimeDayOfWeek(CurTime()-i*24*3600)==7
7ではなく、0であるべきです。
確認済み、1週間以上経過したアカウントについて。正しく表示されるようです。