コーディングの方法は? - ページ 177

 

あなたの問題をもっと正確に説明してください。これは私のスクリプトで、問題なく使用できます。

 
 
raja_ar_radu:
Klinger Oscillator (KO)はStephen J. Klingerによって開発されました。ジョセフ・グランビル、ラリー・ウィリアムズ、マーク・チャイキンといった著名なテクニシャンによる出来高に関する先行研究から学び、クリンガー氏は、短期および長期の分析に役立つ出来高ベースの指標の開発に着手しました。

KOは、短期的なトップとボトムのシグナルとして十分な感度を持ちながら、証券に流入・流出する長期的な資金の流れを十分正確に反映するという、一見相反する二つの目標を念頭に置いて開発されたものである。

KOは、次のような考え方に基づいています。

* 価格帯(高値-安値)は動きの尺度であり、出来高は動きを支える力である。高値・安値・終値の合計がトレンドとなる。高値+安値+終値の合計が前日を上回れば累積。逆に、今日の合計が前日より少ない場合は、分配が起こります。両者の合計が等しい場合、既存のトレンドが維持されます。

* 出来高は、買い圧力と売り圧力を反映した、日中の連続的な価格変動を生み出す。KOでは、1日に蓄積される株数と分配される株数の差を「出来高力」として数値化している。上昇トレンドに伴い出来高が大きく増加し、上昇トレンドの後半から下降トレンドの初期にかけて徐々に減少していくこと。その後、底値圏に到達するまでの間に、ある程度の蓄積を反映して出来高が増加するはずである。

* 出来高をオシレーターに変換し、34周期の指数移動平均と55周期の指数移動平均の差を13周期でトリガーすることで、出来高の出入りを容易に把握することができます。この力を価格変動と比較することで、トップとボトムでのダイバージェンスを特定することができます。

解釈

クリンガー氏は、KOの使用にあたり、以下のガイドラインを推奨しています。

1.1. 最も信頼性の高いシグナルは、トレンドの方向で発生する。厳格なストップ・ガイドライン(すなわち、ゼロ・ラインを突き抜けなかったり、トリガー・ラインを破ったりした場合)が有効であるべきである。

2.2. 最も重要なシグナルは、特に買われすぎ/売られすぎの領域での新高値または新安値で、KOが基礎となる価格行動と乖離したときに発生します。例えば、ある銘柄があるサイクルで新高値または新安値を付け、KOがそれを確認できなかった場合、そのトレンドは勢いを失い、終了に近づいている可能性があります。

3.3. 価格が上昇トレンド(89日指数移動平均の上)にある場合、KOがゼロ以下の異常に低いレベルに下がり、上昇に転じ、トリガーラインを越えたときに買います。価格が下降トレンド(すなわち89日指数移動平均より下)にある場合、KOがゼロより上の異常に高いレベルまで上昇し、下降に転じ、トリガーラインを超えたら売ります。

KOは、トレンド方向への売買のタイミングには有効ですが、トレンドに逆らう場合にはあまり有効ではありません。このことは、トレンドに逆らった取引を「スキャルピング」しようとするトレーダーに問題を生じさせる可能性があります。しかし、KOを他のテクニカル指標と組み合わせて使用すると、より良い結果を得ることができます。買われすぎ、売られすぎを確認するにはウィリアムの%R、短期的な方向性を確認するにはジェラルド・アペルのMACDをお勧めします。

ヒント

スティーブン・クリンガーは、証券に流入・流出する資金の累積を見るために、次の公式を提案しています。

cum(kvo())

この式の 13 期移動平均を、売買のトリガーラインとしてプロットします。

トレードステーションのソースコード

タイプFunction, Name:タイプ: 関数、名前: VForce

Vars:TSum(0), Trend(0), DM(0), CM(0);

TSum = High + Low + Close;

IF TSum > TSum[1] Then

トレンド = 1

それ以外の場合

Trend = -1;

IF トレンド = トレンド[1] Then

CM = CM + レンジ

それ以外

CM = Range + Range[1];

IF CM 0 Then

VForce = Volume * AbsValue(2 * (DM/CM) -1) * Trend * 100;

タイプType: Function, Name:タイプ: 関数、名前: KVO

入力

入力: FastX(Numeric),

SlowX(Numeric); Vars:

FXAvg(0),

