初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1250

 
Youri Lazurenko:

ありがとうございます。mql5では、そのような迷宮は作られていない。まっすぐゴールに向かうのではなく、回り道をして、行き止まりや障害物をたくさんくぐり抜けなければならない。 言語のための言語です。

MQL4では、ポジションにマジックを設定することもできます。

ここでは、SBのトレードオブジェクトを使用することにしました。つまり、その作成と初期化の際に、パラメータを設定する必要があるのです。そして、トレーディング機能に使うだけです。このようなオブジェクトは多数存在する可能性があり、それぞれに異なるパラメータを設定することになります。そして、それぞれのオブジェクトに設定されたシンボルやマジックサインの取引注文を 管理するために必要なオブジェクトに適用し、TSによって異なる瞬間に必要とされるものです。

というくらいにシンプルです。

 
Artyom Trishkinさん、こんにちは。2020.09.14_01:14 GMT+3.標準のMoving Average EAをベースに、取引開始と取引終了の2つの条件を変更しました。ストラテジーテスターで Expert Advisorがポジションのオープンとクローズの2番目の条件のみを満たしているのを確認しました。 1番目の条件は無視されます。Expert Advisorはそのままではシンプルですが、複雑なEAはどのように書けばすべてがうまくいくのでしょうか?トレードの開始と終了の条件を少なくとも2つ動作させるには?また、取引を開始するための条件が増えるかもしれません。これらの質問の答えをご存知ですか?お願い、アドバイスしてください。Expert Advisorのファイルを添付します。01:26 GMT+3。
ファイル:
 
Artyom Trishkin:

MQL4では、ポジションにマジックを設定することもできます。

ここでは、SBのトレードオブジェクトを使用することにしました。つまり、作成・初期化時に、そのパラメータを設定する必要があるのです。そして、トレーディング機能に使うだけです。このようなオブジェクトは多数存在する可能性があり、それぞれに異なるパラメータを設定することになります。そして、それぞれのオブジェクトに設定されたシンボルやマジックサインの取引注文を 管理するために必要なオブジェクトに適用し、TSによって異なる瞬間に必要とされるものです。

というくらいにシンプルです。

こんにちは。ご返信ありがとうございました。私の見解を述べます。MQL4で注文を開く際、magikを含むパラメータを指定しますが、#include <TradeOrderInfo.mqh> では、magik以外の全てを指定しています。例えば - CTrade::BuyLimit(const double volume,const double price,const string symbol=NULL,const double sl=0.0,const double tp=0.0,const ENUM_ORDER_TYPE_TIME type_time=ORDER_TIME_GTC,const datetime expiration=0,const string comment="") のようになります。私見では、これは修正ではなく、別のマジコンパラメータを導入することで修正すべきと考えます。あるいは、#include <Trade HistoryOrderInfo.mqh>には、注文で取った利益(損益)以外のすべてが含まれて います。注文に関する重要な情報なのに、それが欠落している。最後に閉じた注文の利益を求める必要があります。この情報はComment()に表示される。そして、私たちは見ることになるでしょう。未決済の注文(ポジション)がある間は、コメントには最後の注文の利益が表示されます。 注文(ポジション)が開かれると同時に、注文が閉じられるまで、コメントには0が表示されるのです。すなわち、注文はまだ市場にあるが、同時に歴史の中にあり、それは同時に2つのハイポステー スにとどまる。しかし、これはナンセンスです。だから、「言葉はあくまで言葉のためにある」と言うのです。私見ですが、細部にわたって不完全な部分が多いように思います。

 
Youri Lazurenko:


概念(特に「順序」)を混同している。市場にはREMOTE ORDERやPOSITIONが存在する可能性があります。詳しくは、ヘルプ:一般原則を ご覧ください。

CTradeクラスは自己完結しており、欠陥はありません。あなたが実装コードを見ようとしないだけです。取引注文(ポジションの開始または変更)を送信する際、取引クラスのインスタンスはマジックナンバーを送信します。

Общие принципы - Торговые операции - Справка по MetaTrader 5
Общие принципы - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Перед тем как приступить к изучению торговых функций платформы, необходимо создать четкое представление об основных терминах: ордер, сделка и позиция. — это распоряжение брокерской компании купить или продать финансовый инструмент. Различают два основных типа ордеров: рыночный и отложенный. Помимо них существуют специальные ордера Тейк Профит и...
 
Youri Lazurenko:

