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

 

リアルマネーの金額を表示するスクリプトはどこにあるか教えてください。
例えば
口座残高=10000
レバレッジをかけた金額=10000
リアルマネーの額=100

 
novicek:

リアルマネーの金額を表示するスクリプトがどこにあるか教えてください
例えば
口座の金額 = 10000
レバレッジをかけた金額 = 10000
リアルマネーの金額 = 100



リアルマネーの金額が口座残高 になります。この値は、関数AccountBalance() によって返される。あなたが挙げた3つの数字は、すべて同じものです。最後の1枚も1万枚になります。
 

サンチョ77


for(int i=orderstotal-1 ; i>=0 ;i--)
   {
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {   
      if(OrderSymbol() != Symbol() // ордер в торговом пуле и его символ не соответсвует текущему
        
 
tol64:

リアルマネーの金額が口座残高になります。この値は、AccountBalance() によって返される。あなたが挙げた3つの数字は、すべて同じものです。最後の1枚も1万円でしょう。
リアルマネーの額はAccountEquity()と言いたいところですが。そうでなければ、マイナスに掛かることはほとんどない。取引が終了するまで、残高は口座の状態を反映しない。
 
tol64:

リアルマネーの金額が口座残高になります。この値は、AccountBalance() によって返される。あなたが挙げた3つの数字は、すべて同じものです。最後の1枚も1万枚になります。
バランスは忘れてください。そして、他人を惑わさないこと。エクイティは、あなたの本当の資金です。資金が許せば、残高をゼロにすることも可能ですが、その逆はできません。たとえ100万でも残高があり、資金が危機的な値まで落ちたら、マージンコール、そしてストップアウトを待つ......。...口座への入金に間に合わなかった場合。
 
Dimka-novitsek:

ああ、本当にごめんよ、暑い中、ちょっと走り過ぎたよ、ごめんね。ありがとうございます!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

気にしないでください...最後に決済したポジション がTakeProfitで決済された場合、すべてのポジションを決済し、すべての注文を削除する必要がありますか?

ここで、次の宿題を出します。

   int j=-1;
   datetime t;
   string PoseType;
   // Поищем в цикле последнюю закрытую позицию, которая закрылась по TakeProfit
   for (int i=0; i<OrdersHistoryTotal(); i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
         if (OrderSymbol()!=Symbol())     continue;
         if (OrderType()>1)               continue;
         if (OrderMagicNumber()==1000 || OrderMagicNumber()==2000) {
            if (t<OrderCloseTime()) {
                t=OrderCloseTime();
                j=i;
               }
            }
         }
      }
   if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
      if (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(),Digits)<0.5*Point) {
         Alert("Позиция с тикетом #",OrderTicket()," закрыта по TakeProfit, закрываем остальные прозиции и удаляем отложенные ордера");
         for (int k=OrdersTotal()-1; k>=0; k--) {
            if (OrderSelect(k, SELECT_BY_POS) {
               if (OrderSymbol()!=Symbol())  continue;
               if (OrderMagicNumber()==1000 || OrderMagicNumber()==2000) {
                  if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
                     if (OrderType()==0) PoseType="BUY"; else PoseType="SELL";
                     Alert("Закрываем позицию ",PoseType," с тикетом #",OrderTicket());
                     // Здесь вставьте команду для закрытия рыночной позиции (для тестера). Для реала здесь должен быть вызов 
                     // полноценной функции закрытия позиций с проверкой и обработкой ошибок сервера
                     }
                  if (OrderType()>1 && OrderType()<=5) {
                     if (OrderType()==2) PoseType="BUYLIMIT";
                     if (OrderType()==3) PoseType="BUYSTOP";
                     if (OrderType()==4) PoseType="SELLLIMIT";
                     if (OrderType()==5) PoseType="SELLSTOP";
                     Alert("Удаляем отложенный ордер ",PoseType," с тикетом #",OrderTicket());
                     // Здесь команда для удаления отложенного ордера (для тестера). Для реала здесь должен быть вызов 
                     // полноценной функции удаления отложенного ордера с проверкой и обработкой ошибок сервера
                     }
                  }
               }
            }
         }
      }

