コーディングのヘルプ - ページ 100 1...93949596979899100101102103104105106107...786 新しいコメント Mladen Rakic 2013.06.20 14:06 #991 dasssi: mladenまず、あなたがこれ以上私に腹を立てないように願っています。 Eaをロードしようとするとエラーが発生します。 dasssi EAの名前を変えてみてください(名前にフランス語が含まれているため、問題を引き起こしている可能性があります。) 削除済み 2013.06.20 14:21 #992 ありがとうございます。 ストラテジーテスター 上ではうまくいきません Mladen Rakic 2013.06.20 14:24 #993 dasssi: ありがとうございます、これで動きます/ストラテジーテスターではよく見えません これは、シグナルが発生したときにEAからどのようにインジケータを呼び出すべきかの一例です。完全なEAとは程遠いものです(エリートとアドバンスセクションの新しいEAを見て、コードを比較してみてください - どういう意味かわかると思います)。というわけで、After-rageのコーディングの問題を解決するための手助けをしただけです。 削除済み 2013.06.20 14:28 #994 ありがとうございます。ポジションを入力するときにうまくいきます。なぜ私のEAが動作しないのか分かりませんが、それは問題ではありません。それで、クローズオーダーのコードを追加 しようとしたのですが、これもうまくいきません。不思議なのは、私はポジションを入力するための構造コードを取り、私はちょうどロットのボリュームを2倍にしています。見てもらえますか? ファイル: renome_1.04.mq4 2 kb Mladen Rakic 2013.06.20 15:19 #995 After-rage: ありがとうございます。これは、ポジションを入力するためにうまく動作します。なぜ私のEAが動作しなかったのか分かりませんが、それは問題ではありません。それで、注文を閉じるためのコードを追加しようとしたのですが、それもうまくいきません。不思議なのは、私はポジションを入力するための構造コードを取り、私はちょうどロットのボリュームを2倍にしています。見てもらえますか? アフターレイジ あなたがそれを行うことができる1つの方法(信号が変更されたときに開いている注文を閉じる)は、今のコードにある ファイル: renome_1.04_1.mq4 2 kb 削除済み 2013.06.20 15:29 #996 ありがとうございました。とてもうまくいきました。なぜ私が間違っていたのか、この問題に取り組んでみます。 AtApi 2013.06.21 22:45 #997 例えば、私は、ATRが変わるとCCIの期間も 変わるように、期間がATRと同じであるCCIを持ちたいと思っています。問題は、コードでインディを再インストールする方法が分からないことです。新しいバーが開かれたときにinit()を呼び出そうとしましたが、期間は正しく変わりましたが、インディケータは更新されません。最後のバーの値は正しいですが、インディ全体を新しい設定に再描画したいのです。 Mladen Rakic 2013.06.22 02:51 #998 AtApi: 例えば、私はATRが変わるとCCIの期間も変わるように、期間がATRと同じであるCCIを持ちたいのですが、新しいバーごとにインディケータを開始するようなものです。問題は、コードでインディを再インストールする方法が分からないことです。新しいバーが開かれたときにinit()を呼び出そうとしましたが、期間は正しく変わりましたが、インディケータは更新されません。最後のバーの値は正しいですが、インディ全体を新しい設定に再描画したいのです。 インディ値全体を再描画したい場合は、開始時のメインループのカウントをBars-1に設定し、新しい設定で値を計算するだけです。 AtApi 2013.06.22 14:27 #999 mladenさん、早速のご回答ありがとうございます。 この例をご覧ください。 extern int IndicatorPeriod = 10; extern int AtrPeriod= 10; extern bool DynamicPeriod = TRUE; int init() { if (DynamicPeriod) { double atr = NormalizeDouble(100*iATR(0,0,AtrPeriod,0),0); IndicatorPeriod = atr; } } int start() { datetime lastBarOpenTime; datetime thisBarOpenTime = Time[0]; if (DynamicPeriod) { if(thisBarOpenTime != lastBarOpenTime) { lastBarOpenTime = thisBarOpenTime; init(); } } int i,counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; // is this what you are talking about? int limit=MathMin(Bars-counted_bars,Bars-1); for(i=limit; i>=0; i--) //MAIN LOOP { wherever calculation } } Coding help マルチタイムフレーム・インディケーター コーディングの方法は? Mladen Rakic 2013.06.22 14:31 #1000 AtApi: mladenさんの迅速な回答ありがとうございました...この例をご覧ください。 extern int IndicatorPeriod = 10; extern int AtrPeriod= 10; extern bool DynamicPeriod = TRUE; int init() { if (DynamicPeriod) { double atr = NormalizeDouble(100*iATR(0,0,AtrPeriod,0),0); IndicatorPeriod = atr; } } int start() { datetime lastBarOpenTime; datetime thisBarOpenTime = Time[0]; if (DynamicPeriod) { if(thisBarOpenTime != lastBarOpenTime) { lastBarOpenTime = thisBarOpenTime; init(); } } int i,counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; // is this what you are talking about? int limit=MathMin(Bars-counted_bars,Bars-1); for(i=limit; i>=0; i--) //MAIN LOOP { wherever calculation } } AtApi もし、バッファに値を保存したいのであれば(そのバーの正確な時間ごとに1つの値)、はい、それは正しい方法です。しかし、もし全てのバーを「再描画」したいのであれば、linitを常にBars-1と等しくなるように設定してください。 1...93949596979899100101102103104105106107...786 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
mladen
まず、あなたがこれ以上私に腹を立てないように願っています。
Eaをロードしようとするとエラーが発生します。dasssi
EAの名前を変えてみてください(名前にフランス語が含まれているため、問題を引き起こしている可能性があります。)
ありがとうございます。
ストラテジーテスター 上ではうまくいきません
ありがとうございます、これで動きます/ストラテジーテスターではよく見えません
これは、シグナルが発生したときにEAからどのようにインジケータを呼び出すべきかの一例です。完全なEAとは程遠いものです(エリートとアドバンスセクションの新しいEAを見て、コードを比較してみてください - どういう意味かわかると思います)。というわけで、After-rageのコーディングの問題を解決するための手助けをしただけです。
ありがとうございます。ポジションを入力するときにうまくいきます。なぜ私のEAが動作しないのか分かりませんが、それは問題ではありません。それで、クローズオーダーのコードを追加 しようとしたのですが、これもうまくいきません。不思議なのは、私はポジションを入力するための構造コードを取り、私はちょうどロットのボリュームを2倍にしています。見てもらえますか?
ありがとうございます。これは、ポジションを入力するためにうまく動作します。なぜ私のEAが動作しなかったのか分かりませんが、それは問題ではありません。それで、注文を閉じるためのコードを追加しようとしたのですが、それもうまくいきません。不思議なのは、私はポジションを入力するための構造コードを取り、私はちょうどロットのボリュームを2倍にしています。見てもらえますか?
アフターレイジ
あなたがそれを行うことができる1つの方法(信号が変更されたときに開いている注文を閉じる)は、今のコードにある
ありがとうございました。とてもうまくいきました。なぜ私が間違っていたのか、この問題に取り組んでみます。
例えば、私は、ATRが変わるとCCIの期間も 変わるように、期間がATRと同じであるCCIを持ちたいと思っています。問題は、コードでインディを再インストールする方法が分からないことです。新しいバーが開かれたときにinit()を呼び出そうとしましたが、期間は正しく変わりましたが、インディケータは更新されません。最後のバーの値は正しいですが、インディ全体を新しい設定に再描画したいのです。
例えば、私はATRが変わるとCCIの期間も変わるように、期間がATRと同じであるCCIを持ちたいのですが、新しいバーごとにインディケータを開始するようなものです。問題は、コードでインディを再インストールする方法が分からないことです。新しいバーが開かれたときにinit()を呼び出そうとしましたが、期間は正しく変わりましたが、インディケータは更新されません。最後のバーの値は正しいですが、インディ全体を新しい設定に再描画したいのです。
インディ値全体を再描画したい場合は、開始時のメインループのカウントをBars-1に設定し、新しい設定で値を計算するだけです。
mladenさん、早速のご回答ありがとうございます。
この例をご覧ください。
extern int IndicatorPeriod = 10;
extern int AtrPeriod= 10;
extern bool DynamicPeriod = TRUE;
int init()
{
if (DynamicPeriod)
{
double atr = NormalizeDouble(100*iATR(0,0,AtrPeriod,0),0);
IndicatorPeriod = atr;
}
}
int start()
{
datetime lastBarOpenTime;
datetime thisBarOpenTime = Time[0];
if (DynamicPeriod)
{
if(thisBarOpenTime != lastBarOpenTime)
{
lastBarOpenTime = thisBarOpenTime;
init();
}
}
int i,counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
// is this what you are talking about?
int limit=MathMin(Bars-counted_bars,Bars-1);
for(i=limit; i>=0; i--) //MAIN LOOP
{
wherever calculation
}
}
mladenさんの迅速な回答ありがとうございました...
この例をご覧ください。
extern int IndicatorPeriod = 10;
extern int AtrPeriod= 10;
extern bool DynamicPeriod = TRUE;
int init()
{
if (DynamicPeriod)
{
double atr = NormalizeDouble(100*iATR(0,0,AtrPeriod,0),0);
IndicatorPeriod = atr;
}
}
int start()
{
datetime lastBarOpenTime;
datetime thisBarOpenTime = Time[0];
if (DynamicPeriod)
{
if(thisBarOpenTime != lastBarOpenTime)
{
lastBarOpenTime = thisBarOpenTime;
init();
}
}
int i,counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
// is this what you are talking about?
int limit=MathMin(Bars-counted_bars,Bars-1);
for(i=limit; i>=0; i--) //MAIN LOOP
{
wherever calculation
}
}
AtApi
もし、バッファに値を保存したいのであれば(そのバーの正確な時間ごとに1つの値)、はい、それは正しい方法です。しかし、もし全てのバーを「再描画」したいのであれば、linitを常にBars-1と等しくなるように設定してください。