[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 332

 
https://www.mql5.com/ru/code/10653 をご覧ください。
 
Roger:
https://www.mql5.com/ru/code/10653 をご覧ください。
なるほど、私の数え方が悪いのでしょうか?説明しますと、私は1つのペアにのみ取引を開いており、このスクリプトをこのペアで実行すると、口座利益関数が返すものとは異なる結果が出力されます。あなたの提案した解決策は私に合わない、なぜならascとbidの代わりに私は新しいデータを置くだろう、それは明らかですか?
 
fore-x:
なるほど、私の数え方が悪いのでしょうか?

いいえ、そうではなく

Вопрос, как мне мой код подогнать под работу функции - AccountProfit()?

そこでは、よく説明されているようです。

そして、(OrderOpenPrice() - Ask)/Pointという式を整数に正規化してみてください。

 
Roger:

いいえ、そうではなく

そこでは、よく説明されているようです。

そして、(OrderOpenPrice() - Ask)/Pointの式を整数に正規化してみてください。

void start()
  {
  double tickvalue = MarketInfo(Symbol(), MODE_TICKVALUE);
  double profitbuy, profitsell;
  
  for(int i = OrdersTotal()-1; i >= 0;i--)
    {
    if(!OrderSelect(i,SELECT_BY_POS)) continue;
    if(OrderSymbol()!=Symbol() || OrderType() >= 2) continue;
    if(OrderType() == 0)
      Alert(
            OrderTicket(),"   ",
            NormalizeDouble(OrderCommission()+OrderSwap(),2),"   ",
            NormalizeDouble(NormalizeDouble((Bid - OrderOpenPrice())/Point,0)*tickvalue*NormalizeDouble(OrderLots(),2),2)
           );
           
    if(OrderType() == 1)
      Alert(
            OrderTicket(),"   ",
            NormalizeDouble(OrderCommission()+OrderSwap(),2),"   ",
            NormalizeDouble(NormalizeDouble((OrderOpenPrice() - Ask)/Point,0)*tickvalue*NormalizeDouble(OrderLots(),2),2)
           );
    }
  }

Не получается, но хоть со спредом вопрос отпал!
 
うまくいかないのは?どこに矛盾があるのでしょうか?
 
Roger:
うまくいかないのは?どこに矛盾があるのでしょうか?


それとも、私のアラートがフリーズして、あなたのアラートがフリーズしていないのでしょうか?
 
fore-x:


で、あなたは、辻褄が合いましたか?
アドバイザーもホイホイとチェックし始めろということでしょうか?まあ、クビにしてくれ、バーチャルでやりたいんだ。
 
Roger:
何がダメなのか?どこに矛盾があるのでしょうか?

アスクとビッドを入れ替えて、今はこんな感じです。


その方がいい :)))

 
通貨は?
 
Roger:
通貨は?
ユーロ - ドル