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

 
Roman.:

関連する..." 楽しんできてください"
やばい!管理人はどこだ!掲示板に出れないぞ!?小学5年生
 

/safety-summer-vacation-activated-schoolboys/。

 

こんにちは。

TradeSigをベースに、振幅のスケールはウィリアムズと同じ%で、振幅の範囲はウィリアムズと同じ0%から-100%までのレベルスケールであるインジケータが必要です。

追伸:TradeSigは指標を重ね合わせると「離れてしまう」ので、必要なことです。

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

私の尊敬する人。

ファイル:
tradesig.mq4  3 kb
 
こんにちは、尊敬するトレーダーの皆様。私は非常に優れたチャネル・インジケータを持っており、相場履歴では非常によくトレンドを示しますが、実際の口座ではオーバードローになります。使い方がわからないと、「使い方がわからないのに、どれだけ時間があるんだ?とてもありがたいことです。

//+------------------------------------------------------------------+
|| マルチ.ピリオド.mq4
//| 著作権 © 2010, Vladimir Hlystov |。
//| cmillion@narod.ru |
//+------------------------------------------------------------------+
#property copyright "著作権 © 2010, Vladimir Hlystov"
#プロパティリンク "http://cmillion.narod.ru"
//+------------------------------------------------------------------+
#property indicator_chart_window
#プロパティ indicator_buffers 8
#property indicator_color1 ライム
#property indicator_width1 1
#プロパティ indicator_color2 Lime
#property indicator_width2 1
#property indicator_color3 ブルー
#property indicator_width3 1
#property indicator_color4 ブルー
#property indicator_width4 1
#プロパティ indicator_color5 Green
#property indicator_width5 1
#プロパティ indicator_color6 Green
#property indicator_width6 1
#プロパティ indicator_color7 レッド
#property indicator_width7 1
#プロパティ indicator_color8 レッド
#property indicator_width8 1
//---- 入力パラメータ
/*
PERIOD_M1 1 1分
PERIOD_M5 5 5分
PERIOD_M15 15分間
PERIOD_M30 30分
PERIOD_H1 60 1時間
PERIOD_H4 240 4時間
PERIOD_D1 1440 1日
period_w1 10080
期間_mn1 43200
*/
extern int timeframe1 = 5; //期間。チャート期間のいずれかとすることができる。0は現在のチャートの期間を意味します。
extern int timeframe2 = 15; //期間。チャートの期間のいずれかを指定することができます。0は現在のチャートの期間
extern int timeframe3 = 30; //期間。チャートの期間のいずれかを指定することができます。0は現在のチャートの期間
extern int timeframe4 = 60; //期間。チャートの期間のいずれかを指定することができます。0は現在のチャートの期間

