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

 
Alexey Volchanskiy:
ヘッジマージンを計算する方法はありますか?
Symbol関数で すべて計算できると思います。
 
fxsaber
ご指摘ありがとうございます。荒野ではSymbolInfoMarginRateです。だから、今はこんな感じです。
// Размер свободных средств, необходимых для открытия 1 лота на покупку
double GetMarginRequired( const string Symb )
{
}

MT5では、方向によって必要な証拠金が大きく異なる可能性があることを明確にしておく必要があります。すなわち、単一のMT4バリアントが機能しない場合があります。もちろん、FXの場合はそうではないでしょう。でも、忘れてはいけないことがあります。したがって、一般的には次のように書けばよいでしょう。
// Альтернатива OrderCalcMargin
bool MyOrderCalcMargin( const ENUM_ORDER_TYPE action, const string symbol, const double volume, const double price, double &margin )
{
}

ありがとうございました。今は何の問題もなく、あちこちで活躍しています。

MyOrderCalcMargin」機能はまだ取引されているのだろうか、もしそうなら、少なくともテスターではどのように取引するのだろうか)

 
fxsaber
Symbol関数ですべて計算できると思います。
残念ながら、Symbol機能は曲者である

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

バグ、バグ、質問

fxsaber さん 2017.02.28 10:48

Metaquotes-Demo、USDアカウント、RTS-3.17。

TickValueが間違った値を表示する - アカウントの通貨(USD)ではなくルーブルで表示される。

FxPro-ECN。GOLDとGOLDEUROは同じTickValueを持つシンボルです。ただし、明らかにEURUSDの時間帯では異なるはずです。

 
fxsaber

FIBOGroup-MT5サーバーSGDJPYにMT5のいたずら

この場合、MyOrderCalcMarginは正しく計算されますが、通常のOrderCalcMarginはそうではありません!


通常の機能は、機器の設定で指定された契約仕様に従ってカウント -マージン通貨 NOKで、それぞれ、1ロットのために1000 NOKを取られています。

通貨ペアSGDJPYの名前を分割してカウントしているのでしょう。1ロットで1000SGDを取得します。

従って、問題はブローカー側の契約内容の誤記である。該当するサーバーのブローカーにお問い合わせください。

 
fxsaber

つまり、すべてのOrderSendを取引環境と同期させ、落とし穴を回避するには、与えられたソースコードをmqhファイルとして作成し、プログラムに対応する#includeを作成すればよいのです。

タンバリンで踊るのはやめてもいいんですよ。

SDから、次のビルドからOrderSend()正しく動作するようになるとのことです :)

 
MQアレクサンダー

レギュラー機能では、商品設定で指定された約定指定に基づき、証拠金通貨 NOKの場合、1ロットあたり1,000NOKを 徴収します。

お客様の場合、通貨ペア名SGDJPYの分割である必要があり、1ロットで1000SGDが課金されます。

従って、問題はブローカー側の契約内容の誤記である。該当するサーバーのブローカーにお問い合わせください。

MT5には、任意の通貨を口座通貨に変換することができる隠れた仕組みが内蔵されています。この場合、OrderCalcMargin 1000 NOKは適切なUSDの数値に変換して出力されます。

この仕組みはぜひ公開して ください。例えば、こんな感じです。

double CurrencyExchange( const string Currency ); // возвращает курс валюты Currency к валюте счета

これらの為替レートは、OrderCalcMarginが計算するため、ターミナルで100%利用可能です。特にMetaQuotes-DemoのUSD口座でFORTSのシンボルを取ると、彼らの働きが顕著になります - 彼らの証拠金通貨はRURです。

特にTickValueチップ/バグの関係で

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

バグ、バグ、質問

fxsaber さん 2017.02.28 10:48

Metaquotes-Demo、USDアカウント、RTS-3.17。

TickValueが間違った値を表示する - アカウントの通貨(USD)ではなくルーブルで表示される。

FxPro-ECN。GOLDとGOLDEUROは同じTickValueを持つシンボルです。ただし、明らかにEURUSDの時間帯では異なるはずです。

 
こんにちは!ドキュメントを読んでいます。
OrdersTotal

Возвращает количество действующих ордеров.

int  OrdersTotal();

Возвращаемое значение

Значение типа int.

Примечание

Не следует путать между собой действующие отложенные ордера и позиции, которые также отображаются на вкладке "Торговля" в панели "Инструменты". Ордер – это распоряжение на проведение торговой операции, а позиция является результатом одной или нескольких сделок.

При "неттинговом" учете позиций (ACCOUNT_MARGIN_MODE_RETAIL_NETTING и ACCOUNT_MARGIN_MODE_EXCHANGE) по каждому символу в любой момент времени может быть открыта только одна позиция, которая является результатом одной или более сделок. Не следует путать между собой позиции и действующие отложенные ордера, которые также отображаются на вкладке "Торговля" в панели "Инструменты".

При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно может быть открыто несколько позиций.

Смотри также

OrderSelect(), OrderGetTicket(), Свойства ордеров
また、「アクティブ・オーダー」という言葉の解読はどこにあるのでしょうか?
有効な保留中の注文」と「有効で ない 保留中の注文」、 これらは何でしょうか?
 
Leo59 です。
こんにちは、ドキュメントを読んでいます。
OrdersTotal

Возвращает количество действующих ордеров.

int  OrdersTotal();

Возвращаемое значение

Значение типа int.

Примечание

Не следует путать между собой действующие отложенные ордера и позиции, которые также отображаются на вкладке "Торговля" в панели "Инструменты". Ордер – это распоряжение на проведение торговой операции, а позиция является результатом одной или нескольких сделок.

При "неттинговом" учете позиций (ACCOUNT_MARGIN_MODE_RETAIL_NETTING и ACCOUNT_MARGIN_MODE_EXCHANGE) по каждому символу в любой момент времени может быть открыта только одна позиция, которая является результатом одной или более сделок. Не следует путать между собой позиции и действующие отложенные ордера, которые также отображаются на вкладке "Торговля" в панели "Инструменты".

При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно может быть открыто несколько позиций.

Смотри также

OrderSelect(), OrderGetTicket(), Свойства ордеров
また、「アクティブ・オーダー」という言葉の解読はどこにあるのでしょうか?
有効な未決済注文」と「有効で ない 未決済注文」、 これらは何でしょうか?

未決済注文 - bystop、sellstop、bylimit、bystop。

ポジション - 買いと売り

Not active - 削除された注文とクローズしたポジション。

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

未決済注文 - bystop、sellstop、bylimit、bystop。

ポジション - 買いと売り

Not active - 削除された注文とクローズしたポジション。

Vitaly Muzichenko:ありがとうございます。
注文は取引 操作のための命令であるため、保留中の注文のみを「有効な注文」とみなすことができ、買いおよび売りポジションは取引操作のための命令ではない。それとも、私が「何かを見逃している」のでしょうか?
 
有効な注文 - 約定または取消待ちの取引注文で、TP/SL注文とマージンコール注文は除く。有効な注文は、買いおよび売りの場合があります。
理由: