初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 220

 
おい、みんな、助けてくれ!機能が思い浮かばない。Expert Advisor は、1 日に 1 つのポジションを開きます(00:00 から 23:59 の間)、つまり 1 日 1 回の注文です。課題は、連続した損失を求め、ログに表示することです(Print()というコマンドを使い、一度だけ表示します)。シリーズの要素数をキーボードから入力する(例えば、キーボードから5を入力し、シリーズの負け日数が4日の場合は、無視→5日以上の発生を待つ)。負けが連続している場合、または注文が1日で決済される場合(1日1回オープンされ、成行注文は1日以上「掛かる」ことがある)、シリーズとみなされる。例えば、ログには「次の日付の負けシリーズ:01.05, 02.05, 03.05, 04.05, 05.05」と記載されているはずです。重要な条件:キーボードから入力された値(extern)以上のシリーズを認識(結果的にログに出力)する。
//
個人的には以下のような考えを持っています:
1.Fiyaは、負け注文の配列にその終値(Mass[i] = OrderCloseTime();)を記入します。つ まり、負け注文の終値日時のみを格納する配列 です
2. i の位置と i-1 の位置(隣接する 2 つの要素)の要素から比較を 始めます
2.1 セルデータを日数に変換して比較します( TimeDayOfYear(Mass[i]) and TimeDayOfYear(Mass[i-1])
2. 2.)。(最初の負けた日 = 178、前の負けた日 = 176 とすると、連続しないので連続しない。それぞれ最初の = 178、次の = 177 とすると連続する)
2.3 for ループで、配列のすべてのセルを見て、その近傍を比較 します。配列の隣り合う要素で連敗している場合連敗と みなすために必要な最低日数に達するまで加速を開始 しよう。2.(
2.4 THE SERIES STOP --> 終了した配列要素のインデックスを記憶し、直列の要素数を記憶する (直列はキーボードから入力した値より == または大きくなる)
3.----ここから実現に向けた問題が始まる---
3.1 負けた日のシリーズを何とか「ステップバック」して、各要素の日付を知り、日付をdatetimeから文字列に変換し、
3.11 文字列を埋めて(よくわからないけど、StringAdd()とか)、LOGファイルに出力(百万回じゃなくて1回だけ)

Expert Advisorのアルゴリズムは重要じゃない、重要なのはユーザの機能そのもの

頼むから助けて!))
Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Переменные должны быть объявлены перед их использованием. Для идентификации переменных используются уникальные имена. Описания переменных используются для их определения и объявления типов. Описание не является оператором. Индексом массива может быть только целое число. Допускаются не более чем четырехмерные массивы. Нумерация элементов массива...
ファイル:
 
こんにちは。シグナルにサイン アップしました。しかし、数日後、数百人だった総増加率は58%にしかならなかった。前月までのパーセンテージは青色を失い、灰色に変化しています。なぜ、このようなことが起こるのでしょうか?その理由は何でしょうか?
ファイル:
 
Maestro8:
こんにちは。シグナルにサイン アップしました。しかし、数日後、数百人からの総増加率は58%にとどまった。前月までのパーセンテージは青色を失い、灰色に変化しています。なぜ、このようなことが起こるのでしょうか?その理由は何でしょうか?

またまた預金の仕切りを契約してしまいましたね。76回目のトレードの左側にあるチャートの縦線が見えますか?この線は、モニターに接続した瞬間を表しています。モニタリングに接続する前に、この口座は、このようなきれいな絵がない他の数十の口座から「引き出し」ました(安全に排出されました)。美しい指標を持つ預金はモニターと連動しており、美しい写真を好む新規参入者からお金を受け取ることができます。ですから、モニタリングに参加する前に得られた指標を鵜呑みにしてはいけません。

 

クラスのインスタンスのコピー。

この課題を作ったら

Cl1 = Cl2;

その後、Cl1を変更すると、Cl2も同様に変更されます。

だから、当然、課題は参考程度にしかならない。

しかし、私は、割り当て時に与えられたすべてのプロパティを格納するクラスのインスタンスを保存する必要があります。

どうすればいいのか?

 
Evgeny Potapov:

クラスのインスタンスのコピー。

この課題を作ったら

その後、Cl1を変更すると、Cl2も同様に変更されます。

だから、当然、課題は参考程度にしかならない。

しかし、私は、割り当て時に与えられたすべてのプロパティを格納するクラスのインスタンスを保持する必要があります。

どうすればいいのか?

たぶん、やってますよね。

CClass* cl1=new CClass;
CClass* cl2=cl1;

そして、あなたにはこれが必要です。

CClass cl1;
CClass* _cl1=new CClass;
CClass cl2=cl1;
CClass _cl2=_cl1;
CClass* cl3=new CClass(cl1);
CClass* cl4=new CClass(_cl1);

コピーコンストラクタが必要です。

class CClass{
public:
   CClass(){}
   CClass(CClass &mOther){this=mOther;}
};
 
Vladimir Simakov:

コピービルダーが必要です。

ありがとうございました。

試してみるが、仕組みがよくわからない。

コピーされたクラスへのコピーリファレンスを渡すと、何か違いがあるのでしょうか?

両者ともまた参考にされるのでしょうか?

 
Evgeny Potapov:

ありがとうございました。

試してみるが、仕組みがよくわからない。

コピーにコピーされたクラスへの参照を渡すとしたら、どんな違いがあるのでしょうか?

両者とも、また参考にさせていただくのでしょうか。

いいえ、そうではありません。これは新しいオブジェクトです。そして、コンストラクタでは、フィールドを埋めるだけです。そこにも微妙なところがあるので、よく噛んでみてください)ローカルヘルプには何も書いていないので(間違っているかもしれませんが)、C++でどうなっているのかを読んで、ローカルの実情に合わせて修正しましょう。グッドラック)

 
Vladimir Simakov:

それはないでしょう。これは新しいオブジェクトです。そして、コンストラクタでは、フィールドを埋めるだけです。ローカルヘルプには何も書かれていないので(間違っているかもしれませんが)、c++がどのようにそれを行っているかをすべて読み、ローカルの現実に合わせて調整してください。グッドラック)

そう、そういうことなんです。

ありがとうございました。

どのような仕組みになっているのか、著者から教えてもらうと面白いかもしれません。

{this=mOther;}

参照が転送されると思われるのに、なぜ値による転送があるのですか?

幸いなことに、このようなコピー構成は可能です

 

こんにちは。

MT4で、ポジションのエントリーポイントからマウスでテイクとストップロスを 設定できない理由を教えてください。

何か調整する必要があるのかもしれませんが、それが何なのか理解できません。

 
from_Reva:

こんにちは。

MT4で、ポジションのエントリーポイントからマウスでテイクとストップロスを 設定できない理由を教えてください。

おそらく、私は何かを設定する必要がありますが、私はそれが何であるかを理解していない、私を助けてください。

キーボードの「Alt」を押しながらドラッグしてみてください。