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

 
cocacoon >>:

Как из "double" значения получить время в формате datetime? И можно ли прозводить операции между 2 переменными в формате datetime? Просто TimeCurrent() возращает datetime, а остальные функции int значения.

Цель, получить отрезок начало и конец предыдущего дня по текущему времени, и на этом отрезки найти high и low.


目標 iHigh("SYMBOL",PERIOD_D1,1); これは前日の高値です。



 
Azimuth писал(а)>>

何が問題なのか、教えていただけませんか?私は、同じ方向のすべての取引を終了する2つのコードを与える。

と2つ目。

同じように見えるが、2番目は最後の取引から、1番目は最初の取引からクローズする必要があるだけだ。

つまり、最初のものは正しく動作し、すべてのトレードがクローズされますが、2番目のものは一番最後のトレードだけがクローズされ、残りはクローズされません。なぜ?

ターミナルにあるオーダーのリストは動的ですが、for()サイクルのパスは静的です。0(ゼロ)からtotal-1(オーダーの削除を始める前のリスト内のオーダー数から1を引いた数)まで渡すように言われた場合、そのようになります。10個の注文があったとして、リストの先頭から(リストの0番目の注文から)始めると、0から4まで行った後、注文のリストには5個の注文があり、それらは再び0から5までのポジションに配置されることになります。また、ループ内の5から9までを通過すると空砲となり、残りのオーダーはクローズまたは削除されません。正しい方法は、リストの最後から削除することであり、そうすれば崩壊の影響はありません。図は、リストの末尾から順に削除していくもので、削除/クローズのたびにリストのサイズは小さくなり、注文の取りこぼしはありません。" -Closing and Deleting Orders https://www.mql5.com/ru/articles/mt4 から抜粋しています。

 
ありがとうございました。でも、普通の数値をdatetime形式に変換するのはどうなんでしょう。
 
cocacoon >>:
Спасибо за помощь, но все равно интересно как привести к формату datetime обычное числовое значение.

datetime TimeCurrent( )
サーバーの最終更新時刻(引用時刻)を1970年1月1日00:00からの経過秒数で返します。

これはint形式のように操作できる数値ですが、データなのか時間なのかを把握するために、.NETを実行する必要があります。

string TimeToStr( datetime value, int mode=TIME_DATE|TIME_MINUTES)
1970年01月01日からの経過時間を秒単位で表した値を "yyyy.mm.dd hh:mi "という文字列に変換する。




 
cocacoon >>:

Как из "double" значения получить время в формате datetime? И можно ли прозводить операции между 2 переменными в формате datetime? Просто TimeCurrent() возращает datetime, а остальные функции int значения.

Цель, получить отрезок начало и конец предыдущего дня по текущему времени, и на этом отрезки найти high и low.


double変数の値にdatetimeやint変数を代入するだけで、小数の部分は捨てられます ...

iBarShiftを使用して、価格データを取得したい時刻に対応するバー番号を決定します。

 
Ether >>:
Доброго времени суток. Есть у меня один вопрос по оператору if. Представим, что в программе идет следующий оператор - if (A && B) { ... }, где A и B - некоторые условия. Понятно, что вся логическая формула истинна только тогда, когда истин каждый его компонент. Вопрос - MQL проверяет каждый оператор на истинность или все таки проверяет истинность каждой компоненты слева направо и если есть хоть одна ложная компонента, то прерывает работу и возвращает значение истинности - ложь?

https://docs.mql4.com/ru/basis/operations/bool

条件の計算が完了しました。

 
Azimuth >>:

Сократить то можно, но проблемы это не решает. Пробовал и OrdersTotal()-1, но это без разницы. Непонятно, почему при ii++ все работает, как надо, закрываются все ордера, например 2, 5, 6 и 10, а при ii-- только 10, а остальные остаются работать. Где тут собака зарыта?

まずは https://docs.mql4.com/ru/basis/operators/return からご覧ください。

いずれにせよ、全サイクルの間に1つのオーダーをクローズしておく必要があります。ベイのない自機を10台開いて、その結果を見てください。問題はこれらのサイクルにあるわけではないので、他のところを掘ってみてください。

 
splxgf >>:

https://docs.mql4.com/ru/basis/operations/bool

Вычисление условий полное.

ご返信ありがとうございました。ハンドブックにこの項目はありませんでした。

 

こんにちは! 助けてくださいx,y座標から時刻と価格を求めるには?

IdleLibモジュールdllを使用して、デカルト座標系でのx,y座標を取得しています。テキストオブジェクト(OBJ_TEXT)を作成するために、時間価格座標を取得する必要があります。どなたか事例をお持ちの方はいらっしゃいますか?

この場所にマウスクリックでテキストオブジェクトを作成するには?本当に必要なんです!

 
オシレーターなどにトレンドラインを引く インジケータをご存知の方はいらっしゃいますか?