[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 553

 
Svinozavr >>:
Вам удобней это будет отдельным индикатором сделать. Сначала, в цикле пересчета заполняете инд. буфер значениями индикатора, а затем по этим значениям считаете сигнальную МА.

Вот пример расчета МА по RSI (ф-я старт):

Oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh-oh!すぐには見れませんでした!まさにドクターの指示通り。ありがとうございます。無限の利益を手に入れた!?:):):)
 

artmedia70です。 すべての注文を調べ、その利益を集計します。その結果、利益がゼロより大きいか、あらかじめ設定された値より大きい場合、すべてのポジションを決済します。

double SummProfit(){
  double Profit=0;
 for(int i=OrdersTotal()-1;i>=0;i--){
   if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
     Print("Ошибка № ",GetLastError()," при выборе ордера № ",i);
   }
   else {
     Profit=Profit+OrderProfit();
  }
 }
  return(Profit);
}

すべての注文を自分で閉じるコードを試してみてください。

ヒント:すべての注文がクローズされるループでは、注文の列挙の方向を逆にする必要があります。つまり、ラストオーダーからファーストオーダーにすることです。方向を変えたら、すべての注文がループで終了するわけではありません。例えば、リストで最初に置かれた注文が終了し、その結果、別の注文に置き換わります。また、ループのカウンタは1つずつ増加するので、この行からの別の命令はスキップされます。

 

質問なのですが、MT4のテスターはスワップを考慮しているのでしょうか?テスターのログファイルには、スワップに関する記述はありません。

 
chief2000 >>:

Возник вопрос - учитывает ли тестер МТ4 свопы? В лог-файле тестера нет ни единого упоминания о свопах.

オーダースワップ

 
sergeev >>:

OrderSwap()

現在、テスト用にこのコマンドを追加する方法はありません。

- MT4がテストや最適化の際にスワップを考慮することを確認したと考えてよいでしょうか。

 
計算し、値を返すので、(99%の確率で)貸借対照表に計上されると思います。
 
sergeev >>:
думаю да, так как она вычисляется и возвращает значения. а следовательно (вероятность 99% :) учитывается на балансе

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

 

最後のZigZagの切れ目を半径とする円を正しく描く方法。

半径の計算はこんな感じになるのですが、MTで円を描く方法がわかりません。

 double y3, y2, y1, zz;// экстремумы Зиг-Зага
 int    x3, x2, x1, sh;// номера баров
  y3=0;y2=0;y1=0;                                             // экстремумы Зиг-Зага
  sh=ShiftBars;                                               // номера баров
  // Берём три экстремума Зиг-Зага
  while (y3==0) {
    zz=iCustom(NULL, 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, sh);
    if (zz!=0 && zz!=EMPTY_VALUE) {
      if      (y1==0) { x1=sh; y1=zz; }
      else if (y2==0) { x2=sh; y2=zz; }
      else if (y3==0) { x3=sh; y3=zz; }
    }
    sh++;
  }
  double R=MathSqrt(MathPow(MathAbs(y1-y2),2)+MathPow((x2-x1),2));// радиус последнего перелома
 
sasha2x >>:

Расчет радиуса будет такой,а как сделать чтобы на рисовался круг в МТ не знаю.


https://www.mql5.com/ru/articles/1503/page2
 

オブジェクトの代わりにインジケーターを線にするにはどうしたらいいですか?

これは、(x0,y0)が半径の中心である場合の計算式のようです。

直交座標系では円は関数のグラフ ではないが、次の2つの関数のグラフの和として記述することができる。