MQL5への願い - ページ 37

 
stringo:

使っていない機能のメッセージを表示するのはもったいないという印象があります。もしかしたら、このメッセージは誰も必要としていないのでは?

必要なメッセージですが、ライブラリではなくプラグインを使うことで、このような不都合が生じます。

 
stringo:

使っていない機能のメッセージを表示するのはもったいないという印象があります。もしかしたら、このメッセージは誰も必要としていないのでは?

いや、必要なのかもしれない。デフォルトで非表示(1行に折りたたまれる)にしておけば、邪魔にならず、必要なときに利用できるようになります。

 
stringo:

使っていない機能のメッセージを表示するのはもったいないという印象があります。もしかして、このメッセージは誰も必要としていないのでは?


ファイルを開く際のエラーメッセージ、Check()関数によるロットチェック、ArrayMaximum()、ArrayMinimum()のインデックスの誤りに関するメッセージ等も不要です。

 
テスターのトランザクションログの成功メッセージ、必要性は?トランザクションの数が多いと、エラーメッセージや 独自のメッセージをログから探すのが非常に面倒になります。
 

こんな編集者が欲しい!

 
画期的な解決策 - チャートを上下反転させるボタンがあれば、弱気や強気の観点からシグナルを確認できる))
 
delyus:
画期的な解決策 - チャートを上下反転させるボタンがあれば、ベアとブルの観点からシグナルをチェックできる))

多くのビデオカードが対応しているようですね。そして、ボタンがあります。180°回転させる。

 

外部変数にヒントを追加する機能は、非常に必要です。時には変数が多く、その特徴をすべて覚えておくのは難しい。

MQL5で一番簡単な方法です。

extern int    AvgType   = 0  comment "Тип скользящей средней:\n   0 - обычная;\n   1- линейная регрессия";
extern double RiskLevel = 15 comment "%";

MT5ではこのように表示されます。


また、MQL5でクラスができることを考えると、基本的な「外部変数」クラスを完全に作成し、機能を大幅に拡張することも可能です。例

extern int AvgType = 0 comment "Тип скользящей средней";
// Фактически, это будет равносильно конструкции:
extern AvgType = extern.Create(int, 0 [,"Тип скользящей средней"]);
// Для простоты и для backward-совместимости можно использовать в MQL5 обе конструкции или только первую
// Эти свойства задались уже при создании переменной.
// Менять их в программе, в принципе, особого смысла нет.
// Так что можно их (некоторые из них) сделать read-only
AvgType.DataType = int; 
AvgType.Value    = 0;
AvgType.Comment  = "Тип скользящей средней";
//=== Для чего нужны вот эти всё свойства - смотреть рисунок-пример далее... ===
// Границы для настройки оптимизатора.
// (Если они заданы, то пользователь не сможет выбрать значения за их пределами.)
AvgType.MinValue  = 0;
AvgType.MaxValue  = 1;
AvgType.StepValue = 1; // граничный - т.е. минимальный шаг, к которому чувствителен эксперт
// Значения по умолчанию для настройки оптимизатора.
// (Это подмножество граничных значений.)
AvgType.MinValueDefault  = 0;
AvgType.MaxValueDefault  = 1;
AvgType.StepValueDefault = 1;
// Пояснения к значениям переменной
AvgType.Values.Add(0, "обычная");
AvgType.Values.Add(1, "линейная регрессия");

結局のところ、外部変数のすべての設定はExpert Advisorの起動前にユーザーが利用できる必要があるため、複数の個別のコマンドで設定可能なオブジェクトとしての変種を実装することは、おそらく困難であると理解しています...。しかし、私はアイデア、コンセプト(そして、簡単に実装できる最小限の1行のバリエーションも最初に提案しました) - そして、技術的にどのように実装するか、MetaQuotesは独自の - より受け入れやすい - ソリューションを見つけることができるだろうと思います。

 

MQL5ではありません。:)投資家へのアクセス。多くの人がそのことを語り、希望を出しています。もう一つの方法として、投資家のパスワードを2つにすることを提案します。

1回目のパスワード - 履歴と現在の募集 要項を見ることができます。

2-パスワード - 履歴を見ることができますが、現在のポジションは詳細がなく、統計情報(オープンポジションの数、浮動利益の合計)を見ることができるだけです。


これにより、ロックされた口座での取引が重複しないように保護することができます。端的に言えば、「タダ同然の信頼管理」になるケースを避けるためです。

 
SK. писал (а):

あと、if()勘弁して ほしい。

こんなコードに出会いました。

while ( true )
{
   if ( condition1 )
   {
      Alert("1");
      break;
   }
 
   if ( condition2 )
   {
      Alert("2");
      break;
   }
 
   break;
}
正しいものだと思います ;)