こんにちは。ご返信ありがとうございました。私の意見を述べさせていただきます。MQL4で注文を開く際、magikを含むパラメータを指定しますが、#include <TradeOrderInfo.mqh> では、magik以外の全てを指定しています。例えば - CTrade::BuyLimit(const double volume,const double price,const string symbol=NULL,const double sl=0.0,const double tp=0.0,const ENUM_ORDER_TYPE_TIME type_time=ORDER_TIME_GTC,const datetime expiration=0,const string comment="") のようになります。私見では、これは修正ではなく、別のマジコンパラメータを導入することで修正すべきと考えます。あるいは、#include <Trade HistoryOrderInfo.mqh>には、注文で取った利益(損益)以外のものが含まれて います。注文に関する重要な情報なのに、それが欠落している。最後に閉じた注文の利益を求める必要があります。この情報はComment()に表示される。そして、私たちは見るでしょう。未決済の注文(ポジション)がある間は、コメントには最後の注文の利益が表示されます。 注文(ポジション)が開かれると同時に、注文が閉じられるまで、コメントには0が表示されるのです。すなわち、注文はまだ市場にあるが、同時に歴史の中にあり、それは同時に2つのハイポステー スにとどまる。しかし、これはナンセンスです。だから、「言葉はあくまで言葉のためにある」と言うのです。私見ではありますが、未完成の部分が 多々あります。

ユーリー これは未完成の塊ではなく、誤解の塊なんです。

OnInit()で一回 指示すれば十分なのに、なぜ注文やポジションを開くたびにマジシャンを書くのでしょうか。

#include <Trade\Trade.mqh>
CTrade trade;

sinput  int Magic = 1; //  Идентификатор эксперта

int OnInit()
 {
  trade.SetExpertMagicNumber(Magic);
  return(INIT_SUCCEEDED);
 }/******************************************************************/

以上です!!!そして、オーダーやディール、ポジションのマジックも同様にチェックし、「敵か味方か」を識別します。問題は、あなたの心の中にあるのです。

注文に利益がない場合もある!ポジションは、現在の時刻に利益があります。そして、ポジションには終値 取引、またはポジションの一部がありますが、それは取引履歴の中にあります。注文とは、あくまでも市場で取引を行うための注文です。

コルホーズニーで説明してみる。あなたは市場へ行き、ピクルスを買うことにしました。

令状:1キロをよこせ...。

取引:金をくれたら、魚を持っていく...。

position: バッグの中にはアプリコットが......。

売り手の立場から

position: カウンターの上に魚の煮付けが置いてありますが...。

order: 魚を1キロ量るというオーダーを受け...

取引:アプリコットを渡す、お金を袋に入れる...

 
Youri Lazurenko:

こんにちは。ご返信ありがとうございました。私の意見を述べさせていただきます。MQL4で注文を開く際、magikを含むパラメータを指定しますが、#include <Trade FilterOrderInfo.mqh> では、magik以外の全てを指定します。例えば - CTrade::BuyLimit(const double volume,const double price,const string symbol=NULL,const double sl=0.0,const double tp=0.0,const ENUM_ORDER_TYPE_TIME type_time=ORDER_TIME_GTC,const datetime expiration=0,const string comment="") のようになります。私見では、これは修正ではなく、別のマジコンパラメータを導入することで修正すべきと考えます。あるいは、#include <Trade HistoryOrderInfo.mqh>には、注文で取った利益(損益)以外のものが含まれて います。注文に関する重要な情報なのに、それが欠落している。最後に閉じた注文の利益を求める必要があります。この情報はComment()に表示される。そして、私たちは見るでしょう。未決済の注文(ポジション)がある間は、コメントには最後の注文の利益が表示されます。 注文(ポジション)が開かれると同時に、注文が閉じられるまで、コメントには0が表示されるのです。すなわち、注文はまだ市場にあるが、同時に歴史の中にあり、それは同時に2つのハイポステー スにとどまる。しかし、これはナンセンスです。だから、「言葉はあくまで言葉のためにある」と言うのです。私見ではありますが、未完成の部分が多々あります。

プロシージャで考えるが、OOP-オブジェクトを使おうとする。扱いが違うのです。例えば、こんな感じです。

オブジェクトが作成されます。マジシャンがセットになっています。
2つ目のオブジェクトが作成されます。2人目のマジシャンが決まりました。
3つ目のオブジェクトが作成されます。そこに3人目のマジシャンが与えられる。

これで、1つのEAに3つのストラテジーのトレードオブジェクトができました。
最初の取引オブジェクトを使用して、ポジションを開くか、最初のTSの保留注文を行う必要があります。
2 つ目の TS に対してポジションをオープンしたり、保留中の注文を設定するためには、2 つ目の取引オブジェクトを参照する必要があります。
第3のTSのポジションを開く、または保留中の注文を出すには、第3の取引オブジェクトを参照する必要があります。

注文には利益パラメータはありません。理由は簡単で、注文は注文だからです(保留中の注文は、価格があるレベルに達したときに何らかの行動を起こすようブローカーに注文すること、つまり、指定した基準に達したときに、ある時間後に取引を執行する注文です)。取引(注文)は、ポジションの作成、変更、または閉鎖(ポジションは利益パラメータを持ちますが、現在のフローティングPOSITION_PROFITのみ)につながる取引(それはすでにDEAL_PROFIT利益パラメータを持っている)をもたらすことができます。

