MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 529

 
YanSay:

こんな感じ?

こんな感じでサイクリングします。

for(int i=OrdersTotal()-1; i>WRONG_VALUE; i--)

私はポストデクリメント/ポストインクリメントに慣れています。(ヘルプから)プリフィックスインクリメント(++i)およびデクリメント(--k)は、式でその変数を使用する直前に変数に適用されるので、プリフィックスインクリメント/デクリメントとは 異なり、理にかなっていると思います。

一方、あなたの比較はまったく正しくありません。

if(NormalizeDouble((Ask-OrderStopLoss()>Trailing*Point),Digits))

ここでは、ブール値(2つの値の比較結果)を正規化しています。Ask-OrderStopLoss() 式の値を Trailing*Point 式の値と比較し、この比較結果を正規化するのです。

比較結果は偽(0)か真(0以外)しかありえない。つまり、正規化するのはこのゼロか非ゼロかということです。

比較はそうやってやればいいんです。

if(NormalizeDouble((Ask-OrderStopLoss())-Trailing*Point,Digits)>DBL_EPSILON)
  {
   // Ask-OrderStopLoss() больше Trailing*Point
  }
 
Juer:
エラーがあるというのはどういうことですか?


2つのオブジェクトを持つ関数があります。

あるクラスは4000以上のフィールド(ほとんどがenum)を持つ構造を持っています。

このエラーはどうしたらいいのでしょうか?

bool              CheckCandleOneRules(CCandlePropertiesBase *candle,
                                      CCandleRule *rule,
                                      int dir);

ここでは、コンパイル時にローカル変数のサイズが大きすぎる(512kb以上)ことを指摘しています。

何を見、何をすればいいのか?この関数は、文字列配列CArrayStringを持っているので、エラーはそれに関連しているのではないかと思います。

Add()メソッドで注入した後、Clear()Shutdown() を再度行っています。そして、Add()メソッドを使って新しいデータで再度埋めています。この場合、配列はnull要素から再び満たされるのでしょうか?

 

どうすれば、歴史上、最も長い連続した多方向のローソク足を知ることができるのでしょうか?

例えば、1枚目は弱気、2枚目は強気、3枚目は弱気、といった具合です。ループと、そのようなローソクの数を記録するための変数が必要なのでしょうが、ループがどうあるべきか、どのような条件でループを抜けるのかが分かりません。

 
PolarSeaman:

どうすれば、歴史上、最も長い連続した多方向のローソク足を知ることができるのでしょうか?

例えば、1枚目は弱気、2枚目は強気、3枚目は弱気、といった具合です。ループと、そのようなローソクの数を記録するための変数が必要なのでしょうが、ループがどうあるべきか、どのような条件でループを抜けるのかがわかりません。

どのようなループで終了させればいいのかわからない。

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
  • www.mql5.com
Получает в массив rates_array исторические данные структуры MqlRates указанного символа-периода в указанном количестве. Отсчет элементов от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар. При копировании заранее неизвестного количества данных рекомендуется в качестве приемного...
 
Alexey Viktorov:

MqlRates構造 体の配列に対して、CopyRatesとループを実行します。

ありがとうございます、配列のループ、どのように? そして、いつ終了するか?

 
PolarSeaman:

ありがとうございます!配列ループ、どうやって? と終了するタイミングは?

オーダーリストと同じです。ただ、配列のインデックスの方向には 注意が必要です。そして、終了のタイミングは...。もし、一度だけ、最後の小節の間で行われるのであれば、シーケンスが途切れたらすぐに終了する必要があります。インジケータであれば、配列が終わった時点で終了します。
 
PolarSeaman:

どうすれば、歴史上、最も長い連続した多方向のローソク足を知ることができるのでしょうか?

例えば、1枚目は弱気、2枚目は強気、3枚目は弱気、といった具合です。ループと、そのようなローソク足の数を記録するための変数が必要なのでしょうが、ループがどうあるべきなのか、どのような条件でループを抜けるのかが分かりません。

どういうサイクルにすればいいのかわからないが、どういう状態から出せばいいのかわからない。

 
Alexey Viktorov:
が、シーケンスが途切れるとすぐに出てくる。

そもそも、このシーケンスはどのように記録すればよいのでしょうか。

 
Vitaly Muzichenko:

また、最大の整合性は、FXが作られたときから数えて?

それは素晴らしいことだ)しかし、ブローカーの履歴は限られており、すべての利用可能なを介して検索します。

 
PolarSeaman:

一般的に、このシーケンスはどのように書き留めるのでしょうか?

どう書けばいいのか、アレクセイは答えた。もし時間と希望があれば、彼が見たままのコードを書いてくれれば最高なのですが......)。

フラグを通して実装を見ますが、私には間違っているように思えて、挑戦する気にもならないのです。

PS.ちなみに、インジケーターというかEAなんですか?