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

 
odyn:

説明してください。

OnTradeTransaction 関数。

Expert Advisorでなければならないのでしょうか?

そうでない場合、どのような場合にコードに含まれなければならないのでしょうか? また、その理由は?

OnInit()とOnTick()のみが必須で、それ以外は任意である。その理由は、その言語のドキュメントに明確に記述されている。

フォーラムエンジンが機能名のリンクを貼ってくれているので、それをクリックして読んでみてください。
 
Alexey Viktorov:

OnInit()とOnTick()のみが必須で、残りはコードライターの裁量に任されています。なぜ、その言語のドキュメントに明記されているのでしょうか。

フォーラムエンジンが機能名のリンクを貼ってくれているので、それを読めばいいのです。

ドキュメントや記事、フォーラムでの説明が理解できないときだけ質問しています。

明確に記述されている」のであれば、問わない。

この関数は、取引要求の 結果を処理するためのものである。この関数は何も返しません。

それに必要な機能ではありません。

Expert Advisorがサーバーからリクエストの処理結果を受け取る際に必要な機能ということですね。でも、どのExpert Advisorも送ってこないのですか?では、Expert Advisorには必ず関数を挿入しなければならないのですか?

 

こんにちは!経験者の方に質問です。

MQL5にはOBJ_CHARTが あります。

OBJ_CHARTで指標、特にMAを使用する方法、可能かどうか教えてください。

 
odyn:

私は、ドキュメントや記事、フォーラムでの説明が理解できないときだけ質問しています。

明確に記述されている」のであれば、問わない。

取引要求の 結果を処理するための機能です。この関数は何も返しません。

それに必要な機能ではありません。

Expert Advisorがサーバーからリクエストの処理結果を受け取る際に必要な機能ということですね。でも、どのExpert Advisorも送ってこないのですか?では、Expert Advisorには必ず関数を挿入しなければならないのですか?

プログラマーの中には、mql4時代にマスターしたそれらの例から離れられない人がいます。そんなプログラマーにとって、OnTradeTransaction()は犬のしっぽのようなものです。しかし、例えば、保留中の注文が有効になったときのイベントを簡単に検出したい場合、OnTradeTransaction()以上に簡単な方法はないでしょう。ポジションがクローズした瞬間に何らかの判断を下し、アクションを実行する必要がある場合、OnTradeTransaction()と同じように簡単に見つけることができます。また、TPで決済するときにある動作を行い、SLで決済するときに別の動作を行う必要がある場合、OnTradeTransaction()よりも簡単に行うことはできません。

でも、今言ったような人たちがやってきて、この辺は何ミリ秒なんだろうとか、そういう憶測が飛び交いそうですが...。全てはアマチュアの方次第です。もし興味があれば、実行してOnTradeTransaction()で何が得られるか見て、自分にとってどう使えるか考えてみてください。

 

教えてください、同時に2つの取引を開く必要がある場合、そのうちの1つを開くときにエラーがあるかどうかを確認する場合、どのようにエラーをキャッチするのでしょうか?

ある資産に対して取引を開始する機能を返す機能はありますか?

 
Alexey Viktorov:


返信ありがとうございました

 

テスターでファイルを開く ことができません。5004エラーが発生します。

int               m_file_handle;
short             m_delimiter;

m_delimiter='\t';
m_file_handle=FileOpen(m_filename,FILE_READ|FILE_CSV,m_delimiter);
if(m_file_handle==INVALID_HANDLE)
  {
   Print(__FUNCTION__+": file open failed. Error: ",GetLastError());
   return false;
  }

セパレータに表組みを使用した通常のcsvファイルです。エージェントのMQL5Filesフォルダに置きました。開こうとした後、ファイルが消えてしまう。

 
leonerd:

テスターでファイルを開く ことができません。5004エラーが発生します。

セパレータに表組みを使用した通常のcsvファイルです。エージェントのMQL5Filesフォルダに置きました。ファイルを開こうとすると消えてしまう。

OK、#propertyなしのtester_fileはどうやら動作しないようです。

 
Roman Sharanov:

教えてください、同時に2つの取引を開く必要がある場合、そのうちの1つを開くときにエラーがあるかどうかを確認する場合、どのようにエラーをキャッチするのでしょうか?

ある資産で取引を開始する可能性を返す関数はありますか?

OnTradeTransaction() を使用します。

 

MQL4の関数MarketInfo(asymbol, MODE_MARGIN_REQUIRED)のMQL5でのアナログを提案してください。

1Lotの買い付けを行うために必要な自由資金を 調達したいのですが。

MQL5のSymbolInfoDouble(symbol, ...)関数の様々なバリエーションを試しましたが、正しいバリエーションは見つからず、どこでも0を返します。

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
, то позиции по каждому символу разрешается закрывать только в том порядке, в котором они были открыты — сначала самую старую, затем более новую и т.д. При попытке закрыть позиции в ином порядке будет получена ошибка. Уровень залоговых средств, при достижении которого происходит принудительное закрытие самой убыточной позиции (Stop Out...
理由: