ICustom機能 - ページ 12 1...5678910111213141516171819...23 新しいコメント pnyts 2010.01.12 21:38 #111 icustom()で2つのインディケータを呼び出して、売買する簡単なEAをどなたか投稿していただけませんか? 保留中の注文を 閉じるための関数はありますか? ありがとうございます。 ra457 2010.02.03 17:33 #112 iCustomヘルプ こんにちは。 FerruFXの指標の1つをカスタム指標を使用するように修正しようとしています。すでにすべてのMAを正しく動作させることができましたが、他の2つのインジケータの正しい情報を取得する方法がよくわかりません。最終的には添付した2つのインディケータ、PerkyAsctrend1とHeikenAshi MTFのMTFデータを表示するようにしたいのですが、どうすればよいでしょうか?どちらもiCustomを使用しており、そこまでは正しいコマンドを使用しているつもりです。 PerkyAsctrend1についてはデータ(ただし正しいデータではありません)を出すことができました。正しく表示させるためのロジックを理解しているつもりでしたが、そうではないのでしょうか。FerruさんはMA、CCI、MACD、ADX、Bullspower、BearsPowerをインジケータに使っていますが、これらはインジケータの種類が違うので、残念ながら今回の設定でのPerkyAsctrend1の参考には(私には)あまり役に立ちませんね。 HeikenAshiのMTFインジケータは簡単に追加できると思っていたのですが。どうやら間違っていたようです。Heikenの欄はどうしようもなく「Label」と表示され、最初のティックの後に全部消えてしまっている。 願わくば、このコードが実際にあなたにとって、私ほど気持ち悪いものに見えないことを祈ります。私は素人プログラマーです。もし誰かが助けてくれるなら、私は本当に感謝します。もっと経験豊富な人の目が必要です。完成すれば、かなり有益なものになると感じています。 - 以下は問題のあるコードの断片です。iCustomsは両方とも、価格履歴/チャートのバーの 合計数である2147483647の値を私に与えています。 int RISK = 4; int AllBars = 250; int MaMethod = 1; int MaPeriod = 20; //... // ペスキー //... string Pesky_Trend_1 //-- , Pesky_Trend_5, Pesky_Trend_15, Pesky_Trend_30, Pesky_Trend_60, Pesky_Trend_240, Pesky_Trend_1440, Pesky_Trend_10080.など。 double Pesky_m_1=iCustom(NULL,PERIOD_M1, "PerkyAsctrend1", RISK, AllBars,0,shift_1).とします。 if ((Pesky_m_1 > 0)) { Pesky_Trend_1 = "UP"; x = 416; color_indic = Lime; UP_33 = 1; DOWN_33 = 0; }. if ((Pesky_m_1 < 0)) { Pesky_Trend_1 = "DOWN"; x = 406; color_indic = Red; UP_33 = 0; DOWN_33 = 1; } } // Pesky_Trend_1 = "DOWN"; x = 406; color_indic = Red; DOWN_33 = 1 // ... // インジケータ(Heiken) //... string HA_Trend_1 //-- , HA_Trend_5, HA_Trend_15, HA_Trend_30, HA_Trend_60, HA_Trend_240, HA_Trend_1440, HA_Trend_10080; double HA_1_1=iCustom(NULL,PERIOD_M1, "Heiken MTF",MaMethod,MaPeriod,shift_1); double HA_2_1=iCustom(NULL,PERIOD_M1, "Heiken MTF",MaMethod,MaPeriod,shift_1+1); double HA_2_1=iCustom(NULL,PERIOD_M1, "Heiken MTF",MaMethod,MaPeriod,shift_1+1) if ((HA_1_1 > HA_2_1)) { HA_Trend_1 = "UP"; x = 466; color_indic = Lime; UP_41 = 1; DOWN_41 = 0; }. if ((HA_1_1 < HA_2_1)) { HA_Trend_1 = "DOWN"; x = 456; color_indic = Lime; UP_41 = 0; DOWN_41 = 1; }. //... シフトの値が異例ですが、原作者はこのようにしています。 int start() { //... // インジケータ用のシフト計算(テストのみ) double shift_1, shift_5, shift_15, shift_30, shift_60, shift_240, shift_1440, shift_10080; if( test == true ) { shift_1=iBarShift(NULL,PERIOD_M1,look_time_shift,false); shift_5=iBarShift(NULL,PERIOD_M5,look_time_shift,false); shift_6=iBarShift(NULL,PERIOD_M5,look_time_shift,false); shift_15=iBarShift(NULL,PERIOD_M15,look_time_shift,false); shift_16=iBarShift(NULL,PERIOD_M15,look_time_shift,false); shift_30=iBarShift(NULL,PERIOD_M30,look_time_shift,false); shift_40=iBarShift(NULL,PERIOD_M30,look_time_shift,false); shift_60=iBarShift(NULL,PERIOD_H1,look_time_shift,false); shift_60=iBarShift(NULL,PERIOD_H1,look_time_shift,false); shift_240=iBarShift(NULL,PERIOD_H4,look_time_shift,false); shift_240=iBarShift(NULL,PERIOD_H4,look_time_shift,false); shift_1440=iBarShift(NULL,PERIOD_D1,look_time_shift,false); shift_1440=iBarShift(NULL,PERIOD_D1,look_time_shift,false); shift_10080=iBarShift(NULL,PERIOD_W1,look_time_shift,false); } さもなくば { shift_1=shift_indicators; shift_5=shift_indicators。 shift_15=shift_indicators; shift_30=shift_indicators; shift_60=shift_indicators。 shift_240=shift_indicators。 shift_1440=shift_indicatorsです。 shift_10080=shift_indicators。 ありがとうございました... ファイル: pesky_heiken_build.mq4 48 kb perkyasctrend1.mq4 5 kb ferrufx_multi_info.mq4 11 kb heiken_mtf.mq4 4 kb ra457 2010.02.04 20:24 #113 更新されたバージョン iCustomの方はまだ正しいのですが、PerkyAsctrendの値が正しく計算されていません。iCustomはまだ正しいようですが、PerkyAsctrendの値が正しく計算されず、Heikenのロジックはどうやら完全に間違っているようです。HeikenのMTFインジケータのiCustomに2倍の値を提供するのは夕方になっていないようです。まだ再確認していませんが、インジケータのiCustomの2倍値はどちらもヒストリーのバー数(2147483647)と同じでした・・・!?iCustomで何か完全に間違ったことをしているはずなのですが、どうしても見つけることができません。 もし、お時間や気力があれば、見ていただけるとありがたいです。 ファイル: pesky_heiken_build2.mq4 46 kb pesky.mq4 5 kb heiken_mtf_1.mq4 4 kb pettrov 2010.02.13 11:52 #114 へ。Homicida & Ra457 re: アイ・カスタム こんにちは。 iCustomを使った ときに出るあの大きな数字の値、私も苦労したような気がします。 お役に立てれば幸いです。 iCustomに入力するパラメータは、インジケータコード自体の外部変数で指定したものと全く同じで、同じ順番であることを確認してください。 ありがとうございました。 Michel 2010.02.13 19:53 #115 2147483647は、履歴とは関係ありません。 この値は、符号付き32ビット整数が持つ最大の値で、MT4ではインジケータのデフォルトの「空値」として使用されています。 表示すべき値でない場合、インジケータは「Empty Value」を返します。 StevePams 2010.03.14 22:04 #116 iCustom() こんにちは、私はインジケータから3つの変数を読み取る必要があります。 インジケーターの上部に裾を配置しました。 変数 double eaBid=0; double eaAsk=0; 文字列 eaType=""; //========================== 変数名 #property indicator_separate_window(インディケーターウィンドウ #プロパティ indicator_buffers 8 #property indicator_color1 ブラック #property indicator_color2 ライム #property indicator_color3 ライム #property indicator_color3 ライム #property indicator_color4 イエロー #property indicator_color5 レッド #プロパティインジケータ_color6 レッド #property indicator_color7 ブラック #プロパティインジケータ_color8 黒 double eaEP=0; double eaSL=0; double eaType=0; double iVars[]; スタッフ #プロパティ indicator_buffers 2 #property indicator_color1 レッド #property indicator_color2 フォレストグリーン //---- 入力パラメータ 文字列 IndicatorName="TradeWatch"; double EntryBid=0; double EntryAsk=0; string EntryType=""; double eaBid=0; double eaAsk=0; string eaType=""; int init() { return (0); } スタート { EntryBid = iCustom(Symbol(), Period(), IndicatorName, eaBid, eaAsk, eaType, 1, 0); EntryAsk = iCustom(Symbol(), Period(), IndicatorName, eaBid, eaAsk, eaType, 2, 0)です。 EntryType = iCustom(Symbol(), Period(), IndicatorName, eaBid, eaAsk, eaType, 3, 0)です。 } 3つの変数をEAに読み込むにはどうすればよいのでしょうか? どこで間違っているのか分からないのですが? ありがとうございます。 ICustom function アイカスタム [アーカイブ!】どんなエキスパートやインジケーターでも無料で書きます。 1Dave7 2010.03.15 01:52 #117 インジケーターのバッファ 値に反映させるべき変数の結果を読めばいいのでは? グラフにインジケータを配置した後のインジケータ設定の色を見てみると、それぞれの色がバッファを表しています。 一番上の色=バッファ0、上から2番目の色=バッファ1、といった具合です。 EAではこのようなものを使用します。 Buff0=iCustom(NULL,0, "Indicator Name",0,0); //インジケーターの一番上の色です。 Buff0=iCustom(NULL,0, "Indicator Name",0,1); //1-Back(バック) Buff1=iCustom(NULL,0, "Indicator Name",1,0); //インジケーターの次の色 Buff1=iCustom(NULL,0, "インジケータ名",1,1); //1-Back(バック) インジケータ自体の変数を変更し、インジケータを再コンパイルすると、バッファとグラフ上のインジケータが更新されます! それでもわからない場合は、実際のEAとインジケータを送りますので、見てみてください。 Dave <<< StevePams 2010.03.15 11:38 #118 iCustom() Daveさん、ありがとうございます。 動作するようになったよ。 np601 2010.03.16 11:30 #119 いってらっしゃい hankeys 2010.03.25 07:14 #120 私のEA MQ4ビルダーでASCTrend.mq4というEAを作成したのですが、これはICustom関数でasctrendシグナルを使用します。 このEAにフィルターを追加したいのですが、いくつかのペアでバックテストをした ところ、BBands indを使ったフィルターが良さそうです。 Double Buy1_1 = iCustom(Symbol(),0, "PerkyAsctrend1",0,1); double Buy2_1 = iCustom(NULL, 0, "BBands_Stop_v1", 4, 0, Current + 1); double Buy2_2 = 1; double Sell1_1 = iCustom(Symbol(),0, "PerkyAsctrend1",1,1); double Buy2_1 = iCustom(NULL),0, "BBands_Stop_v1, 4, 0, Current + 1); double Sell2_1 = iCustom(NULL, 0, "BBands_Stop_v1", 5, 0, Current + 1); double Sell2_2 = 1; if (Buy1_1 && Buy2_1 > Buy2_2) Order = SIGNAL_BUY; if (Sell1_1 && Sell2_1 > Sell2_2) Order = SIGNAL_SELL; if (Sell1_1 && Sell2_1 > Sell2_2) 注文 = SIGNAL_SELL; ファイル: asctrend_1.mq4 10 kb perkyasctrend1.mq4 5 kb bbands_stop_v1.mq4 6 kb ASCTrendシステム ICustom function ASCTrend system 1...5678910111213141516171819...23 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
icustom()で2つのインディケータを呼び出して、売買する簡単なEAをどなたか投稿していただけませんか?
保留中の注文を 閉じるための関数はありますか?
ありがとうございます。
iCustomヘルプ
こんにちは。
FerruFXの指標の1つをカスタム指標を使用するように修正しようとしています。すでにすべてのMAを正しく動作させることができましたが、他の2つのインジケータの正しい情報を取得する方法がよくわかりません。最終的には添付した2つのインディケータ、PerkyAsctrend1とHeikenAshi MTFのMTFデータを表示するようにしたいのですが、どうすればよいでしょうか?どちらもiCustomを使用しており、そこまでは正しいコマンドを使用しているつもりです。
PerkyAsctrend1についてはデータ(ただし正しいデータではありません)を出すことができました。正しく表示させるためのロジックを理解しているつもりでしたが、そうではないのでしょうか。FerruさんはMA、CCI、MACD、ADX、Bullspower、BearsPowerをインジケータに使っていますが、これらはインジケータの種類が違うので、残念ながら今回の設定でのPerkyAsctrend1の参考には(私には)あまり役に立ちませんね。
HeikenAshiのMTFインジケータは簡単に追加できると思っていたのですが。どうやら間違っていたようです。Heikenの欄はどうしようもなく「Label」と表示され、最初のティックの後に全部消えてしまっている。
願わくば、このコードが実際にあなたにとって、私ほど気持ち悪いものに見えないことを祈ります。私は素人プログラマーです。もし誰かが助けてくれるなら、私は本当に感謝します。もっと経験豊富な人の目が必要です。完成すれば、かなり有益なものになると感じています。
-
以下は問題のあるコードの断片です。iCustomsは両方とも、価格履歴/チャートのバーの 合計数である2147483647の値を私に与えています。
int RISK = 4;
int AllBars = 250;
int MaMethod = 1;
int MaPeriod = 20;
//...
// ペスキー
//...
string Pesky_Trend_1 //-- , Pesky_Trend_5, Pesky_Trend_15, Pesky_Trend_30, Pesky_Trend_60, Pesky_Trend_240, Pesky_Trend_1440, Pesky_Trend_10080.など。
double Pesky_m_1=iCustom(NULL,PERIOD_M1, "PerkyAsctrend1", RISK, AllBars,0,shift_1).とします。
if ((Pesky_m_1 > 0)) { Pesky_Trend_1 = "UP"; x = 416; color_indic = Lime; UP_33 = 1; DOWN_33 = 0; }.
if ((Pesky_m_1 < 0)) { Pesky_Trend_1 = "DOWN"; x = 406; color_indic = Red; UP_33 = 0; DOWN_33 = 1; } } // Pesky_Trend_1 = "DOWN"; x = 406; color_indic = Red; DOWN_33 = 1
// ...
// インジケータ(Heiken)
//...
string HA_Trend_1 //-- , HA_Trend_5, HA_Trend_15, HA_Trend_30, HA_Trend_60, HA_Trend_240, HA_Trend_1440, HA_Trend_10080;
double HA_1_1=iCustom(NULL,PERIOD_M1, "Heiken MTF",MaMethod,MaPeriod,shift_1);
double HA_2_1=iCustom(NULL,PERIOD_M1, "Heiken MTF",MaMethod,MaPeriod,shift_1+1); double HA_2_1=iCustom(NULL,PERIOD_M1, "Heiken MTF",MaMethod,MaPeriod,shift_1+1)
if ((HA_1_1 > HA_2_1)) { HA_Trend_1 = "UP"; x = 466; color_indic = Lime; UP_41 = 1; DOWN_41 = 0; }.
if ((HA_1_1 < HA_2_1)) { HA_Trend_1 = "DOWN"; x = 456; color_indic = Lime; UP_41 = 0; DOWN_41 = 1; }.
//...シフトの値が異例ですが、原作者はこのようにしています。
int start()
{
//...
// インジケータ用のシフト計算(テストのみ)
double shift_1, shift_5, shift_15, shift_30, shift_60, shift_240, shift_1440, shift_10080;
if( test == true )
{
shift_1=iBarShift(NULL,PERIOD_M1,look_time_shift,false);
shift_5=iBarShift(NULL,PERIOD_M5,look_time_shift,false); shift_6=iBarShift(NULL,PERIOD_M5,look_time_shift,false);
shift_15=iBarShift(NULL,PERIOD_M15,look_time_shift,false); shift_16=iBarShift(NULL,PERIOD_M15,look_time_shift,false);
shift_30=iBarShift(NULL,PERIOD_M30,look_time_shift,false); shift_40=iBarShift(NULL,PERIOD_M30,look_time_shift,false);
shift_60=iBarShift(NULL,PERIOD_H1,look_time_shift,false); shift_60=iBarShift(NULL,PERIOD_H1,look_time_shift,false);
shift_240=iBarShift(NULL,PERIOD_H4,look_time_shift,false); shift_240=iBarShift(NULL,PERIOD_H4,look_time_shift,false);
shift_1440=iBarShift(NULL,PERIOD_D1,look_time_shift,false); shift_1440=iBarShift(NULL,PERIOD_D1,look_time_shift,false);
shift_10080=iBarShift(NULL,PERIOD_W1,look_time_shift,false);
}
さもなくば
{
shift_1=shift_indicators;
shift_5=shift_indicators。
shift_15=shift_indicators;
shift_30=shift_indicators;
shift_60=shift_indicators。
shift_240=shift_indicators。
shift_1440=shift_indicatorsです。
shift_10080=shift_indicators。ありがとうございました...
更新されたバージョン
iCustomの方はまだ正しいのですが、PerkyAsctrendの値が正しく計算されていません。iCustomはまだ正しいようですが、PerkyAsctrendの値が正しく計算されず、Heikenのロジックはどうやら完全に間違っているようです。HeikenのMTFインジケータのiCustomに2倍の値を提供するのは夕方になっていないようです。まだ再確認していませんが、インジケータのiCustomの2倍値はどちらもヒストリーのバー数(2147483647)と同じでした・・・!?iCustomで何か完全に間違ったことをしているはずなのですが、どうしても見つけることができません。
もし、お時間や気力があれば、見ていただけるとありがたいです。
へ。Homicida & Ra457 re: アイ・カスタム
こんにちは。
iCustomを使った ときに出るあの大きな数字の値、私も苦労したような気がします。
お役に立てれば幸いです。
iCustomに入力するパラメータは、インジケータコード自体の外部変数で指定したものと全く同じで、同じ順番であることを確認してください。
ありがとうございました。
2147483647は、履歴とは関係ありません。
この値は、符号付き32ビット整数が持つ最大の値で、MT4ではインジケータのデフォルトの「空値」として使用されています。
表示すべき値でない場合、インジケータは「Empty Value」を返します。
iCustom()
こんにちは、私はインジケータから3つの変数を読み取る必要があります。
インジケーターの上部に裾を配置しました。
変数
double eaBid=0;
double eaAsk=0;
文字列 eaType="";
//==========================
変数名
#property indicator_separate_window(インディケーターウィンドウ
#プロパティ indicator_buffers 8
#property indicator_color1 ブラック
#property indicator_color2 ライム
#property indicator_color3 ライム
#property indicator_color3 ライム #property indicator_color4 イエロー
#property indicator_color5 レッド
#プロパティインジケータ_color6 レッド
#property indicator_color7 ブラック
#プロパティインジケータ_color8 黒
double eaEP=0;
double eaSL=0;
double eaType=0;
double iVars[];
スタッフ
#プロパティ indicator_buffers 2
#property indicator_color1 レッド
#property indicator_color2 フォレストグリーン
//---- 入力パラメータ
文字列 IndicatorName="TradeWatch";
double EntryBid=0;
double EntryAsk=0;
string EntryType="";
double eaBid=0;
double eaAsk=0;
string eaType="";
int init()
{
return (0);
}
スタート
{
EntryBid = iCustom(Symbol(), Period(), IndicatorName, eaBid, eaAsk, eaType, 1, 0);
EntryAsk = iCustom(Symbol(), Period(), IndicatorName, eaBid, eaAsk, eaType, 2, 0)です。
EntryType = iCustom(Symbol(), Period(), IndicatorName, eaBid, eaAsk, eaType, 3, 0)です。
}
3つの変数をEAに読み込むにはどうすればよいのでしょうか?
どこで間違っているのか分からないのですが?
ありがとうございます。
インジケーターのバッファ 値に反映させるべき変数の結果を読めばいいのでは? グラフにインジケータを配置した後のインジケータ設定の色を見てみると、それぞれの色がバッファを表しています。 一番上の色=バッファ0、上から2番目の色=バッファ1、といった具合です。
EAではこのようなものを使用します。
Buff0=iCustom(NULL,0, "Indicator Name",0,0); //インジケーターの一番上の色です。
Buff0=iCustom(NULL,0, "Indicator Name",0,1); //1-Back(バック)
Buff1=iCustom(NULL,0, "Indicator Name",1,0); //インジケーターの次の色
Buff1=iCustom(NULL,0, "インジケータ名",1,1); //1-Back(バック)
インジケータ自体の変数を変更し、インジケータを再コンパイルすると、バッファとグラフ上のインジケータが更新されます!
それでもわからない場合は、実際のEAとインジケータを送りますので、見てみてください。
Dave
<<<
iCustom()
Daveさん、ありがとうございます。
動作するようになったよ。
いってらっしゃい
私のEA
MQ4ビルダーでASCTrend.mq4というEAを作成したのですが、これはICustom関数でasctrendシグナルを使用します。
このEAにフィルターを追加したいのですが、いくつかのペアでバックテストをした ところ、BBands indを使ったフィルターが良さそうです。
Double Buy1_1 = iCustom(Symbol(),0, "PerkyAsctrend1",0,1);
double Buy2_1 = iCustom(NULL, 0, "BBands_Stop_v1", 4, 0, Current + 1);
double Buy2_2 = 1;
double Sell1_1 = iCustom(Symbol(),0, "PerkyAsctrend1",1,1); double Buy2_1 = iCustom(NULL),0, "BBands_Stop_v1, 4, 0, Current + 1);
double Sell2_1 = iCustom(NULL, 0, "BBands_Stop_v1", 5, 0, Current + 1);
double Sell2_2 = 1;
if (Buy1_1 && Buy2_1 > Buy2_2) Order = SIGNAL_BUY;
if (Sell1_1 && Sell2_1 > Sell2_2) Order = SIGNAL_SELL; if (Sell1_1 && Sell2_1 > Sell2_2) 注文 = SIGNAL_SELL;