SXAvg(0)。

FXAvg = XAverage(VForce, FastX).SXAvg=XAverage(VForce,FastX)。

SXAvg = XAverage(VForce, SlowX);

KVO = FXAvg - SXAvg;

タイプタイプ: インジケータ, 名前:タイプ: インジケータ、名前: Klinger Volume Oscillator

入力

FastX(34),

SlowX(55),

TrigLen(13),

Smooth(1);

Vars:

Trigger(0);Trigger = XAverage(KVO(FastX, SlowX), TrigLen);IF Smooth <= 1 Then Begin

Plot1(KVO(FastX, SlowX), "KVO");

Plot2(Trigger, "KVO Trigger");

End Else BeginPlot1(Summation(KVO(FastX, SlowX), Smooth), "KVO");

Plot2(Summation(Trigger, Smooth), "KVO Trigger");

終了。

Plot3(0, "Zero");

IF Plot1 が Plot2 の上で交差している OR Plot1 が Plot2 の下で交差している OR

Plot2 が Plot3 よりも上、または Plot2 が Plot3 よりも下にクロスした場合

Alert = True となります。

どなたか、このコーディングをMql4に変換するのを手伝っていただけませんか?

サンクス

ここにあります(と思う)。 投稿からしばらく経ちますが、昨日このスレッドを見つけたばかりで...。

ファイル:
klinger.mq4  3 kb
 

MathMod Anomalies, could someone explain this?

こんにちは、私は以下のようなコードを試してみました。

Alert(MathMod((13635/1),3)+" "+MathMod((1.36350000/0.0001),3));

面白いことに...結果が違うんです。

警告: 0.00000000 3.00000000

同じはずなのに...

なぜこのようなことが起こるのでしょうか?

 

double MathMod( double 値, double 値2)

両方の数値が double である必要があります。

試しに

Alert(MathMod((13635.0/1.0),3.0)+" "+MathMod((1.36350000/0.0001),3.0));

 

プログラマー募集中

こんにちは。

手持ちのEAに不具合があり、それを修正できるような、詳しいプログラマーを探しています。

 

シンプルなEAのリクエスト

こんにちは。私はトレードエントリーに使用するいくつかの指標を持っていると私はインターネット上でそれらを見つけることができなかったので、誰かがいくつかの簡単なEAで私を助けることができるかどうか興味がありました。 最初のものはDSS Bressertと呼ばれるもので、Double Smoothed Stochasticの一種で、ここにあります: http://www.forexfactory.com/attachment.php?attachmentid=222585&d=Mar 23, 2009 2:22pm このEAで私が探しているものは、特定のレベルがクロスしたときにポジションを開くことです。例えば、価格がレベル80を超え、80を超えてクロスダウンすると売りが始まり、価格が20クロスして、20を超えて上昇するようになると買いが発生する、というものです。 ただ一つ、できればレベルは設定で調整できるようにしてほしい。 もう一つの特徴は、"long only "または "short only "の設定で、eaは私が選んだ場合、一方向のみまたは両方で取引されます。 例えば、私がすべての売り注文をしていて、価格が98.100であれば、すべてのポジションが97.000で閉じるように設定することができます。このEAには、一度に複数のポジションを開くことができ、場合によってはマジックナンバーを設定できるようにしたいです。 他にもいろいろな機能がありますが、これらは基本的なもので、あまり欲張らないようにしたいと思います。

このEAに求めているのは、抵抗線で売り、支持線で買うという取引を開始する能力を持つことですが、最も重要なのは、新しい支持線/抵抗線が確認されたときに単に警告するために使用できる「警告のみ」の設定を持っていることです。

正直なところ、私は非常に収益性の高い取引システムを作るためにアイデアを持っており、暇なプログラマーを探しています。 一週間ほどある人と一緒に仕事をしていたのですが、彼は姿を消してしまいました。 もし誰か暇な人がいたら教えてください。

 

DLL呼び出しが許可されていない場合、エラーメッセージを出すことは可能でしょうか?

よろしくお願いします。

 
jan100:
DLL呼び出しが許可されていない場合、エラーメッセージを出すことは可能でしょうか。 よろしくお願いします。

コードのinit()部分で使用してください。

if (IsDllsAllowed() == false)

{

Alert("Dll is NOT ALLOWED!!!");

}
 

ありがとうございます)