コーディングの方法は? - ページ 317 1...310311312313314315316317318319320321322323324...347 新しいコメント dasio 2012.10.15 19:48 #3161 こんにちは。 このインジケータ/ツールをどのようにコード化できるか考えています。 日数で範囲を決めて(例:2012/10/12~2012/10/15、2012/10/15~2012/10/15)、TFに応じてチャートに表示されるローソクの始値、終値をcsvまたはexcelファイルに書き込むような、インジケータ、スクリプトまたはその種のものが必要です(例:1日だけ決めて1時間TFで添付するとその仕様で24本のローソクを書き込みます)。 よろしくお願いします。 Mastercash 2012.10.16 10:04 #3162 アラートシグナルの問題 このコードは、ストイキャスティクス、RSI、CCIの3つの指標を監視するものです。ストイキャスティクスがシグナルラインを上下にクロスし、期間70と6のRSIが互いに上下にクロスし、CCIがゼロより上か下なら、3指標全体がシグナルラインを上回った場合は買いシグナルが、3指標がシグナルラインを下回った場合は売りシグナルが出るはずなのです。......このコードは動作しますが、アラートがあるときはいつでも、それはろうそくの各ティックで自分自身を繰り返し続ける。このアラートは、現在のキャンドルで3つの条件が満たされた場合に一度だけ鳴り、再アラート音ではないようにするにはどうすればよいですか。 if(Period()==240){。 double ist_main=iStochastic(NULL,240,8,3,3,MODE_SMA,0,MODE_MAIN,0); double ist_signal=iStochastic(NULL,240,8,3,3,MODE_SMA,0,MODE_SIGNAL,0); double RSIP1=iRSI(NULL,240,14,PRICE_CLOSE,0)。 double RSIP2=iRSI(NULL,240,70,PRICE_CLOSE,0); double RSIP2=iRSI(NULL,240,70,PRICE_CLOSE,0); double b4enCCI=iCCI(NULL,240,6,PRICE_TYPICAL,1); double nowenCCI=iCCI(NULL,240,6,PRICE_TYPICAL,1); double nowenCCI=iCCI(NULL,240,6,PRICE_TYPICAL,0); double b4trCCI=iCCI(NULL,240,6,PRICE_TYPICAL,0); double b4trCCI=iCCI(NULL,240,14,PRICE_TYPICAL,1); double nowtrCCI=iCCI(NULL,240,14,PRICE_TYPICAL,1); double nowtrCCI=iCCI(NULL,240,14,PRICE_TYPICAL,0); double nowtrCCI=iCCI(NULL,240,14,PRICE_TYPICAL,0); // 警告 if((ist_main>ist_signal)&&(RSIP1>RSIP2)&&(nowenCCI>0&&nowenCCI>b4enCCI)&&(nowtrCCI>0&nowtrCCI>b4trCCI)){ (ist_signal)と同じです。 Alert("Buy Arrow","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol())).Alert("Buy Arrow","\n", "Current time is ",TimeToStr(CurTime())); } if((ist_main<ist_signal)&&(RSIP1<RSIP2)&&(nowenCCI<0&nowenCCI<b4enCCI)&&(nowtrCCI<0&nowtrCCI<b4trCCI)){ (ist_signal)と同じです。 Alert("Sell Arrow","\n", "Current time is ",TimeToStr(CurTime()),"\n",Symbol())).Alert("Sell Arrow","\n", "Current time is ",TimeToStr(CurTime())); } } How to code? Trade Assistant どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - poohguo 2012.10.16 10:32 #3163 mladen: プー例えば、GBPJPYは現在約126で、EURUSDはその約100倍です。これらの値を同じチャートに描くと、EURUSDの値は単に「絵から外れてしまう」のです。メタトレーダーはGBPJPYの値をチャートスケーリングの基準としているので。 このスレッドを見てみてください :https://www.mql5.com/en/forum/178052.そのスレッドでは、同様の問題に対するいくつかのソリューションが既にあります Mladenさん、ありがとうございます。あなたのリンクをたどって、私の必要性に合ったインジケータを見つけました。 pooh Mladen Rakic 2012.10.16 12:43 #3164 次のように試してみてください。 if(Period()==240) { static datetime lastAlerted=0; double ist_main=iStochastic(NULL,240,8,3,3,MODE_SMA,0,MODE_MAIN,0); double ist_signal=iStochastic(NULL,240,8,3,3,MODE_SMA,0,MODE_SIGNAL,0); double RSIP1=iRSI(NULL,240,14,PRICE_CLOSE,0); double RSIP2=iRSI(NULL,240,70,PRICE_CLOSE,0); double b4enCCI=iCCI(NULL,240,6,PRICE_TYPICAL,1); double nowenCCI=iCCI(NULL,240,6,PRICE_TYPICAL,0); double b4trCCI=iCCI(NULL,240,14,PRICE_TYPICAL,1); double nowtrCCI=iCCI(NULL,240,14,PRICE_TYPICAL,0); // alerts if((ist_main>ist_signal)&&(RSIP1>RSIP2)&&(nowenCCI >0&&nowenCCI>b4enCCI)&&(nowtrCCI>0&&nowtrCCI>b4trCCI)&&(lastAlerted!=Time[0])) { lastAlerted=Time[0]; Alert("Buy Arrow","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol()); } if((ist_main<ist_signal)&&(RSIP1<RSIP2)&&(nowenCCI <0&&nowenCCI<b4enCCI)&&(nowtrCCI<0&&nowtrCCI<b4trCCI)&&(lastAlerted!=Time[0])) { lastAlerted=Time[0]; Alert("Sell Arrow","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol()); } } Mastercash: このコードは、ストイキャスティクス、RSI、CCIの3つの指標を監視するものです。ストイキャスティクスがシグナルラインを上下に交差し、期間70と6のRSIが上下に交差し、CCIがゼロより上か下なら、3指標全体がシグナルラインを上回った場合は買いシグナル、下回った場合は売りシグナルになるはずなのですが...。......このコードは動作しますが、アラートがあるたびに、それはキャンドルの各ティックで自分自身を繰り返し続ける。このアラートは、3つの条件が現在のキャンドルに満たされている場合は一度だけ音としないようにするにはどうすればいいですか。if(周期()==240){。 double ist_main=iStochastic(NULL,240,8,3,3,MODE_SMA,0,MODE_MAIN,0).のようになります。 double ist_signal=iStochastic(NULL,240,8,3,3,MODE_SMA,0,MODE_SIGNAL,0); double RSIP1=iRSI(NULL,240,14,PRICE_CLOSE,0)。 double RSIP2=iRSI(NULL,240,70,PRICE_CLOSE,0); double RSIP2=iRSI(NULL,240,70,PRICE_CLOSE,0); double b4enCCI=iCCI(NULL,240,6,PRICE_TYPICAL,1); double nowenCCI=iCCI(NULL,240,6,PRICE_TYPICAL,1); double nowenCCI=iCCI(NULL,240,6,PRICE_TYPICAL,0); double b4trCCI=iCCI(NULL,240,6,PRICE_TYPICAL,0); double b4trCCI=iCCI(NULL,240,14,PRICE_TYPICAL,1); double nowtrCCI=iCCI(NULL,240,14,PRICE_TYPICAL,1); double nowtrCCI=iCCI(NULL,240,14,PRICE_TYPICAL,0); double nowtrCCI=iCCI(NULL,240,14,PRICE_TYPICAL,0); // 警告 if((ist_main>ist_signal)&&(RSIP1>RSIP2)&&(nowenCCI>0&&nowenCCI>b4enCCI)&&(nowtrCCI>0&nowtrCCI>b4trCCI)){ (ist_signalの場合) Alert("Buy Arrow","\n", "Current time is ",TimeToStr(CurTime()),"\n",Symbol())).Alert("Buy Arrow","\n", "Current time is ",TimeToStr(CurTime())); } if((ist_main<ist_signal)&&(RSIP1<RSIP2)&&(nowenCCI<0&nowenCCI<b4enCCI)&&(nowtrCCI<0&nowtrCCI<b4trCCI)){ (ist_signal)と同じです。 Alert("Sell Arrow","\n", "Current time is ",TimeToStr(CurTime()),"\n",Symbol())).Alert("Sell Arrow","\n", "Current time is ",TimeToStr(CurTime())); } } How to code? Trade Assistant どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - Mastercash 2012.10.17 10:21 #3165 アラートの問題 ありがとうございました。私はそれを試してみます。私は関数 LastAlert()のメモを取ることはありませんし、このすべての "トランシェラウス "mt4関数のディレクトリを取得する場所を私に知らせてください。 Mladen Rakic 2012.10.17 10:34 #3166 マスターキャッシュ 注意:これは関数ではなく、最後のアラートの時間(バータイム)を保存するために使用される静的変数で、同じバーで複数のアラートを防ぐためのものです。残念ながらメタトレーダーにはLastAlert()のような関数がないので、この例のような回避策を見つけなければならないのです。 Mastercash: 私は関数LastAlert()のメモを取ることはありませんし、このすべての "トランシェラウス "MT4関数のディレクトリを取得する場所を私に知らせることがありますありがとうございますmladen、私はそれを試してみます。 dasio 2012.10.17 14:32 #3167 mladenさん、こんにちは。 私は24の最後の時間の日のローソクに対してそれぞれ24の変数を割り当てる必要があります。 私はキャンドルでいくつかの計算を行う必要があり、結果はバッファに割り当てられます。 どのように私は前日の24時間のろうそくのそれぞれで動作するようにコードを書くことができますか? ありがとうございます Mladen Rakic 2012.10.17 15:40 #3168 ダシオ のようなものが使えます(このモードでは配列は使いません)。また、この例は現在の日についてです datetime startTime = iTime(NULL,PERIOD_D1,0); for (int i=iBarShift(NULL,PERIOD_H1,startTime); TimeDayOfYear(iTime(NULL,PERIOD_H1,i))==TimeDayOfYear(startTime); i--) { // // // processing the hourly data ... just an example here // // double close = iClose(NULL,PERIOD_H1,i); // double open = iOpen(NULL,PERIOD_H1,i); // and so on ... } dasio: こんにちはmladen。私は24の最後の時間の日のローソクのための24の変数をそれぞれ割り当てる必要があります。 私はローソク足でいくつかの計算を行う必要があり、その結果はバッファに割り当てられます。 どのように私は前日の24時間のろうそくのそれぞれで動作するようにコードを書くことができますか? ありがとうございます。 How to code? Useful tips for participants エリート指標 :) dasio 2012.10.17 16:36 #3169 mladen: ダシオ このようなものが使えます(このモードでは配列は使いません)。また、この例は現在の日についてです datetime startTime = iTime(NULL,PERIOD_D1,0); for (int i=iBarShift(NULL,PERIOD_H1,startTime); TimeDayOfYear(iTime(NULL,PERIOD_H1,i))==TimeDayOfYear(startTime); i--) { // // // processing the hourly data ... just an example here // // double close = iClose(NULL,PERIOD_H1,i); // double open = iOpen(NULL,PERIOD_H1,i); // and so on ... } mladenさん、ありがとうございます。 この例では double close =iClose(NULL,PERIOD_H1,i); //. double open = iOpen(NULL,PERIOD_H1,i); // どのローソク足がどのように表示されるか? どのキャンドルが表示され、どのように私は次のキャンドルに切り替えることができますi +1? ありがとうございました。 Mladen Rakic 2012.10.17 17:32 #3170 ダシオ すでに現在の日の全時間帯をループしています。iClose() とiOpen()は、1時間以外のタイムフレームからの呼び出しの例として配置しました。もし、現在とは異なる日にアクセスしたい場合は、datetime startTime=iTime(NULL,PERIOD_D1,0); の部分の "0" を、データを収集したい任意の日に置き換えてください。 dasio: mladenさんありがとうございます。この例ではdouble close = iClose(NULL,PERIOD_H1,i); // この例では、次のようになります。ダブルオープン = iOpen(NULL,PERIOD_H1,i); // (注:iOpen(NULL,PERIOD_H1,i)の場合。どのキャンドルが表示され、どのように私は次のキャンドルに切り替えることができますi + 1? ありがとうございます。 1...310311312313314315316317318319320321322323324...347 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは。
このインジケータ/ツールをどのようにコード化できるか考えています。
日数で範囲を決めて(例:2012/10/12~2012/10/15、2012/10/15~2012/10/15)、TFに応じてチャートに表示されるローソクの始値、終値をcsvまたはexcelファイルに書き込むような、インジケータ、スクリプトまたはその種のものが必要です(例:1日だけ決めて1時間TFで添付するとその仕様で24本のローソクを書き込みます)。
よろしくお願いします。
アラートシグナルの問題
このコードは、ストイキャスティクス、RSI、CCIの3つの指標を監視するものです。ストイキャスティクスがシグナルラインを上下にクロスし、期間70と6のRSIが互いに上下にクロスし、CCIがゼロより上か下なら、3指標全体がシグナルラインを上回った場合は買いシグナルが、3指標がシグナルラインを下回った場合は売りシグナルが出るはずなのです。......このコードは動作しますが、アラートがあるときはいつでも、それはろうそくの各ティックで自分自身を繰り返し続ける。このアラートは、現在のキャンドルで3つの条件が満たされた場合に一度だけ鳴り、再アラート音ではないようにするにはどうすればよいですか。
if(Period()==240){。
double ist_main=iStochastic(NULL,240,8,3,3,MODE_SMA,0,MODE_MAIN,0);
double ist_signal=iStochastic(NULL,240,8,3,3,MODE_SMA,0,MODE_SIGNAL,0);
double RSIP1=iRSI(NULL,240,14,PRICE_CLOSE,0)。
double RSIP2=iRSI(NULL,240,70,PRICE_CLOSE,0); double RSIP2=iRSI(NULL,240,70,PRICE_CLOSE,0);
double b4enCCI=iCCI(NULL,240,6,PRICE_TYPICAL,1); double nowenCCI=iCCI(NULL,240,6,PRICE_TYPICAL,1);
double nowenCCI=iCCI(NULL,240,6,PRICE_TYPICAL,0); double b4trCCI=iCCI(NULL,240,6,PRICE_TYPICAL,0);
double b4trCCI=iCCI(NULL,240,14,PRICE_TYPICAL,1); double nowtrCCI=iCCI(NULL,240,14,PRICE_TYPICAL,1);
double nowtrCCI=iCCI(NULL,240,14,PRICE_TYPICAL,0); double nowtrCCI=iCCI(NULL,240,14,PRICE_TYPICAL,0);
// 警告
if((ist_main>ist_signal)&&(RSIP1>RSIP2)&&(nowenCCI>0&&nowenCCI>b4enCCI)&&(nowtrCCI>0&nowtrCCI>b4trCCI)){ (ist_signal)と同じです。
Alert("Buy Arrow","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol())).Alert("Buy Arrow","\n", "Current time is ",TimeToStr(CurTime()));
}
if((ist_main<ist_signal)&&(RSIP1<RSIP2)&&(nowenCCI<0&nowenCCI<b4enCCI)&&(nowtrCCI<0&nowtrCCI<b4trCCI)){ (ist_signal)と同じです。
Alert("Sell Arrow","\n", "Current time is ",TimeToStr(CurTime()),"\n",Symbol())).Alert("Sell Arrow","\n", "Current time is ",TimeToStr(CurTime()));
}
}
プー
例えば、GBPJPYは現在約126で、EURUSDはその約100倍です。これらの値を同じチャートに描くと、EURUSDの値は単に「絵から外れてしまう」のです。メタトレーダーはGBPJPYの値をチャートスケーリングの基準としているので。
このスレッドを見てみてください :https://www.mql5.com/en/forum/178052.そのスレッドでは、同様の問題に対するいくつかのソリューションが既にありますMladenさん、ありがとうございます。あなたのリンクをたどって、私の必要性に合ったインジケータを見つけました。
pooh
次のように試してみてください。
{
static datetime lastAlerted=0;
double ist_main=iStochastic(NULL,240,8,3,3,MODE_SMA,0,MODE_MAIN,0);
double ist_signal=iStochastic(NULL,240,8,3,3,MODE_SMA,0,MODE_SIGNAL,0);
double RSIP1=iRSI(NULL,240,14,PRICE_CLOSE,0);
double RSIP2=iRSI(NULL,240,70,PRICE_CLOSE,0);
double b4enCCI=iCCI(NULL,240,6,PRICE_TYPICAL,1);
double nowenCCI=iCCI(NULL,240,6,PRICE_TYPICAL,0);
double b4trCCI=iCCI(NULL,240,14,PRICE_TYPICAL,1);
double nowtrCCI=iCCI(NULL,240,14,PRICE_TYPICAL,0);
// alerts
if((ist_main>ist_signal)&&(RSIP1>RSIP2)&&(nowenCCI >0&&nowenCCI>b4enCCI)&&(nowtrCCI>0&&nowtrCCI>b4trCCI)&&(lastAlerted!=Time[0]))
{
lastAlerted=Time[0]; Alert("Buy Arrow","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol());
}
if((ist_main<ist_signal)&&(RSIP1<RSIP2)&&(nowenCCI <0&&nowenCCI<b4enCCI)&&(nowtrCCI<0&&nowtrCCI<b4trCCI)&&(lastAlerted!=Time[0]))
{
lastAlerted=Time[0]; Alert("Sell Arrow","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol());
}
}このコードは、ストイキャスティクス、RSI、CCIの3つの指標を監視するものです。ストイキャスティクスがシグナルラインを上下に交差し、期間70と6のRSIが上下に交差し、CCIがゼロより上か下なら、3指標全体がシグナルラインを上回った場合は買いシグナル、下回った場合は売りシグナルになるはずなのですが...。......このコードは動作しますが、アラートがあるたびに、それはキャンドルの各ティックで自分自身を繰り返し続ける。このアラートは、3つの条件が現在のキャンドルに満たされている場合は一度だけ音としないようにするにはどうすればいいですか。
if(周期()==240){。
double ist_main=iStochastic(NULL,240,8,3,3,MODE_SMA,0,MODE_MAIN,0).のようになります。
double ist_signal=iStochastic(NULL,240,8,3,3,MODE_SMA,0,MODE_SIGNAL,0);
double RSIP1=iRSI(NULL,240,14,PRICE_CLOSE,0)。
double RSIP2=iRSI(NULL,240,70,PRICE_CLOSE,0); double RSIP2=iRSI(NULL,240,70,PRICE_CLOSE,0);
double b4enCCI=iCCI(NULL,240,6,PRICE_TYPICAL,1); double nowenCCI=iCCI(NULL,240,6,PRICE_TYPICAL,1);
double nowenCCI=iCCI(NULL,240,6,PRICE_TYPICAL,0); double b4trCCI=iCCI(NULL,240,6,PRICE_TYPICAL,0);
double b4trCCI=iCCI(NULL,240,14,PRICE_TYPICAL,1); double nowtrCCI=iCCI(NULL,240,14,PRICE_TYPICAL,1);
double nowtrCCI=iCCI(NULL,240,14,PRICE_TYPICAL,0); double nowtrCCI=iCCI(NULL,240,14,PRICE_TYPICAL,0);
// 警告
if((ist_main>ist_signal)&&(RSIP1>RSIP2)&&(nowenCCI>0&&nowenCCI>b4enCCI)&&(nowtrCCI>0&nowtrCCI>b4trCCI)){ (ist_signalの場合)
Alert("Buy Arrow","\n", "Current time is ",TimeToStr(CurTime()),"\n",Symbol())).Alert("Buy Arrow","\n", "Current time is ",TimeToStr(CurTime()));
}
if((ist_main<ist_signal)&&(RSIP1<RSIP2)&&(nowenCCI<0&nowenCCI<b4enCCI)&&(nowtrCCI<0&nowtrCCI<b4trCCI)){ (ist_signal)と同じです。
Alert("Sell Arrow","\n", "Current time is ",TimeToStr(CurTime()),"\n",Symbol())).Alert("Sell Arrow","\n", "Current time is ",TimeToStr(CurTime()));
}
}アラートの問題
ありがとうございました。私はそれを試してみます。私は関数 LastAlert()のメモを取ることはありませんし、このすべての "トランシェラウス "mt4関数のディレクトリを取得する場所を私に知らせてください。
マスターキャッシュ
注意:これは関数ではなく、最後のアラートの時間(バータイム)を保存するために使用される静的変数で、同じバーで複数のアラートを防ぐためのものです。残念ながらメタトレーダーにはLastAlert()のような関数がないので、この例のような回避策を見つけなければならないのです。
私は関数LastAlert()のメモを取ることはありませんし、このすべての "トランシェラウス "MT4関数のディレクトリを取得する場所を私に知らせることがありますありがとうございますmladen、私はそれを試してみます。
mladenさん、こんにちは。
私は24の最後の時間の日のローソクに対してそれぞれ24の変数を割り当てる必要があります。
私はキャンドルでいくつかの計算を行う必要があり、結果はバッファに割り当てられます。
どのように私は前日の24時間のろうそくのそれぞれで動作するようにコードを書くことができますか?
ありがとうございます
ダシオ
のようなものが使えます(このモードでは配列は使いません)。また、この例は現在の日についてです
for (int i=iBarShift(NULL,PERIOD_H1,startTime); TimeDayOfYear(iTime(NULL,PERIOD_H1,i))==TimeDayOfYear(startTime); i--)
{
//
//
// processing the hourly data ... just an example here
//
//
double close = iClose(NULL,PERIOD_H1,i); //
double open = iOpen(NULL,PERIOD_H1,i); // and so on ...
}
こんにちはmladen。
私は24の最後の時間の日のローソクのための24の変数をそれぞれ割り当てる必要があります。
私はローソク足でいくつかの計算を行う必要があり、その結果はバッファに割り当てられます。
どのように私は前日の24時間のろうそくのそれぞれで動作するようにコードを書くことができますか?
ありがとうございます。ダシオ
このようなものが使えます(このモードでは配列は使いません)。また、この例は現在の日についてです
for (int i=iBarShift(NULL,PERIOD_H1,startTime); TimeDayOfYear(iTime(NULL,PERIOD_H1,i))==TimeDayOfYear(startTime); i--)
{
//
//
// processing the hourly data ... just an example here
//
//
double close = iClose(NULL,PERIOD_H1,i); //
double open = iOpen(NULL,PERIOD_H1,i); // and so on ...
}
mladenさん、ありがとうございます。
この例では
double close =iClose(NULL,PERIOD_H1,i); //.
double open = iOpen(NULL,PERIOD_H1,i); // どのローソク足がどのように表示されるか?
どのキャンドルが表示され、どのように私は次のキャンドルに切り替えることができますi +1?
ありがとうございました。
ダシオ
すでに現在の日の全時間帯をループしています。iClose() とiOpen()は、1時間以外のタイムフレームからの呼び出しの例として配置しました。もし、現在とは異なる日にアクセスしたい場合は、datetime startTime=iTime(NULL,PERIOD_D1,0); の部分の "0" を、データを収集したい任意の日に置き換えてください。
mladenさんありがとうございます。
この例では
double close = iClose(NULL,PERIOD_H1,i); // この例では、次のようになります。
ダブルオープン = iOpen(NULL,PERIOD_H1,i); // (注:iOpen(NULL,PERIOD_H1,i)の場合。
どのキャンドルが表示され、どのように私は次のキャンドルに切り替えることができますi + 1?
ありがとうございます。