そして、取引注文を出すと必ず取引の前に出てくる成行注文(マーケットオーダー)、これが取引注文です。そして、それは既存の注文のリストに表示されます。つまり、ポジションを開くと、注文→取引→ポジションという連鎖が発生するのです。未決済のポジションに何らかのアクションを起こすと、ポジション→注文→取引→ポジションなし、または小さいポジション、または大きいポジション(ネット)、またはポジションの反転(ネット)という連鎖が発生します。

リファレンスを勉強 する。

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства сделок
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства сделок
  • www.mql5.com
Сделка является отражением факта совершения торговой операции на основании ордера, содержащего торговый приказ. Каждая сделка описывается свойствами, позволяющими получить информацию о ней. Для чтения значений свойств используются функции вида Идентификатор позиции, в открытии, изменении или закрытии которой участвовала эта сделка. Каждая...
 
こんにちは!MT5の「移動平均」インジケーターのコードで、非標準の期間を作ることは可能でしょうか?例えば、キャンドル1本分ではなく、0.5本分?プラットフォームには価格データが残っていて、インジケータがそれらを分割して丸めるというのは理解できるのですが...。
 

皆さん、ありがとうございました。特にアレクセイ・ヴィクトロフ 氏は、明確で具体的です。すでに再処理して確認しました。 これで最後の注文の利益に関する情報が得られ、EAがそれを利用するようになりました。これはあまりに複雑で、不必要で余計な混乱があります。現在の注文(保留中、約定した/market/)と履歴に残った注文があるが、すべて同じ注文である。耳かきがない、耳かきがある - 転送作業は短時間で、まったく関係ない。 売り手の注文は計量中だが、買い手の注文はまだであることが判明したのだ。すなわち、その間の混乱と混迷があるのです。シンプルであればあるほどいい。

でも、とにかくみんなありがとう、そして頑張ってね。

 
Youri Lazurenko:

皆さん、ありがとうございました。特にアレクセイ・ヴィクトロフ 氏は、明確で具体的です。すでに再処理して確認しました。 これで最後の注文の利益に関する情報が得られ、EAがそれを利用するようになりました。これはあまりに複雑で、不必要で余計な混乱があります。現在の注文(保留中、約定した/market/)と履歴に残った注文がありますが、すべて同じ注文です。耳かきがない、耳かきがある - 転送作業は短時間で、まったく関係ない。 売り手の注文は計量中だが、買い手の注文はまだであることが判明したのだ。すなわち、その間の混乱と混迷があるのです。シンプルであればあるほどいい。

でも、ありがとう、皆さんの幸運を祈っています。

端末の開発者のクセではない。チェーン全体を4の「オーダー」という一つの概念に当てはめるのは流石に無理がありましたね。これですべてが実情に即したものになりました。

そして、半券を棚から袋に移す時間が取引注文の執行時間である。そのため、現在のイベントに関するすべてのデータを絶対的に持っていることで、注文の執行速度を簡単にコントロールすることができます。それだけではありません。これで、どのサーバーにどのような統計を実施し、どの程度注文を実行できるのか、幅広い可能性が出てきました。

 
Artyom Trishkin:

これは端末の開発者の気まぐれではありません。チェーン全体を四捨五入して一つの「注文」の概念に収めるのは流石でした。実際に起きていることと一致するようになりました。

そして、半券を棚から袋に移す時間が取引注文の執行時間である。このように、発生したイベントのデータを完全に把握することで、注文の執行速度を簡単にコントロールすることができるのです。それだけではありません。これで、どのサーバーにどのような統計を実装し、どの程度要件を満たすことができるのか、多くの機会を得ることができました。

失礼のないように、純粋に議論に沿うように。私は自分のEAを長い間(売っているわけではありません)、異なるブローカーで取引していますが、イベントの絶対的なデータには 興味がありません。私は、最終的な結果、つまりEAのリクエストに応じて実行される注文の質に興味があります。もし、注文が一度しか開かれないのであれば(比喩的に言えば)、私はこのブローカーと仕事をすることはありません。ある証券会社でオープンが他の証券会社より0.5秒早くても、私にとっては本質的ではない(相場の違いもそうだが)。

mql4でEAを書く のは簡単で、mql5で書くのは面倒なのか? なぜmql5についての質問があるのか?MT5テスターの良い評判を聞いて、mql5とお近づきになり試してみることにしました。試してみたが、満足できない。相場をダウンロードするのは便利だし、ずっと早いけど、MT4の方が情報量が多い。例えば、注文をどの価格で決済したかだけでなく、どのような利益(損失)を出したかも知りたいのです。前方最適化は、コンピュータがシャットダウンするほどプロセッサに負荷がかかる。私は一度だけ(もちろんこれは証拠ではありません)、同じブローカーで同じExpert Advisorを実行することを試みました。結果は違っていて、mt5の方が利益が多く、ドローダウンがかなり少ないので、ストレスがたまります。私はまだmt5でトレードするつもりはありませんが、良いExpert Advisorを書きたいという興味は残っています。興味本位で。

幸運を祈ります。

理由: