コーディングのヘルプ - ページ 95

 

親愛なる皆様、私が初めてFXに関する記事を書いたので、もし私が何か間違ったことを言ったとしても、どうか優しくしてください。

このウェブサイトは、FXについて学ぶのに最適な場所の一つであり、私は数年前から読んでいます。私はこのリンクに注意を払いたいと思います:codebase.mql4.com/5900

EAは、著者によってRUBBERBANDS_2 EAです。 StJojo (2009.08.17 11:30)。どの通貨 ペアでも(最小限の最適化作業で)動作するのがなかなか面白いです。基本的には、半自動の自動売買戦略として使うことができます。実際、横ばい相場では非常によく動くので、横ばい相場の確率が高いときにニュース間隔で起動させることができることを発見しました。このコードは作者によってオープンソース化されていると思うので、もし誰かがそのアイデアを気に入ってくれるなら、ある時間/分で「静止」するように動作する変数を追加したいと思います(つまり、現在のセッションが終了したときにこのEAを静止するようにします)。これは、翌日以降のEAの「事前プログラム」作業時間を、比較的容易にするものです。私は上記のリンクからファイルを添付しました。

また、"forex_news_market_clock "インジケータも添付しました。

このサイト(そしてもちろんネット上でも...)で作られた作品にみんな感謝しています。誰かが助けてくれるといいのですが、ありがとうございます。

ファイル:
 
vitoingletto:
親愛なる皆さん、これが私のFXに関する投稿への第一歩です。ですから、私が何か間違ったことを言ったとしても、親切にしてください。

このウェブサイトは、外国為替について学ぶための最良の場所の一つであり、私は数年以来、約読み込んでいる。私はこのリンクに注意を置きたいと思います:codebase.mql4.com/5900

EAは、著者によってRUBBERBANDS_2 EAです。 StJojo (2009.08.17 11:30)。どの通貨ペアでも(最小限の最適化作業で)動作するのがなかなか面白いです。基本的には、半自動の自動売買戦略として使うことができます。実際、横ばい相場では非常によく動くので、横ばい相場の確率が高いときにニュース間隔で起動させることができることを発見しました。このコードは作者によってオープンソース化されていると思うので、もし誰かがそのアイデアを気に入ってくれるなら、ある時間/分で「静止」するように動作する変数を追加したいと思います(つまり、現在のセッションが終了したときにこのEAを静止するようにします)。これは、翌日以降のEAの「事前プログラム」作業時間を、比較的容易にするものです。私は上記のリンクからファイルを添付しました。

また、"forex_news_market_clock "インジケータも添付しました。

このサイト(そしてもちろんネット上でも...)で作られた作品にみんな感謝しています。誰かが助けてくれるといいのですが、ありがとうございます。

こんにちは、Vitoinglettoです。

EAをありがとうございます。時間フィルタと金曜日の クローズ機能を追加しました。

ファイル:
 

こんにちは

あなたがコードで直接一度にすべてのデータをエクスポートする関数を置くことができるかどうかの方法(M1、M5、M30、M15、H1、H4、D1 ...)明らかに別々のファイルで。現在、あなたはそれを何度も起動する必要があります...(各tmeframeのために)。

私は、データをエクスポートするための時間の大幅な節約を持っているでしょう。

あなたのコードでこの関数を挿入することができますか? アイデアは、1 volta.Siですべてのデータを変換し、この添付スクリプト(Period_converter_auto - MQL4コードベース)に似ているかもしれませんが、専門家で遊ぶことができる?

感謝

ファイル:
 
dr.feelgood1989:
こんにちは

あなたがコードに直接すべての一度にデータをエクスポートする関数(m1、m5、m30、m15、h1、h4、d1 ...)明らかに別々のファイルに置くことができるかどうか方法は疑問に思う。現在、あなたはそれを何度も起動する必要があります...(各tmeframeのために)。

私は、データをエクスポートするための時間の大幅な節約を持っているでしょう。

あなたのコードでこの関数を挿入することができますか? アイデアは、この添付スクリプト(Period_converter_auto - MQL4コードベース)、1 volta.Siですべてのデータを変換する専門家で再生することができるに似ているかもしれませんか?

サンクス

dr.feelgood1989

これを使い、エクスポートしたいすべてのタイムフレームに添付するだけです。シンボル+"_"+タイムフレームという名前のファイルを、各タイムフレームごとに作ってくれます。これをテンプレートとして、カスタムインジケーターをエクスポートすることができます。