//---- バッファ
double Buffer1[]。
double Buffer2[]。
double Buffer3[];;
double Buffer4[]; double Buffer5[];
double Buffer5[]。
double Buffer6[]です。
double Buffer7[]です。
double Buffer8[]。
//+------------------------------------------------------------------+
int init()
{
if (timeframe1<Period()) timeframe1=Period();
if (timeframe2<=timeframe1) timeframe2=next_period(timeframe1+1)とする。
if (timeframe3<=timeframe2) timeframe3=next_period(timeframe2+1)とする。
if (timeframe4<=timeframe3) timeframe4=next_period(timeframe3+1)とする。
//---- インジケータ線
SetIndexStyle(0,DRAW_LINE)を設定します。
SetIndexBuffer(0,Buffer1)を設定します。
SetIndexStyle(1,DRAW_LINE)を設定します。
SetIndexBuffer(1,Buffer2)を設定。
SetIndexStyle(2,DRAW_LINE)を設定します。
SetIndexBuffer(2,Buffer3)。
SetIndexStyle(3,DRAW_LINE)を設定します。
SetIndexBuffer(3,Buffer4)を設定します。
SetIndexStyle(4,DRAW_LINE)を設定します。
SetIndexBuffer(4,Buffer5)。
SetIndexStyle(5,DRAW_LINE)を設定します。
SetIndexBuffer(5,Buffer6)を設定。
SetIndexStyle(6,DRAW_LINE)を設定します。
SetIndexBuffer(6,Buffer7)を設定。
SetIndexStyle(7,DRAW_LINE)を設定します。
SetIndexBuffer(7,Buffer8)。
//----
SetIndexLabel(0, "4TF "+StrPer(timeframe1)+StrPer(timeframe2)+StrPer(timeframe3)+StrPer(timeframe4));
return(0)です。
}
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
for(int i=0; i<limit; i++)
{
Buffer1[i] = iMA(NULL,timeframe1,1,0,0,2,iBarShift(NULL,timeframe1,Time[i],false));
Buffer2[i] = iMA(NULL,timeframe1,1,0,0,3,iBarShift(NULL,timeframe1,Time[i],false));
Buffer3[i] = iMA(NULL,timeframe2,1,0,0,2,iBarShift(NULL,timeframe2,Time[i],false)) とする。
Buffer4[i] = iMA(NULL,timeframe2,1,0,0,3,iBarShift(NULL,timeframe2,Time[i],false)) とする。
Buffer5[i] = iMA(NULL,timeframe3,1,0,0,2,iBarShift(NULL,timeframe3,Time[i],false)) とする。
Buffer6[i] = iMA(NULL,timeframe3,1,0,0,3,iBarShift(NULL,timeframe3,Time[i],false)) とする。
Buffer7[i] = iMA(NULL,timeframe4,1,0,0,2,iBarShift(NULL,timeframe4,Time[i],false)) とする。
Buffer8[i] = iMA(NULL,timeframe4,1,0,0,3,iBarShift(NULL,timeframe4,Time[i],false));
}
return(0)です。
}
//+------------------------------------------------------------------+
int next_period(int per)
{
if (per > 43200) return(0);
if (per > 10080) return(43200);
if (per > 1440) return(10080);
if (per > 240) return(1440);
if (per > 60) return(240);
if (per > 30) return(60);
if (per > 15) return(30);
if (per > 5) return(15);
if (per > 1) return(5);
if (per == 1) return(1);
if (per == 0) return(Period())
}
//+------------------------------------------------------------------+
文字列 StrPer(int per)
{
if (per == 1) return(" M1 ");
{ if (per == 5) return(" M5 ");
if (per == 15) return(" M15 ");
if (per == 30) return(" M30 ");
if (per == 60) return(" H1 ");
if (per == 240) return(" H4 ");
if (per == 1440) return(" D1 ");
if (per == 10080) return(" W1 ");
if (per == 43200) return(" MN1 ");
return("ピリオドエラー");
}
//+------------------------------------------------------------------+
 
sergii7777777:

こんにちは、尊敬するトレーダーの皆様。私は非常に優れたチャネル・インジケータを持っており、相場履歴では非常によくトレンドを示しますが、実際の口座ではオーバードローになります。使い方がわからない場合は、「次のペアのうち、どれが一番適していますか?とてもありがたいことです。

再描画は行わず、価格の動きに合わせてチャンネルを変更するだけです。
 
引用履歴でテストしたときと同じように、実際の引用でチャンネルを引くように書かれていれば、素晴らしいことだと思います。100%グレイル
 
sergii7777777:
引用履歴でテストされるように、実際の引用でチャンネルを引くような書き方であれば、すばらしいと思います。100%グレイル。


リアルな名言とは、まだ存在しない名言や、これから登場する名言のことでしょうか?

このインジケータは、その時点で利用可能な相場に基づいてチャネルを構築します。

新しい見積もりが入ってくると、状況が変わるので、チャネルは狭くなったり、広くなったりします。

なのか、それとも不明なのか?

 
sergii7777777:
引用履歴でテストしているように、実際の引用でチャンネルを引くように書かれていたら、素晴らしいですね。100%グレイル。

そのような書き方はしないでください。 あなたのEAは最も古いTFの速度で動作する必要があることを理解すればよいのです。

Expert Advisorは、最も古いタイムフレームにすでに記録されているバーから時間データを受信する必要があります。

そうすれば、Expert Advisorが信号のオーバーシュートで問題になることはありません。

 

こんにちは!インジケータでは、シグナルはビームZZの時にバーに表示され、動作中のものではすべてが正しいです。

TFパラメータを追加することにより、古いTF(作業M30、H1)を見ることにしました...kludahが出てきた(信号は、これらのバー、および不正な表示ビームではありません)。

どこで失敗したのか?...アドバイスお願いします。

//+------------------------------------------------------------------+
//| ダイナポリZZ(ジグザグ).mq4||。
//| CrazyChart|でリライトされました。
//| |
//+------------------------------------------------------------------+
#property copyright "rewrited by CrazyChart".
#プロパティリンク ""

#property indicator_chart_window
#プロパティ indicator_buffers 5
#property indicator_color1 レッド
#property indicator_color2 黄色
#プロパティ indicator_color3 Aqua
#プロパティ indicator_color4 Green
#property indicator_color5 オーキッド
//---- 入力パラメータ
extern inttern barn=1000;
extern Length=6;
extern inttern TF = 0;
//---- バッファ
double ExtMapBuffer1[]。
double ExtMapBuffer2[]。
double ExtMapBuffer3[]。
double ExtMapBuffer4[]。
double ExtMapBuffer5[]。
//double ExtMapBuffer2[]。
//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
//---- インジケータ
SetIndexEmptyValue(0,0.0);
SetIndexStyle(0,DRAW_SECTION)を設定します。
SetIndexBuffer(0,ExtMapBuffer1)を設定します。

SetIndexStyle(1,DRAW_ARROW)を設定します。
SetIndexArrow(1,159)。
SetIndexBuffer(1,ExtMapBuffer2)を設定。

SetIndexStyle(2,DRAW_ARROW)を設定します。
SetIndexArrow(2,159)。
SetIndexBuffer(2,ExtMapBuffer3)を設定。

SetIndexStyle(3,DRAW_ARROW)を設定します。
SetIndexArrow(3,186)。
SetIndexBuffer(3,ExtMapBuffer4)を設定します。

SetIndexStyle(4,DRAW_ARROW)を設定します。
SetIndexArrow(4,187)。
SetIndexBuffer(4,ExtMapBuffer5)を設定。





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

return(0)です。
}
//+------------------------------------------------------------------+
//| カスタムインジケータ反復関数
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int shift,Swing,Swing_n,i,uzl,zu,zd,mv;
double LL,HH,BH,BL,NH,NL,shf;
double Uzel[10000][3]です。
文字列のテキストです。
// 最初のバーから現在のバーまで(shift=0で)ループします.
Swing_n=0;Swing=0;uzl=0;
BH=iHigh(NULL, TF, barn);BL=iLow(NULL, TF, barn);zu=barn;zd=barn.BH=iHigh(NULL, TF, barn);BL=iLow(NULL, TF, barn);zd=barn;

