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

 
andm2:

SymbolInfoDouble(Symbol(),SYMBOL_MARGIN_INITIAL) で1ロットの値を求めようとしていますが、結果は=0です。何が問題なのか教えてください。

https://www.mql5.com/ru/forum/1111/page95#comment_14665

 
ありがとうございました。
 
ごきげんよう。選択したポジション について、買いか売りかの区別を書こうとしています。このように書いています。
 if (PositionGetInteger(POSITION_TYPE)== ??? {
何と比較すればいいのか?参考文献には載っていない。そこには本当に書かれていない、falseでもTrueでもない、ENUM_POSITION_TYPEのようなものがあり、それをクリックするとリンク先が同じテーブルになります。
 
Dimka-novitsek:
ごきげんよう。私は、買いか売りかというポジションの 区別をつけようとしているのです。私はこのように書いていますが、何と比較すればいいのでしょうか?ヘルプに記載がないのですが。そこに本当に書かれているのは、falseでもTrueでもなく、あるENUM_POSITION_TYPEで、それをクリックすると、リンク先が同じテーブルになります。

ページの一番下に表があります

およぶ

BUYの場合はPOSITION_TYPE_BUYとなり

SELLの場合はPOSITION_TYPE_SELLとなります。

 
ありがとうございます!!!!
 
すみません、上の数行で、ポジションではなく、何らかの形で注文が選択されているとしますから、書いていただけませんか。ここでは、PositionGetDoubleという関数を 使用していますが、どうなるのでしょうか?この関数は何を報告するのでしょうか、何か報告するのでしょうか?
 
Dimka-novitsek:
すいません、上の数行で、ポジションではなく、注文が選択されているとします。ここでは、PositionGetDouble関数を 使用していますが、どうなるのでしょうか?この関数は何を報告するのでしょうか、何か報告するのでしょうか?

この関数は何かを出力しますが、保証はありません。PositionGetDouble 関数を 使用する前に、PositionSelect(symbol) を使用する必要があります。

が呼び出されたことがない場合。

カーソルを右の行に移動させたように見えます。カーソルがすでに正しい行にある場合(コードの早い段階でPositionSelect(symbol) 関数が呼ばれtrueを返した場合)、PositionGetXXX またはPositionSetXXX 関数をすぐに使用することができます。

 
ありがとうございます!
 
Dimka-novitsek:
ありがとうございます!
コメントを修正しました。
 
ありがとうございます!全体の流れが理解できました。正しい順番を選ぶこと、あるいは確認することが重要です
 string PositionSymboll = "";
   if  (PositionSymboll=PositionGetSymbol(i))

if (PositionSymboll = ="")
理由: