MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 54

 
Vitaly Muzichenko:
あなたはすでに特定の価格を持っており、そこから単純なトロールのアナログを使用してトロールする必要がありますが、単純なトロールは、ポジションの開始 価格= OrderOpenPrice()に基づいており、ここでは計算された平均価格に基づいて、1レベルによってすべての位置を変更します。

ああ、わかったよ。

先ほど投稿したコードを見ていると、テスターでこのような絵が表示されます。

その谷の1つに排水口があるので、そのサイズを小さくしたい機能です。

を例にして

今はドル円の上昇でショートをたくさん持っているので、そこに保険機能(損失が残高の何%になったら-すべて決済)をつけたいだけです
ファイル:
TesterGraph.gif  19 kb
 
vitek2010:

私はティックについて話していませんでした私はより大きな時間枠のギャップでは、小さな時間枠で計算された指標バッファの最小値と最大値を修正する必要性について話していた私はスクリーンショットにそれを表示しようとしますこのケースでは、より大きな時間枠が取られ、小さなH1(ただし、これは異なる時間枠のウィンドウです)。

[img]https://charts.mql5.com/13/642/eurgbp-w1-instaforex-group.png[/img].

私は週05.12(赤十字)を検討します上記のインジケータによるこの棒グラフは、明らかに週の終わりにペアの動きの合計が95ポイントで下降していたことを示していますが、それは週に下降または上昇した何ポイントであるかは示されていません。

そして、この画面では、この1週間のH1チャートでのこの指標の 動きを見ることができます。

[img]https://charts.mql5.com/13/642/eurgbp-h1-instaforex-group.png[/img].

インジケータは最小値400で、その後700まで上昇し160で終了(2画面の数字の差は重要ではない)

ヒストグラムと最小値、最大値、終値(この場合はwikiにある)の1つのバーで、これらのすべての値が必要です。理想的には、タイムフレームの設定で指定したものから現在のタイムフレームで

mt4のインスタでmcl5のコピーでやりました。

上で示したコードでは、参照先は現在のTFになっていますが、何のことでしょうか?W1からM5にアクセスするのであれば、そのように書きます。

現在のタイムフレームで作業する場合、終値はゼロバーでフローティングされ、残りの部分では - 多くの終値ではなく、1つの終値のみ、どのように私は1つの値でヒストグラムを構築するのですか?

写真はメッセージ編集ウィンドウの上部にある適切なボタンを使って挿入しますが、そこには便利なボタンがたくさんあるので、勉強しておくことをお勧めします。

 
trader781:

ああ、わかったよ。

先ほど投稿したコードを見ていると、テスターでこのような絵が表示されます。

それは、この谷のサイズを小さくする機能です。なぜなら、最終的にはそのうちの1つに排水口があるからです

を例にして

円高でショートを建てたので、それを担保にしたい(損失が残高の何割かになるようなら、すべて決済する)
バンプ機能(損失が残高の一定割合に達した場合)を使いたいのですが。そして、洗練されたTCの条件は、急落した場合 - その後、入力は、そことそこではない。
 
Vitalie Postolache:
ぶつける」頻度を減らすか、マーチンゲールをあきらめるか。そして、TSの条件を洗練させ、もしあなたが負けているのであれば、入力はそこではなく、そこにあるのです。

アドバイスありがとうございます。でも、私はコードを思い通りに動かしたいだけで、収益性・採算性は関係ないんです。これらの機能がどのようなものなのか、見てみたいのです。

さて、前回のコードで、ある表現に行き当たりました(_BuyLot>_SellLot?)ビッドアスク)

どう解釈すればいいのでしょうか?

 
trader781:

アドバイスありがとうございます。でも、私はコードを思い通りに動かしたいだけで、収益性・採算性は関係ないんです。これらの機能がどのようなものなのか、見てみたいのです。

さて、前回のコードで、ある表現に行き当たりました(_BuyLot>_SellLot?)ビッドアスク)

どう解釈すればいいのでしょうか?

こちらをご覧ください https://docs.mql4.com/ru/basis/operators/ternary
Условный оператор ?: - Операторы - Основы языка - Справочник MQL4
Условный оператор ?: - Операторы - Основы языка - Справочник MQL4
  • docs.mql4.com
Условный оператор ?: - Операторы - Основы языка - Справочник MQL4
 
trader781:

アドバイスありがとうございます。でも、私はコードを思い通りに動かしたいだけで、収益性・採算性は関係ないんです。これらの機能がどのようなものなのか、見てみたいのです。

さて、前回のコードで、ある表現に行き当たりました(_BuyLot>_SellLot?)ビッドアスク)

どう解釈すればいいのでしょうか?

書き起こしではこうなっています。前のエントリの方が短く、コード上もきれいに見えることが多いですが、コード実行の感覚は変わりません

if(_BuyLot > _SellLot) {
 xxx = Bid;
 } else {
 xxx = Ask;
}
 
Vitaly Muzichenko:

書き起こしではこうなっています。前のエントリの方が短く、コード上もきれいに見えることが非常に多いのですが、コードの実行感覚は変わりません

if(_BuyLot > _SellLot) {
 xxx = Bid;
 } else {
 xxx = Ask;
}

ここで xxx =_BuyLot

さもなくば

xxx =_SellLot

だろう?


アレクセイ・ヴィクトロフ
こちらをご覧ください https://docs.mql4.com/ru/basis/operators/ternary
簡単な言葉で書かれた何の変哲もないコードがあるのですが、それでも私の目から見ると何が書いてあるのかほとんどわからないのです。ジェネレータで書かれたシンプルなアルゴリズムです。
 
trader781:

ここで xxx =_BuyLot

さもなくば

xxx =_SellLot

だろう?

いいえ、そんなことはありません。

if(_BuyLot-_SellLot != 0) {
  if(_BuyLot > _SellLot) {
   AllAwerage= NormalizeDouble(Bid-((_BuyProfit+_SellProfit)/(TickValue*(_BuyLot-_SellLot))*_Point),_Digits);
  } else {
   AllAwerage= NormalizeDouble(Ask-((_BuyProfit+_SellProfit)/(TickValue*(_BuyLot-_SellLot))*_Point),_Digits);
  }
} else {
  AllAwerage=0;
}

しかし、それは多くのコード行数です

 
trader781:

ここで xxx =_BuyLot

さもなくば

xxx =_SellLot

だろう?


簡単な言語で書かれた何の変哲もないコードがあり、それにもかかわらず、私から見るとそこに何が書かれているのかほとんどわからない。ジェネレータで書かれた簡単なアルゴリズムです。

間違っている。trap演算子は、比較される式ではなく、変数に値を代入します。

double price=(_BuyLot>_SellLot?)Bid:Ask) となります。

そして、生成されたものと手書きのもの、両方のアルゴリズムを理解する時期が来ているのです。誰かがそこにねじ込んだものを理解するよりも、手書きのほうが簡単な場合もありますが。

 
Vitalie Postolache:


そして、アルゴリズムは、生成されたものも手書きされたものも、もう解体されているはずです。

まあ、クラスも配列もマクロもWindowsのライブラリからのインポートも まだ使ってないんですけどね。すべて順調です。