[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 143

 
todem:

セレクトオーダーと何か関係があるのでしょうか?

インジケータからデータを取得し、注文はここでは関係ない


OrderSymbol() を使用します -- 現在選択されている注文の金融商品名を返します。注文は、
OrderSelect()関数で 事前に選択されている必要があります。

以下は、あなたのコードです。

double CC1=0,CC2=0;
  if(OrderSymbol()=="EURUSD"){ CC1 = iCustom("EURUSD",60,"CC2",3,6,0,1); CC2 = iCustom("EURUSD",60,"CC2",3,6,1,1); }
  if(OrderSymbol()=="GBPUSD"){ CC1 = iCustom("GBPUSD",60,"CC2",3,6,0,1); CC2 = iCustom("GBPUSD",60,"CC2",3,6,2,1); }
  if(OrderSymbol()=="USDCHF"){ CC1 = iCustom("USDCHF",60,"CC2",3,6,0,1); CC2 = iCustom("USDCHF",60,"CC2",3,6,3,1); }
  if(OrderSymbol()=="USDJPY"){ CC1 = iCustom("USDJPY",60,"CC2",3,6,0,1); CC2 = iCustom("USDJPY",60,"CC2",3,6,4,1); }
  if(OrderSymbol()=="USDCAD"){ CC1 = iCustom("USDCAD",60,"CC2",3,6,0,1); CC2 = iCustom("USDCAD",60,"CC2",3,6,5,1); }
  if(OrderSymbol()=="AUDUSD"){ CC1 = iCustom("AUDUSD",60,"CC2",3,6,0,1); CC2 = iCustom("AUDUSD",60,"CC2",3,6,6,1); }
  if(OrderSymbol()=="NZDUSD"){ CC1 = iCustom("NZDUSD",60,"CC2",3,6,0,1); CC2 = iCustom("NZDUSD",60,"CC2",3,6,7,1); }
  if(OrderSymbol()=="EURGBP"){ CC1 = iCustom("EURGBP",60,"CC2",3,6,1,1); CC2 = iCustom("EURGBP",60,"CC2",3,6,2,1); }
  if(OrderSymbol()=="EURCHF"){ CC1 = iCustom("EURCHF",60,"CC2",3,6,1,1); CC2 = iCustom("EURCHF",60,"CC2",3,6,3,1); }
  if(OrderSymbol()=="EURJPY"){ CC1 = iCustom("EURJPY",60,"CC2",3,6,1,1); CC2 = iCustom("EURJPY",60,"CC2",3,6,4,1); }
ここで,CC1,CC2には,選択されたオーダーの機器に対応する値が入力されます。

コード全体を教えていただければ、推測ではなく、何が問題なのかを明確にすることができます。

 
100yan:

double MA13=iMA(NULL,......etc)
つまり、まずマスクの値、つまり何らかの数値を計算し、それがどのような周期で計算されたものかを調べたいのですね。いいえ、そのようなことはありません))
 
eddy:
MainBuffer[i] が100を超えるのはなぜですか? どこがエラーなのですか?
MathMax とMathMin は極値そのものではなく、小節番号を返す
 
abolk:


OrderSymbol() -- 現在選択されている注文の金融商品の名称を返します。注文は、OrderSelect()であらかじめ選択されている必要があります。

以下は、あなたのコードです。

CC1、CC2は選択されたオーダーの機器に対応する値を取得します。

コード全体を引用すれば、何が問題なのか推測するのではなく、確実にわかるはずです。

ORDERを省略...つまりSymbol() となる。
 
Sergey_Rogozin:

面白いのは、どのケースでも同じ値が出ることです。

つまり、すべての文字に対して同じ値を与える。

double CC1=0,CC2=0;
  if(Symbol()=="EURUSD"){ CC1 = iCustom("EURUSD",60,"CC2",3,6,0,1); CC2 = iCustom("EURUSD",60,"CC2",3,6,1,1); }
  if(Symbol()=="GBPUSD"){ CC1 = iCustom("GBPUSD",60,"CC2",3,6,0,1); CC2 = iCustom("GBPUSD",60,"CC2",3,6,2,1); }
  if(Symbol()=="USDCHF"){ CC1 = iCustom("USDCHF",60,"CC2",3,6,0,1); CC2 = iCustom("USDCHF",60,"CC2",3,6,3,1); }
  if(Symbol()=="USDJPY"){ CC1 = iCustom("USDJPY",60,"CC2",3,6,0,1); CC2 = iCustom("USDJPY",60,"CC2",3,6,4,1); }
  if(Symbol()=="USDCAD"){ CC1 = iCustom("USDCAD",60,"CC2",3,6,0,1); CC2 = iCustom("USDCAD",60,"CC2",3,6,5,1); }
  if(Symbol()=="AUDUSD"){ CC1 = iCustom("AUDUSD",60,"CC2",3,6,0,1); CC2 = iCustom("AUDUSD",60,"CC2",3,6,6,1); }
  if(Symbol()=="NZDUSD"){ CC1 = iCustom("NZDUSD",60,"CC2",3,6,0,1); CC2 = iCustom("NZDUSD",60,"CC2",3,6,7,1); }
  if(Symbol()=="EURGBP"){ CC1 = iCustom("EURGBP",60,"CC2",3,6,1,1); CC2 = iCustom("EURGBP",60,"CC2",3,6,2,1); }
  if(Symbol()=="EURCHF"){ CC1 = iCustom("EURCHF",60,"CC2",3,6,1,1); CC2 = iCustom("EURCHF",60,"CC2",3,6,3,1); }
  if(Symbol()=="EURJPY"){ CC1 = iCustom("EURJPY",60,"CC2",3,6,1,1); CC2 = iCustom("EURJPY",60,"CC2",3,6,4,1); }
これが正しい方法です
 
alsu:
MathMax と MathMin は、極値そのものではなく、小節番号を返します

MathMaxは、High[i]と0という2つの値のうち、HighesBuffer[i ]より大きいHigh[i]に遭遇したら、その最大値を返します。

MathMin は Low[i] と 99999 の 2 つの値の最小値を返します。Low[i] にぶつかるとLowesBuffer[i] よりも小さい場合、それを返します。

 
alsu:
つまり、まず波打ち際の値、つまりある数値を計算し、それがどのような周期で計算されたものかを調べたいのですね。いいえ、それはうまくいきません))

そうでもない...。何らかのMA指標(必ずしも値でなくてもよい)に依存することは可能でしょうか。でも、どうしたらいいんだろう・・・。
 
何に頼ればいいのか、なぜ頼ればいいのか
 
eddy:
何を参考にするのか、なぜ参考にするのか。

ワーキングMAあり(期間は変動あり)

は、同じ期間を使用する別の関数があります。解答の美しさのためには、その期間ではなく、MAを参照することが必要である。

MA の周期を計算する必要があるのですが...。

 
todem:
そのほうがいい。

О!そりゃ、そうでしょうよ。何かが目に入った。なんという大失態

あ、ありがとうございます。