[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 71

 
r772ra , artmedia70

ありがとうございます!うまくいきました
 
artmedia70:

ここにヒントがあります。

NormalizeDouble(Low[i]-Low[i+1],Digits)<=3*Point --- 隣接するバーの差分です。条件を満たさない場合 → Return(False); (偽を返す)

ループを抜けた後にReturn(False)

違う方法でやればいいんです。

NormalizeDouble(Low[i]-Low[i+1],Digits)<=3*Point の条件が真であれば、隣接するバーのカウンタ(最初は0に等しい)を1だけ増やします。

が偽の場合、隣接するバーカウンターの値を返す。

関数が返す数値が大きければ大きいほど、集合は強くなる。ゼロが返された場合 - セットアップが存在しない。



整数で比較すればいいだけなので、価格は正規化する必要はないと思います。MathAbs(double value)関数を使うと、どちらかの価格が他より高い場合、出力の符号が常に正になるようにするのがよいでしょう。

ここでもう一点。ループは全く必要ないことがわかりました。

単純にカウンターを使った関数を使えばいいのです。隣り合う2本のバーの極値を連続的にチェックし、同じ極値であればカウンターを1つ増やします(初期値はもちろん0になります)。次に新しいバーで、同様のチェックを行う。極値が等しい場合,カウンタは1だけインクリメントされる,など。ここではループは必要ないのでは?

結局のところ、同じ値の極値を持つバーが何本あるか分からないので、ヒストリーにシフトパラメータを指定する意味がありません。

 
Notter:

高頻度取引が話題になっていますね。HFTはすべてに勝ると言われています。私たちに対する優位性は何でしょうか?Pingが短いこと自体は理解できるのですが、トレードを行うには1ミリ秒以上の時間が必要です :)HFTではどのような新しい品質が現れ、アルゴリズムはどのように異なるのでしょうか。

ありがとうございます。


あなたはザポロージェッツに乗り、この人たちはフェラーリに乗る。追い越せるか(アルゴリズムの話ではない)
 
YOUNGA:

あなたはザポロージェッツに乗り、この人たちはフェラーリに乗る。追い越せるか(アルゴリズムの話ではない)
Zaporozhetsは少し仕事が必要です。そうすると、フェラーリだけでなく、いろいろなものが "できる "んです。
 
YOUNGA:

あなたはザポロージェッツに乗り、この人たちはフェラーリに乗る。あなたは彼らを追い越すことができますか?

しかし、根本的な違いがあります。

せめてリスク・リターンをとってほしい。HFTがポイント単位で利益を計上する場合、明らかにストップを置かず、他の基準でポジションを閉じます。ポジションに対するティックはすべてエグジットとなるのかもしれません)。でも、それなら利益はどこから出ているのでしょうか?

 
もう一度ヘルプを。


SMAがどちらから価格を横切るかを判断するにはどうしたらよいですか?
 
hoz:


整数と比較すればいいだけなので、価格の正規化は必要ないと思うのですが。MathAbs(double value)関数を使うと、どちらかの価格が他より高い場合、出力の符号が常に正になるようにするのがよいでしょう。

ここでもう一点。ループは全く必要ないことがわかりました。

単純にカウンターを使った関数を使えばいいのです。隣接する2本のバーの極値を連続的にチェックし、同じであればカウンターを1つ増やします(初期値はもちろん0です)。次に新しいバーで、同様のチェックを行う。極値が等しい場合,カウンタは1だけインクリメントされる,など。ループは、途中のここでは必要ないのですね。

結局のところ、同じ極値で何本のバーがあるか分からないので、ヒストリーにシフトパラメータを指定する意味がありません。

もちろん、そこにはMathAbs()が必要です。私はハンドルに座って、いきなり書きました。あまり書けませんね。しかも、私はそのためのヒントを与えました。実数の比較には正規化が必要ですが、整数との比較ではない(3*Pointはint*doubleなのでint -double 変換)ので、価格を正規化します。私ならやはり、ティックごとにバーを比較するような関数を作りますね。リアルに即座に考えるのは慣れています。何らかの理由でEAが無効になった場合、EAを再起動するとカウンターの値を格納している変数がリセットされます - これは良いことではありません ...は、データの損失です。しかし、ピズミックサーチの場合(または速度を最適化するために)、この場合のExpert Advisorの再起動はそれほど悪くありません - それはすべてを再計算します。したがって、新しい小節ごとに、与えられた数の隣接する小節を等しいかどうか比較し(まあ、あなたが持っているように)、与えられた基準によって等しい連続した小節の数を、最初のものから始めて、さらに関数に渡された小節の数 だけ履歴に戻す別の関数を作る方が良いでしょう(1個につき10個・・・)。

一般に ...というもの

 
md4RM:
もう一度ヘルプを。SMAが価格のどちら側とクロスしているかは、どのように見分ければよいのでしょうか? 。



もし(

iMA(Symbol(),Period(), 1, 0, MODE_SMA, PRICE_CLOSE,2) <= SMA(blah, blah, blah,2)

и

iMA(Symbol(), Period(), 1, 0, MODE_SMA, PRICE_CLOSE,1) > SMA(blah, blah, blah,1)

) ならば

{最初のバーで価格がSMAを下降から上昇にクロスした}。

 

ありがとうございます、エラーが見つかりました。

 

こんにちは、よろしくお願いします。VininI_HMAインジケータをダウンロードし、EAテンプレートに挿入してみましたが、EAがトレードを開始しないのです。コンパイルはうまくいった。

売りの条件 (Sigj1==EMPTY_VALUE)&& (Sigj2!=EMPTY_VALUE)&& (Sigj1!=EMPTY_VALUE)&& (Sigj2!=EMPTY_VALUE)。

買いの条件 (sigj1==EMPTY_VALUE)&& (sigj2!=EMPTY_VALUE)&& (sigj1!=EMPTY_VALUE)&& (sigj2!=EMPTY_VALUE)。

double sigz1 = iCustom(NULL,0, "VinI_HMA_sound&Alert",period,method,price,sdvig,0,1);
double sigz2 = iCustom(NULL,0, "VinI_HMA_sound&")Alert",period,method,price,sdvig,0,2);
double sigz1 = iCustom(NULL,0, "VinI_HMA_sound&Alert",period,method,price,sdvig,1,1);
double sigz2 = iCustom(NULL,0, "VinI_HMA_sound&Alert",period,method,price,sdvig,1,2);
double sigk1 = iCustom(NULL,0, "VinI_HMA_sound&")Alert",period,method,price,sdvig,2,1);
double sigk2 = iCustom(NULL,0, "VinI_HMA_sound&Alert",period,method,price,sdvig,2,2);

どこが間違いなのか、教えてください。