[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 85

 
OTPOK:

もう一つ、すでに開いている注文のストップロスをプログラムで変更するにはどうすればよいですか?


https://docs.mql4.com/ru/trading/OrderModify
 
FOReignEXchange:


こんにちは。あなたは変数に値を代入したことがないのですね。とても簡単なことなんです。

PriceBuy=問い合わせる


実際:PriceBuy=Bid。
 
Roger:

実際:PriceBuy=Bid。

まあ、それは意見の分かれるところですが。そして、現実的には、アスク。
 

こんにちは。

数列の総和を計算する式 delta*(2*Lot+Lot*(i-2))*(i-1)/2 が正しいかどうか教えて ください

for (int i=1; i<=MaxOrders; i++) {.

double Sum=Lot;

Sum+=delta*(2*Lot+Lot*(i-2))*(i-1)/2; }

エラーがない場合、X=("Sum+" + Y)/Z のような式に "Sum+" の値を代入するにはどうしたらよいでしょうか?

ソースコードです。

for (int i=1; i<=MaxOrders; i++)
   {
      if (BUY)
      {
         Price = NormalizeDouble(Ask-delta*i*Point,Digits);
         double Sum=Lot;
         Sum+=delta*(2*Lot+Lot*(i-2))*(i-1)/2;
         DeltaProfitL = (Sum+i*delta*Lot+Lot*R_Lot*R_point+Lot*R_Lot*delta*i)/((2*Lot+Lot*(MaxOrders-1))*MaxOrders/2+Lot+Lot*R_Lot);
         if (takeprofit!=0) TP  = NormalizeDouble(Price + (takeprofit + DeltaProfitL*zero_tp)*Point,Digits); else TP=0;
         if (stoploss!=0)   SL  = NormalizeDouble(Price - stoploss*Point,Digits); else SL=0;     
         OPENORDER ("Buy Limit",Price,SL,TP,i);
      }
   }

ありがとうございました。

 
nemo811:

こんにちは。

数列の総和を計算する式 delta*(2*Lot+Lot*(i-2))*(i-1)/2 が正しいかどうか教えて ください

for (int i=1; i<=MaxOrders; i++)

double Sum=Lot;

Sum+=delta*(2*Lot+Lot*(i-2))*(i-1)/2;

エラーがない場合、X=("Sum+" + Y)/Z のような式に "Sum+" の値を代入するにはどうしたらよいでしょうか?

ありがとうございました。


それじゃダメなんでしょうか?

for (int i=1; i<=MaxOrders; i++)

Sum=Sum+delta*(2*Lot+Lot*(i-2))*(i-1)/2;

ただ、なぜSum=Lotなのか、また、一般的に何のためにSum=Lotなのかは不明です。

 
FOReignEXchange:


ただ、なぜSum=Lotなのか、また、一般に何のためにSum=Lotなのかは不明である。

81ページで同様の質問をさせていただきました。私は、与えられた答えに従って、すべてを実行しました。しかし、今のところ結果は出ていない。

Sum=Sum+delta*(2*Lot+Lot*(i-2))*(i-1)/2; - は私の計算には適しません。

 
delta*(2*Lot+Lot*(i-2))*(i-1)/2 は、当該数列の数式のことである。与えられた数列のすべての数を合計する必要があります。
 
nemo811:
delta*(2*Lot+Lot*(i-2))*(i-1)/2 は、当該数列の数式のことである。与えられた数列のすべての数を合計する必要が あります。


だから、そのための数式を書いたんです。

このような計算が必要なんですね

Sum =delta*(2*Lot+Lot*(1-2))*(1-1 )/2 +delta*(2*Lot+Lot*(2-2))*(2-1 )/2 +delta*(2*Lot+Lot*(3-2))*(3-1)/2 + ...となる。など

これは、Sum=Sum+delta*(2*Lot+Lot*(i-2))*(i-1)/2という式で、演算子本体でiの制約を設定します。 オペレータが終了すると、Sumは希望の値をとります。オペレータが計算を始める前に、Sumが0になることが重要です。オペレータの終了時にSumは希望の値をとります。

 

EAを注文 すると、両方のチャートで動作させることができるようになりますね。

あ、あと一般的には2種類の通貨で1回(2つのチャートで同時に)動作させて、それぞれ違う取引で開いたりすることは可能です。

例えば、1枚目で買って、2枚目で売ったとか?

そして、一方のトランザクションのクローズ時に、すでにオープンしているトランザクションの反対をオープンしました...。

そして、誰かが知っているかもしれないし、そのようなExpert Advisorがあるかもしれない、ただ良いアイデアが浮かんだだけだ...。

 
for (int i=1; i<=MaxOrders; i++)
   {
      if (BUY)
      {
         Price = NormalizeDouble(Ask-delta*i*Point,Digits);
         double Sum=0;
         Sum=Sum+delta*(2*Lot+Lot*(i-2))*(i-1)/2;   ........
      }
}
ありがとうございます。これは正しいことなのでしょうか?