MQL5に関するご意見・ご感想 - ページ 4

 

パッドを作る方法はありません

いかなる形であれ、多重継承を行わない

不明確なポインタ

参考文献なし

構造物のコピーに関する方針が不明確である。そして授業も。

エラーやコンパイラが生成する警告について、例を挙げての適切な説明がない。

整数型(と列挙型、だと思う)の型付けに問題がある。

これはざっと見ただけですが。

ただ、みんな慣れているんですよ。コーディングは可能ですが、MQL5という言語は確かに繊細で奇跡的なものとは言えません。

 
開発者は共感するしかない。ある人はシンプルで簡素なものを求め、ある人は高級言語のすべての機能を求め、その両方を満足させ、すべてをうまく機能させる必要がある )
 
Renat Fatkhullin:

こちらもぜひご覧ください。https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants#enum_symbol_info_double

一般的に証拠金は、異なるポジション・指標の重ね合わせの結果であるため、単一の指標を基に算出することはできません。また、取引所取引では、証拠金計算を取引所自体に移管することができ(取引所が要求)、取引所はその複雑かつ閉じたロジックに基づいて、最終的な証拠金を生成します。

この取引をしたら十分な証拠金が得られるか」という積分計算のために、標準関数OrderCalcMarginがあります: https://www.mql5.com/ru/docs/trading/ordercalcmargin

以下はそのコードです。

string txt=NULL;
double GetMarginInitial=0,GetMarginMain=0;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit()
  {
   if(!SymbolInfoDouble(Symbol(),SYMBOL_MARGIN_INITIAL,GetMarginInitial))
     {
      Print(" SYMBOL_MARGIN_INITIAL ",GetLastError());
      return(false);
     }
   txt+="\n"+(string)(GetMarginInitial*SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN));

   if(!SymbolInfoDouble(Symbol(),SYMBOL_MARGIN_MAINTENANCE,GetMarginMain))
     {
      Print(" SYMBOL_MARGIN_MAINTENANCE ",GetLastError());
      return(false);
     }
   txt+="\n"+(string)GetMarginMain;
   
   Comment(txt);
   
   return(INIT_SUCCEEDED);
  }

先物に1ロット5800ルーブルのための最初の証拠金の要件を示していますが、あなたは外国為替のこのコードを使用するときは0を言う...

ヘルプには次のように書かれています。

シンボルマージン初期値

イニシャル(イニシエーション)マージンとは、 1ロットのポジションを建てるために必要な証拠 金のことを指します。市場に参入する際に、顧客の資金を確認するために使用されます。


そして、それ以外には何もない.通貨の証拠金はどのように計算するのですか?楽器の種類を決めて、計算式で計算するしかないと思うのですが......。

 
Vladimir Pastushak:

以下はそのコードです。

先物では1ロットの必要証拠金が5800ルーブルと表示されますが、このコードをFXで使用すると0 ...

そして、リファレンスにはこう書かれています。

シンボルマージン初期値

イニシャル(イニシエーション)マージンとは、 1ロットのポジションを建てるために必要な証拠 金のことを指します。市場参入時の顧客資金の確認に使用されます。


そして、それ以外には何もない.

はい、このパラメータは、先物の必要証拠金を管理するためのものです。

FXの場合は、自分自身で再計算して、1ロットあたりの証拠金を 大まかに出すことができますが(トレーダーが何をしたいのか(買いか売りか)分からないので、そうする必要がある)。

 
Фьючерсные объемы для МТ:

パッドを作る方法はありません

いかなる形であれ、多重継承を行わない

これは少し後でやります。通常の相続があります。


不明確なポインタ

参考文献なし

リファレンスやポインタがあります。安全に管理されています。


構造体のコピーに関する方針が不明確である。そして、授業も。

正確に理解できる - 単純な(動的でない)フィールドを持つ構造体は自動的にコピーされます。それ以外は、コピー機能を書いてください。

すでに、構造体をコピーする仕組みを、いくつかの(クラス以外の)動的な型を使って拡張することを計画しています。これで、ほとんどの作業が楽になります。


コンパイラの エラーや警告について、例を挙げての適切な説明がない。

エラーおよび警告文は、他のコンパイラと同じ/類似しています。この場合、誰も車輪を再発明したわけではありません。


整数型(およびenumなど)の型付けの問題

型剛性を優先する。だからこそ、危険な配属や転換のシシュの自由が許されないのです。


この言語はまだ開発中で、まもなく新しい最適化コンパイラ(現在はOptimize=1で有効)がリリースされると、私たちはMQL4/MQL5コンパイラを本格的にバージョンアップする予定です。

 
Serhiy Dotsenko:
dacさんが、VSでmqlのコードを編集する方法を既に書いています。コンパイルはできませんが、VSで編集してMEでf7を押すとできます )

興味津々...どこで書いたのですか? また、標準クラスを 使いたい場合、探してくれるのですか、それとも記憶から打ち込まなければならないのでしょうか?

私はコードに慣れていますが、私はちょうどメモ帳に切り替えたかのように、他のエディタの後、私は慣れることができないエディタ:)

 
sigma7i:

興味津々...どこで書いたのですか? また、標準クラスを 使いたい場合、探してくれるのですか、それとも記憶から打ち込まなければならないのでしょうか?

コードには慣れたけど、エディタに慣れない、他のエディタに続き、メモ帳を使っているみたいだ :)

エディターもアップグレードする予定ですが、他に優先すべきことがありました。

もしかしたら、プラグインへの道を開くかもしれません。

 
Renat Fatkhullin:

はい、このパラメータは先物の必要証拠金を管理するためのものです。

FXの場合は、1ロットの証拠金を 再計算して、大まかな(トレーダーが何をしたいのか(買いか売りか)わからないので)を出すことができる(しなければならない)のですが。

cfdインデックスにはゼロも返される・・・ヘルプには原理的に十分な数式が書かれているが、コメントアウトされていない・・・。

をご存知の方がいらっしゃるかもしれません。


マージン:(ロット*契約サイズ*市場価格*比率)/レバレッジ

利益:(クローズ価格-オープン価格)*契約サイズ*ロット数


パーセンテージとは 何ですか?
 
Vladimir Pastushak:


マージン:(ロット*契約サイズ*市場価格*比率)/レバレッジ

利益:(クローズ価格-オープン価格)*契約サイズ*ロット数


パーセンテージ - ドキュメントのどこにも一言も 書いてないのに...。

ターミナルのヘルプを見る -https://www.metatrader5.com/ru/terminal/help/trading_advanced/margin_forex
 
Rashid Umarov:
ターミナルのヘルプを見る -https://www.metatrader5.com/ru/terminal/help/trading_advanced/margin_forex
これらの係数は、SymbolInfoMarginRateで 取得できます。