[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 373 1...366367368369370371372373374375376377378379380...432 新しいコメント Chiripaha 2013.05.31 02:49 #3721 sv.: 確認したところ、すべて表示されています。 チャートを縦に圧縮する必要があるのかもしれません。チャンネルが広い場合、ズームインすると見えなくなる可能性があります。パラメータを調整したら何か出てきた。EAの条件に合うのは、非常に狭い範囲だけです。左へ一歩、右へ一歩......何もない。そして、これらの条件は、フラットの定義に当てはまらない。4桁の100点満点でフラットになっている。そして、すべてが正確に表示されます。//+------------------------------------------------------------------+ //| ind_FletChannel_07.mq4 | //| Copyright © 2013, sv. | //+------------------------------------------------------------------+ #property copyright "Copyright © 2013, sv." #property link "7009731@mail.ru" //---- #property indicator_chart_window #property indicator_buffers 4 #property indicator_color1 Blue #property indicator_color2 Red #property indicator_color3 Blue #property indicator_color4 Red #property indicator_width1 3 #property indicator_width2 3 #property indicator_width3 3 #property indicator_width4 3 //---- extern int Distans = 20; // Количество баров для определения канала extern int Channel = 1000; // Размер в пипсах канала extern int ZoneUnSence = 80; // Размер выхода за границы канала, в пипсах extern int PauseBar = 1; // А это по ходу дела - смещение баров,т.е. где нужно считать. //---- double Up[]; double Down[]; double UpSupport[]; double DownResistance[]; double pnt; double high, low; double high_1 = 0, low_1 = 0; bool up_chanel, dn_chanel, FirstChanel; bool DrawChannel = false; int limit, History=0; // 0- все бары int n=0, n_up=0, n_dn=0; int Bar; //+------------------------------------------------------------------+ int init() { //---- // pnt=Point; // if(Digits==5 || Digits==3) pnt*=10; // IndicatorDigits(Digits); // IndicatorBuffers(4); //---- SetIndexBuffer(0,Up); SetIndexStyle(0,DRAW_LINE); SetIndexEmptyValue(0,0.0); SetIndexBuffer(1,Down); SetIndexStyle(1,DRAW_LINE); SetIndexEmptyValue(1,0.0); SetIndexBuffer(2,UpSupport); SetIndexStyle(2,DRAW_LINE); SetIndexEmptyValue(2,0.0); SetIndexBuffer(3,DownResistance); SetIndexStyle(3,DRAW_LINE); SetIndexEmptyValue(3,0.0); //---- return(0); } //+------------------------------------------------------------------+ int start() { limit = Bars-IndicatorCounted()-1; if(limit > 1) limit = Bars-1; if(History!=0 && limit>History) limit = History-1; // кол-во пересчетов по истории Bar = limit; // ------------------------------------------------------------------ for(int i=limit; i>=0; i--) { if(i < Bar-PauseBar) { // если не активна отрисовка канала, ищем канал. if(DrawChannel==false) { // отределяется минимум и максимум на заданном интервале Distans double low = iLow (NULL,0,iLowest (NULL,0,MODE_LOW, Distans,i)); double high = iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,Distans,i)); // и если разность между максимумом и минимумом меньше заданной ширины канала Channel if( (high-low) < Channel*Point ) DrawChannel=true; } } // ------------------------------------------------------------------ if(DrawChannel) { // определяются границы канала как максимум и минимум на интервале Distans // отрисовка первоначального отправного канала if(FirstChanel) { Up[i] = high; Down[i] = low; } if(up_chanel) { Up[i] = high; UpSupport[i] = high - Channel*Point; } // отрисовка канала тренда вверх if(dn_chanel) { Down[i] = low; DownResistance[i] = low + Channel*Point; } // отрисовка канала тренда вниз // определяются границы отправного первоначального канала // ------------------------------------------------------------------ if( high_1==0 && low_1==0 ) { FirstChanel=true; high_1=high; low_1=low; } else // если первоначальный отправной канал уже определён и отрисован { if(high > high_1) // если верхняя граница нового канала выше верхней границы предыдущего канала, то это восходящий тренд { up_chanel=true; // активируем флаг отрисовки канала тренда вверх high_1 = high; // и перезаписываем значение low_1 = low; } if(low < low_1) // если нижняя граница нового канала ниже нижней границы предыдущего канала, то это нисходящий тренд { dn_chanel=true; // активируем флаг отрисовки канала тренда вниз high_1=high; // и перезаписываем значение low_1=low; } } // ------------------------------------------------------------------ if(Up[i]!=0 && UpSupport[i]!=0) // пока условие выполняется, границы канала не изменяются { if ((Close[i] > Up[i] + ZoneUnSence*Point) || (Close[i] < UpSupport[i] - ZoneUnSence*Point)) { // если условие не выполняется, флаг сбрасывается - Т.е. если не в границах канала up_chanel=false; dn_chanel=false; FirstChanel=false; DrawChannel=false; } } // ------------------------------------------------------------------ if(Down[i]!=0 && DownResistance[i]!=0) { if ((Close[i] > DownResistance[i]+ZoneUnSence*Point) || (Close[i] < Down[i]-ZoneUnSence*Point)) { // если условие не выполняется, флаг сбрасывается - Т.е. если не в границах канала up_chanel=false; dn_chanel=false; FirstChanel=false; DrawChannel=false; } } if(Up[i]!=0 && Down[i]!=0) { if ((Close[i] > Up[i] + ZoneUnSence*Point) || (Close[i] < Down[i] - ZoneUnSence*Point)) { // если условие не выполняется, флаг сбрасывается up_chanel=false; dn_chanel=false; FirstChanel=false; DrawChannel=false; } } Bar = i; } } // Конец перебора // ------------------------------------------------------------------ return(0); } //+------------------------------------------------------------------+少し改変してみた-理解しようとした。でも、そういう仕組みになっているんです。H1を使ってみた。パラメータ選択の関係で、他のTFで表示できなかったのがまずかったですね。例えば、5分と15分に。- そのTFを使って、フラットを実現することも可能だということです。(経験豊富な方からのアイデアや間違いの指摘があれば)。しかし、レンダリングに問題があるとは感じていません。あなたのインジケーターでも、大多数の場合と同様に、一度描かれたものが、インジケーターの書き方 テンプレートとして正常なものなのです。しかし、今起こっていること(おっしゃるとおり、現在のバーで)は、このインジケータの条件に当てはまりません。したがって、現在のバーでは問題はない。 sv_ 2013.05.31 05:47 #3722 Chiripaha:パラメータを調整したら何か出てきた。EAの条件に合うのは、非常に狭い範囲だけです。左へ一歩、右へ一歩......何もない。そして、これらの条件は、フラットの定義に当てはまらない。4桁の100点満点でフラットになっている。すべてがクリアに描かれています。少し改変しているかもしれませんが......理解しようとしました。でも、そういう仕組みになっているんです。H1を使ってみた。パラメータ選択で他のTFに表示できなかったのはまずかったですね。例えば、5分と15分に。- そのTFを使って、フラットを実現することも可能だということです。(経験豊富な方からのアイデアや間違いの指摘があれば)。 描画に問題は感じませんでした。このインジケーターもそうですが、大半のインジケーターは、かつてあったものをレンダリングしているもので、インジケーターを書くテンプレートとしては普通のことです。しかし、今起こっていること(おっしゃるとおり、現在のバーで)は、このインジケータの条件に当てはまりません。従って、現在のバーでは問題ありません。 PauseBar パラメータは、1つのチャンネルと別のチャンネルを分離する最小距離で、あなたの版ではこのパラメータは5以上でなければならず、その後、別のパラメータで描画 されます。 しかし、新しいバーでのレンダリングに問題が残ります。 Chiripaha 2013.05.31 07:42 #3723 sv.:PauseBar パラメータは、1つのチャンネルと別のチャンネルを分離する最小距離で、あなたの版ではこのパラメータは5より大きいはずです、そしてそれは他のパラメータと一緒に描かれます。 しかし、新しいバーの登場に伴うレンダリングの問題は残ったままでした。 正直なところ、御社のインジケーターの動作のロジックは理解できません(本質は理解しているのですが)。でも...いいですか、問題はまさにこのブロックにあるんです。 if(FirstChanel) { Up[i] = high; Down[i] = low; } // отрисовка первоначального отправного канала if(up_chanel) { Up[i] = high; UpSupport[i] = high - Channel*Point; } // отрисовка канала тренда вверх if(dn_chanel) { Down[i] = low; DownResistance[i] = low + Channel*Point; } // отрисовка канала тренда внизある時点では、バッファに値が書き込まれないため、値として「0」が割り当てられる。それゆえ、スティックはゼロになった。ロジックをどう組み立てるか、何を足すか......理解できない。しかし、パラメータを含むフラグがあるため、明らかにデータは書き込まれません。DrawChannel=false;そのため、バッファに値が割り振られることはない。- どうにかして遊びたいんですよね。 sv_ 2013.05.31 07:51 #3724 Chiripaha:まだ具体的には言えないのですが......正直なところ、あなたのインジケーターのロジックは理解できません(理解はできるのですが......)。でも...いいですか、問題はまさにこのブロックにあるんです。ある時点でバッファに値が書き込まれなくなるため、値として "0 "が割り当てられる。それゆえ、スティックはゼロになった。ロジックをどう組み立てるか、何を足すか......理解できない。しかし、パラメータを含むフラグがあるため、明らかにデータは書き込まれません。そのため、バッファに値が割り振られることはない。- どうにかして遊びたいんですよね。 なるほど、理屈の問題なんですね。考えておくよ。 よろしくお願いします。追伸 PauseBarパラメータを他のパラメータのセットで増加させ、あなたの履歴上ですべてがうまくレンダリングされているかどうかを確認し、またはそれにも問題があるのでしょうか? Vasiliy Smirnov 2013.05.31 08:06 #3725 拡張ASCICODEテーブルシンボルを表示するにはどうしたらいいですか? Chiripaha 2013.05.31 08:09 #3726 sv.: なるほど、理屈の問題なんですね。考え続ける。 よろしくお願いします。追伸 少なくとも、PauseBarパラメータが他のパラメータのセットで増加するかどうか、それも問題があるかどうかを確認しますか? PauseBarを増やして確認したところ、1分と5分でこのような棒グラフになりました。しかし、正しくバイパスする方法がわからない。の場合は、おそらく(当然ではあるが)値を書く必要があることは理解した。 DrawChannel=false;вif(dn_chanel) { Down[i] = low; DownResistance[i] = low + Channel*Point; } // отрисовка канала тренда вниз前のバーの値 - このようなものです。if(dn_chanel) { Down[i] = Down[i+1]; DownResistance[i] = DownResistance[i+1]; } // отрисовка канала тренда вниз しかし、いざやろうとすると、インジケーター全体が「動いてしまう」のです。ロジックが理解できないので、どこにどんな条件で入れればいいのかがわからないのです。 Vadim Zhunko 2013.05.31 09:39 #3727 zfs: 拡張Ascicodeテーブル文字を表示するにはどうすればよいですか。 これをANSIという。スクリプトを添付します。 ファイル: ansi.mq4 2 kb 削除済み 2013.05.31 11:58 #3728 フォーラムで初めて、私は私に興味のある質問をすることにしました - それはポジションが既に開いているときに私のコメント(1回以上)を挿入するために端末に変更を加えることは可能ですか?あなたがコメントを開いたときにすぐにではなく、あなたが既にそれを開いているとき - 現在のコメントが表示されるようにする? Arles 2013.05.31 13:17 #3729 同じEAが複数のチャートにあり、注文を開くシグナルが2つのチャートに同時に表示されるなど、問題を解決する方法をご教示ください。ただし、2順目は開かないようにする必要があります。EAには未決済注文のチェック機能がありますが、最初のEAがおそらく注文を開いていて、2番目のEAも注文を開く要求を送ってくるので、役に立ちません。何か解決策はあるのでしょうか? PapaYozh 2013.05.31 13:46 #3730 Twoberg: フォーラムで初めて、私は私に興味のある質問をすることにしました - それはすでにオープンポジションに私のコメント(1回以上)を挿入するために、端末でそのような変更を加えることは可能ですか? あなたがコメントを開いたときにすぐにではありません。 いいえ 1...366367368369370371372373374375376377378379380...432 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
確認したところ、すべて表示されています。 チャートを縦に圧縮する必要があるのかもしれません。チャンネルが広い場合、ズームインすると見えなくなる可能性があります。
パラメータを調整したら何か出てきた。EAの条件に合うのは、非常に狭い範囲だけです。左へ一歩、右へ一歩......何もない。そして、これらの条件は、フラットの定義に当てはまらない。4桁の100点満点でフラットになっている。そして、すべてが正確に表示されます。
少し改変してみた-理解しようとした。でも、そういう仕組みになっているんです。H1を使ってみた。パラメータ選択の関係で、他のTFで表示できなかったのがまずかったですね。例えば、5分と15分に。- そのTFを使って、フラットを実現することも可能だということです。(経験豊富な方からのアイデアや間違いの指摘があれば)。
しかし、レンダリングに問題があるとは感じていません。
あなたのインジケーターでも、大多数の場合と同様に、一度描かれたものが、インジケーターの書き方 テンプレートとして正常なものなのです。しかし、今起こっていること(おっしゃるとおり、現在のバーで)は、このインジケータの条件に当てはまりません。したがって、現在のバーでは問題はない。
パラメータを調整したら何か出てきた。EAの条件に合うのは、非常に狭い範囲だけです。左へ一歩、右へ一歩......何もない。そして、これらの条件は、フラットの定義に当てはまらない。4桁の100点満点でフラットになっている。すべてがクリアに描かれています。
少し改変しているかもしれませんが......理解しようとしました。でも、そういう仕組みになっているんです。H1を使ってみた。パラメータ選択で他のTFに表示できなかったのはまずかったですね。例えば、5分と15分に。- そのTFを使って、フラットを実現することも可能だということです。(経験豊富な方からのアイデアや間違いの指摘があれば)。
描画に問題は感じませんでした。
このインジケーターもそうですが、大半のインジケーターは、かつてあったものをレンダリングしているもので、インジケーターを書くテンプレートとしては普通のことです。しかし、今起こっていること(おっしゃるとおり、現在のバーで)は、このインジケータの条件に当てはまりません。従って、現在のバーでは問題ありません。
PauseBar パラメータは、1つのチャンネルと別のチャンネルを分離する最小距離で、あなたの版ではこのパラメータは5以上でなければならず、その後、別のパラメータで描画 されます。
しかし、新しいバーでのレンダリングに問題が残ります。
PauseBar パラメータは、1つのチャンネルと別のチャンネルを分離する最小距離で、あなたの版ではこのパラメータは5より大きいはずです、そしてそれは他のパラメータと一緒に描かれます。
しかし、新しいバーの登場に伴うレンダリングの問題は残ったままでした。
正直なところ、御社のインジケーターの動作のロジックは理解できません(本質は理解しているのですが)。でも...
いいですか、問題はまさにこのブロックにあるんです。
ある時点では、バッファに値が書き込まれないため、値として「0」が割り当てられる。それゆえ、スティックはゼロになった。ロジックをどう組み立てるか、何を足すか......理解できない。しかし、パラメータを含むフラグがあるため、明らかにデータは書き込まれません。
DrawChannel=false;
そのため、バッファに値が割り振られることはない。- どうにかして遊びたいんですよね。
まだ具体的には言えないのですが......正直なところ、あなたのインジケーターのロジックは理解できません(理解はできるのですが......)。でも...
いいですか、問題はまさにこのブロックにあるんです。
ある時点でバッファに値が書き込まれなくなるため、値として "0 "が割り当てられる。それゆえ、スティックはゼロになった。ロジックをどう組み立てるか、何を足すか......理解できない。しかし、パラメータを含むフラグがあるため、明らかにデータは書き込まれません。
そのため、バッファに値が割り振られることはない。- どうにかして遊びたいんですよね。
なるほど、理屈の問題なんですね。考えておくよ。
よろしくお願いします。
追伸
PauseBarパラメータを他のパラメータのセットで増加させ、あなたの履歴上ですべてがうまくレンダリングされているかどうかを確認し、またはそれにも問題があるのでしょうか?
なるほど、理屈の問題なんですね。考え続ける。
よろしくお願いします。
追伸
少なくとも、PauseBarパラメータが他のパラメータのセットで増加するかどうか、それも問題があるかどうかを確認しますか?
PauseBarを増やして確認したところ、1分と5分でこのような棒グラフになりました。しかし、正しくバイパスする方法がわからない。の場合は、おそらく(当然ではあるが)値を書く必要があることは理解した。
DrawChannel=false;
в
前のバーの値 - このようなものです。
しかし、いざやろうとすると、インジケーター全体が「動いてしまう」のです。ロジックが理解できないので、どこにどんな条件で入れればいいのかがわからないのです。拡張Ascicodeテーブル文字を表示するにはどうすればよいですか。
これをANSIという。
スクリプトを添付します。
フォーラムで初めて、私は私に興味のある質問をすることにしました - それはすでにオープンポジションに私のコメント(1回以上)を挿入するために、端末でそのような変更を加えることは可能ですか? あなたがコメントを開いたときにすぐにではありません。
いいえ