[アーカイブ!】どんなエキスパートやインジケーターでも無料で書きます。 - ページ 7

 
こんにちは ...

こんな七面鳥がいます
//+------------------------------------------------------------------+
//|Tick_on_Chart.mq4||Tick_on_Chart.mq4
//| 著作権 © 2005, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "著作権 © 2005, MetaQuotes Software Corp.
#プロパティリンク "http://www.metaquotes.net"

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Cornsilk
#property indicator_color2 レッド
//---- バッファ
double ExtMapBuffer1[]。
double ExtMapBuffer2[]。
int tik,t;
double buf[];MaxB,MinB=1000;
extern int period=200;

//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
//---- インジケータ
SetIndexStyle(0,DRAW_SECTION)を設定します。
SetIndexBuffer(0,ExtMapBuffer1)を設定します。
SetIndexStyle(1,DRAW_NONE)を設定します。
SetIndexBuffer(1,ExtMapBuffer2)を設定。

//----
return(0)です。
}
//+------------------------------------------------------------------+
//| カストマーインジケーター初期化機能
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0)です。
}
//+------------------------------------------------------------------+
//| カスタムインジケータ反復関数
//+------------------------------------------------------------------+
int start()
{
int i,b;
//----
t++;
b=期間
ArrayResize(buf,b)。

if(tik==0)
{
for(i=0;i<b;i++)
{
buf[i]=Bid;
}
ExtMapBuffer2[0]=Bid+5*Point。
ExtMapBuffer2[1]=Bid-5*Point。
tik=1です。
}
MaxB=0;MinB=1000。
for(i=b-1;i>0;i--)
{
buf[i]=buf[i-1]とする。
if(MaxB<buf[i])MaxB=buf[i]。
if(MinB>buf[i])MinB=buf[i];
}
buf[0]=Bid;
for(i=0;i<b;i++)
{
ExtMapBuffer1[i]=buf[i]。
}
if(MathCeil(t/10)*10==t)
{
for(i=b;i<Bars;i++)
{
ExtMapBuffer1[i]=Bid;
}
ArrayInitialize(ExtMapBuffer2,Bid)です。
if(MaxB-Bid<5*Point)ExtMapBuffer2[0]=Bid+5*Point。
if(Bid-MinB<5*Point)ExtMapBuffer2[1]=Bid-5*Point。
//Print(MaxB, "+",Bid, "+",MinB);
}
//----
return(0)です。
}
//+------------------------------------------------------------------+

それをもとにCCIを作る...同じティック...

コモディティチャネルインデックス
ORIGINAL
算出方法
代表的な価格を調べる。各バーの高値、安値、終値を足し、その合計を3で割ります。
tp = (高値 + 安値 + 終値) / 3
代表的な価格について、n期間の単純移動平均を計算する。
sma(tp, n) = sum(tp, n) / n
その結果得られたSMA(TP, N)を、過去n期間のそれぞれの典型的なTP価格から差し引く。
d = tp - sma(tp, n)
の絶対値の n 期単純移動平均を算出する。
sma(d, n) = sum(d, n) / n
5) SMA (D, N)に 0.015 を乗じる。
m = sma (d, n) * 0.015
6. MをDで割る
CCI = M / D
のところです。
HIGH - バーの最大価格です。
LOW - バーの最低価格です。
CLOSE - 終値。
SMA - 単純移動平均。
SUM - 合計。
N - 計算に使用する期間の数。
すなわち...ポイント・バイ・ポイント...何をするべきか


1)代表的な価格を調べる。各バーの高値、安値、終値を合計し、その合計を3で割ることで算出します。
tp = (高値 + 安値 + 終値) / 3
ティックにはHIGHとLOWがないので、単純にティック上の価格の値を取ります

2) n期間の単純移動平均を計算する。
sma(tp, n) = sum(tp, n) / n
1の価格からn期間の単純移動平均を計算する。
3) 結果の SMA(TP, N)を、過去 n 期間における典型的な TP 価格から差し引く。
d = tp - sma(tp, n)
その結果得られたSMA(#2)を、過去n期間のそれぞれの(#1)から引き算します。

4) 絶対値D の n 期単純移動平均を計算する。
sma(d, n) = sum(d, n) / n

これが私たちのやり方です。
5) 得られたSMA(D, N)に0.015を乗じる。
m = sma (d, n) * 0.015
こうすればいいんだ...。
6) MをDで割る
CCI = M / D
それが、私たちのやり方です...。
NOW IN PURPOSE ...ToRの図面(上記でわかりやすく説明できたと思います)...。
インデックスを描いているところ。
ADDIONS...
インジケーターの設定(INPUT PARAMETERS)で...これらの調整可能なパラメーターを...(追加したものを説明で示します。)
1) CCI期間の指定(ここで全てクリア)
設定で「周期CCI」を指定する。
2) 値(0.015)を変更可能な状態で指定する ... (特に何も影響しませんが、便宜上 ...)
設定で "Znach "を指定します。

