mql5言語の特徴、微妙なニュアンスとテクニック - ページ 8

 

ヘルプに書いて あります

enum_symbol_calc_mode

識別子

商品説明

シンボルカルクモードFX

Forexモード - FXのための利益とマージン計算

マージン:ロット*契約サイズ/レバレッジ

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

シンボル_計算_モード_先物

先物モード - 先物の証拠金と利益を計算します。

Margin: Lots *InitialMargin*Percentage/100

利益:(終値-始値)*TickPrice/TickSize*Lots

シンボルカルクモードCFD

CFDモード - CFDのマージンと利益の計算

マージン:ロット*契約サイズ*市場価格*百分率/100

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

シンボルカルクモードインデックス

CFDインデックスモード - CFDインデックスのマージンと利益の計算

マージン:(ロット*契約サイズ*市場価格)*TickPrice/TickSize

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

symbol_calc_mode_cfdleverage

CFD レバレッジモード - レバレッジ取引時のCFDの証拠金と利益を計算します。

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

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

シンボルカルクモードエクスチェンジストック

取引所モード - 取引所での証券取引における証拠金および利益の計算

マージン:ロット*契約サイズ*オープンプライス

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

シンボル_計算_モード_為替_先物

先物モード - 取引所での先物取引における証拠金と利益の計算

マージン:Lots*InitialMarginまたはLots*MaintenanceMargin

利益:(終値-始値)*ロット*TickPrice/TickSize

シンボル_計算_モード_為替_先物_港

FORTS先物モード - FORTSで先物取引を行う際の証拠金や利益の計算を行うモードです。以下のルールにより、MarginDiscountの値により証拠金の大きさが減少する場合がある。

1.ロングポジション(買い注文)の価格が計算された価格より低い場合、MarginDiscount = Lots*((PriceSettle-PriceOrder)*TickPrice/TickSize)

2.ショートポジション(売り注文)の価格が決済価格より高い場合、MarginDiscount = Lots*((PriceOrder-PriceSettle)*TickPrice/TickSize)

のところです。

    • PriceSettle - 前セッションの決済(清算)価格です。
    • PriceOrder - 注文(オーダー)で指定されたポジションの加重平均価格または始値です。
    • TickPrice - 刻み値(1ポイントの価格変動にかかるコスト)。
    • TickSize - 刻み幅(価格変動の最小ステップ)です。

マージン:Lots*InitialMarginまたはLots*MaintenanceMargin

利益:(終値-始値)*ロット*TickPrice/TickSize

シンボル_計算モード_サービス_担保

担保モード - 取引口座で非取引資産として使用されます。未決済ポジションの時価は、出来高、現在の市場価格、契約サイズ、流動性比率に基づいて計算されます。その価値は、資産に計上され、資本に加えられます。したがって、そのような商品のオープンポジションは、自由証拠金を増加させ、取引商品のオープンポジションの追加担保として機能します。

マージン:なし

利益:なし

時価:ロット*契約サイズ*時価*流動性率

 
fxsaber

ヘルプに書いて ありますね。

失礼ながら、また 読んでいただくつもりです。

追伸

得られますが、AUDCADを使用すると、ドル建ての口座でありながら、豪ドルの通貨で証拠金を得ることになります。AUDUSDの価格を使えば、必要な証拠金額は得られますが、接頭辞や接尾辞を持つ口座もあるので、万能ではなく、ここからが本番です。また、単にマーケットオーバービューで開いているペアがなく、計算が行き詰まることもあります。

お金で動くプログラム(開発者の主張)は、計算できない。古くて悪くて遅いmt4はお金で動くことができましたが、新しくて派手なmt5ではできません。どうしてですか?

 
ファクスセーバー

リンク先にあるこの数式を使用します。

例えば、CADJPYの担保を計算する場合、CADで担保を取得します。

SymbolInfoDouble("CADJPY",SYMBOL_TRADE_CONTRACT_SIZE) / AccountInfoInteger(ACCOUNT_LEVERAGE)*0.7625 // СADUSD

0.7625が 見えますが、これはCADUSDの価格ですが、ターミナルにはそのようなペアすらありません。

MODE_MARGINREQUIRED」機能を「コピーペースト」方式でmt5に移植し、開発者を楽にすることはそんなに難しいことでしょうか?

 
アルチョム・トリシキン
プログラムの種類によらず計算できるようにしたい。
開発者は、証拠金計算(および他のいくつかの情報機能)は取引機能 であり、インジケータで禁止されるべきであると考えています。私はこのテーマで真面目なスレッドを立ち上げたのですが、そのモデレーターはいつものように匿名で即座にそれをカットしました。今となってはどうでもいい、KBでマージン無しの中性化したインジケータを投稿。
 