頼むからもう全部積まないでくれ...。私はすでにあなたのためにすべてをやっている - あなたがしなければならないすべては2回おならです... 私はさらに、どこに書いた...:)そしてもちろん、すべてのアラートとそれに付随するコードのクリーンアップも...。とはいえ何を、どこで、どのように、何のために......」が見つかるかどうか。

 
artmedia70:
バランスは忘れてください。そして、他人を惑わさないこと。エクイティはあなたの本当のお金です。資金が許せば、残高がゼロになることもありますが、その逆はありえません。たとえ100万でも残高があり、資金が危機的な値まで落ちたら、マージンコール、そしてストップアウトを待つ......。...口座への入金に間に合わなかった場合。

わざとじゃないんです(笑)
相対的な概念であることがわかりました))。バランスは固定損益。そして、これは現実です。資金、AccountEquity() は、まだ何度でも変更することができ、これも原則的には本物ですが、すでにかなり曖昧です。もちろん、口座の臨界値を上げず、ストップアウトや証拠金率から離れた入金負荷やリスクをコントロールすべきです。このような例は、すでに前述したとおりである。同じく「神風」)))。

その場合、novicekは もっと具体的に、Real/Unreal(曖昧)ではなく、Balance/Equity(明確)など明確な定義を用いるべきでした。それならば、下記の例で大丈夫でしょうか?

私の場合、AccountEquity() は、未形成のローソク足など、気になる指標は、バランスで計算しますが、もちろん、Equity(手段)をいつリアルやバーチャル(テストであれば)マネーに変換すべきか、それを意識して、バランスも追っています。))

 
artmedia70:

気にしないでください...最後に決済したポジションがTakeProfitで決済された場合、すべてのポジションを決済し、すべての注文を削除する必要がありますか?

次の宿題です。

コメントなしでも美しく構成されたコードは 明確です。本のように)
 
tol64:

わざとじゃないんです(笑)
相対的な概念であることがわかります)。貸借対照表は、損益が確定しているものです。そして、それは現実です。資金、AccountEquity() は、まだ何度でも変更することができ、これも原則的には本物ですが、すでにかなり曖昧です。もちろん、口座の臨界値を上げず、ストップアウトや証拠金率から離れた入金負荷やリスクをコントロールすべきです。このような例は、すでに前述したとおりである。同じく「神風」))です。)

その場合、novicekは もっと具体的に、Real / Unreal(曖昧)ではなく、Balance / Equity(明確)など、分かりやすい定義を使うべきです。それならば、下記の例で大丈夫でしょうか?

私の場合、AccountEquity() は、未形成のローソク足など、気になる指標は、バランスで計算しますが、もちろん、Equity(手段)をいつリアルマネーやバーチャルマネー(テストなら)に変換すべきかを意識して、バランスという手段も踏襲しています。))

そして、エクイティラインがバランスラインを上回った時点で、すべてのポジションを決済するのがベターです。結局、オープンポジションを クローズすると、残高がエクイティと同じになるのです。:)

まあ、公平性に関して「不公平キャンドル」の間違いだろうけど...。Equityはすでに形成されたあなたの損益であり、ポジションがクローズされていないときの残高は塵であり、何もない...。

 
artmedia70:

Equityは既に発生した損益であり、アンカバードポジションとのバランスは塵であり、何もない...。


だから、資金が残高よりある値になったらポジションを閉じるが、資金が残高より少なくなったときにも、自分が間違っていて価格が間違った方向に行った場合には、ポジションを閉じるべきである)。なぜなら、資金が残高より上にあるときに、時間内にポジションを閉じないと、しばらくして、資金が残高より下にあることが判明し、長い間高く上がらず、ストップロスまでさらに急降下し、ストップロス後もさらに急降下し、人によってはストップすら置かないこともあるからです))。残高をオーバーしたその資金はどこに行ったのでしょうか?彼らは塵となり、無となった))

まるで詩のようです))実は、私たちは同じことを話している可能性が高いのです。形のないキャンドルについて。エントリー条件とエグジット条件という意味です。注文はこれに該当しない。ストップロスによるポジションのクローズ、ペンディングオーダーによる オープニングは、もちろん形成されたローソク足では行われません)).