エラー、バグ、質問 - ページ 2750

 
fxsaber:

すみません、うまく形にできないんです。

機能の話なのに、最初に文字列を強調されたのが一番戸惑いましたね。

もし、関数キャッシュでテストしていたら、もっと分かりやすかったと思います

 
Sergey Dzyublik:

この問題を解決する方法として、開発者は定義済みの変数を導入することを提案しています。

また、なぜある間隔で2回連続して呼び出すと、同じ結果になるのでしょうか?

void f()
{
   MqlTick tick1, tick2; 
   SymbolInfoTick(Symbol(),tick1); //1
   /*вычисления*/
   SymbolInfoTick(Symbol(),tick2); //2
}
const MqlTick _Tick;
void f()
{
   MqlTick tick1, tick2; 
   tick1 = _Tick; //1
   /*вычисления*/
   tick2 = _Tick; //2
}
 
A100:

また、なぜある間隔で2回連続して呼び出すと、同じ結果になるのでしょうか?

でも、ネイティブのキャラクターを使ったテストなら問題ないでしょう。
 
A100:

また、なぜある間隔で2回連続して呼び出すと、同じ結果になるのでしょうか?

なぜなら、私たちはSleepを 使わずにTesterだけを話しているからです-99%のEAがそうです。

任意のテスターの遅延については、このモードが有用であることを見たことがないので、よくわかりません。

 
fxsaber:

テスターの任意遅延については、このモードが有用であることを確認したことがないので、何とも言えません。

注文を扱う機能のデバッグにしか使っていない

テスターのチャートがどれだけ傾きを変えるか、つまり成行注文を扱う取引ロジックがどれだけ "遅れるか "を確認するのに非常に便利です。

 
Sergey Dzyublik:

MEデバッガ(build 2370)の不具合 -ブレークポイントが発生した後(F5)を押してコードの実行を継続する代わりに、実際にはコードを実行せずに 同じブレークポイントが再度発生 します。

再生手順:
1) 手動で
arr.Add() 」の両行にブレークポイントを 設定する;
2) デバッグ開始(F5);
3) PCMを使って <GenericArrayList.mqh> ネストファイルを新しいタブに開く。
4) "bool CArrayList::Add(T item)" 関数の中から "if(m_size==ArraySize(m_items))" という行を探しブレークポイントを手動で設定 します。
5) "
ArrayList.mqh "タブに いる間、コードの実行を続ける(F5)

これにより、
実際のコード実行を伴わない、以前と 同じブレーク ポイントが発生 します。

メッセージをありがとうございました。

修正方法

 
fxsaber:

なぜなら、Sleepを 使わずにTesterの話だけをしているからです-99%のEAがそうです。

テスターの任意遅延については、このモードが有効であることを確認したことがないので、何とも言えません。

根本的に何かを変えることなく、その録音が作りやすくなる(実際そうなのだが)。

SymbolInfoTick( NULL, tick ); //1

ということになる

SymbolInfoTick( Symbol(), tick ); //2

少なくとも文字列のコピーについては問題ないでしょう

 
A100:

根本的に何かを変えることなく、(実際そうなのですが)エントリーの方が作りやすいのです。

というと

少なくとも、ラインのコピーという問題は解決しています。

MqlTick構造体への最速のアクセスが必要なのです。

シンボルへのアクセスがあるのは、ある種のパラドックスですね.にアクセスすることはできませんが

const MqlTick _Tick; // Текущий _Symbol-тик.

MQL言語は取引戦略の開発言語として位置づけられていますが......。現在のティックの 価格がわからないと、どんなTSがあるのかわからない

 
Igor Makanu:

最終的には別のものを要求しており、MqlTick構造体への最速のアクセスが必要です。

で、何がいけないかというと

SymbolInfoTick( NULL, tick ); //1

がダメなんですか?ボトルネックはどこなのか、教えてください。もし、遅いのであれば、開発者は、根本的な変更なしに、そのような呼び出しをインライン化/最適化する方法を持っていることになります。

 
A100:

魅力的な点

がダメなんですか?もし、それも遅いのであれば、開発者はそのような呼び出しをインライン化/最適化する方法を持っています。

はい、少なくともテスターでは遅いです。テスターにはそう書いてあります。https://www.mql5.com/ru/forum/1111/page2749#comment_16487642

オプティマイザーのパス回数が多い場合、その分ゲインが大きくなります。


どう説明したらいいのか、初歩的なことがわからない......」。

EAはどのように書くのですか?- 手続き型またはOOP型のライブラリをコンパイルし、各機能を別のプロジェクトに完全に移行できるようにし、これを確実にするために、Bid, Ask everywhereと記述します - 私の例です。そして、その空白を利用して取引戦略を組み立てるのです。開発者が今提供するもの - あらゆる場所にSymbolInfoDouble()を記述すること