ヴィタリー・ムジチェンコ

失礼ながら、私はあなたを読書に連れ戻す つもりです。

確かに、うっかりしていました。私はこれまでなんとなく、マージンの計算が不要だと思っていました。特に指標では。指標ではどこが必要になるのでしょうか?

解決策はとてもシンプルだと思います。暇になったら、考えよう。

 
ヴィタリー・ムジチェンコ

得られますが、AUDCADを使用すると、証拠金がAUD通貨で取得され、口座はドル建てになります。AUDUSDの価格を使用すると、必要なマージンを得ることができますが、接頭辞や接尾辞を持つアカウントがあるので、普遍的で悪い、ここで全体の物語を開始します。また、マーケット・オーバービューで開いているペアがないだけで、計算は水の泡になることもあります。

また、AUDUSDがマーケットオーバービューにない場合、4つのリターンはどうなるのでしょうか?

指標におけるマージンリフレクションという特定のタスクのために、接頭辞と接尾辞を考慮して(あるいは補助アドバイザーを使って)松葉杖を構築することは可能である。トレードのためのすべてがある。

 
アンドレイ・ハチムリアンスキー

また、AUDUSDがマーケットオーバービューにない場合、4つのリターンはどう なるのでしょうか?

インジケータでのマージン表示という特定のタスクのために、接頭辞と接尾辞を考慮した松葉杖を作ることができる(または補助EAを使用する)。そして、トレーディングについては、すべてが揃っているように思います。

4は"MODE_MARGINREQUIRED"を返します )

アレクセイ・ヴォルチャンスキー
証拠金計算(と情報提供機能からの何か)は 取引機能 であり、インジケータでは禁止すべきと思うのですが。私はこのテーマで真面目なスレッドを立ち上げたのですが、そのモデレーターはいつものように匿名で即座にそれをカットしました。今となってはどうでもいい、KBでマージン無しの中性化したインジケータを投稿。

本当に取引しているのか?)))そうはいっても、発砲は禁止されているわけではありません。何を取引するのだろう、開けたり閉めたり、注文を修正するだけなのだろうか。

fxsaber

確かに、うっかりしていました。私はもともと信用計算が不要でした。さらに、指標では必要ない。指標で必要と思われるところは?

解決策はとてもシンプルだと思います。自由になったら、発明する。

MAやストキャスティクスに加え、情報量の多い指標もあります。例えば、取引を行う前に預金を知るための情報指標(MMを観察)、ロットを計算し、それがあなたのTSの条件に適合するかどうかを確認し、取引を入力し、別の信号を待つことはありません。そして、これはその使い方の一例に過ぎません。

 
fxsaber

解決策はとてもシンプルだと思います。暇な時にでも考えよう。

解決策はすぐに見つかった。
// Размер свободных средств, необходимых для открытия 1 лота на покупку
double GetMarginRequired( const string Symb )
{
  MqlTick Tick;

  return(SymbolInfoTick(Symb, Tick) ? Tick.ask * SymbolInfoDouble(Symb, SYMBOL_TRADE_TICK_VALUE) /
        (SymbolInfoDouble(Symb, SYMBOL_TRADE_TICK_SIZE) * AccountInfoInteger(ACCOUNT_LEVERAGE)) : 0);
}
FOREXの計算です。あとは類推してください。
 
fxsaber
解決策はすぐに見つかった。
// Размер свободных средств, необходимых для открытия 1 лота на покупку
double GetMarginRequired( const string Symb )
{
  MqlTick Tick;

  return(SymbolInfoTick(Symb, Tick) ? Tick.ask * SymbolInfoDouble(Symb, SYMBOL_TRADE_TICK_VALUE) * SymbolInfoDouble(Symb, SYMBOL_TRADE_CONTRACT_SIZE) *
         SymbolInfoDouble(Symb, SYMBOL_POINT) / (SymbolInfoDouble(Symb, SYMBOL_TRADE_TICK_SIZE) * AccountInfoInteger(ACCOUNT_LEVERAGE)) : 0);
}
これはFOREXの計算です。あとは似たようなものです。
円ペアでのバグが残っています。
 
ヴィタリー・ムジチェンコ
円ペアでのバグが残っています。
はい、ちょっと失敗しました。今は正しいです。
理由: