すべての注文を合計利益(pips)で決済するにはどうすればよいですか? - ページ 2

 
khasan kayumov:

ポイントでの利益はどのように計算するのですか?

削除する前に

                    for(pos = 0; pos < 100500; pos++) 
                    {
                        if(OrderSelect(pos, SELECT_BY_POS))
                        if(OrderType() == OP_BUY)
                        {
                            buy_profit_USD = buy_profit_USD + OrderProfit() + OrderSwap() + OrderCommission();

                            buy_profit_Point = buy_profit_Point+ ((Bid - OrderOpenPrice()) / Point);

                                
                        }
                    }

 
Evgeny Belyaev:

そうなんですか?

注文をしたところ、サーバーに拒否され、エラー130が 発生しました。

どうすればいいのか、ポジションがない、閉じるものがない。削除しかできない。どうしたらいいのか、何か間違っているのか。

本当に答えて欲しいのか?
 
Dmitry Fedoseev:
本当に答えて欲しいのか?

いや、話題がバタバタするのは困りますね。

 
Evgeny Belyaev:

いや、話題がフラバに発展するのは勘弁してほしい。


それなら、ふわっとさせないでくださいよ。

 
Evgeny Belyaev:

MTは単なるアプリで、機能の名称を正しく定義していない。ポジション - バイ、セット、ディフェンス、ストライカー...。

注文 - 配置、購入、販売、ディフェンダー、ストライカー、ミッドフィルダーを注文する...

ディール...


現在、MT4のフォーラムに参加しています。そして、質問は具体的にMQL4についてです。ですから、ここではMT4やMQL4で紹介された用語を使うことが極めて適切です。なにしろ、取引(構成ポジション)と呼ばれる会計の機能でさえ、OrderSend()、OrderClose()、OrderModify()と、Orderで始まっているのだから。

 
Ihor Herasko:

なにしろ、取引所で取引と呼ばれるもの(構成銘柄)を担当する関数でさえ、OrderSend(), OrderClose(), OrderModify() と Order という単語で始まっているのだから。

関数の名称は間違いないのですが、MT4では関数の名称が正しくありません。端末が古いため、名称が正しくありません。

さて、どうすればお互いを理解できるのでしょうか。

同じことを話しているのです。あなたが買い注文と言うなら、私はそれをポジションと呼ぶことにします。

どうすればお互いを理解できるのか?

 
Evgeny Belyaev:

関数の名称は間違いないのですが、MT4では関数の名称が正確ではありません。端末が古いから名前がおかしいんだよ。

さて、どうやってお互いを理解するのでしょうか?

同じことを話しているのです。あなたが買い注文と言うなら、私はそれをポジションと呼ぶことにします。

どうすればお互いを理解できるのか?


端末の用語は使い慣れている。間違っているかもしれませんが、ドキュメントを読むときに役立っています。MT4の場合:成行注文と未決済注文。MT5では、トレード、ポジション、オーダー。他のプラットフォームでは、取引、ポジション、トレード、オーダー。

 
Mikhail Sergeev:

                    for(pos = 0; pos < 100500; pos++) 
                    {
                        if(OrderSelect(pos, SELECT_BY_POS))
                        if(OrderType() == OP_BUY)
                        {
                            buy_profit_USD = buy_profit_USD + OrderProfit() + OrderSwap() + OrderCommission();

                            buy_profit_Point = buy_profit_Point+ ((Bid - OrderOpenPrice()) / Point);

                                
                        }
                    }

100500という数字は何ですか? なぜ、OrdersTotal()ではなく、それなのですか?

 
khasan kayumov:

pipsでの利益計算はどのように行うのですか?

削除する前に

//+------------------------------------------------------------------+
void OnStart()
  {
  double p;
   int i,pr=0;

   for(i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
        p=MarketInfo(OrderSymbol(), MODE_POINT);
         if(OrderType()==OP_BUY)
           {
            pr+=int((MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/p);
           }
         if(OrderType()==OP_SELL)
           {
            pr+=int((OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/p);
           }
        }
     }   
   Alert( "суммарный профит открытых позиций в пунктах = ",pr); 
  }
//+------------------------------------------------------------------+

こんな感じです。

 
Ihor Herasko:

端末に応じた用語の使い分けに慣れた。間違っているかもしれませんが、ドキュメントを読むときにとても役に立ちます。MT4の場合:成行注文と未決済注文。MT5では、トレード、ポジション、オーダー。他のプラットフォームでは、取引、ポジション、トレード、オーダー。


端末のヒントを出さなかったら?用語はクロスプラットフォームであることが望ましい。情報の理解に問題はないでしょう。

私はあなたの意見を理解し、それを容認しています。

5人のトレーダーがいたとして、1人はQuickquick、もう1人はMT4、3人目は5ルーブル、4人目は忍者、そして最後の1人はウェブターミナルを使って いるとします。

共通項をどう導き出すか、何がポジションで何がオーダーなのかをどう判断するか。