[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 144 1...137138139140141142143144145146147148149150151...631 新しいコメント 削除済み 2012.05.25 16:59 #1431 iMAG: それを明確にするために、代入演算子の後のGetLastError()を見てみてください - それが内訳の助けになるはずです。少なくとも、上記の例ではすべて正常に動作しています。;) int init() { //---- // i = 0; double s[10] = {,,3,4,5,6,7,8,9}; int i = 0; while(i < 10) { s[i] = i + 10; i++; Print("s[i]: ", DoubleToStr(s[i], 2), " i:", i, " GetLastError():", GetLastError()); Sleep(5000); }. //---- return(0); }. ここでは例として、値(i + 10)が代入されていないことを示します。この初期化で、注文の配列を通してのみ - 秘密は何ですか? Alekseu Fedotov 2012.05.25 19:31 #1432 ステファン2 作品紹介 int init() { //---- double s[11]; // i = 0; int i = 0; while(i < 10) { s[i] = i*10; i++; Print("s[i]: ", DoubleToStr(s[i], 2), " i: ", i, " GetLastError(): ", GetLastError()); Sleep(5000); } return(0); } Miner 2012.05.26 04:44 #1433 GaryKa: 脳が痛い.1kgのトマトの 価値がルーブル 以下だから、トマトが 高くなる?なぜ安く なったと言われるのか? つまり、分子であれ分母であれ、1ドルは必ずMONEY(メジャーであっても)であり、それ以外は「Goods」なのである。 そういうものなのでしょうか? クロスはどうでしょうか?十字を組むとき、何で割ればいいのか、どうやってわかるのですか? つまり、なぜ一方の通貨が分子、他方の通貨が分母になり、その逆にはならないのか? 削除済み 2012.05.26 05:14 #1434 r772ra: ステファン2 作品紹介 というのは? その端末は、BROKERに依存する! 削除済み 2012.05.26 05:22 #1435 Space: つまり、分子であれ分母であれ、1ドルは常に「お金」であり(メジャーでも)、それ以外は「取引」なのである。 そういうものなのでしょうか? クロスはどうでしょうか?十字を組むとき、何で割ればいいのか、どうやってわかるのですか? つまり、なぜ一方の通貨が分子、他方の通貨が分母になり、その逆にはならないのか? 学習の流れは以下の通りです。 DIVISION - 連続した、しかし逆方向の。 RUNNING - アクションスクリプト Alekseu Fedotov 2012.05.26 07:08 #1436 Stepan2: というのは?端末はブローカー次第!? ブローカーについて何も 言えない、ブローカーに何か問題がある可能性は低い。 そして、コードについては、もしかしたら私が間違っているかもしれません。 配列を宣言 し、それを埋める double s[10] = {,,,3,4,5,6,7,8,9}; を表示し、2倍なら1.0、2倍なら2.0といった具合に、数字を表示します。 私の場合 double s[11]; エラー(4002)を回避するためにはもう少し大きくする必要があります。 とループで埋め尽くされる、だから、ええ、私はそれを得ることはありません......注文の配列を介してのみ......。 削除済み 2012.05.26 07:46 #1437 私は2つのMACD (Macd1 と Macd2) を同じウィンドウに同じスケールで配置しました。 それぞれのMACDの最大値と最小値は、インディケータウィンドウに見えるチャートの値からのみ見つけます。 私はそれらをComment() に置きました。 すべてうまくいきますが、シグナルラインは最初のバーから描き始めます。つまり、ウィンドウ全体が満たされるまで待たなければなりません。 この問題を解決するには? そして私の厄介なコードを最適化する方法を教えてください。 #property indicator_separate_window #property indicator_buffers 4 #property indicator_color1 Lime #property indicator_color2 Red #property indicator_color3 Aqua #property indicator_color4 DarkOrange #property indicator_width1 2 #property indicator_width3 2 //--- buffers double Macd1Buffer[]; double Signal1Buffer[]; double Macd2Buffer[]; double Signal2Buffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,Macd1Buffer); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,Signal1Buffer); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(2,Macd2Buffer); SetIndexStyle(3,DRAW_LINE); SetIndexBuffer(3,Signal2Buffer); IndicatorDigits(Digits); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- Comment(""); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { double max1=-0.01,min1=0.01, max2=-0.01,min2=0.01, max_M1=-0.01,min_M1=0.01, max_M2=-0.01,min_M2=0.01, max_S1=-0.01,min_S1=0.01, max_S2=-0.01,min_S2=0.01; int bars_counted=WindowBarsPerChart()-1, limit; limit=bars_counted; //---- macd counted in the 1-st buffer for(int i=0; i<limit; i++) { Macd1Buffer[i]=iMA(NULL,0,6,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i); max_M1=MathMax(Macd1Buffer[i],max_M1); min_M1=MathMin(Macd1Buffer[i],min_M1); Signal1Buffer[i]=iMAOnArray(Macd1Buffer,Bars,5,0,MODE_SMA,i); max_S1=MathMax(Signal1Buffer[i],max_S1); min_S1=MathMin(Signal1Buffer[i],min_S1); max1=MathMax(max_M1,max_S1); min1=MathMin(min_M1,min_S1); } //---- done //---- macd counted in the 3-st buffer for(i=0; i<limit; i++) { Macd2Buffer[i]=iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,26,0,MODE_EMA,PRICE_CLOSE,i); max_M2=MathMax(Macd2Buffer[i],max_M2); min_M2=MathMin(Macd2Buffer[i],min_M2); Signal2Buffer[i]=iMAOnArray(Macd2Buffer,Bars,9,0,MODE_SMA,i); max_S2=MathMax(Signal2Buffer[i],max_S2); min_S2=MathMin(Signal2Buffer[i],min_S2); max2=MathMax(max_M2,max_S2); min2=MathMin(min_M2,min_S2); } //---- done Comment( "\n"," Баров = ",WindowBarsPerChart()-1, "\n"," max_M1 = ",max_M1, "\n"," min_M1 = ",min_M1, "\n"," max_S1 = ",max_S1, "\n"," min_S1 = ",min_S1, "\n"," max_M2 = ",max_M2, "\n"," min_M2 = ",min_M2, "\n"," max_S2 = ",max_S2, "\n"," min_S2 = ",min_S2, "\n"," max1 = ",max1, "\n"," min1 = ",min1, "\n"," max2 = ",max2, "\n"," min2 = ",min2); //---- return(0); } //+------------------------------------------------------------------+ Alekseu Fedotov 2012.05.26 08:17 #1438 MK07: 私は2つのMACD (Macd1 と Macd2) を同じウィンドウに同じスケールで配置しました。 それぞれのMACDの最大値と最小値は、インディケータウィンドウに見えるチャートの値からのみ見つけます。 私はそれらを Comment() に置きました。 すべてうまくいきますが、シグナルラインは最初のバーから描き始めます。つまり、ウィンドウ全体が満たされるまで待たなければなりません。 この問題を解決するには? そして私の厄介なコードを最適化する方法を教えてください。 試しに、各バッファを別々のループにしてみてください。 Виктор 2012.05.26 09:38 #1439 r772ra: 各バッファを別々のループにして試してみてください。 うん。 for(int i=0; i<limit; i++) { Macd1Buffer[i]=iMA(NULL,0,6,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i); Macd2Buffer[i]=iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,26,0,MODE_EMA,PRICE_CLOSE,i); } for(i=0; i<limit; i++) { Signal1Buffer[i]=iMAOnArray(Macd1Buffer,Bars,5,0,MODE_SMA,i); Signal2Buffer[i]=iMAOnArray(Macd2Buffer,Bars,9,0,MODE_SMA,i); } 削除済み 2012.05.26 14:08 #1440 アドバイスありがとうございます。 すべてうまくいっているのですが、インジケータをインストールすると、奇妙な描画になります(チャート参照)。 チャートウィンドウの左端から黄色の縦線までのインデント(バー単位)は、ウィンドウ内の可視バーの数にかかわらず常に停止せず、8バーとなります。 この8バーがウィンドウ左端を超えてしまうと、チャート上のすべてのラインが直ちに現れ、すべてが正常になります。 これを修正できますか?どのように修正できますか? #property indicator_separate_window #property indicator_buffers 4 #property indicator_color1 Lime #property indicator_color2 Red #property indicator_color3 Aqua #property indicator_color4 DarkOrange #property indicator_width1 2 #property indicator_width3 2 //--- buffers double Macd1Buffer[]; double Signal1Buffer[]; double Macd2Buffer[]; double Signal2Buffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,Macd1Buffer); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,Signal1Buffer); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(2,Macd2Buffer); SetIndexStyle(3,DRAW_LINE); SetIndexBuffer(3,Signal2Buffer); IndicatorDigits(Digits); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- Comment(""); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { double max1=-0.01,min1=0.01, max2=-0.01,min2=0.01, max_M1=-0.01,min_M1=0.01, max_M2=-0.01,min_M2=0.01, max_S1=-0.01,min_S1=0.01, max_S2=-0.01,min_S2=0.01; int bars_counted=WindowBarsPerChart()-1, limit; limit=bars_counted; //---- macd counted in the 1-st buffer for(int i=0; i<limit; i++) { Macd1Buffer[i]=iMA(NULL,0,6,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i); Macd2Buffer[i]=iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,26,0,MODE_EMA,PRICE_CLOSE,i); max_M1=MathMax(Macd1Buffer[i],max_M1); min_M1=MathMin(Macd1Buffer[i],min_M1); max_M2=MathMax(Macd2Buffer[i],max_M2); min_M2=MathMin(Macd2Buffer[i],min_M2); } for( i=0; i<limit; i++) { Signal1Buffer[i]=iMAOnArray(Macd1Buffer,Bars,5,0,MODE_SMA,i); Signal2Buffer[i]=iMAOnArray(Macd2Buffer,Bars,9,0,MODE_SMA,i); max_S1=MathMax(Signal1Buffer[i],max_S1); min_S1=MathMin(Signal1Buffer[i],min_S1); max_S2=MathMax(Signal2Buffer[i],max_S2); min_S2=MathMin(Signal2Buffer[i],min_S2); } max1=MathMax(max_M1,max_S1); min1=MathMin(min_M1,min_S1); //---- done Comment( "\n"," Баров = ",WindowBarsPerChart()-1, "\n"," max_M1 = ",max_M1, "\n"," min_M1 = ",min_M1, "\n"," max_S1 = ",max_S1, "\n"," min_S1 = ",min_S1, "\n"," max_M2 = ",max_M2, "\n"," min_M2 = ",min_M2, "\n"," max_S2 = ",max_S2, "\n"," min_S2 = ",min_S2, "\n"," max1 = ",max1, "\n"," min1 = ",min1, "\n"," max2 = ",max2, "\n"," min2 = ",min2); //---- return(0); } //+------------------------------------------------------------------+ 1...137138139140141142143144145146147148149150151...631 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
それを明確にするために、代入演算子の後のGetLastError()を見てみてください - それが内訳の助けになるはずです。少なくとも、上記の例ではすべて正常に動作しています。;)
int init() { //---- // i = 0; double s[10] = {,,3,4,5,6,7,8,9}; int i = 0; while(i < 10) {
s[i] = i + 10;
i++; Print("s[i]: ", DoubleToStr(s[i], 2), " i:", i, "
GetLastError():", GetLastError());
Sleep(5000);
}.
//----
return(0);
}.
ここでは例として、値(i + 10)が代入されていないことを示します。この初期化で、注文の配列を通してのみ - 秘密は何ですか?
ステファン2
作品紹介
脳が痛い.1kgのトマトの 価値がルーブル 以下だから、トマトが 高くなる?なぜ安く なったと言われるのか?
つまり、分子であれ分母であれ、1ドルは必ずMONEY(メジャーであっても)であり、それ以外は「Goods」なのである。
そういうものなのでしょうか?
クロスはどうでしょうか?十字を組むとき、何で割ればいいのか、どうやってわかるのですか?
つまり、なぜ一方の通貨が分子、他方の通貨が分母になり、その逆にはならないのか?
ステファン2
作品紹介
というのは?
その端末は、BROKERに依存する!
つまり、分子であれ分母であれ、1ドルは常に「お金」であり(メジャーでも)、それ以外は「取引」なのである。
そういうものなのでしょうか?
クロスはどうでしょうか?十字を組むとき、何で割ればいいのか、どうやってわかるのですか?
つまり、なぜ一方の通貨が分子、他方の通貨が分母になり、その逆にはならないのか?
学習の流れは以下の通りです。
DIVISION - 連続した、しかし逆方向の。
RUNNING - アクションスクリプト
というのは?
端末はブローカー次第!?
ブローカーについて何も 言えない、ブローカーに何か問題がある可能性は低い。
そして、コードについては、もしかしたら私が間違っているかもしれません。
配列を宣言 し、それを埋める
を表示し、2倍なら1.0、2倍なら2.0といった具合に、数字を表示します。
私の場合
エラー(4002)を回避するためにはもう少し大きくする必要があります。
とループで埋め尽くされる、だから、ええ、私はそれを得ることはありません......注文の配列を介してのみ......。
私は2つのMACD (Macd1 と Macd2) を同じウィンドウに同じスケールで配置しました。 それぞれのMACDの最大値と最小値は、インディケータウィンドウに見えるチャートの値からのみ見つけます。 私はそれらをComment() に置きました。 すべてうまくいきますが、シグナルラインは最初のバーから描き始めます。つまり、ウィンドウ全体が満たされるまで待たなければなりません。 この問題を解決するには? そして私の厄介なコードを最適化する方法を教えてください。
私は2つのMACD (Macd1 と Macd2) を同じウィンドウに同じスケールで配置しました。 それぞれのMACDの最大値と最小値は、インディケータウィンドウに見えるチャートの値からのみ見つけます。 私はそれらを Comment() に置きました。 すべてうまくいきますが、シグナルラインは最初のバーから描き始めます。つまり、ウィンドウ全体が満たされるまで待たなければなりません。 この問題を解決するには? そして私の厄介なコードを最適化する方法を教えてください。
各バッファを別々のループにして試してみてください。
アドバイスありがとうございます。 すべてうまくいっているのですが、インジケータをインストールすると、奇妙な描画になります(チャート参照)。 チャートウィンドウの左端から黄色の縦線までのインデント(バー単位)は、ウィンドウ内の可視バーの数にかかわらず常に停止せず、8バーとなります。 この8バーがウィンドウ左端を超えてしまうと、チャート上のすべてのラインが直ちに現れ、すべてが正常になります。 これを修正できますか?どのように修正できますか?