ファイル:
 

返信をありがとうございます.

実は私はすでにそうでした。私が投稿したスクリプト(参考例)は、すべてのタイムフレームのために一度仕事を取得します(変換)。

それは単一の時間のために使用されている場合、彼女の修正から専門家は、単一の時間枠(ファイルを区別するために) "を書き換える" 。

私は、単一の専門家を開始すると、他のすべての時間枠(例:ea1mはテスターで開始し、また、ファイルは他の時間枠m5、m15で書かれている...)書き直される場合疑問に思っていた。

ありがとうございます。)

 
mladen:
pgtipsです。

メインループはどのようなものですか(または、それを試みているコードを投稿してください)

PS: iOpen()とiClose()の最後のパラメータを、選択したバーの正しい日を指すように変更する必要があります。

こんにちは、ムラデンです。

私はこれでかなり行き詰まりましたので、同じことをする他の方法を試して見ました。

数日後、このインジケータを見つけましたが、私が必要とするものに近いですが、それは異なって作られています。

これは、(日足から)現在のろうそくを表示しますが、1日前に表示するために選択するiopen/close変数がない、すなわち、シフト-1

あなたは、私はこれが戻ってX日間のシフトを持っているかもしれない方法を教えてください。? 前日のバーが赤であれば、現在のボックスを赤にし、前が緑であれば、現在のボックスを緑にするように。

この上にブレイクアウトボックスのインジケータを重ねることはできますが、これが時間によって制限されることができれば、本当に良いでしょう。

お忙しい中、無償で時間を割いていただいていることは承知しておりますが、もしよろしければ、ご協力をお願いいたします。

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

PG

ファイル:
 

こんにちは。

まだ、コツコツとやっています。

添付ファイルの中で、私はピボットインジケータを使用して、前日の終値に基づいて一日あたりの色の変化、すなわち前日緑、当日赤を得ることができました。

さて、私は矩形を作成し、私が表示したい期間に基づいてそれを埋める必要があります午前11.00から午後17.00と言う時間、高値と安値は、その時間の間に判明したものである。

私は // を設定します。

ObjectCreate("Rectangle",OBJ_RECTANGLE, 0, Time[periodBegin], Low[1], Time[periodEnd], High[1]) と設定しました。

と表示されますが、エラーになり、全く何も表示されません。

extern int periodBegin = 11; /午前11時00分

extern int periodEnd = 17; // 17:00 pm

extern bool Plot_rectangles=true; を設定したので、各日について何かをプロットする「はず」なのです。

何が足りないのでしょうか?

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

PG

ファイル:
 

私の質問に対する答えはわかっているつもりですが、...まだ確認したいことがあります。

a. インジケータが上位のタイムフレームであること

b.は現在の時間 枠です。

をトレンドとして使いたいのですが、エントリーとして使うことはできますか?

 
mtuppers:
私は私の質問に対する答えを知っていると思うが、...まだ確認したい。

a. 上位タイムフレームの指標

b.は現在のタイムフレーム

私はエントリのようにベーストレンドB.を使用したいように、これは行うことができますか?

はい、できます。

timeFrameパラメータに上位のタイムフレームを指定してaを呼び出すだけです。マルチタイムフレームEAのバックテストの罠を避けるには、マルチタイムフレームインジケータのクローズドバー(0ではなく1)を使用します。そうしないと、バックテストでメタトレーダーが現在の タイムフレーム以外を呼び出すため、非現実的な良い結果を得ることになります。

 

こんにちは

この件に関してご教授願えれば幸いです。ウィンドウ2のインジのドット(矢印;水色と黄色)をウィンドウ1(メインチャートウィンドウ)のクローズ(買いシグナルの場合は高値、売りシグナルの 場合は安値)にドット(矢印)として表示させたいのです。何時間も試しましたが、私は決してコーダーにはなれません;-)

#プロパティ indicator_separate_window

#property indicator_minimum -100.0

#property indicator_maximum 100.0

#property indicator_levelcolor SlateGray (インジケーターレベルカラー スレートグレー)

#property indicator_levelstyle 1 (インジケーターレベルスタイル1)

#property indicator_buffers 8

#property indicator_color1 ライム

#property indicator_color2 レッド

#property indicator_color3 ブラック

#property indicator_color4 ブラック

#property indicator_color5 ブラック