3)「アラート」を作ろう・・・。
すべての「アラート」の有効化(True)と無効化(False)を設定可能
すべての「アラート」、サウンド信号の可能性(設定可能、オン/オフ可能)

3.1) INDJUNCTION = 0 (level = NULL)
Uroven0 "に設定する。

3.2) 全てのINDUCLE値の交点=任意の設定値...(レベル)
例えば(レベル=100)、(レベル=-35)のように...(レベル)を変化させて...信号を生成することができる可能性がある...。
INSTALLED FOR + and - values...
常にON(真)とOFF(偽)の切り替えが可能なこと
設定では「Uroven+」に設定されています。
設定で「Uroven-」と表示する。
FURTHER...インジケーターの設定で(COLORS)=色を変えることができるようにする。
パラメータのいずれかを指定します。
では、与えられたインディケータの適切な(グラフィック)ビューを取得したいと思います。
図中の例(以降、解説)...

1) 新しい分ごとに縦線(写真では赤)で区切る
2) 時刻を時:分で表示する。現在のBAR(または現在のCURRENT)のオープニングで。

そのため、欠番があった場合、例えば07:06ではなく、07:09となります。
NOW 好みの追加要素 ...(可能であれば)

1) (最初と最後... )))) 既に受け取った値でMAを設定する可能性... (図参照) 全てが明らかになれば良いのですが....

そしてまた、選べる可能性で・・・。
1.1) 与えられたMAのPERIOD
1.2) 与えられたMAの色
1.3)と、このMAのレベル=0の交点で設定される「アラート」。
1.4)、また、レベルの交点(例えば、+200と-50)でМАを分離する ALERT
 
こんにちは ...

こんな七面鳥がいます
//+------------------------------------------------------------------+
//|Tick_on_Chart.mq4||Tick_on_Chart.mq4
//| 著作権 © 2005, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "著作権 © 2005, MetaQuotes Software Corp.
#プロパティリンク "http://www.metaquotes.net"

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Cornsilk
#property indicator_color2 レッド
//---- バッファ
double ExtMapBuffer1[]。
double ExtMapBuffer2[]。
int tik,t;
double buf[];MaxB,MinB=1000;
extern int period=200;

//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
//---- インジケータ
SetIndexStyle(0,DRAW_SECTION)を設定します。
SetIndexBuffer(0,ExtMapBuffer1)を設定します。
SetIndexStyle(1,DRAW_NONE)を設定します。
SetIndexBuffer(1,ExtMapBuffer2)を設定。

//----
return(0)です。
}
//+------------------------------------------------------------------+
//| カストマーインジケーター初期化機能
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0)です。
}
//+------------------------------------------------------------------+
//| カスタムインジケータ反復関数
//+------------------------------------------------------------------+
int start()
{
int i,b;
//----
t++;
b=期間
ArrayResize(buf,b)。

if(tik==0)
{
for(i=0;i<b;i++)
{
buf[i]=Bid;
}
ExtMapBuffer2[0]=Bid+5*Point。
ExtMapBuffer2[1]=Bid-5*Point。
tik=1です。
}
MaxB=0;MinB=1000。
for(i=b-1;i>0;i--)
{
buf[i]=buf[i-1]とする。
if(MaxB<buf[i])MaxB=buf[i]。
if(MinB>buf[i])MinB=buf[i];
}
buf[0]=Bid;
for(i=0;i<b;i++)
{
ExtMapBuffer1[i]=buf[i]。
}
if(MathCeil(t/10)*10==t)
{
for(i=b;i<Bars;i++)
{
ExtMapBuffer1[i]=Bid;
}
ArrayInitialize(ExtMapBuffer2,Bid)です。
if(MaxB-Bid<5*Point)ExtMapBuffer2[0]=Bid+5*Point。
if(Bid-MinB<5*Point)ExtMapBuffer2[1]=Bid-5*Point。
//Print(MaxB, "+",Bid, "+",MinB);
}
//----
return(0)です。
}
//+------------------------------------------------------------------+

それをもとにCCIを作る...同じティック...

コモディティチャネルインデックス
ORIGINAL
算出方法
代表的な価格を調べる。各バーの高値、安値、終値を足し、その合計を3で割ります。
tp = (高値 + 安値 + 終値) / 3
代表的な価格について、n期間の単純移動平均を計算する。
sma(tp, n) = sum(tp, n) / n
その結果得られたSMA(TP, N)を、過去n期間のそれぞれの典型的なTP価格から差し引く。
d = tp - sma(tp, n)
の絶対値の n 期単純移動平均を算出する。
sma(d, n) = sum(d, n) / n
5) SMA (D, N)に 0.015 を乗じる。
m = sma (d, n) * 0.015
6. MをDで割る
CCI = M / D
のところです。
HIGH - バーの最大価格です。
LOW - バーの最低価格です。
CLOSE - 終値。
SMA - 単純移動平均。
SUM - 合計。
N - 計算に使用する期間の数。
すなわち...ポイント・バイ・ポイント...何をするべきか


