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

 
MakarFX:

こんな感じでいいんじゃないでしょうか。

OnTick()で毎回新しいオブジェクトを生成すると、直前のティックの時刻はどこにも保存されません。
グローバルオブジェクトを作成する目的は、前のティックの時間を保存し、新しいティックの時間と比較することで、新しいバーが 存在するかどうかを知ることです...

 
MakarFX:
なぜ、この変数NB_M1が必要なのでしょうか?
その唯一の目的は、各シンボルおよびタイムフレームについて最後に処理されたティックの時間を保存することです:
protected:
   datetime          m_TOld;        // Время хранится 
   ENUM_TIMEFRAMES   m_TimeFrame;   //    для каждого таймфрейма
   string            m_Symbol;      //    каждого символа

 
Mikhail Tkachev:
class CIsNewBar

はtrue/falseを返します、何時のことでしょうか?

 
MakarFX:

テスターで試してみてください。

いいえ、そうではありません。 今は1契約ずつ開閉しています。

まさに、トレーリング時に追加で建玉し、トレーリングストップはBrake evenで引き上げるという考え方です。

すべて従順にこなしてくれる。しかし、ストップロス=150pips、テイクプロフィット=500pipsの時に5枚まで開いてしまうのと、ストップロスを引き込むことが多いのが欠点ですね。
しかし、5枚買いをすると、市場参入 価格が下がり、リスクとマージンが大きくなることに気づきました。
このため、私のロボットを1枚だけ買い、2枚まで利食いするように変更したいのですが、トレーリングストップが5倍になってしまいます。
そのため、私のロボットにはトレーリングオーダー(追加購入と追加売却)とトレーリング(トレーリングストップロス)が入っています。
 
Eugen8519:
いいえ、そうではなく、一度に1つの契約を開閉するのです。

トレイリング・コントラクトがオープンし、トレイリング・ストップがブレーキイブンで引き上げられるというものです。

すべて従順にこなしてくれる。しかし、ストップロス=150pips、テイクプロフィット=500pipsでは5枚まで開いてしまい、またストップロスを引くことが多いという欠点がありますね。
しかし、5枚買いをすると、市場参入 価格が下がり、リスクとマージンが大きくなることに気づきました。
このため、1限のトレーリングにしたいのですが、最大2限の利食いまで引っ張り、5回までトレーリングストップロスが合います。
そこで、トレーリングオーダー(追加買い、追加売り)とトレーリング(トレーリングストップロス)をロボットに追加しました

ここでは、"0 "を "2 "に訂正します。

   if(pos_total<=0 )
      {TrailingOrder();}
   Trailing();
 

このトラブルを自動化するには? ORDER_FILLING_FOK ORDER_FILLING_IOCORDER_FILLING_RETURN

どなたか既製品をお持ちではないでしょうか?

 
Aleksandr Egorov:

このトラブルを自動化するには? ORDER_FILLING_FOK ORDER_FILLING_IOCORDER_FILLING_RETURN

もしかしたら、誰かが既成の例を持っているかもしれません。

ドキュメントには、すぐに使える例が載っています。しかし、その前に シンボルの塗りつぶし ポリシーを定義する必要があります。 SYMBOL_FILLING_FOKを検索 してください。

 
Aleksandr Egorov:

このトラブルを自動化するには? ORDER_FILLING_FOK ORDER_FILLING_IOCORDER_FILLING_RETURN

誰か既製品を持っているのでは?

MqlTradeRequestを自分で直接入力するのですか?

落とし穴が多すぎる

CTrade::FillingCheck()をご覧ください。

 
皆さん、こんにちは。同じような状況に出くわした方はいらっしゃいますか?一般に、スケーラブルな発振器は存在する。このオシレータの可視ウィンドウのスケールの現在の極値をプログラム的に知る必要があるのです。自分の言っていることが理解できればいいのですが......)助けていただけるとありがたいです
 
AMarkov:
皆さん、こんにちは。もしかしたら、同じような状況に遭遇した方がいらっしゃるかもしれません。一般に、スケーラブルな発振器は存在する。このオシレータの可視ウィンドウのスケールの極値をプログラム的に知る必要があります。自分の言っていることが理解できればいいのですが......)助けていただけるとありがたいです
bool  ChartGetInteger( 
   long    chart_id,        // идентификатор графика 
   int     prop_id,         // идентификатор свойства 
   int     sub_window,      // номер подокна 
   long&   long_var         // сюда примем значение свойства 
   );

CHART_PRICE_MIN および CHART_PRICE_MAX の識別子で指定します。