#property indicator_color6 ブラック

#property indicator_color7 アクア

#property indicator_color8 イエロー

#property indicator_width1 1(プロパティ インジケータ幅1

#property indicator_level1 60.0

#property indicator_width2 1 (プロパティインジケータ幅2)

#property indicator_level2 50.0

#property indicator_level3 -50.0

#プロパティ indicator_level4 -60.0

extern int WavePeriod = 10;

extern int AvgPeriod = 21;

extern bool SoundAlert = FALSE;

extern bool EmailAlert = FALSE;

double g_ibuf_92[];

double g_ibuf_96[];

double g_ibuf_100[];

double g_ibuf_104[];

double g_ibuf_108[];

double g_ibuf_112[];

double g_ibuf_116[];

double g_ibuf_120[]です。

int gi_124 = -50;

int gi_128 = 50;

int gi_132;

int init() {

IndicatorShortName("TrendWave")。

SetIndexBuffer(0, g_ibuf_100).SetIndexLabel(0)を設定します。

SetIndexLabel(0, "ESA"); SetIndexStyle(0, "ESA");

SetIndexStyle(0, DRAW_NONE).SetIndexDrawBegin(0)。

SetIndexDrawBegin(0, 0).SetIndexBuffer(0)を設定します。

SetIndexBuffer(1, g_ibuf_112); SetIndexLabel(1, g_ibuf_112);

SetIndexLabel(1, "DD値"); SetIndexStyle(1, "DD値");

SetIndexStyle(1, DRAW_NONE)を設定します。

SetIndexDrawBegin(1, 0).SetIndexBuffer(1)を設定します。

SetIndexBuffer(2, g_ibuf_104); SetIndexLabel(2, g_ibuf_104);

SetIndexLabel(2, "DD");

SetIndexStyle(2, DRAW_NONE).SetIndexStyle(2,DRAW_NONE)を設定します。

SetIndexDrawBegin(2, 0).SetIndexBuffer(2)。

SetIndexBuffer(3, g_ibuf_108).SetIndexLabel(3)を設定します。

SetIndexLabel(3, "CI");

SetIndexStyle(3, DRAW_NONE).SetIndexStyle(3,DRAW_NONE)を設定します。

SetIndexDrawBegin(3, 0).SetIndexBuffer(3)を設定します。

SetIndexBuffer(4, g_ibuf_92).SetIndexLabel(4)を設定します。

SetIndexLabel(4, "Bull")を設定します。

SetIndexStyle(4, DRAW_LINE, STYLE_SOLID, 1, Lime)を設定します。

SetIndexDrawBegin(4, 0);

SetIndexBuffer(5, g_ibuf_96); SetIndexLabel(5, g_ibuf_96);

SetIndexLabel(5, "Bear")を設定します。

SetIndexStyle(5, DRAW_LINE, STYLE_SOLID, 1, 赤)を設定します。

SetIndexDrawBegin(5, 0).SetIndexBuffer(5)を設定します。

SetIndexBuffer(6, g_ibuf_116); SetIndexLabel(6, g_ibuf_116);

SetIndexLabel(6, "Buy Dot");

SetIndexStyle(6, DRAW_ARROW, STYLE_SOLID, 2, Aqua)を設定します。

SetIndexArrow(6, 108).SetIndexDrawBegin(6)。

SetIndexDrawBegin(6, 0).SetIndexBuffer(6)です。

SetIndexBuffer(7, g_ibuf_120).SetIndexLabel(7)。

SetIndexLabel(7, "Sell Dot")を設定します。

SetIndexStyle(7, DRAW_ARROW, STYLE_SOLID, 2, 黄色)を設定します。

SetIndexArrow(7, 108).SetIndexDrawBegin(7)。

SetIndexDrawBegin(7, 0);

ArrayResize(g_ibuf_100, Bars);

ArrayResize(g_ibuf_112, Bars)。

ArrayResize(g_ibuf_104, Bars)。

ArrayResize(g_ibuf_108, Bars)。

ArrayResize(g_ibuf_92, Bars)。

ArrayResize(g_ibuf_96, Bars)。

ArrayResize(g_ibuf_116, Bars)。

ArrayResize(g_ibuf_120, Bars)。

return (0);

}