for (shift=barn;shift>=0;shift--){。
ExtMapBuffer2[shift]=EMPTY_VALUE。
ExtMapBuffer3[shift]=EMPTY_VALUE。
ExtMapBuffer4[shift]=EMPTY_VALUEです。
ExtMapBuffer5[shift]=EMPTY_VALUEです。
shf=0.2
LL=10000000;HH=-100000000;
for (i=shift+Length;i>=shift+1;i--){。
if (iLow(NULL, TF,i)< LL) {LL=iLow(NULL, TF,i);} {LL=iLow(NULL, TF,i)}とする。
if (iHigh(NULL, TF,i)>HH){HH=iHigh(NULL, TF,i);}。
}


if (iLow(NULL, TF,shift)<LL && iHigh(NULL, TF,shift)>HH ){。
スイング=2。
if (Swing_n==1) {zu=shift+1;}.
if (Swing_n==-1) {zd=shift+1;}.
} else {
if (iLow(NULL, TF,shift)<LL) {Swing=-1;}。
if (iHigh(NULL,TF,shift)>HH)とする。{スイング=1;}。
}

if (Swing!=Swing_n && Swing_n!=0) {。
if (Swing==2){。
Swing=Swing_n;BH = iHigh(NULL, TF,shift);BL = iLow(NULL, TF,shift) となります。
}
uzl=uzl+1です。
//ローポイント
if (Swing==1){。
ウゼル[uzl][1]=zd;
Uzel[uzl][2]=BL;
ExtMapBuffer2[shift]=BL;
Print("ExtMapBuffer2[shift] ", ExtMapBuffer2[shift];

ExtMapBuffer5[shift+3]=BL;

}
//高得点
if (Swing==-1) {
ウゼル[uzl][1]=zu。
ウゼル[uzl][2]=BH;
ExtMapBuffer3[shift]=BH.ExtMapBuffer3[shift]=BH;
ExtMapBuffer4[shift+1]=BH+shf。
Print("ExtMapBuffer3[shift] ", ExtMapBuffer3[shift];

}
BH = iHigh(NULL, TF,shift)とする。
BL = iLow(NULL, TF,shift)です。
}

if (Swing==1){。
if (iHigh(NULL,TF,shift)>=BH)とする。{BH=iHigh(NULL,TF,shift);zu=shift;}} となります。
if (swing==-1) {
if (iLow(NULL, TF,shift)<=BL) {BL=iLow(NULL, TF,shift); zd=shift;}} とする。
Swing_n=Swing。
}


for (i=1;i<=uzl;i++) {.
mv=StrToInteger(DoubleToStr(Uzel[i][1],0));
ExtMapBuffer1[mv]=Uzel[i][2];
// Print("parametre MV ", ExtMapBuffer1[mv];
}





return(0)です。
}
//+------------------------------------------------------------------+

 

インジケーターの書き方を教えて いただきたいのですが。

私は、歴史に基づいて価格の反転の可能性を示す指標またはスクリプト(何が機能し、どのように優れている)を記述する必要があります。

ToRは添付ファイルの通りです。

あらかじめご了承ください。

敬具 キリル

ご質問は、onepips@bk.ru までお願いします。