[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 378 1...371372373374375376377378379380381382383384385...631 新しいコメント 削除済み 2012.09.10 16:26 #3771 もう一度、繰り返したい。 (Low[2]==Low[1])||(Close[2]==Low[1])||(Low[2]==Open[1]) そんな条件設定をしてはいけない。これらは、ありそうでなかった出来事です。 Виктор 2012.09.11 04:01 #3772 atguard: 質問:「シフト」の値をどのように取得するのですか?(シフト付きでインジケータを呼び出すと、シフトなしと同じ値が使用されます、つまりiCustom(NULL, 0, "name",pam1,0,1)= iCustom(NULL, 0, "name",pam1,0,100) しかし、100バー前のインディケータを呼び出すと、 iCustom(NULL, 0, "name",pam1,0,100) とは異なる値が表示されることになります。このインジケータはシンプルで、過去5回の終値を使って、その平均値を取ります。 double iCustom( stringsymbol, int timeframe, string name, ..., int mode, intshift) shiftは インジケータデータを取得するバーの番号、zero barはまだ閉じられていない現在のバーです。受信データのゼロバーからのオフセットをバー単位で表示するため、shiftと命名した。 Paladin80 2012.09.11 04:26 #3773 silhouette:チュートリアルのTerminal()関数で、Mas_Ord_New[0][0]!=0として、ポジションを閉じるときに使っているのです。しかし、ここでもう一つの課題があります。それは、現在のシグナルですでに1つの注文が開かれている場合、そのシグナルでの取引を禁止するフラグを作成する必要があることです。フラッグを使おうとしているのですが、間違えてしまいました。 順番に適当なマジックナンバーを入れて、そのような位置があるかどうかをチェックするのが良いかと思います。ある場合=フラグトゥルー、ない場合=フラグファルス。そして、あなたのシグナルでポジションを持つ ことを条件に、例えば、フラグを挿入してください。 bool flag_1=true; int MagNum_1=555; int start() { // ... if (OrdersTotal()>0) { for (int i=OrdersTotal()-1; i>=0; i--) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if (OrderMagicNumber()==MagNum_1) flag_1=true; else flag_1=false; } } } if (flag_1==false && /*данное условие открытия позиции*/) { OrderSend(..., MagNum_1, ...); } //... } pavelrev 2012.09.11 05:16 #3774 paladin80: 順番に適当なマジックナンバーを入れて、その位置がリストにあるかどうか確認した方が良いと思います。フラグがある場合-true、フラグがない場合-false。そして、あなたのシグナルでポジションがオープンされたら、例えばフラグを挿入します。 つまり、私の理解が正しければ、それぞれの信号の種類に対応した複数のマジックを使用することを提案されているのですね? Alexey Oreshkin 2012.09.11 05:39 #3775 オプティマイザーのカウントはできるのに、結果が出ないのはなぜか、教えてください。ログにエラーはありません。遺伝的アルゴリズムが 無効になっています。最適化の間隔は5日、モードは全ティック、周期はm1、m5、m15、m30のいずれかです。そして、上期から初めて結果が出る。 Victor Nikolaev 2012.09.11 06:26 #3776 Desead: オプティマイザーのカウントはできるのに、結果が出ないのはなぜか、教えてください。ログにエラーはありません。遺伝的アルゴリズムが無効になっています。最適化の間隔は5日、モードは全ティック、周期はm1、m5、m15、m30のいずれかです。結果は、H1期からしか表示されません。 H1より短い期間では、アルゴリズムは失敗する。 Alexey Oreshkin 2012.09.11 07:01 #3777 Vinin: H1より短い期間では、急落している。 その通り!そのためのチェックボックスまであるのに、どうして知らなかったんだろう(笑)。ありがとうございます。 Paladin80 2012.09.11 07:04 #3778 Desead: オプティマイザーのカウントはできるのに、結果が出ないのはなぜか、教えてください。ログにエラーはありません。遺伝的アルゴリズムが無効になっています。最適化の間隔は5日、モードは全ティック、周期はm1、m5、m15、m30のいずれかです。そして、その結果が現れるのは、上半期からです。 このパラメータの組み合わせで収益がマイナスになる場合は、結果を表示しない。一般的に5日間というのは非常に短く、最低でも1ヶ月に設定されています。 Arles 2012.09.11 08:06 #3779 こんにちは。インジケータを履歴全体ではなく、指定した数のバーの 端にだけ表示させたいのですが、アドバイスをお願いします。コード//+------------------------------------------------------------------+ //| Индикатор арбитражной ситуации для спреда, состоящего | //| из 4-х инструментов | //| Copyright © 2010, leonid553, Son_Of_Earth | //+------------------------------------------------------------------+ #property copyright "leonid553 & Son_Of_Earth" #property link "leonid553@ya.ru,sonofearth.ua@gmail.com" #property indicator_separate_window #property indicator_buffers 4 #property indicator_color1 Blue #property indicator_color2 Red #property indicator_color3 Yellow #property indicator_color4 Black #property indicator_width1 1 #property indicator_width2 1 #property indicator_width3 1 #property indicator_width4 1 extern string Symbol1.Name = "EURUSD"; // Название инструмента 1 extern bool Symbol1.Reverse = false; extern string Symbol2.Name = ""; // Название инструмента 2 extern bool Symbol2.Reverse = false; extern string Symbol3.Name = ""; // Название инструмента 3 extern bool Symbol3.Reverse = false; extern string Symbol4.Name = ""; // Название инструмента 4 extern bool Symbol4.Reverse = false; extern string ___MISC___ = " == Прочие настройки =========="; extern string ___MA___ = " == Параметры МА ценовых линий ===="; extern int MA.Slow = 50; // Период медленной МА // Буферы для отображения данных double Buf1[]; // Первый инструмент double Buf2[]; // Второй инструмент double Buf3[]; // Третий инструмент double Buf4[]; // Четрертый инструмент //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { // Делаем нечувствительными к регистру ввода наименования инструментов Symbol1.Name=StringUpper(Symbol1.Name); Symbol2.Name=StringUpper(Symbol2.Name); Symbol3.Name=StringUpper(Symbol3.Name); Symbol4.Name=StringUpper(Symbol4.Name); // Определяем балансовые коэффициенты каждого инструмента kVol1=1; kVol2=1; kVol3=1; kVol4=1; // Задаем имена графическим объектам oSymb1=Symbol1.Name; oSymb2=Symbol2.Name; oSymb3=Symbol3.Name; oSymb4=Symbol4.Name; // Формируем свойства графиков индикатора IndicatorBuffers(4); SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,Buf1); SetIndexLabel(0, Symbol1.Name); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,Buf2); SetIndexLabel(1,Symbol2.Name); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(2,Buf3); SetIndexLabel(2,Symbol3.Name); SetIndexStyle(3,DRAW_LINE); SetIndexBuffer(3,Buf4); SetIndexLabel(3,Symbol4.Name); soundCount=0; // Максимально к-во повторов звукового сигнала return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { // Удаляем все графические объекты DeleteObject(oSymb1); DeleteObject(oSymb2); DeleteObject(oSymb3); DeleteObject(oSymb4); return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { // Подсчет количества баров для построения индикатора int limit; int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; // Определяем параметры окна индикатора wndNum=WindowFind(WindowExpertName()); wndName=WindowExpertName()+wndNum; //------------------------------------------------------------------ // Отрисовка ценовых линий: рисуем и синхронизируем по наличию баров for(int i=0; i<limit; i++) { // Первый ценовой график Buf1[i]= iClose(Symbol1.Name,0,i); // Второй ценовой график Buf2[i]= iClose(Symbol2.Name,0,i); // Третий ценовой график Buf3[i]= iClose(Symbol3.Name,0,i); // Четвертый ценовой график Buf4[i]= iClose(Symbol4.Name,0,i); } // Конец блока отрисовки ценовых линий あと、指定したバー数の楽器の価格を逆算して知るにはどうしたらいいのでしょうか? roman777 2012.09.11 09:57 #3780 このタスクは、1つのウィンドウに異なる商品の指標値とその日の初めからの価格変動率を表示することです。チャートなしですべてウィンドウに表示できるのか?異なるタイムフレームのインジケータ値を表示することは可能ですか?また、似たようなものの例も教えていただけるとありがたいです。ありがとうございました。 1...371372373374375376377378379380381382383384385...631 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
質問:「シフト」の値をどのように取得するのですか?(シフト付きでインジケータを呼び出すと、シフトなしと同じ値が使用されます、つまりiCustom(NULL, 0, "name",pam1,0,1)= iCustom(NULL, 0, "name",pam1,0,100) しかし、100バー前のインディケータを呼び出すと、 iCustom(NULL, 0, "name",pam1,0,100) とは異なる値が表示されることになります。このインジケータはシンプルで、過去5回の終値を使って、その平均値を取ります。
double iCustom( stringsymbol, int timeframe, string name, ..., int mode, intshift)
shiftは インジケータデータを取得するバーの番号、zero barはまだ閉じられていない現在のバーです。受信データのゼロバーからのオフセットをバー単位で表示するため、shiftと命名した。
チュートリアルのTerminal()関数で、Mas_Ord_New[0][0]!=0として、ポジションを閉じるときに使っているのです。しかし、ここでもう一つの課題があります。それは、現在のシグナルですでに1つの注文が開かれている場合、そのシグナルでの取引を禁止するフラグを作成する必要があることです。フラッグを使おうとしているのですが、間違えてしまいました。
順番に適当なマジックナンバーを入れて、そのような位置があるかどうかをチェックするのが良いかと思います。ある場合=フラグトゥルー、ない場合=フラグファルス。そして、あなたのシグナルでポジションを持つ ことを条件に、例えば、フラグを挿入してください。
順番に適当なマジックナンバーを入れて、その位置がリストにあるかどうか確認した方が良いと思います。フラグがある場合-true、フラグがない場合-false。そして、あなたのシグナルでポジションがオープンされたら、例えばフラグを挿入します。
オプティマイザーのカウントはできるのに、結果が出ないのはなぜか、教えてください。ログにエラーはありません。遺伝的アルゴリズムが無効になっています。最適化の間隔は5日、モードは全ティック、周期はm1、m5、m15、m30のいずれかです。結果は、H1期からしか表示されません。
H1より短い期間では、アルゴリズムは失敗する。
H1より短い期間では、急落している。
オプティマイザーのカウントはできるのに、結果が出ないのはなぜか、教えてください。ログにエラーはありません。遺伝的アルゴリズムが無効になっています。最適化の間隔は5日、モードは全ティック、周期はm1、m5、m15、m30のいずれかです。そして、その結果が現れるのは、上半期からです。
このパラメータの組み合わせで収益がマイナスになる場合は、結果を表示しない。一般的に5日間というのは非常に短く、最低でも1ヶ月に設定されています。
こんにちは。インジケータを履歴全体ではなく、指定した数のバーの 端にだけ表示させたいのですが、アドバイスをお願いします。コード
あと、指定したバー数の楽器の価格を逆算して知るにはどうしたらいいのでしょうか?