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

 

キューブといえば!

不要な "キューブ "を消す方法を教えてください。

 
im-zvv:

キューブといえば!

不要な "キューブ "を消す方法を教えてください。

そのためには、この「キューブ」がどの位置にあり、何バイトを占めているかを知り、そこにファイルポインタを書き換えて、その場所に新しい値を書き込む必要があります。

そのため、文字列の長さが異なる場合、現実的ではありません。必要な "キューブ "が何バイトになるか計算できなくなる。

 
Alexey Viktorov:

そのためには、この「キューブ」がどの位置にあり、何バイトを占めているかを把握し、そこにファイルポインタをラップして、新しい値を書き込む必要があるのです。

そのため、文字列の長さが異なる場合は、単純にできないのです。右の「立方体」に何バイトか計算できなくなるのです。

当然ながら、これらの計算をすべて行うと、処理時間が長くなります。

他の方法を探します。

ありがとうございます。

 
Alexey Viktorov:

そのためには、この「キューブ」がどの位置にあり、何バイトを占めているかを知り、そこにファイルポインタを書き換えて、この場所に新しい値を書き込む必要があります。

そのため、文字列の長さが異なる場合は、単純に実行することができません。何バイトで目的の「立方体」になるのか、計算できなくなるのです。

もし、それが重要でなく、WinApiが使えるのであれば、FileMappingによってその課題は解決されると思います。

 

何でもやってみる。まず、リザーブ用の抽象的な変数で、「空の」ファイルを作ることから始めます。そして、入手したデータに置き換える。

もしかしたら、うまくいくかもしれない。ただ、ファイルサイズが大きくなる可能性があります。読み込むたびに新しいバックアップを作成する必要がありますね。

 
mql4で新しいオペレータの使用に関する記事を探しているですが、そのような記事を教えてください関数やグローバル変数があるのに、なぜクラスが必要なのか、誰か簡単に説明してください。何度もビデオを見て、ヘルプも読みましたが、まだ何が言いたいのかわかりません。
 
Seric29:
mql4で新しいオペレータの 使用に関する記事を探して、そのような記事をアドバイス?何度もビデオクリップを見たり、ヘルプファイルを何度も読みましたが、クラスの意味がわかりません。

MQLのnew演算子は、オブジェクト・インスタンスへのポインタを作成するためにのみ必要です。


MQLのプログラムは非常に特殊で、OOPは主にカプセル化に適しています。私は上記のCWorkTime クラスの例を挙げました。https://www.mql5.com/ru/forum/160683/page861#comment_11840254

のように、カプセル化を使って複数のタイムリミット・オブジェクトのインスタンスを作っておくと便利です。

int OnInit()
{
   Work1=new CWorkTime(StartHour_1,StartMinute_1,StopHour_1,StopMinute_1);
   Work2=new CWorkTime(StartHour_2,StartMinute_2,StopHour_2,StopMinute_2);
}

.....


void OnTick()
  {

if(Work1.Disable() || Work1.Disable())
{
 Comment("Не торговое время!!!");
 }
else
{......

例えば、私の例では、EAの作業時間の間隔を2つ指定できるようになりました

SZY: 読みました - フォーラムの記事セクション「オブジェクト」を検索します。

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2019.05.26
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
Igor Makanu:

クラスがデータ変数と関数を構成していることは明らかで、残りの範囲では、私が正しく理解していれば、おそらく強力なことを行っているのでしょう。

 

なぜこのコードは動かないのか?

#property version   "1.00"
#property strict
string iComments="\n 
 class CArray : public Cobject 
{
public:
    double m_Array[100];
}//дальше в OnInit()
 {Carray *arr = new CArray;
   arr.m_Array[22] = 1.23456;

....
}

クラスはコロン :: で記述すべきなのかもしれません。 別のポインタを指すポインタを作成することです。

 

こんにちは。

Alexey Viktorov 氏から引用のヒントをいただき、ありがとうございます - すべてうまくいきました。今週の月曜日は、ドイツ人が貿易を行い、イギリス人は休みという状況です。ユーロのポジションを開く 条件として、ポンドの古い値を使用していたことが判明しました。そこでお願いなのですが、この日に両方のシンボルが取引されていることをコードで確認する方法を教えていただけないでしょうか。

ありがとうございます。