1)代表的な価格を調べる。各バーの高値、安値、終値を合計し、その合計を3で割ることで算出します。
tp = (高値 + 安値 + 終値) / 3
ティックにはHIGHとLOWがないので、単純にティック上の価格の値を取ります

2) n期間の単純移動平均を計算する。
sma(tp, n) = sum(tp, n) / n
1の価格からn期間の単純移動平均を計算する。
3) 結果の SMA(TP, N)を、過去 n 期間における典型的な TP 価格から差し引く。
d = tp - sma(tp, n)
その結果得られたSMA(#2)を、過去n期間のそれぞれの(#1)から引き算します。

4) 絶対値D の n 期単純移動平均を計算する。
sma(d, n) = sum(d, n) / n

これが私たちのやり方です。
5) 得られたSMA(D, N)に0.015を乗じる。
m = sma (d, n) * 0.015
こうすればいいんだ...。
6) MをDで割る
CCI = M / D
それが、私たちのやり方です...。
NOW IN PURPOSE ...ToRの図面(上記でわかりやすく説明できたと思います)...。
インダクタの描画は上記の通りです。
ADDIONS...
インジケーターの設定(INPUT PARAMETERS)で...これらの調整可能なパラメーターを...(追加したものを説明で示します。)
1) CCI期間の指定(ここで全てクリア)
設定で「周期CCI」を指定する。
2) 値(0.015)を変更可能な状態で指定する ... (特に何も影響しませんが、便宜上 ...)
設定で "Znach "を指定します。

3)「アラート」を作ろう・・・。
すべての「アラート」の有効化(True)と無効化(False)を設定可能
すべての「アラート」、サウンド信号の可能性(設定可能、オン/オフ可能)

3.1) INDJUNCTION = 0 (level = NULL)
Uroven0 "に設定する。

3.2) 全てのINDUCLE値の交点=任意の設定値...(レベル)
例えば(レベル=100)、(レベル=-35)のように...(レベル)を変化させて...信号を生成することができる可能性がある...。
INSTALLED FOR + and - values...
常にON(真)とOFF(偽)の切り替えが可能なこと
設定では「Uroven+」に設定されています。
設定で「Uroven-」と表示する。
FURTHER...インジケーターの設定で(COLORS)=色を変更できるようにする。
パラメータのいずれかを指定します。
では、与えられたインディケータの適切な(グラフィック)ビューを取得したいと思います。
図中の例(以降、解説)...

1) 新しい分ごとに縦線(写真では赤)で区切る
2) 時刻を時:分で表示する。現在のBAR(または現在のCURRENT)のオープニングで。

そのため、欠番があった場合、例えば07:06ではなく、07:09となります。
NOW 好みの追加要素 ...(可能であれば)

1) (最初と最後... )))) 既に受け取った値でMAを設定する可能性... (図参照) 全てが明らかになれば良いのですが....

そしてまた、選べる可能性で・・・。
1.1) 与えられたMAのPERIOD
1.2) 与えられたMAの色
1.3)と、このMAのレベル=0の交点で設定される「アラート」。
1.4)、МА交差レベル(例えば+200と-50)を個別に設定することができます。
 
米穀
 
図2
 
20099 >> :
図2.

なぜか写真を添付するのを忘れているような気がします。

 

クボデル様

この「T3 TRIX (ROC of T6)」という指標でEAを作ることは可能でしょうか?

黄が青と交わる 下なら売り、上なら買い
クロスオーバー後のローソク足の始点で取引が開始されます。
私も少しはプログラマーになれるかもしれませんが、そのような頭脳はありません((

オプションとして - 青が下降または上昇したとき、すなわち方向転換したときにポジションがクローズされます。

10USDを支払う準備ができています。

 
Kubodel >> :

ビッグブーム、integrum-perm@mail.ru に制作物を送る。私が見ない限り、正確なことは何も言えません。

エゲイ!クボデルにブラボー!?

エキスパートを手に入れた :)

技術的な実装は超一流で、まさに私が必要としていたものです。

私はデモで2週間ほどテストして、その後、私のアカウントをe-Managerに渡すつもりです。

>> ありがとうございました。

 

こんにちは!!!

なんて面白いところなんだ!!!!

ダミーを仲間にするのか!:)

 
Kubodel >> :

なぜか写真を添付するのを忘れているような気がします。

 

また嫌がる...なぜかくっつく......?
おそらくプライベートメール...いや、メールアカウントか?