コーディングのヘルプ - ページ 294 1...287288289290291292293294295296297298299300301...786 新しいコメント airquest 2014.06.15 18:55 #2931 mladen: エアクエストそれを考慮しないと、OKが出ません。 このようなパラメータを持つインジケータを呼び出す最良の方法は、次のとおりです。 iCustom(NULL,targetTimeFrame,indicatorName,",",...,buffer,shift); ということは、このパラメータには""を使って Mladenさん、いつもながら、ありがとうございます。 eliseexige 2014.06.16 08:08 #2932 TradeStationのバージョンでは、価格が実際にその値を通過する前に、低い時間枠のバーに高い時間枠のインジケータのプロット(存在する場合)をプロットしますが、MT4バージョンではそうではなく、価格がその値を通過するまでプロットしません。 ありがとうございました。 スコット *** #property indicator_chart_window (インジケーターチャートウィンドウ) #property indicator_buffers 2 (インジケータバッファ2) #property indicator_color1 ホワイト #property indicator_color2 ホワイト //#property indicator_width1 5 //#property indicator_width2 5 //---- 入力パラメータ /************************************************** *********************** PERIOD_M1 1 PERIOD_M5 5 PERIOD_M15 15 PERIOD_M30 30 PERIOD_H1 60 PERIOD_H4 240 PERIOD_D1 1440 期間_W1 10080 期間_MN1 43200 インジケーターでTimeFrameを設定する際は、使用するタイムフレームの数値を使用する必要があります。 インジケーターの入力でTimeFrameの値を設定する際は、使用したいタイムフレームの数値を入力してください。 ************************************************** ************************/ extern int TimeFrame = 240; extern int num = 6; extern color Color = White; double vftop[]; double vfbot[]; //+------------------------------------------------------------------+ //| カスタムインジケータ初期化関数 //+------------------------------------------------------------------+ int init() { //---- インジケータ IndicatorBuffers(2); SetIndexBuffer(0, vfbot); SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 5, Color); // SetIndexArrow(0, 117); SetIndexEmptyValue(0, 0); SetIndexBuffer(1, vftop); SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 5, Color); // SetIndexArrow(1, 117); SetIndexEmptyValue(1, 0); switch(TimeFrame) { case 1 : string TimeFrameStr="Period_M1"; break; case 5 : TimeFrameStr="期間_M5"; break; case 15 : TimeFrameStr="期間_M15"; break; case 30 : TimeFrameStr="期間_M30"; break; case 60 : TimeFrameStr="期間_H1"; break; ケース240 :TimeFrameStr="Period_H4";ブレーク。 ケース1440 :TimeFrameStr="Period_D1"、break。 case 10080 : TimeFrameStr="期間_W1"; break; case 43200 : TimeFrameStr="期間_MN1"; break; default : TimeFrameStr="現在のタイムフレーム"; IndicatorShortName("MTF_VolumeFinder ("+TimeFrameStr+")")です。 //---- return(0); //+------------------------------------------------------------------+ //| カスタムインジケータの初期化関数について //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| カスタムインジケーターイテレーション関数 //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); int i = Bars - counted_bars; if(counted_bars == 0) i = Bars - num*2; int j = 0; double t1, t2; int y = 0; while(i >= 0) { y = iBarShift(Symbol(), TimeFrame, Time).t1=iLow(Symbol(),TimeFrame,y)。 t1 = iLow(Symbol(), TimeFrame, y).t2=iHigh(Symbol()、TimeFrame、Time); t2 = iHigh(Symbol(), TimeFrame, y); for(j = y+1; j < y + num; j++) { t1 = MathMax(t1, iLow(Symbol(), TimeFrame, j)); t2 = MathMin(t2, iHigh(Symbol(), TimeFrame, j)); } if(t1 <= t2) { vftop = t2; vfbot = t1; } i--; } //---- return(0); } //+------------------------------------------------------------------+ Coding help マルチタイムフレーム・インディケーター Convert this into MT3 Mladen Rakic 2014.06.16 08:44 #2933 scott TTM: TradeStationのバージョンでは、価格が実際にその値を通過する前に、低い時間枠のバーに高い時間枠のインジケータプロット(存在する場合)をプロットします。しかし、MT4バージョンではそうではなく、価格がその値を通過するまでプロットされません。ありがとうございました。 スコット *** #プロパティ indicator_chart_window #property indicator_buffers 2 インジケータバッファ2 #property indicator_color1 ホワイト #property indicator_color2 ホワイト //#property indicator_width1 5 //#property indicator_width2 5 //---- 入力パラメータ /************************************************** *********************** PERIOD_M1 1 PERIOD_M5 5 PERIOD_M15 15 PERIOD_M30 30 PERIOD_H1 60 PERIOD_H4 240 PERIOD_D1 1440 期間_W1 10080 期間_MN1 43200 インジケーターでTimeFrameを設定する際は、使用するタイムフレームの数値を使用する必要があります。 インジケーターの入力でTimeFrameの値を設定する際は、使用したいタイムフレームの数値を入力してください。 ************************************************** ************************/ extern int TimeFrame = 240; extern int num = 6; extern color Color = White; double vftop[]; double vfbot[]; //+------------------------------------------------------------------+ //| カスタムインジケータ初期化関数 //+------------------------------------------------------------------+ int init() { //---- インジケータ IndicatorBuffers(2); SetIndexBuffer(0, vfbot); SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 5, Color); // SetIndexArrow(0, 117); SetIndexEmptyValue(0, 0); SetIndexBuffer(1, vftop); SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 5, Color); // SetIndexArrow(1, 117); SetIndexEmptyValue(1, 0); switch(TimeFrame) { case 1 : string TimeFrameStr="Period_M1"; break; case 5 : TimeFrameStr="期間_M5"; break; case 15 : TimeFrameStr="期間_M15"; break; case 30 : TimeFrameStr="期間_M30"; break; case 60 : TimeFrameStr="期間_H1"; break; ケース240 :TimeFrameStr="Period_H4";ブレーク。 ケース1440 :TimeFrameStr="Period_D1"、break。 case 10080 : TimeFrameStr="期間_W1"; break; case 43200 : TimeFrameStr="期間_MN1"; break; default : TimeFrameStr="現在のタイムフレーム"; IndicatorShortName("MTF_VolumeFinder ("+TimeFrameStr+")")です。 //---- return(0); //+------------------------------------------------------------------+ //| カスタムインジケータの初期化関数について //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| カスタムインジケーターイテレーション関数 //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); int i = Bars - counted_bars; if(counted_bars == 0) i = Bars - num*2; int j = 0; double t1, t2; int y = 0; while(i >= 0) { y = iBarShift(Symbol(), TimeFrame, Time).t1=iLow(Symbol(),TimeFrame,y)。 t1 = iLow(Symbol(), TimeFrame, y).t2=iHigh(Symbol()、TimeFrame、Time); t2 = iHigh(Symbol(), TimeFrame, y); for(j = y+1; j < y + num; j++) { t1 = MathMax(t1, iLow(Symbol(), TimeFrame, j)); t2 = MathMin(t2, iHigh(Symbol(), TimeFrame, j)); } if(t1 <= t2) { vftop = t2; vfbot = t1; } i--; } //---- return(0); } //+------------------------------------------------------------------+ 元のtradestationのコードを投稿できますか? eliseexige 2014.06.16 09:16 #2934 探したのですが、見つかりません。 2004年に購入したインジケーターです。 Mladen Rakic 2014.06.16 19:36 #2935 scott TTM: 検索してみましたが、見つかりませんでした。 2004年に購入したインジケーターです。 メタトレーダーへの変換は簡単そうに見えても、その差は大きく、100%変換できていないケースもあるので、コードを比較したいので質問しました。 kholi 2014.06.17 13:19 #2936 Pls Help me ハイ MT4 Build 600+で動作するように手助けしていただけませんか? 事前にありがとうございます ファイル: sap_robot.mq4 32 kb forexhacked.mq4 19 kb adledion 2014.06.18 10:35 #2937 WPR_MAのバグ こんにちは、mladen! 少しコーディングのお手伝いをさせてください。 私は、なんとなくですが、1つのインジケーターウィンドウで4つの他のWPRを平均化するインジケーターを書きました。 テンプレートを読み込むと、WPRのMAの違いを見ることができます。 上がインジケーターで、下が手動で混ぜたものです。目標は、マニュアルをインジケータにすることです。 なぜ、そんなことをするのか?私はWPR_MAを間違ってコーディングしたところ。 お時間をいただきありがとうございました。 アドレディオン ファイル: wpr_ma_diff.tpl 4 kb wprma_dev.mq4 5 kb Mladen Rakic 2014.06.18 11:51 #2938 adledion: mladenさん、こんにちは。少しコーディングのお手伝いをさせてください。 私は、なんとなくですが、1つのインジケータウィンドウで4つの他のWPRを平均化するインジケータを書きました。 テンプレートを読み込むと、WPRのMAの違いを見ることができます。 上がインジケーターで、下が手動で混ぜたものです。目標は、マニュアルをインジケータにすることです。 なぜ、そんなことをするのか?私はWPR_MAを間違ってコーディングしたところ。 お時間をいただきありがとうございました。 アドレディオン アドレディオン テンプレートでは、maは1つのWPR(そのテンプレートの場合、WPR(50))にのみ適用されます。複数の指標にmaを適用することはできませんので、お使いの指標とテンプレートの間に違いがあるのはそのためです。 試しに、インジケーターのWPRの期間を全て50に設定し、インジケーターの値をテンプレートのmaの前の値(インジケーターでiMAOnArray()にシフト1を使用しているので前)と比較してみると、その場合、全く同じ値を持っていることが分かります。 adledion 2014.06.18 14:15 #2939 mladen: アドレディオンテンプレートでは、maは1つのWPR(そのテンプレートの場合はWPR(50))にのみ適用されます。複数のインジケータにmaを適用することはできず、それがあなたのインジケータとテンプレートの間に違いがある理由です。 試しに、インジケータのWPRの期間をすべて50に設定して、インジケータの値とテンプレートのmaの前の値(iMAOnArray()のインジケータでシフト1を使用しているので前)を比較してみてください。 うわー、ありがとう、そんなに深く掘り下げなかったよ edit: つまり、マニュアルでは、maは1つのwprにのみ適用されているのですか? nevar 2014.06.19 12:36 #2940 Mladen 。 私は少し困惑しているこれらの2つの指標は、再塗装されていますか?https://www.mql5.com/en/forum/172895 これらのヒストグラムは何を表しているか知っていますか? ファイル: forexmtn.mq4 3 kb rd-combo.mq4 11 kb 1...287288289290291292293294295296297298299300301...786 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
エアクエスト
それを考慮しないと、OKが出ません。
このようなパラメータを持つインジケータを呼び出す最良の方法は、次のとおりです。
iCustom(NULL,targetTimeFrame,indicatorName,",",...,buffer,shift);
ということは、このパラメータには""を使ってMladenさん、いつもながら、ありがとうございます。
TradeStationのバージョンでは、価格が実際にその値を通過する前に、低い時間枠のバーに高い時間枠のインジケータのプロット(存在する場合)をプロットしますが、MT4バージョンではそうではなく、価格がその値を通過するまでプロットしません。
ありがとうございました。
スコット
***
#property indicator_chart_window (インジケーターチャートウィンドウ)
#property indicator_buffers 2 (インジケータバッファ2)
#property indicator_color1 ホワイト
#property indicator_color2 ホワイト
//#property indicator_width1 5
//#property indicator_width2 5
//---- 入力パラメータ
/************************************************** ***********************
PERIOD_M1 1
PERIOD_M5 5
PERIOD_M15 15
PERIOD_M30 30
PERIOD_H1 60
PERIOD_H4 240
PERIOD_D1 1440
期間_W1 10080
期間_MN1 43200
インジケーターでTimeFrameを設定する際は、使用するタイムフレームの数値を使用する必要があります。
インジケーターの入力でTimeFrameの値を設定する際は、使用したいタイムフレームの数値を入力してください。
************************************************** ************************/
extern int TimeFrame = 240;
extern int num = 6;
extern color Color = White;
double vftop[];
double vfbot[];
//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
//---- インジケータ
IndicatorBuffers(2);
SetIndexBuffer(0, vfbot);
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 5, Color);
// SetIndexArrow(0, 117);
SetIndexEmptyValue(0, 0);
SetIndexBuffer(1, vftop);
SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 5, Color);
// SetIndexArrow(1, 117);
SetIndexEmptyValue(1, 0);
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Period_M1"; break;
case 5 : TimeFrameStr="期間_M5"; break;
case 15 : TimeFrameStr="期間_M15"; break;
case 30 : TimeFrameStr="期間_M30"; break;
case 60 : TimeFrameStr="期間_H1"; break;
ケース240 :TimeFrameStr="Period_H4";ブレーク。
ケース1440 :TimeFrameStr="Period_D1"、break。
case 10080 : TimeFrameStr="期間_W1"; break;
case 43200 : TimeFrameStr="期間_MN1"; break;
default : TimeFrameStr="現在のタイムフレーム";
IndicatorShortName("MTF_VolumeFinder ("+TimeFrameStr+")")です。
//----
return(0);
//+------------------------------------------------------------------+
//| カスタムインジケータの初期化関数について
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| カスタムインジケーターイテレーション関数
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int i = Bars - counted_bars;
if(counted_bars == 0) i = Bars - num*2;
int j = 0;
double t1, t2;
int y = 0;
while(i >= 0)
{
y = iBarShift(Symbol(), TimeFrame, Time).t1=iLow(Symbol(),TimeFrame,y)。
t1 = iLow(Symbol(), TimeFrame, y).t2=iHigh(Symbol()、TimeFrame、Time);
t2 = iHigh(Symbol(), TimeFrame, y);
for(j = y+1; j < y + num; j++)
{
t1 = MathMax(t1, iLow(Symbol(), TimeFrame, j));
t2 = MathMin(t2, iHigh(Symbol(), TimeFrame, j));
}
if(t1 <= t2)
{
vftop = t2;
vfbot = t1;
}
i--;
}
//----
return(0);
}
//+------------------------------------------------------------------+
TradeStationのバージョンでは、価格が実際にその値を通過する前に、低い時間枠のバーに高い時間枠のインジケータプロット(存在する場合)をプロットします。しかし、MT4バージョンではそうではなく、価格がその値を通過するまでプロットされません。
ありがとうございました。
スコット
***
#プロパティ indicator_chart_window
#property indicator_buffers 2 インジケータバッファ2
#property indicator_color1 ホワイト
#property indicator_color2 ホワイト
//#property indicator_width1 5
//#property indicator_width2 5
//---- 入力パラメータ
/************************************************** ***********************
PERIOD_M1 1
PERIOD_M5 5
PERIOD_M15 15
PERIOD_M30 30
PERIOD_H1 60
PERIOD_H4 240
PERIOD_D1 1440
期間_W1 10080
期間_MN1 43200
インジケーターでTimeFrameを設定する際は、使用するタイムフレームの数値を使用する必要があります。
インジケーターの入力でTimeFrameの値を設定する際は、使用したいタイムフレームの数値を入力してください。
************************************************** ************************/
extern int TimeFrame = 240;
extern int num = 6;
extern color Color = White;
double vftop[];
double vfbot[];
//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
//---- インジケータ
IndicatorBuffers(2);
SetIndexBuffer(0, vfbot);
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 5, Color);
// SetIndexArrow(0, 117);
SetIndexEmptyValue(0, 0);
SetIndexBuffer(1, vftop);
SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 5, Color);
// SetIndexArrow(1, 117);
SetIndexEmptyValue(1, 0);
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Period_M1"; break;
case 5 : TimeFrameStr="期間_M5"; break;
case 15 : TimeFrameStr="期間_M15"; break;
case 30 : TimeFrameStr="期間_M30"; break;
case 60 : TimeFrameStr="期間_H1"; break;
ケース240 :TimeFrameStr="Period_H4";ブレーク。
ケース1440 :TimeFrameStr="Period_D1"、break。
case 10080 : TimeFrameStr="期間_W1"; break;
case 43200 : TimeFrameStr="期間_MN1"; break;
default : TimeFrameStr="現在のタイムフレーム";
IndicatorShortName("MTF_VolumeFinder ("+TimeFrameStr+")")です。
//----
return(0);
//+------------------------------------------------------------------+
//| カスタムインジケータの初期化関数について
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| カスタムインジケーターイテレーション関数
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int i = Bars - counted_bars;
if(counted_bars == 0) i = Bars - num*2;
int j = 0;
double t1, t2;
int y = 0;
while(i >= 0)
{
y = iBarShift(Symbol(), TimeFrame, Time).t1=iLow(Symbol(),TimeFrame,y)。
t1 = iLow(Symbol(), TimeFrame, y).t2=iHigh(Symbol()、TimeFrame、Time);
t2 = iHigh(Symbol(), TimeFrame, y);
for(j = y+1; j < y + num; j++)
{
t1 = MathMax(t1, iLow(Symbol(), TimeFrame, j));
t2 = MathMin(t2, iHigh(Symbol(), TimeFrame, j));
}
if(t1 <= t2)
{
vftop = t2;
vfbot = t1;
}
i--;
}
//----
return(0);
}
//+------------------------------------------------------------------+元のtradestationのコードを投稿できますか?
探したのですが、見つかりません。 2004年に購入したインジケーターです。
検索してみましたが、見つかりませんでした。 2004年に購入したインジケーターです。
メタトレーダーへの変換は簡単そうに見えても、その差は大きく、100%変換できていないケースもあるので、コードを比較したいので質問しました。
Pls Help me
ハイ
MT4 Build 600+で動作するように手助けしていただけませんか?
事前にありがとうございます
WPR_MAのバグ
こんにちは、mladen!
少しコーディングのお手伝いをさせてください。
私は、なんとなくですが、1つのインジケーターウィンドウで4つの他のWPRを平均化するインジケーターを書きました。
テンプレートを読み込むと、WPRのMAの違いを見ることができます。
上がインジケーターで、下が手動で混ぜたものです。目標は、マニュアルをインジケータにすることです。
なぜ、そんなことをするのか?私はWPR_MAを間違ってコーディングしたところ。
お時間をいただきありがとうございました。
アドレディオン
mladenさん、こんにちは。
少しコーディングのお手伝いをさせてください。
私は、なんとなくですが、1つのインジケータウィンドウで4つの他のWPRを平均化するインジケータを書きました。
テンプレートを読み込むと、WPRのMAの違いを見ることができます。
上がインジケーターで、下が手動で混ぜたものです。目標は、マニュアルをインジケータにすることです。
なぜ、そんなことをするのか?私はWPR_MAを間違ってコーディングしたところ。
お時間をいただきありがとうございました。
アドレディオンアドレディオン
テンプレートでは、maは1つのWPR(そのテンプレートの場合、WPR(50))にのみ適用されます。複数の指標にmaを適用することはできませんので、お使いの指標とテンプレートの間に違いがあるのはそのためです。
試しに、インジケーターのWPRの期間を全て50に設定し、インジケーターの値をテンプレートのmaの前の値(インジケーターでiMAOnArray()にシフト1を使用しているので前)と比較してみると、その場合、全く同じ値を持っていることが分かります。
アドレディオン
テンプレートでは、maは1つのWPR(そのテンプレートの場合はWPR(50))にのみ適用されます。複数のインジケータにmaを適用することはできず、それがあなたのインジケータとテンプレートの間に違いがある理由です。
試しに、インジケータのWPRの期間をすべて50に設定して、インジケータの値とテンプレートのmaの前の値(iMAOnArray()のインジケータでシフト1を使用しているので前)を比較してみてください。うわー、ありがとう、そんなに深く掘り下げなかったよ
edit: つまり、マニュアルでは、maは1つのwprにのみ適用されているのですか?
Mladen 。
私は少し困惑しているこれらの2つの指標は、再塗装されていますか?https://www.mql5.com/en/forum/172895
これらのヒストグラムは何を表しているか知っていますか?