[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 11 1...456789101112131415161718...631 新しいコメント ilunga 2012.03.23 07:46 #101 Fox_RM:そこでNewBar() 関数を使って新しいバーで注文を出そうとしました。このような目的で使用する場合?例えば if(NewBar())i++; のようなもの。 NewBarは気がつきませんでした、すみません。 次に、以下を変更します。新しいバーのみで取引を開始する場合は、毎ティックごとにインジケータ全体を計算する必要はありません。 そこで、取引開始の条件を確認する前にインジケータの計算を 全て移動させ、必要なだけのバー数をカウントします(間違いがなければ20本)。 そこで、戦略は次のようになります。 1) 新しいバー? いいえ - 徒歩 2) はい - 必要なものすべて(MA、インジケータ、その他条件に対するものすべて)を計算します。 3)コンディションの確認 - いいえ - 歩く 4) はい - 現在の価格(アスクまたはビッド)でオープンします。 Сергей 2012.03.23 07:52 #102 ilunga: NewBarは気がつかなかった、申し訳ない。 次に、以下を変更します。新しいバーで取引を開始するだけであれば、ティックごとにインジケータ全体をカウントする必要はありません。 そこで、取引開始の条件を確認する前にインジケータ全体の計算を移動させ、バーの本数ではなく、必要な本数(私の記憶に間違いがなければ20本)をカウントします。 そうです、20です。やり方は大体わかっています。Expert Advisor の 20 本のバーの計算と私の計算の違いについて教えてください。 エラーの本質を理解したいのです。 TarasBY 2012.03.23 07:53 #103 Fox_RM: 皆さん、ごきげんよう。Expert Advisor用のインジケーターのコードを書き換えて、トラッキングすることにしました。 私のインジケーターのコードを変更し、そのシグナルの動作を追跡することにしました。コンパイル時のエラーもなく、Strategy Testerでもエラーなく動作しています。使い方がわからない。 Z.U. 愚かなミスがたくさんあると思いますので、空砲を撃ってください。 例えばここで「何を踊っているのか」を整理するよりも、見たままコードを書き換える方が簡単です。 ArrayResize(MA1,Bars);ArrayResize(MA2,Bars); EAのインジケータに使われている関数がどうなるかは遭遇していない。 int counted_bars=IndicatorCounted(); しかし、「何でもいい」なら、自分が整理したループを。 for(i=0; i<=limit; i++) limit = Bars - counted_bars で、2回目のティックで0に等しい値を取り、その後コードによって値が割り当てられます...OPA - そして、これはプログラミングにおけるNEW WORLDです。 if(limit>0) limit=0; ...この条件をこのように書いてみて、もしストラテジー全体が壊れなければ if(limit<=0) limit=1; Alekseu Fedotov 2012.03.23 07:53 #104 Fox_RM:つまり、バーの再計算にこの条件を使用するのですか? しかし、私のインジケータでは、毎ティックごとにTP_UPと TP_DNの アレイが計算されます。したがって、最初に計算する必要があります。 ここでもOP_BUY==Ask、OP_SELL==Bidの始 値が表示されます。 そして、Close[i]がありますね。 ilunga 2012.03.23 07:56 #105 Fox_RM:そうです、20です。やり方は大体わかっています。Expert Advisor ONLYの20バーの計算と私の計算の違いについて教えてください。 エラーの本質を理解したいのです。 指標全体の計算 には、そのような誤りはありません。何が速いか考えてみてください。 1) 1ティックごとにBars(約10000本)をカウントする場合 2) 20小節を1分間に1回(あるいはそれ以上)数えること。 TarasBY 2012.03.23 07:58 #106 Fox_RM: 皆さん、ごきげんよう。Expert Advisor用のインジケーターのコードを書き換えて、トラッキングすることにしました。 私のインジケーターのコードを変更し、そのシグナルの動作を追跡することにしました。コンパイル時のエラーもなく、Strategy Testerでもエラーなく動作しています。使い方がわからない。 Z.I. 間違いやバカが多いと思うので、空砲を撃ってください。 NOT PRINCIPALですが、コードを簡略化するために、この構成にしました。 ArrayResize(TP_UP,20);ArrayResize(TP_DN,20); ArrayResize(TP_UPMin,20);ArrayResize(TP_DNPl,20); 次元を持つ単純な配列宣言に置き換えるべきでした。 double delta,price,old_price,col_bar,sum_tick,sum_pip,TP_UP[20],TP_DN[20],TP_UPMin[20],TP_DNPl[20]; TarasBY 2012.03.23 08:06 #107 Fox_RM: そうです、20です。やり方は大体わかっています。Expert Advisor ONLYで20本という計算と、私の計算の違いを教えてください。 エラーの本質を理解したいのです。 これらはPRINCIPAL{FUNDAMENTAL}なプログラミングの原則で、意味のないことはしないようにしましょう!:))) Vadim Zhunko 2012.03.23 08:06 #108 Fox_RM: そしてもう一つ、図書館の運営に関する質問です。ライブラリファイルを作成し、コンパイルして、すべてエラーなく進みました。その関数をインジケータコードにインポートしてコンパイルすると、すべてもOKです。インジケータを起動すると、インポートする関数が実行されない。インジケータコード、すべて動作します。以下は、ライブラリのコードです。 これは、インジケータコード内の呼び出しです。 //+------------------------------------------------------------------+ //| lib1.mq4 | //| Copyright © 2012, Fox.RM | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2012, Fox.RM" #property link "http://www.metaquotes.net" #property library //+------------------------------------------------------------------+ //| My function | //+------------------------------------------------------------------+ double Sredn(double & ArrSr[]) { double a=1,c,step=1/20; for (int i=0;i<=20;i++) {if (ArrSr[i]==0){a*=1;}else{a*=MathAbs(ArrSr[i]);}} c=MathPow(a, step); return(c); } //+------------------------------------------------------------------+ TarasBY 2012.03.23 08:23 #109 Zhunko: Vadimさん、こんなに小さく(&)を入れてしまって、直視できない!......!:))) 作者は(作者版では)この機能があるところでは実行され、別のところでは実行されなかったのはなぜだろう!?;) TarasBY 2012.03.23 08:28 #110 Fox_RM: そうです、20です。やり方は大体わかっています。Expert Advisor ONLYの20バーの計算と私の計算の違いについて教えてください。 エラーの本質を理解したいのです。 ところで、サイズ20のワーキングアレイを宣言していますね。 ArrayResize(TP_UP,20);ArrayResize(TP_DN,20); ArrayResize(TP_UPMin,20);ArrayResize(TP_DNPl,20); そして、あなたのライブラリは21の要素を計算します。 for (int i=0;i<=20;i++) 1からループを開始することが想定できます。 for (int i=1;i<=20;i++) 1...456789101112131415161718...631 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そこでNewBar() 関数を使って新しいバーで注文を出そうとしました。このような目的で使用する場合?
例えば if(NewBar())i++; のようなもの。
NewBarは気がつきませんでした、すみません。
次に、以下を変更します。新しいバーのみで取引を開始する場合は、毎ティックごとにインジケータ全体を計算する必要はありません。
そこで、取引開始の条件を確認する前にインジケータの計算を 全て移動させ、必要なだけのバー数をカウントします(間違いがなければ20本)。
そこで、戦略は次のようになります。
1) 新しいバー? いいえ - 徒歩
2) はい - 必要なものすべて(MA、インジケータ、その他条件に対するものすべて)を計算します。
3)コンディションの確認 - いいえ - 歩く
4) はい - 現在の価格(アスクまたはビッド)でオープンします。
NewBarは気がつかなかった、申し訳ない。
次に、以下を変更します。新しいバーで取引を開始するだけであれば、ティックごとにインジケータ全体をカウントする必要はありません。
そこで、取引開始の条件を確認する前にインジケータ全体の計算を移動させ、バーの本数ではなく、必要な本数(私の記憶に間違いがなければ20本)をカウントします。
そうです、20です。やり方は大体わかっています。Expert Advisor の 20 本のバーの計算と私の計算の違いについて教えてください。
エラーの本質を理解したいのです。
使い方がわからない。
Z.U. 愚かなミスがたくさんあると思いますので、空砲を撃ってください。
例えばここで「何を踊っているのか」を整理するよりも、見たままコードを書き換える方が簡単です。
EAのインジケータに使われている関数がどうなるかは遭遇していない。
しかし、「何でもいい」なら、自分が整理したループを。
limit = Bars - counted_bars で、2回目のティックで0に等しい値を取り、その後コードによって値が割り当てられます...OPA - そして、これはプログラミングにおけるNEW WORLDです。
...この条件をこのように書いてみて、もしストラテジー全体が壊れなければ
つまり、バーの再計算にこの条件を使用するのですか?
しかし、私のインジケータでは、毎ティックごとにTP_UPと TP_DNの アレイが計算されます。したがって、最初に計算する必要があります。
ここでもOP_BUY==Ask、OP_SELL==Bidの始 値が表示されます。
そして、Close[i]がありますね。
そうです、20です。やり方は大体わかっています。Expert Advisor ONLYの20バーの計算と私の計算の違いについて教えてください。
エラーの本質を理解したいのです。
指標全体の計算 には、そのような誤りはありません。何が速いか考えてみてください。
1) 1ティックごとにBars(約10000本)をカウントする場合
2) 20小節を1分間に1回(あるいはそれ以上)数えること。
使い方がわからない。
Z.I. 間違いやバカが多いと思うので、空砲を撃ってください。
NOT PRINCIPALですが、コードを簡略化するために、この構成にしました。
次元を持つ単純な配列宣言に置き換えるべきでした。
double delta,price,old_price,col_bar,sum_tick,sum_pip,TP_UP[20],TP_DN[20],TP_UPMin[20],TP_DNPl[20];
そうです、20です。やり方は大体わかっています。Expert Advisor ONLYで20本という計算と、私の計算の違いを教えてください。
エラーの本質を理解したいのです。
インジケータコード、すべて動作します。以下は、ライブラリのコードです。
これは、インジケータコード内の呼び出しです。
Vadimさん、こんなに小さく(&)を入れてしまって、直視できない!......!:)))
作者は(作者版では)この機能があるところでは実行され、別のところでは実行されなかったのはなぜだろう!?;)
そうです、20です。やり方は大体わかっています。Expert Advisor ONLYの20バーの計算と私の計算の違いについて教えてください。
エラーの本質を理解したいのです。
ところで、サイズ20のワーキングアレイを宣言していますね。
そして、あなたのライブラリは21の要素を計算します。
1からループを開始することが想定できます。