どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 365

 
Sepulca:
また、ポイントが計算される場合は、ポイントと混同しないようにしましょう。ダブルSPRED=Ask-Bidポイント、あるいはダブルSPRED=(Ask-Bid)/Pointポイントとする。 。


と思えるようなレベルの問題です)))OrderOpenPrice()はdoubleですが、本当の始値を 見るにはstringにしなければなりませんか?)

そして、引き算や足し算をするために、再び文字列の2倍を行う必要があり、まあ、ナンセンスではない、えっ? または私は何かを理解していない)。

 
vadynik:


ただ、私には同じ土俵での問題だと思えるのですが)) OrderOpenPrice()はdoubleですが、本当の始値を見るには文字列を作らなければなりませんか))

引き算や足し算をするのに、文字列からdoubleをしなければならないのですが、おかしくないですか? それとも何か見落としているのでしょうか?)


いいえ、OrderOpenPrice()の値を取り出すことで、正規化する必要すらありませんが、プリントアウトするためには、必要な精度を設定する必要があるのです。多くの証券会社では、注文を開くときに小数点以下5桁を使うにもかかわらず、ログにはデフォルトで小数点以下4桁しかない変数が印刷されている...。
 
vadynik:


と思えるようなレベルの問題です)))OrderOpenPrice()はdoubleですが、本当の始値を見るにはstringにしなければなりませんか?)

そして、引き算や足し算をするために、再び文字列の倍を行う必要があり、まあ、ナンセンスではない、えっ? または私は何かを理解していない))


しかし、そうです))) 歴史的にそうでなければなりません))))5桁の初値を 見るには文字列を作らないといけない((

2倍値の場合、デフォルトでは小数点以下4桁までしか出力されないのが原則なので、文字列に変換する必要があります......(((

 

どのように私はMQL4と5でいくつかの実績のあるExpert Advisorを教えてください、そして時間は非常に短いです、時にはあなたは1つのアイデアをチェックしたり、最終的にロボットのための基礎を作成し、それを自分で書いて終了するために誰かを支援する必要があります...

ありがたいです、よろしくお願いします!! =)

 
Ekburg:

どのように私はMQL4と5でいくつかの実績のあるExpert Advisorを教えてください、そして時間は非常に短いです、時にはあなたは1つのアイデアをチェックしたり、最終的にロボットのための基礎を作成し、それを自分で書いて終了するために誰かを支援する必要があります...

ありがたいです、よろしくお願いします!! =)

コンストラクション・セットでない ものは?あなたは「キューブ」を取って、構築する ;)
 
Sepulca:


しかし、そうです))) これは歴史的なものに違いありません)))5桁の初値を見るには、文字列を作らなければならない((

ダブルデフォルト値は、原則として小数点以下4桁までしか出力されないので、文字列に変換する必要があります......((((;゚Д゚))))


なぜOrderOpenPrice()では正規化が機能しないのですか?
 
evillive:
コンストラクション・セットでない ものは?キューブ」を持って、ビルドする ;)


とても便利です、ありがとうございます、使ってみます、でもあれはダメです))私は正確にコンストラクタが必要です、私は良いものを知っているが、それは英語で、別の言語で専門家を作る...)
 
Sepulca:


そうではあるが)))歴史的なものであることには違いない)))。5桁の初値を見るには、文字列を作らなければならない((

2倍値の場合、デフォルトでは小数点以下4桁までしか出力されないのが原則なので、文字列に変換する必要があります......(((

何を騒いでいるんだ?いずれにしても、プリントアウト すると、出力したものがすべてTバックのパンティに 変換されるわけです。PRICE=Ask;Print(PRICE);を二重にするだけでも、PRICEは自動的にTバックの格好になり、プリントアウトされるのです。DoubleToStr()では、Tバックのダブルをどのような精度で出力するか、パンティのサイズを 指定するだけです。
 

私ってバカだなぁ...。

スクリプト

int start()
{

 for(int i=OrdersTotal()-1;i<=0;i--)
 {
    if(OrderSelect(i, SELECT_BY_POS)==true) 
      {
            Print("Normalized OOP order#", OrderTicket()," is ",NormalizeDouble(OrderOpenPrice(),5)); 
            Print("doubletostr OOP order#", OrderTicket()," is ",DoubleToStr(OrderOpenPrice(),5)); 
            Print("Symbol of order#",OrderTicket() ," is ",OrderSymbol()); 
            Print("Volume of order#",OrderTicket() ," is ",OrderLots()); 
      }
      else Print("OrderSelect() error - ",GetLastError());

 }
   return(0);
}

ログには何も表示されませんが、マーケットポジションは2つあり、1つはユーロドル、もう1つは円ドルです。

 
evillive:

私ってバカだなぁ...。

スクリプト

ログには何も表示されませんが、マーケットポジションは2つあり、1つはユーロドル、もう1つは円ドルです。


ループの割り当てにエラーがあり、元々間違っているため、その本体が実行されず、プリントを見ることができない

int start()
  {
  for(int i=OrdersTotal()-1;i>=0;i--)
     {
     if(OrderSelect(i, SELECT_BY_POS)==true) 
        {
            Print("Normalized OOP order#", OrderTicket()," is ",NormalizeDouble(OrderOpenPrice(),5)); 
            Print("doubletostr OOP order#", OrderTicket()," is ",DoubleToStr(OrderOpenPrice(),5)); 
            Print("Symbol of order#",OrderTicket() ," is ",OrderSymbol()); 
            Print("Volume of order#",OrderTicket() ," is ",OrderLots()); 
        }
     else Print("OrderSelect() error - ",GetLastError());
     }
   return(0);
   }

そうなんです。