int start() {

double l_ima_on_arr_0;

int li_12 = IndicatorCounted();

if (li_12 < 0) return (-1);

if (li_12 > 0) li_12--;

int li_8 = Bars - li_12;

for (int li_16 = li_8; li_16 > 0; li_16--) { { { g_ibuf_100[li_16][li_16])

g_ibuf_100[li_16] = iMA(NULL, 0, WavePeriod, 0, MODE_EMA, PRICE_TYPICAL, li_16);

ArraySetAsSeries(g_ibuf_100, TRUE);

}

for (li_16 = li_8; li_16 > 0; li_16--) { { { g_ibuf_112.0[1]; { { { g_ibuf_100, TRUE

g_ibuf_112[li_16] = MathAbs((iHigh(NULL, 0, li_16) + iClose(NULL, 0, li_16) + iLow(NULL, 0, li_16)) = MathAbs((iHigh(NULL, 0, li_16)))/ 3.0 - g_ibuf_100[li_16]);

ArraySetAsSeries(g_ibuf_112, TRUE);

for (li_16 = li_8; li_16 > 0; li_16--) { {

l_ima_on_arr_0 = iMAOnArray(g_ibuf_112, 0, WavePeriod, 0, MODE_EMA, li_16);

g_ibuf_104[li_16] = l_ima_on_arr_0;

ArraySetAsSeries(g_ibuf_104, TRUE);

for (li_16 = li_8; li_16 > 0; li_16--) { { { g_ibuf_104[li_16] = l_ima_on_arr_0

if (g_ibuf_104[li_16] > 0.0) g_ibuf_108[li_16] = ((iHigh(NULL, 0, li_16) + iClose(NULL, 0, li_16) + iLow(NULL, 0, li_16))/ 3.0 - g_ibuf_100[li_16])/ (0.015 * g_ibuf_104[li_16]) となります。

else g_ibuf_108[li_16] = 0;

ArraySetAsSeries(g_ibuf_108, TRUE);

for (li_16 = li_8; li_16 > 0; li_16--) { { { g_ibuf_108[li_16] = 0; g_ibuf_108[li_16] = 1

l_ima_on_arr_0 = iMAOnArray(g_ibuf_108, 0, AvgPeriod, 0, MODE_EMA, li_16);

g_ibuf_92[li_16] = l_ima_on_arr_0;

ArraySetAsSeries(g_ibuf_92, TRUE);

for (li_16 = li_8; li_16 > 0; li_16--) { { { { { li_ima_on_arr_0

l_ima_on_arr_0 = iMAOnArray(g_ibuf_92, 0, 4, 0, MODE_SMA, li_16);

g_ibuf_96[li_16] = l_ima_on_arr_0;

ArraySetAsSeries(g_ibuf_96, TRUE);

for (li_16 = li_8; li_16 > 0; li_16--) { { { g_ibuf_92

if (g_ibuf_92[li_16] >= g_ibuf_96[li_16] && g_ibuf_92[li_16 + 1] <= g_ibuf_96[li_16 + 1] && g_ibuf_92[li_16] < gi_124) { { { g_ibuf_96[li_16] >= g_ibuf_96[li_16] < gi_124

g_ibuf_116[li_16] = g_ibuf_92[li_16];

SendAlert("買い");

} else g_ibuf_116[li_16] = -1000;

if (g_ibuf_92[li_16] = g_ibuf_96[li_16 + 1] && g_ibuf_92[li_16] > gi_128) { { g_ibuf_120[li_16] = g_ibuf_96[li_16] && g_ibuf_96[li_16] > gi_128

g_ibuf_120[li_16] = g_ibuf_96[li_16];

SendAlert("sell")を送信します。

} else g_ibuf_120[li_16] = -1000;

}

return (0);

void SendAlert(string as_0) {

if (時間[0] != gi_132) {

if (サウンドアラート) {

if (as_0 == "買い") Alert(Symbol() + " => " + TimeToStr(TimeCurrent())+ " 買い");

if (as_0 == "sell") アラート(Symbol() + " => " + TimeToStr(TimeCurrent()) + " sell")+ " 売り");

}

if (メールアラート) {

if (as_0 == "買い") SendMail("TrendWave Alert", Symbol() + " => " + TimeToStr(TimeCurrent())+ " 買い");

if (as_0 == "sell") SendMail("TrendWave Alert", Symbol() + " => " + TimeToStr(TimeCurrent()) + " sell"); SendMail("TrendWave Alert", Symbol() + " => " + TimeCurrent() + " sell")+ " 売り");

}

gi_132 = Time[0];

}

}