コーディングの方法は? - ページ 301 1...294295296297298299300301302303304305306307308...347 新しいコメント tkuan77 2012.07.15 07:16 #3001 Mladenさん、こんにちは。 説明ありがとうございます、しかし、最初のクローズドバーの値とはどういう意味ですか?最初のクローズドバーの値なのか、現在のバーなのか、それ以降なのか?また、current+0やcurrent+1の意味についてはどうでしょうか? よろしくお願いします。 テランス mladen: テランスMODE_MAINは、ストキャスティクスラインの値を読み込むという意味です。MODE_SIGNALはストキャスティックシグナルラインの値を読み込むということです。 SHIFTについては、どのインディケータでも(カスタムインディケータでも)同じです。例えば、SHIFT=0なら現在のバー、SHIFT=1なら最初のクローズドバーの値、といった具合にね。 Mladen Rakic 2012.07.15 07:33 #3002 ... テランス 現在のバーは、定義上、まだクローズドバーではありません。 現在のバーの前の最初のバーが、最初のクローズドバーです。 tkuan77: Mladenさん、こんにちは。説明ありがとうございます、しかし、最初のクローズドバーの値とはどういう意味ですか?最初のクローズドバーの値なのか、現在のバーの値なのか、それともそれ以降なのか?また、current+0やcurrent+1の意味はどうなのでしょうか? よろしくお願いします。 テランス tkuan77 2012.07.15 08:09 #3003 ムラデンさん、こんにちは。 ということでいいのでしょうか。 current+0は値0と同じです。 current+1は値1と同じです。 current+2は値2と同じです。 ということでよろしいでしょうか。 例 iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, Current + 1); は iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 1) と同じ意味です。 ということでいいのでしょうか? 回答 テランス mladen: Terrance現在のバーは、定義上、まだクローズドバーではありません。 現在のバーの前の最初のバーが、最初のクローズドバーです。 Mladen Rakic 2012.07.15 08:21 #3004 ... テランス iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,0); は現在です。 iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,1); は最初に閉じた(前の)ものです。 ... ... iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,Bars-1); はチャート上で一番古いものです。 PS: この投稿では、バーに関するより多くの情報を提供しています :https://www.mql5.com/en/forum/173124 tkuan77: こんにちは、Mladen。ということでいいのでしょうか。 current+0は、値0と同じです。 current+1は、値1と同じです。 current+2は値2と同じです。 といった具合に、SHIFTの場合は? 例 iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, Current + 1); は iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 1) と同じ意味合いです。 ということでいいのでしょうか? 回答 テランス tkuan77 2012.07.15 09:09 #3005 Mladenさん、こんにちは。 いつも素晴らしい助けをありがとうございます よろしくお願いします。 テランス mladen: テランスiStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,0); は、現在の iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,1); は最初に閉じた(前の)状態です。 ... ... iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,Bars-1); はチャート上で最も古いものです。 PS: この投稿で、バーに関するより多くの情報を得ることができます :https://www.mql5.com/en/forum/173124 削除済み 2012.07.15 09:52 #3006 いくつかの問題 皆さん、こんにちは。 私のコードをテストして、ほぼ完成しました。いくつか質問があるのですが、教えていただけないでしょうか? 私はこれをint init()に入れました。 if (Bars < D1FastMAPeriod || Bars < D1SlowMAPeriod) { Alert("ERROR- INSUFFICIENT BARS TO CALCULATE SMA ON DAILY CHART"); return(0); } SlowMAPeriodは200です。2009年1月1日からバックテスト すると、2008年から200SMAを計算するのに十分なバーがあることがチャート上ではっきりわかるにもかかわらず、このエラーが発生します。何か見落としているのでしょうか? 2.2. H4 チャートで取引していますが、日足のトレンドの方向にしか取引していません。以下のコードを使用して値を描画します。 SlowMACurrent = iMA(Symbol(), PERIOD_D1, D1SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1); FastMACurrent = iMA(Symbol(), PERIOD_D1, D1FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1) とします。 そして、ロングポジションを検索しているときに、使って参照しています。 if (FastMACurrent > SlowMACurrent && ... etc ... ) とします。 これは、私の取引を適切にフィルタリングしていないように見えるので、これは正しいのでしょうか? 3.3. H4チャートでトレンドフィルターを使い、価格が過去120期間の高値を超えた時(そして120期間の安値を超えたまま)だけロングポジションを取るようにしています。私はこのコードを使っています。 Donchian_Low = Low; Donchian_High = High; 静的ブールUpTrend = FALSE。 静的ブールDownTrend = FALSE。 if (Ask > Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}; if (Bid < Donchian_High) {UpTrend = FALSE; DownTrend = FALSE if (Bid < Donchian_Low) {UpTrend = FALSE; DownTrend = TRUE;}. それから、以下のようなコードを使っています(ロングポジションの場合と言っています)。 if (FastMACurrent > SlowMACurrent && UpTrend == TRUE && DownTrend == FALSE ... etc ... ). しかし、120ピリオドのドンチャンネルに対してバックテストしたチャートをチェックすると、結びつかないので、うまくいっていないようです。何かアイデアはありますか? よろしくお願いします。 How to code? Need help on CloseOrder What's wrong with my Mladen Rakic 2012.07.15 14:26 #3007 ... 1.start()関 数の最初に配置する。Barsのようなデータの場合、initは信頼性が低い 2.FastMACurrent > SlowMACurrentのとき、その条件は真になります。これはあなたが欲しかったものですか、それともクロスを探しているのでしょうか? 3.2.と関連しているのでしょう。この方法では可能性が多すぎるため、注文を入れることができる条件を「狭める」必要があります。 crsnape@btinternet.com: 皆さん、こんにちは。私のコードをテストしたところ、ほぼその通りになりました。いくつか質問があるのですが、ご教授願えれば幸いです。 私はこれをint init()に書きました。 if (Bars < D1FastMAPeriod || Bars < D1SlowMAPeriod) { Alert("ERROR- INSUFFICIENT BARS TO CALCULATE SMA ON DAILY CHART"); return(0); } SlowMAPeriodは200です。2009年1月1日からバックテストすると、2008年から200SMAを計算するのに十分なバーがあることがチャート上ではっきりわかるにもかかわらず、このエラーが発生します。何か見落としているのでしょうか? 2.2. H4 チャートで取引していますが、日足のトレンドの方向にしか取引していません。以下のコードを使用して値を描画します。 SlowMACurrent = iMA(Symbol(), PERIOD_D1, D1SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1); FastMACurrent = iMA(Symbol(), PERIOD_D1, D1FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1) とします。 そして、ロングポジションを検索しているときに、使って参照しています。 if (FastMACurrent > SlowMACurrent && ... etc ... ) とします。 これは、私の取引を適切にフィルタリングしていないように見えるので、これは正しいのでしょうか? 3.3. H4チャートでトレンドフィルターを使い、価格が過去120期間の高値を超えた時(そして120期間の安値を超えたまま)だけロングポジションを取るようにしています。私はこのコードを使っています。 Donchian_Low = Low; Donchian_High = High; 静的ブールUpTrend = FALSE。 静的ブールDownTrend = FALSE。 if (Ask > Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}; if (Bid < Donchian_High) {UpTrend = FALSE; DownTrend = FALSE if (Bid < Donchian_Low) {UpTrend = FALSE; DownTrend = TRUE;}. それから、以下のようなコードを使っています(ロングポジションの場合と言っています)。 if (FastMACurrent > SlowMACurrent && UpTrend == TRUE && DownTrend == FALSE ... etc ... ). しかし、120ピリオドのドンチャンネルに対してバックテストしたチャートをチェックすると、結びつかないので、うまくいっていないようです。何かアイデアはありますか? ありがとうございました。 削除済み 2012.07.15 14:47 #3008 mladenさん、こんにちは。 1.OKです。 2.はい、その通りです。私はクロスからエントリーしたくないのです。ただ、短期チャートでのロング/ショートフィルターとして使用しています。例えば、日足チャートで高速MAが低速MAの上にある場合、H4チャートでのロングポジションのみを考慮するようにしたいのです。それで、私はこれを正しくコード化したと思う? 3.3. 何を言っているのかわからないのですが、init start()の下に以下のように書いています。 静的なブールUpTrend = FALSE。 静的ブールDownTrendは= FALSE。 if (Ask > Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}; if (Bid < Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}. if (Bid < Donchian_Low) {UpTrend = FALSE; DownTrend = TRUE;}. 静的なbool変数を一番最初に置いてグローバルにした方がいいのでしょうか?これが原因なのでしょうか? How to code? [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 オジャラEA Mladen Rakic 2012.07.15 14:51 #3009 ... 3.Ask Donchian_Low(ほとんどの場合そうです) の場合はどうなるのでしょうか。静的変数は、それがもう有効でないにもかかわらず、まだ「古い」状態を示しています (それは状態を「継承」しており、そうすることで、もうそうでなくても、それが上または下であるという合図をしているのです)。それが問題の原因であるかどうか確認して ください。 crsnape@btinternet.com: mladenさん、こんにちは。 1.OKを押してください。2.はい、その通りです。私はクロスからエントリーしたいわけではなく、短期チャートでのロング/ショートフィルターとして使用しています。例えば、日足チャートで高速MAが低速MAの上にある場合、H4チャートでのロングポジションのみを考慮させたいのです。それで、私はこれを正しくコード化したと思う?3.3. 何を言っているのかわからないのですが、init start()の下に以下のように書いています。静的なブールUpTrend = FALSE。静的ブールDownTrendは= FALSE。if (Ask > Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}; if (Bid < Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}.if (Bid < Donchian_Low) {UpTrend = FALSE; DownTrend = TRUE;}. static bool 変数を一番最初に置いて、グローバルにした方がいいのでしょうか?これが原因なのでしょうか? 削除済み 2012.07.15 17:56 #3010 いいこと言うね。それについて調べてみます。 関数についての 質問ですが、関数の中で関数を呼び出すことは可能ですか?例:こんな関数があります。 文字列 GetWinLossPreviousShort (int LastOpenTicket, 文字列 WinLossPreviousShort) { もし(...等 その後、私はそれを呼び出します。 double GetLotsLong (int LowRisk, int HighRisk, double SLDistanceLong, string GetWinLossPreviousShort) 1...294295296297298299300301302303304305306307308...347 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
Mladenさん、こんにちは。
説明ありがとうございます、しかし、最初のクローズドバーの値とはどういう意味ですか?最初のクローズドバーの値なのか、現在のバーなのか、それ以降なのか?また、current+0やcurrent+1の意味についてはどうでしょうか?
よろしくお願いします。
テランス
テランス
MODE_MAINは、ストキャスティクスラインの値を読み込むという意味です。MODE_SIGNALはストキャスティックシグナルラインの値を読み込むということです。
SHIFTについては、どのインディケータでも(カスタムインディケータでも)同じです。例えば、SHIFT=0なら現在のバー、SHIFT=1なら最初のクローズドバーの値、といった具合にね。...
テランス
現在のバーは、定義上、まだクローズドバーではありません。
現在のバーの前の最初のバーが、最初のクローズドバーです。
Mladenさん、こんにちは。
説明ありがとうございます、しかし、最初のクローズドバーの値とはどういう意味ですか?最初のクローズドバーの値なのか、現在のバーの値なのか、それともそれ以降なのか?また、current+0やcurrent+1の意味はどうなのでしょうか?
よろしくお願いします。
テランスムラデンさん、こんにちは。
ということでいいのでしょうか。
current+0は値0と同じです。
current+1は値1と同じです。
current+2は値2と同じです。
ということでよろしいでしょうか。
例
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, Current + 1); は iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 1) と同じ意味です。
ということでいいのでしょうか?
回答
テランス
Terrance
現在のバーは、定義上、まだクローズドバーではありません。
現在のバーの前の最初のバーが、最初のクローズドバーです。...
テランス
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,0); は現在です。
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,1); は最初に閉じた(前の)ものです。
...
...
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,Bars-1); はチャート上で一番古いものです。
PS: この投稿では、バーに関するより多くの情報を提供しています :https://www.mql5.com/en/forum/173124
こんにちは、Mladen。
ということでいいのでしょうか。
current+0は、値0と同じです。
current+1は、値1と同じです。
current+2は値2と同じです。
といった具合に、SHIFTの場合は?
例
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, Current + 1); は iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 1) と同じ意味合いです。
ということでいいのでしょうか?
回答
テランスMladenさん、こんにちは。
いつも素晴らしい助けをありがとうございます
よろしくお願いします。
テランス
テランス
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,0); は、現在の
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,1); は最初に閉じた(前の)状態です。
...
...
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,Bars-1); はチャート上で最も古いものです。
PS: この投稿で、バーに関するより多くの情報を得ることができます :https://www.mql5.com/en/forum/173124いくつかの問題
皆さん、こんにちは。
私のコードをテストして、ほぼ完成しました。いくつか質問があるのですが、教えていただけないでしょうか?
私はこれをint init()に入れました。
if (Bars < D1FastMAPeriod || Bars < D1SlowMAPeriod)
{
Alert("ERROR- INSUFFICIENT BARS TO CALCULATE SMA ON DAILY CHART");
return(0);
}
SlowMAPeriodは200です。2009年1月1日からバックテスト すると、2008年から200SMAを計算するのに十分なバーがあることがチャート上ではっきりわかるにもかかわらず、このエラーが発生します。何か見落としているのでしょうか?
2.2. H4 チャートで取引していますが、日足のトレンドの方向にしか取引していません。以下のコードを使用して値を描画します。
SlowMACurrent = iMA(Symbol(), PERIOD_D1, D1SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
FastMACurrent = iMA(Symbol(), PERIOD_D1, D1FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1) とします。
そして、ロングポジションを検索しているときに、使って参照しています。
if (FastMACurrent > SlowMACurrent && ... etc ... ) とします。
これは、私の取引を適切にフィルタリングしていないように見えるので、これは正しいのでしょうか?
3.3. H4チャートでトレンドフィルターを使い、価格が過去120期間の高値を超えた時(そして120期間の安値を超えたまま)だけロングポジションを取るようにしています。私はこのコードを使っています。
Donchian_Low = Low;
Donchian_High = High;
静的ブールUpTrend = FALSE。
静的ブールDownTrend = FALSE。
if (Ask > Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}; if (Bid < Donchian_High) {UpTrend = FALSE; DownTrend = FALSE
if (Bid < Donchian_Low) {UpTrend = FALSE; DownTrend = TRUE;}.
それから、以下のようなコードを使っています(ロングポジションの場合と言っています)。
if (FastMACurrent > SlowMACurrent && UpTrend == TRUE && DownTrend == FALSE ... etc ... ).
しかし、120ピリオドのドンチャンネルに対してバックテストしたチャートをチェックすると、結びつかないので、うまくいっていないようです。何かアイデアはありますか?
よろしくお願いします。
...
1.start()関 数の最初に配置する。Barsのようなデータの場合、initは信頼性が低い
2.FastMACurrent > SlowMACurrentのとき、その条件は真になります。これはあなたが欲しかったものですか、それともクロスを探しているのでしょうか?
3.2.と関連しているのでしょう。この方法では可能性が多すぎるため、注文を入れることができる条件を「狭める」必要があります。
皆さん、こんにちは。
私のコードをテストしたところ、ほぼその通りになりました。いくつか質問があるのですが、ご教授願えれば幸いです。
私はこれをint init()に書きました。
if (Bars < D1FastMAPeriod || Bars < D1SlowMAPeriod)
{
Alert("ERROR- INSUFFICIENT BARS TO CALCULATE SMA ON DAILY CHART");
return(0);
}
SlowMAPeriodは200です。2009年1月1日からバックテストすると、2008年から200SMAを計算するのに十分なバーがあることがチャート上ではっきりわかるにもかかわらず、このエラーが発生します。何か見落としているのでしょうか?
2.2. H4 チャートで取引していますが、日足のトレンドの方向にしか取引していません。以下のコードを使用して値を描画します。
SlowMACurrent = iMA(Symbol(), PERIOD_D1, D1SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
FastMACurrent = iMA(Symbol(), PERIOD_D1, D1FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1) とします。
そして、ロングポジションを検索しているときに、使って参照しています。
if (FastMACurrent > SlowMACurrent && ... etc ... ) とします。
これは、私の取引を適切にフィルタリングしていないように見えるので、これは正しいのでしょうか?
3.3. H4チャートでトレンドフィルターを使い、価格が過去120期間の高値を超えた時(そして120期間の安値を超えたまま)だけロングポジションを取るようにしています。私はこのコードを使っています。
Donchian_Low = Low;
Donchian_High = High;
静的ブールUpTrend = FALSE。
静的ブールDownTrend = FALSE。
if (Ask > Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}; if (Bid < Donchian_High) {UpTrend = FALSE; DownTrend = FALSE
if (Bid < Donchian_Low) {UpTrend = FALSE; DownTrend = TRUE;}.
それから、以下のようなコードを使っています(ロングポジションの場合と言っています)。
if (FastMACurrent > SlowMACurrent && UpTrend == TRUE && DownTrend == FALSE ... etc ... ).
しかし、120ピリオドのドンチャンネルに対してバックテストしたチャートをチェックすると、結びつかないので、うまくいっていないようです。何かアイデアはありますか?
ありがとうございました。mladenさん、こんにちは。
1.OKです。
2.はい、その通りです。私はクロスからエントリーしたくないのです。ただ、短期チャートでのロング/ショートフィルターとして使用しています。例えば、日足チャートで高速MAが低速MAの上にある場合、H4チャートでのロングポジションのみを考慮するようにしたいのです。それで、私はこれを正しくコード化したと思う?
3.3. 何を言っているのかわからないのですが、init start()の下に以下のように書いています。
静的なブールUpTrend = FALSE。
静的ブールDownTrendは= FALSE。
if (Ask > Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}; if (Bid < Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}.
if (Bid < Donchian_Low) {UpTrend = FALSE; DownTrend = TRUE;}.
静的なbool変数を一番最初に置いてグローバルにした方がいいのでしょうか?これが原因なのでしょうか?
...
3.Ask Donchian_Low(ほとんどの場合そうです) の場合はどうなるのでしょうか。静的変数は、それがもう有効でないにもかかわらず、まだ「古い」状態を示しています (それは状態を「継承」しており、そうすることで、もうそうでなくても、それが上または下であるという合図をしているのです)。それが問題の原因であるかどうか確認して ください。
mladenさん、こんにちは。
1.OKを押してください。
2.はい、その通りです。私はクロスからエントリーしたいわけではなく、短期チャートでのロング/ショートフィルターとして使用しています。例えば、日足チャートで高速MAが低速MAの上にある場合、H4チャートでのロングポジションのみを考慮させたいのです。それで、私はこれを正しくコード化したと思う?
3.3. 何を言っているのかわからないのですが、init start()の下に以下のように書いています。
静的なブールUpTrend = FALSE。
静的ブールDownTrendは= FALSE。
if (Ask > Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}; if (Bid < Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}.
if (Bid < Donchian_Low) {UpTrend = FALSE; DownTrend = TRUE;}.
static bool 変数を一番最初に置いて、グローバルにした方がいいのでしょうか?これが原因なのでしょうか?いいこと言うね。それについて調べてみます。
関数についての 質問ですが、関数の中で関数を呼び出すことは可能ですか?例:こんな関数があります。
文字列 GetWinLossPreviousShort (int LastOpenTicket, 文字列 WinLossPreviousShort)
{
もし(...等
その後、私はそれを呼び出します。
double GetLotsLong (int LowRisk, int HighRisk, double SLDistanceLong, string GetWinLossPreviousShort)