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

 
ilnur17021992:

という変数があり

int Level = 0;

プログラムの実行中は、常に変化しています。Levelが変化していなければ、何もしない。 Levelが変化していれば(上でも下でも)、何らかのアクション{演算子}を行う。

別の変数を入力する

int Level1 = 0;

int Level = 0;

if (レベル !=Level1)

{};

とすると、Level1 =Level

しかし、どの取引 操作の後でもできることなら、なぜ毎ティックごとに配列を引き出す必要があるのか、本当に理解できません。

 
trader781:

別の変数を入力する

int Level1 = 0;

int Level = 0;

if (レベル !=Level1)

{};

とすると、Level1 =Level

取引操作 の後でできることなら、なぜ毎ティックごとに配列を引き出す必要があるのかよくわからない

      if(SELL_Lvl>0)
      {
         ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel);
      }          

さらに、SELL_Lvlが上昇したときにも発生させる必要があります。

         ObjectDelete( "Sell no loss level");

しかし、SELL_Lvl>0の 条件が満たされたので、再度、SELL_NoLossLevelの 新しい値によって、線が引き直される。SELL_Lvlによって、もっと簡単でわかりやすい線の引き直しはないのでしょうか?

 
ilnur17021992:
      if(SELL_Lvl>0)
      {
         ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel);
      }          

それから、SELL_Lvlを上げないと再描画されない。

         ObjectDelete( "Sell no loss level");

しかし、SELL_L_Lvl>0の 条件が満たされているので、ラインは再度、SELL_NoLossLevelの 新しい値によって再描画されるはずです。SELL_Lvlの 値によって、ラインを再描画する簡単でわかりやすい方法はないでしょうか?

オブジェクトを削除したり、再作成することなく、新しい値に転送します。

ObjectSetDouble(chart_ID, "Sell no loss level", OBJPROP_PRICE1, NewPrice);
 
Vitaly Muzichenko:

オブジェクトを削除したり再作成することなく、新しい値に転送します。

ObjectSetDouble(chart_ID, "Sell no loss level", OBJPROP_PRICE1, NewPrice);

これは確かにオプションですが、SELL_Lvlが 変化したかどうかによって、SELL_NoLossLevelの 値で線を引き直して欲しいのです。

このように if(ObjectGet("Sell no loss level", 1) !=SELL_NoLossLevel{ObjectDelete("Sell no loss level");}).

線は1ティック ごとに 再描画されるが、SELL_Lvlが 変化した ときだけ再描画 されるようにしたい。

 
ilnur17021992:

もちろん変形ですが、SELL_Lvlが 変わったか どうかで、SELL_NoLossLevelで 線を引き直して欲しいです

このように if(ObjectGet("Sell no loss level", 1) !=SELL_NoLossLevel{ObjectDelete("Sell no loss level");}).

線は毎ティック ごとに 再描画されるが、SELL_Lvlが 変化した ときだけ再描画 されるようにしたい。

ライン引き直しの条件を、実勢価格でわかりやすく説明する。

ハイライトされたラインについて:どの程度変化したのか?SELL_Lvlが変更されたことを示すものは何ですか?

 
みんなは、MCL5で保留中の注文を 閉じるための関数を助言する5つの買い指値注文は、最低1つを閉じるためにあります。
 
TYRBO:
Mcl5で保留中の注文を 閉じるためにどのような関数を使用するか知りたいです。

ループスルーして、正しいものを判断し、ドキュメントによる 方が良い。

保留中の注文を削除 する

保留中の注文を削除するための取引注文。2つのフィールドの指定が必要です。

  • アクション
  • 言いつけ
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov:

正しいものを見極め、ドキュメントに 従った方が良い。

閉じるには底値注文券が必要なのですが、底値注文券の探し方はわかりますので、教えていただければと思います
 
Alexey Viktorov:

ライン引き直しの条件を、実際の価格値で明確に書き出すことで、何をすべきかが理解できるようになります。

強調表示について:どのくらい変わったか?SELL_Lvlが変更されたことを示すものは何ですか?

SELL_Lvlは売りグリッドのニー(注文)数です。SELL_NoLossLevelは 買い注文の合計レベル(価格)です。つまり、「買いライン」のレベルに線を引いておき、新しい「買いライン」ができたときに、それぞれ線を引き直すというものです。どうすればいいのかわからない。
 
TYRBO:
最低注文金額の求め方はわかったのですが、最低注文金額のチケットの求め方を教えていただければと思います。

ドキュメントに例があります。

ループ内のオーダーを通過し、次のオーダーが前のオーダーより低いことを条件に、それを選択してさらに作業する方がよいかもしれません。したがって、ループを抜けると、削除するオーダーが選択 されていることになる。

あるいは、ループ内のオーダーリスト内の位置を保存しておき、ループを抜けた後に保存したインデックスで選択することも可能です。

Документация по MQL5: Торговые функции / OrderGetTicket
Документация по MQL5: Торговые функции / OrderGetTicket
  • www.mql5.com
Торговые функции / OrderGetTicket - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5