ブレインシステムズトレーディングシステムの開発とトレード - ページ 15 1...8910111213141516171819202122...68 新しいコメント Arta2015 2006.01.22 21:41 #141 jpsdyb: 私はバーエンドまで1分0秒に気づきました。この情報を表示するために何を使っているのですか? ありがとうございました。 これは、バークローズまでの残り時間を表示するインジケーターです。 ということです。 ファイル: b-clock_modified.mq4 2 kb jpsdyb 2006.01.23 08:50 #142 Kamyarさん、ありがとうございます。 また、BrainTrendSig2にenable alertを追加する方法をご存知の方はいらっしゃいますか? スクリプトを修正し、metaeditor compile test 0 errors and 0 warningsを試しました。しかし、それはまだ動作していない、私はなぜとして混乱しています。有効なアラートを1に変更することは分かっているのですが、インジケータ自体に問題があるようです。それは正しくロードされません。 ありがとうございます。 //+------------------------------------------------------------------+ //| BrainTrend2.mq4 | //| www.forex-tsd.com | //| Nick Bilak | //+------------------------------------------------------------------+ #property copyright "BrainTrading Inc." #property link "www.forex-tsd.com" #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Red //---- input parameters extern int NumBars=500; extern int EnableAlerts=0; extern int SignalID=0; //---- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; double spread; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_ARROW); SetIndexBuffer(0,ExtMapBuffer1); SetIndexArrow(0,233); SetIndexStyle(1,DRAW_ARROW); SetIndexBuffer(1,ExtMapBuffer2); SetIndexArrow(1,234); spread=MarketInfo(Symbol(),MODE_SPREAD)*Point; //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); //---- int artp=7; double dartp=7.0; double cecf=0.7; int satb=0; int Shift=0; bool river=True; double Emaxtra=0; double widcha=0; double TR=0; double Values[100]; int glava=0; double ATR=0; int J=0; double Weight=0; double r=0; double r1=0; int p=0; int Curr=0; double Range1=0; double s=2; double f=10; double val1=0; double val2=0; double h11=0; double h12=0; double h13=0; double const=0; double orig=0; double st=0; double h2=0; double h1=0; double h10=0; double sxs=0; double sms=0; double temp=0; double h5=0; double r1s=0; double r2s=0; double r3s=0; double r4s=0; double pt=0; double pts=0; double r2=0; double r3=0; double r4=0; double tt=0; double tsig=0; if( Bars < NumBars) satb = Bars; else satb = NumBars; if( Close[satb - 2] > Close[satb - 1]) river = True; else river = False; Emaxtra = Close[satb - 2]; Shift=satb-3; while(Shift>=0) { TR = spread+ High[Shift] - Low[Shift]; if( MathAbs(spread+ High[Shift] - Close[Shift + 1]) > TR ) TR = MathAbs(spread+ High[Shift] - Close[Shift + 1]); if( MathAbs(Low[Shift] - Close[Shift + 1]) > TR) TR = MathAbs(Low[Shift] - Close[Shift + 1]); if (Shift == satb - 3 ) { for(J=0;Shift<=artp-1;J++) { Values[J] = TR; } } Values[glava] = TR; ATR = 0; Weight = artp; Curr = glava; for (J = 0;J<=artp - 1;J++) { ATR += Values[Curr] * Weight; Weight -= 1.0; Curr--; if (Curr == -1) Curr = artp - 1; } ATR = 2.0 * ATR / (dartp * (dartp + 1.0)); glava++; if (glava == artp) glava = 0; widcha = cecf * ATR; if (river && Low[Shift] < Emaxtra - widcha) { river = False; Emaxtra = spread+ High[Shift]; } if (!river && spread+ High[Shift] > Emaxtra + widcha) { river = True; Emaxtra = Low[Shift]; } if (river && Low[Shift] > Emaxtra) { Emaxtra = Low[Shift]; } if (!river && spread+ High[Shift] < Emaxtra ) { Emaxtra = spread+ High[Shift]; } Range1 = iATR(NULL,0,10,Shift); val1 = 0; val2 = 0; if (river) { if (p != 1) r1 = Low[Shift] - Range1 * s / 3.0; if (p == 1) r1 = -1.0; if (r1 > 0) { val1 = r1; val2 = 0; } else { val1 = 0; val2 = 0; } ExtMapBuffer1[Shift]=val1; p = 1; } else { if (p != 2) r1 = spread+ High[Shift] + Range1 * s / 3.0; if (p == 2) r1 = -1.0; if (r1 > 0) { val1 = 0; val2 = r1; } else { val1 = 0; val2 = 0; } ExtMapBuffer2[Shift]=val2; p = 2; Shift--; } } if (EnableAlerts == 1) { if (val1 > 0 && tsig != 1) { tsig = 1; // a1 = FileOpen("alert1" + SignalID,";"); Alert("BrainTrend2Sig", "Sell " ,Symbol() ," at ", Close[0] , " S/L " , val1 , " BT1 M" ,Period()); //a1=FileOpen("alert1"+ SignalID,FILE_CSV|FILE_WRITE,';'); // FileWrite(a1,"Sell " ,Symbol() ," at ", Close[0] , " S/L " , val1 , " BT1 M" ,Period()); // FileClose(a1); } if (val2 > 0 && tsig != 2) { tsig = 2; Alert("BrainTrend2Sig", "Buy " , Symbol() , " at " ,Close[0] ," S/L " ,val2 ," BT1 M" , Period()); //a1 = FileOpen("alert1" + SignalID,";"); // a1=FileOpen("alert1"+ SignalID,FILE_CSV|FILE_WRITE,';'); // FileWrite(a1,"Buy " , Symbol() , " at " ,Close[0] ," S/L " ,val2 ," BT1 M" , Period()); //FileClose(a1); } } //---- return(0); } //+------------------------------------------------------------------+ BrainSystem: Trading System Development BrainTrend Alert After Candle コーディングの方法は? Sergey Golubev 2006.01.23 11:53 #143 このシステムには、アラーム、確認、その他(取引用ではない)すべてのEAを用意してほしいという希望がまだあります。この場合、このシステムを使った取引は非常に簡単になる。近いうちに実現すると思います。 しかし、今、私は、M15確認なしで、H1未満の時間枠でこのシステムを使用する方法を考えています。 今、私はM30のチャートを見て、それがうまくいくことを望んでいます。 とにかく明日からフォワードテストをしてみようと思います。しかし、この取引 戦略のルールをいくつか変更する必要があるような気がします。 ファイル: 1_23.gif 30 kb 2_16.gif 31 kb 3_6.gif 32 kb 4_4.gif 30 kb Sergey Golubev 2006.01.23 12:21 #144 評価したいインジケーターとテンプレートがあります。 M15またはM30のタイムフレームで取引するこのシステムのためのいくつかのルールを見つけることを期待しています。 ファイル: indicators.zip 16 kb bt7_m30.zip 4 kb Sergey Golubev 2006.01.23 19:17 #145 まあね。 どう動くか見てみたいだけ。 ルールその1。 BT1sigとBT2sigで入力する。特に同じバーであってはならない。そして、SARとI-XOインジケータで確認すること。I-XOの確認が取れるまで、シグナルが出た後1バー以上待つこともある。BT1sigとBT2sigは、シグナルと同じバーでSARによって確認される必要があります。例えば、BT1sigから買い シグナルが出た場合、SARを探します。もし、シグナルと同じバーでSARの上昇トレンドであれば、BT2sig(例)を待ちます。2つ目のシグナルはSARで確認する必要があります。もし、問題なければ、I-XOによる確認(最後のシグナルから1バー以内)を待ちます。これは最も難しいケースです。もちろん、すべて(同じバー上の2つのシグナルと2つの確認)があれば、完璧です。 私たちは、完全なバーだけを考慮しています。 最も難しいケースは、すでに説明したとおりで、画像1を見ていただければわかると思います。 出口は非常にシンプルなSARにあります(画像2)。 非常にシンプルで柔軟なルールです。 なぜ1号ルールなのか? なぜなら、最終的にこのルールになるかどうかわからないからです。皆さんから他のルールが提案されるかもしれませんし、私がこのルールを変更するかもしれません。 ファイル: 2_17.gif 28 kb 1_24.gif 28 kb Sergey Golubev 2006.01.23 19:38 #146 金曜日の朝からは、以下のようになるはずです。 EURUSD。 19:30 (20/01) に 1.2127 を買って、06:30 (23/01) に 1.2233 をエグジットする。+106 p. 10:30 (23/01)に1.2259を買って、1.2285を出る(まだ注文が残っている可能性がある)。+26 p. USDCHF 14:30 (20/01)に1.2820を売り、07:30 (23/01)に1.2666を決済する。+154 p. 10:30 (23/01)に1.2628を売って、1.2233をエグジットする(注文がまだ残っている可能性がある)。+54 p. GBPUSD 10:30 (01/20)に1.7583を買って、05:00 (01/23)に1.7794をエグジットする。+214 p. 08:30 (23/01)の売り1.7763と10:30 (23/01)の出口1.7798:-35 p. 10:30 (23/01)に1.7798を買って、1.7866を抜ける(まだ注文が残っている可能性がある)。+68 p. USDJPY. 16:30 (20/01) に 155.32 の買いと 00:00 (23/01) に 155.14 の売り:-18 p. 02:00 (23/01) の 114.79 を売り、10:00 (23/01) の 114.78 を決済する。+1 p. 10:30(23/01)に114.30を売り、16:00(23/01)に114.62をエグジット:- 32p. 合計538 pです。 このルール1番は柔軟すぎるのでは? かもしれません。 BrainSystem: Trading System Development Got the alerts, now _rdb_The Best Free EA Sergey Golubev 2006.01.23 19:50 #147 もし誰かが他のルール(もしあれば他の可能な指標も)を見積もってくれたらとてもうれしいです。しかし、私はそのルールは現実的なものであるべきだと思います。例えば、私は過去のデータで利益を計算しましたが(もちろんそれはフォワードテストであるべきなのでよくありません)、私は完全にルールに従ってロボット(例えばEA)としてそれを計算しました。ヒストリカルデータを使ったのは、それが機能することを確認するためです。 Arta2015 2006.01.23 20:56 #148 こんにちは、newdigitalです。 あなたの努力に感謝します。 1.ストキャスティックインジケーターは どのように使用されていますか? 2.最初にbt1シグナルを取得し、次にbt2シグナルを取得すべきでしょうか、それともどのような種類でもよいのでしょうか? 3.充填されたゾーンは正確に何ですか。私はあなたが私たちがzones.okで取引してはならないということだと思います? 感謝 Arta2015 2006.01.23 21:04 #149 BTシグナルは同じバーにあるべきでないとのことですが、私の知る限りでは、この場合取引すべきではないでしょうか。 jpsdyb 2006.01.24 00:49 #150 newdigital: 他のルール(もしあれば、他のインジケータを使ったルール)も試算してもらえるとうれしいです。しかし、そのルールは現実的なものであるべきだと思う。例えば、私は過去のデータで利益を計算しましたが(もちろんそれはフォワードテストであるべきなので、良いことではありません)、私はロボット(例えばEA)として完全にルールに従ってそれを計算しました。ヒストリカルデータを使ったのは、それが機能することを確認するためです。 現在、Braintrend2、Stochastics、LSMA-colorの2つの指標を使って、Eur/Usd 1HRで新しい戦略をテストしているところです。今のところ履歴のチャートを見てみると、かなり価値のある結果になっているようです。ルールはかなりシンプルに使えています。BraintrendSig2にアラートがあれば、もっと頻繁にテストができるのですが。今後もストラテジーの検証を続け、近日中に結果を掲載する予定です。 1...8910111213141516171819202122...68 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
私はバーエンドまで1分0秒に気づきました。
この情報を表示するために何を使っているのですか?
ありがとうございました。これは、バークローズまでの残り時間を表示するインジケーターです。
ということです。
Kamyarさん、ありがとうございます。
また、BrainTrendSig2にenable alertを追加する方法をご存知の方はいらっしゃいますか? スクリプトを修正し、metaeditor compile test 0 errors and 0 warningsを試しました。しかし、それはまだ動作していない、私はなぜとして混乱しています。有効なアラートを1に変更することは分かっているのですが、インジケータ自体に問題があるようです。それは正しくロードされません。
ありがとうございます。
//| BrainTrend2.mq4 |
//| www.forex-tsd.com |
//| Nick Bilak |
//+------------------------------------------------------------------+
#property copyright "BrainTrading Inc."
#property link "www.forex-tsd.com"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int NumBars=500;
extern int EnableAlerts=0;
extern int SignalID=0;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double spread;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_ARROW);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexArrow(0,233);
SetIndexStyle(1,DRAW_ARROW);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexArrow(1,234);
spread=MarketInfo(Symbol(),MODE_SPREAD)*Point;
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start() {
int counted_bars=IndicatorCounted();
//----
int artp=7;
double dartp=7.0;
double cecf=0.7;
int satb=0;
int Shift=0;
bool river=True;
double Emaxtra=0;
double widcha=0;
double TR=0;
double Values[100];
int glava=0;
double ATR=0;
int J=0;
double Weight=0;
double r=0;
double r1=0;
int p=0;
int Curr=0;
double Range1=0;
double s=2;
double f=10;
double val1=0;
double val2=0;
double h11=0;
double h12=0;
double h13=0;
double const=0;
double orig=0;
double st=0;
double h2=0;
double h1=0;
double h10=0;
double sxs=0;
double sms=0;
double temp=0;
double h5=0;
double r1s=0;
double r2s=0;
double r3s=0;
double r4s=0;
double pt=0;
double pts=0;
double r2=0;
double r3=0;
double r4=0;
double tt=0;
double tsig=0;
if( Bars < NumBars) satb = Bars; else satb = NumBars;
if( Close[satb - 2] > Close[satb - 1]) river = True; else river = False;
Emaxtra = Close[satb - 2];
Shift=satb-3;
while(Shift>=0) {
TR = spread+ High[Shift] - Low[Shift];
if( MathAbs(spread+ High[Shift] - Close[Shift + 1]) > TR ) TR = MathAbs(spread+ High[Shift] - Close[Shift + 1]);
if( MathAbs(Low[Shift] - Close[Shift + 1]) > TR) TR = MathAbs(Low[Shift] - Close[Shift + 1]);
if (Shift == satb - 3 ) {
for(J=0;Shift<=artp-1;J++) {
Values[J] = TR;
}
}
Values[glava] = TR;
ATR = 0;
Weight = artp;
Curr = glava;
for (J = 0;J<=artp - 1;J++) {
ATR += Values[Curr] * Weight;
Weight -= 1.0;
Curr--;
if (Curr == -1) Curr = artp - 1;
}
ATR = 2.0 * ATR / (dartp * (dartp + 1.0));
glava++;
if (glava == artp) glava = 0;
widcha = cecf * ATR;
if (river && Low[Shift] < Emaxtra - widcha) {
river = False;
Emaxtra = spread+ High[Shift];
}
if (!river && spread+ High[Shift] > Emaxtra + widcha) {
river = True;
Emaxtra = Low[Shift];
}
if (river && Low[Shift] > Emaxtra) {
Emaxtra = Low[Shift];
}
if (!river && spread+ High[Shift] < Emaxtra ) {
Emaxtra = spread+ High[Shift];
}
Range1 = iATR(NULL,0,10,Shift);
val1 = 0;
val2 = 0;
if (river) {
if (p != 1) r1 = Low[Shift] - Range1 * s / 3.0;
if (p == 1) r1 = -1.0;
if (r1 > 0) {
val1 = r1;
val2 = 0;
} else {
val1 = 0;
val2 = 0;
}
ExtMapBuffer1[Shift]=val1;
p = 1;
} else {
if (p != 2) r1 = spread+ High[Shift] + Range1 * s / 3.0;
if (p == 2) r1 = -1.0;
if (r1 > 0) {
val1 = 0;
val2 = r1;
} else {
val1 = 0;
val2 = 0;
}
ExtMapBuffer2[Shift]=val2;
p = 2;
Shift--;
}
}
if (EnableAlerts == 1)
{
if (val1 > 0 && tsig != 1)
{
tsig = 1;
// a1 = FileOpen("alert1" + SignalID,";");
Alert("BrainTrend2Sig", "Sell " ,Symbol() ," at ", Close[0] , " S/L " , val1 , " BT1 M" ,Period());
//a1=FileOpen("alert1"+ SignalID,FILE_CSV|FILE_WRITE,';');
// FileWrite(a1,"Sell " ,Symbol() ," at ", Close[0] , " S/L " , val1 , " BT1 M" ,Period());
// FileClose(a1);
}
if (val2 > 0 && tsig != 2)
{
tsig = 2;
Alert("BrainTrend2Sig", "Buy " , Symbol() , " at " ,Close[0] ," S/L " ,val2 ," BT1 M" , Period());
//a1 = FileOpen("alert1" + SignalID,";");
// a1=FileOpen("alert1"+ SignalID,FILE_CSV|FILE_WRITE,';');
// FileWrite(a1,"Buy " , Symbol() , " at " ,Close[0] ," S/L " ,val2 ," BT1 M" , Period());
//FileClose(a1);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+このシステムには、アラーム、確認、その他(取引用ではない)すべてのEAを用意してほしいという希望がまだあります。この場合、このシステムを使った取引は非常に簡単になる。近いうちに実現すると思います。
しかし、今、私は、M15確認なしで、H1未満の時間枠でこのシステムを使用する方法を考えています。
今、私はM30のチャートを見て、それがうまくいくことを望んでいます。
とにかく明日からフォワードテストをしてみようと思います。しかし、この取引 戦略のルールをいくつか変更する必要があるような気がします。
評価したいインジケーターとテンプレートがあります。
M15またはM30のタイムフレームで取引するこのシステムのためのいくつかのルールを見つけることを期待しています。
まあね。
どう動くか見てみたいだけ。
ルールその1。
BT1sigとBT2sigで入力する。特に同じバーであってはならない。そして、SARとI-XOインジケータで確認すること。I-XOの確認が取れるまで、シグナルが出た後1バー以上待つこともある。BT1sigとBT2sigは、シグナルと同じバーでSARによって確認される必要があります。例えば、BT1sigから買い シグナルが出た場合、SARを探します。もし、シグナルと同じバーでSARの上昇トレンドであれば、BT2sig(例)を待ちます。2つ目のシグナルはSARで確認する必要があります。もし、問題なければ、I-XOによる確認(最後のシグナルから1バー以内)を待ちます。これは最も難しいケースです。もちろん、すべて(同じバー上の2つのシグナルと2つの確認)があれば、完璧です。
私たちは、完全なバーだけを考慮しています。
最も難しいケースは、すでに説明したとおりで、画像1を見ていただければわかると思います。
出口は非常にシンプルなSARにあります(画像2)。
非常にシンプルで柔軟なルールです。
なぜ1号ルールなのか?
なぜなら、最終的にこのルールになるかどうかわからないからです。皆さんから他のルールが提案されるかもしれませんし、私がこのルールを変更するかもしれません。
金曜日の朝からは、以下のようになるはずです。
EURUSD。
19:30 (20/01) に 1.2127 を買って、06:30 (23/01) に 1.2233 をエグジットする。+106 p.
10:30 (23/01)に1.2259を買って、1.2285を出る(まだ注文が残っている可能性がある)。+26 p.
USDCHF
14:30 (20/01)に1.2820を売り、07:30 (23/01)に1.2666を決済する。+154 p.
10:30 (23/01)に1.2628を売って、1.2233をエグジットする(注文がまだ残っている可能性がある)。+54 p.
GBPUSD
10:30 (01/20)に1.7583を買って、05:00 (01/23)に1.7794をエグジットする。+214 p.
08:30 (23/01)の売り1.7763と10:30 (23/01)の出口1.7798:-35 p.
10:30 (23/01)に1.7798を買って、1.7866を抜ける(まだ注文が残っている可能性がある)。+68 p.
USDJPY.
16:30 (20/01) に 155.32 の買いと 00:00 (23/01) に 155.14 の売り:-18 p.
02:00 (23/01) の 114.79 を売り、10:00 (23/01) の 114.78 を決済する。+1 p.
10:30(23/01)に114.30を売り、16:00(23/01)に114.62をエグジット:- 32p.
合計538 pです。
このルール1番は柔軟すぎるのでは?
かもしれません。
もし誰かが他のルール(もしあれば他の可能な指標も)を見積もってくれたらとてもうれしいです。しかし、私はそのルールは現実的なものであるべきだと思います。例えば、私は過去のデータで利益を計算しましたが(もちろんそれはフォワードテストであるべきなのでよくありません)、私は完全にルールに従ってロボット(例えばEA)としてそれを計算しました。ヒストリカルデータを使ったのは、それが機能することを確認するためです。
こんにちは、newdigitalです。
あなたの努力に感謝します。
1.ストキャスティックインジケーターは どのように使用されていますか?
2.最初にbt1シグナルを取得し、次にbt2シグナルを取得すべきでしょうか、それともどのような種類でもよいのでしょうか?
3.充填されたゾーンは正確に何ですか。私はあなたが私たちがzones.okで取引してはならないということだと思います?
感謝
BTシグナルは同じバーにあるべきでないとのことですが、私の知る限りでは、この場合取引すべきではないでしょうか。
他のルール(もしあれば、他のインジケータを使ったルール)も試算してもらえるとうれしいです。しかし、そのルールは現実的なものであるべきだと思う。例えば、私は過去のデータで利益を計算しましたが(もちろんそれはフォワードテストであるべきなので、良いことではありません)、私はロボット(例えばEA)として完全にルールに従ってそれを計算しました。ヒストリカルデータを使ったのは、それが機能することを確認するためです。
現在、Braintrend2、Stochastics、LSMA-colorの2つの指標を使って、Eur/Usd 1HRで新しい戦略をテストしているところです。今のところ履歴のチャートを見てみると、かなり価値のある結果になっているようです。ルールはかなりシンプルに使えています。BraintrendSig2にアラートがあれば、もっと頻繁にテストができるのですが。今後もストラテジーの検証を続け、近日中に結果を掲載する予定です。