どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 11 1...456789101112131415161718...1178 新しいコメント gyfto 2013.06.22 16:57 #101 AndEv: こんにちは。座標(x1,y1)と(x2,y2)の2点が存在する。この2点を使って、自然対数以外の対数基底を持つ対数関数を構成するにはどうしたらよいでしょうか?逆関数()を使う必要があるようですが、対角線にする方法がわかりません。この問題に直面したことのある方がいらっしゃいましたら、アドバイスをお願いします。事前に感謝しています。 簡単、対数の底で割ればいいのです。つまり、次数2の対数xが欲しければ、対数xを対数2で割れば、次数2の対数xが 得られるのである。 [Deleted] 2013.06.22 17:18 #102 gyfto: 簡単、対数の底で割ればいいのです。つまり、次数2の対数xが欲しければ、対数xを対数2で割れば、次数2の対数xが 得られるのである。 よくわからないんです。私が言いたかったのは、MT4の常用対数関数は数値の自然対数しか 計算しないということです。MT4には、他に対数関数がありません。逆関数、つまりMathPowを使うこともできますが、対角線にミラーリングする必要があります。これ以上、簡単な方法はないと思うんです。 Viktar Dzemikhau 2013.06.22 17:20 #103 Fox_RM: 市場価格でないとはどういう意味ですか?SELLLIMITとBUYLIMITでは、すべてが正しくなります。 編集エリアに行って、保留中の注文とは 何かを読めば...すべての疑問は解消されるでしょう。 Сергей 2013.06.22 17:25 #104 hoz: 編集で、保留中の注文が何なのか読んでみてください...そうすれば、すべての疑問が解消されるでしょう。売り指 値は上限のボーダーから売り、買い指値は下限のボーダーから買います。すべて保留で正解、そんなの関係ない。 Рустам 2013.06.22 17:40 #105 コード内の注文は全て成行注文です gyfto 2013.06.22 18:14 #106 AndEv: よくわからないんです。私が言いたかったのは、MT4の通常の対数関数は、数値の自然対数しか計算しないということです。MT4には、他に対数関数がありません。逆関数、つまりMathPowを使うこともできますが、対角線にミラーリングする必要があります。これ以上、簡単な方法はないと思います。 。 これのこと?べき乗関数の逆関数は、同じ基数の対数関数である。目的の基底a 上の対数関数を得るには、MathLog(x)をMathLog(a)で割る必要があります。 [Deleted] 2013.06.22 18:39 #107 gyfto: これのこと?べき乗関数の逆関数は、同じ基数の対数関数である。目的の基底a の対数関数を得るには、MathLog(x) を MathLog(a) で割ればよい。 はい、今わかりました、ありがとうございます。 削除済み 2013.06.22 19:47 #108 hoz: だいたいこんな感じです。 何か、間違っているような...。こんな感じでしたね。int start() { int i, Counted_bars; //-------------------------------------------------------------------- CurrentPoint1 = 0; CurrentPoint2 = 0; kVol1=MarketInfo(Symbol_1, MODE_TICKVALUE)/MarketInfo(Symbol_1, MODE_TICKSIZE); kVol2=MarketInfo(Symbol_2, MODE_TICKVALUE)/MarketInfo(Symbol_2, MODE_TICKSIZE); Counted_bars=IndicatorCounted(); i=Bars-Counted_bars-1; while(i>=0) { Symbol1_Buf[i] = MACD (Symbol_1, iBarShift(Symbol_1, 0, Time[i], FALSE)); if(Revers) Symbol2_Buf[i] = -1*MACD (Symbol_2, iBarShift(Symbol_2, 0, Time[i], FALSE)); else Symbol2_Buf[i] = MACD (Symbol_2, iBarShift(Symbol_2, 0, Time[i], FALSE)); if((Symbol1_Buf[i+1]>Symbol2_Buf[i+1] && Symbol1_Buf[i+2]<=Symbol2_Buf[i+2]) || (Symbol1_Buf[i+1]<Symbol2_Buf[i+1] && Symbol1_Buf[i+2]>=Symbol2_Buf[i+2])) { CurrentPoint1 = 0; CurrentPoint2 = 0; ZeroClose1 = iClose(Symbol_1,Period(),iBarShift(Symbol_1,0,Time[i+1])); ZeroClose2 = iClose(Symbol_2,Period(),iBarShift(Symbol_2,0,Time[i+1])); } CurrentPoint1 = iClose(Symbol_1,Period(),iBarShift(Symbol_1,0,Time[i])) - ZeroClose1; if(Revers) CurrentPoint2 = -1*(iClose(Symbol_2,Period(),iBarShift(Symbol_2,0,Time[i])) - ZeroClose2); else CurrentPoint2 = iClose(Symbol_2,Period(),iBarShift(Symbol_2,0,Time[i])) - ZeroClose2; Spread_Buf[i] = (CurrentPoint1 / MarketInfo(Symbol_1, MODE_POINT) - CurrentPoint2 / MarketInfo(Symbol_2, MODE_POINT)); Buf_Up[i] = Spread_Buf[i]; Buf_Dw[i] = Spread_Buf[i]; if(Spread_Buf[i] < Spread_Buf[i+1]) Buf_Up[i] = EMPTY_VALUE; if(Spread_Buf[i] > Spread_Buf[i+1]) Buf_Dw[i] = EMPTY_VALUE; i--; }こんな感じでした。int start() { int i, countedBars = IndicatorCounted(); for(i = Bars - countedBars;i > 0;i--) //-------------------------------------------------------------------- CurrentPoint1 = 0; CurrentPoint2 = 0; kVol1=MarketInfo(Symbol_1, MODE_TICKVALUE)/MarketInfo(Symbol_1, MODE_TICKSIZE); kVol2=MarketInfo(Symbol_2, MODE_TICKVALUE)/MarketInfo(Symbol_2, MODE_TICKSIZE); while(i>=0) { Symbol1_Buf[i] = MACD (Symbol_1, iBarShift(Symbol_1, 0, Time[i], FALSE)); if(Revers) Symbol2_Buf[i] = -1*MACD (Symbol_2, iBarShift(Symbol_2, 0, Time[i], FALSE)); else Symbol2_Buf[i] = MACD (Symbol_2, iBarShift(Symbol_2, 0, Time[i], FALSE)); if((Symbol1_Buf[i+1]>Symbol2_Buf[i+1] && Symbol1_Buf[i+2]<=Symbol2_Buf[i+2]) || (Symbol1_Buf[i+1]<Symbol2_Buf[i+1] && Symbol1_Buf[i+2]>=Symbol2_Buf[i+2])) { CurrentPoint1 = 0; CurrentPoint2 = 0; ZeroClose1 = iClose(Symbol_1,Period(),iBarShift(Symbol_1,0,Time[i+1])); ZeroClose2 = iClose(Symbol_2,Period(),iBarShift(Symbol_2,0,Time[i+1])); } CurrentPoint1 = iClose(Symbol_1,Period(),iBarShift(Symbol_1,0,Time[i])) - ZeroClose1; if(Revers) CurrentPoint2 = -1*(iClose(Symbol_2,Period(),iBarShift(Symbol_2,0,Time[i])) - ZeroClose2); else CurrentPoint2 = iClose(Symbol_2,Period(),iBarShift(Symbol_2,0,Time[i])) - ZeroClose2; Spread_Buf[i] = (CurrentPoint1 / MarketInfo(Symbol_1, MODE_POINT) - CurrentPoint2 / MarketInfo(Symbol_2, MODE_POINT)); Buf_Up[i] = Spread_Buf[i]; Buf_Dw[i] = Spread_Buf[i]; if(Spread_Buf[i] < Spread_Buf[i+1]) Buf_Up[i] = EMPTY_VALUE; if(Spread_Buf[i] > Spread_Buf[i+1]) Buf_Dw[i] = EMPTY_VALUE; i--; }コンパイル後、エラーは出ませんが、インジケータには長いバーが1本だけ表示されます。 Viktar Dzemikhau 2013.06.22 21:21 #109 Krokus: コンパイル後、エラーはありませんが、インジケータには長いバーが1本だけ表示されます。 私はあなたのインジケータのロジックを理解する時間がありませんが、私は正しくループを設定する方法を書きました。ちなみに、コードを簡略化して読みやすくするのも有効です。この場合、分析がしやすいと思います。これがエラーの原因であることが多い。読みやすいコード、よく考えられた変数名であればあるほどよい。 削除済み 2013.06.22 21:27 #110 hoz: さて、まだあなたのインジケータのロジックを調べる時間がないのですが、ループを正しく設定する方法を書きました。ところで、コードを簡略化して読みやすくしても損はないでしょう。そうすれば、分析もしやすくなりますしね。これがエラーの原因であることが多い。コードは読みやすいほうがいいし、変数の名前もいいほうがいい。 調べてみます。ありがとうございます。 1...456789101112131415161718...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは。座標(x1,y1)と(x2,y2)の2点が存在する。この2点を使って、自然対数以外の対数基底を持つ対数関数を構成するにはどうしたらよいでしょうか?逆関数()を使う必要があるようですが、対角線にする方法がわかりません。この問題に直面したことのある方がいらっしゃいましたら、アドバイスをお願いします。事前に感謝しています。
簡単、対数の底で割ればいいのです。つまり、次数2の対数xが欲しければ、対数xを対数2で割れば、次数2の対数xが 得られるのである。
簡単、対数の底で割ればいいのです。つまり、次数2の対数xが欲しければ、対数xを対数2で割れば、次数2の対数xが 得られるのである。
市場価格でないとはどういう意味ですか?SELLLIMITとBUYLIMITでは、すべてが正しくなります。
編集エリアに行って、保留中の注文とは 何かを読めば...すべての疑問は解消されるでしょう。
編集で、保留中の注文が何なのか読んでみてください...そうすれば、すべての疑問が解消されるでしょう。
売り指 値は上限のボーダーから売り、買い指値は下限のボーダーから買います。すべて
保留で正解、そんなの関係ない。
よくわからないんです。私が言いたかったのは、MT4の通常の対数関数は、数値の自然対数しか計算しないということです。MT4には、他に対数関数がありません。逆関数、つまりMathPowを使うこともできますが、対角線にミラーリングする必要があります。これ以上、簡単な方法はないと思います。 。
これのこと?
べき乗関数の逆関数は、同じ基数の対数関数である。目的の基底a 上の対数関数を得るには、MathLog(x)をMathLog(a)で割る必要があります。
これのこと?
べき乗関数の逆関数は、同じ基数の対数関数である。目的の基底a の対数関数を得るには、MathLog(x) を MathLog(a) で割ればよい。
だいたいこんな感じです。
何か、間違っているような...。
こんな感じでしたね。
こんな感じでした。
コンパイル後、エラーは出ませんが、インジケータには長いバーが1本だけ表示されます。
コンパイル後、エラーはありませんが、インジケータには長いバーが1本だけ表示されます。
私はあなたのインジケータのロジックを理解する時間がありませんが、私は正しくループを設定する方法を書きました。
ちなみに、コードを簡略化して読みやすくするのも有効です。この場合、分析がしやすいと思います。これがエラーの原因であることが多い。読みやすいコード、よく考えられた変数名であればあるほどよい。
さて、まだあなたのインジケータのロジックを調べる時間がないのですが、ループを正しく設定する方法を書きました。
ところで、コードを簡略化して読みやすくしても損はないでしょう。そうすれば、分析もしやすくなりますしね。これがエラーの原因であることが多い。コードは読みやすいほうがいいし、変数の名前もいいほうがいい。
調べてみます。ありがとうございます。