//--- example 1// if(Period()<=PERIOD_H4 && TimeHour(Time[h])==0 && TimeMinute(Time[h])==0)MqlDateTime SDateTime;
TimeToStruct(rates[InpBarTime].time,SDateTime); // Converts a value of datetime type into a structure variable MqlDateTimeif(Period()<=PERIOD_H4 && SDateTime.hour==0 && SDateTime.min==0)
{
}
int count=0;
if(InpBarTime<10)
count=10;
else
count=InpBarTime+1;
2.MT4で[h]エントリーを定義するエントリーエレメントはどれですか?
//--- example 1// if(Period()<=PERIOD_H4 && TimeHour(Time[h])==0 && TimeMinute(Time[h])==0)MqlDateTime SDateTime;
TimeToStruct(rates[InpBarTime].time,SDateTime); // Converts a value of datetime type into a structure variable MqlDateTimeif(Period()<=PERIOD_H4 && SDateTime.hour==0 && SDateTime.min==0)
{
}
В качестве первого операнда – "выражение1" – может быть использовано любое выражение, результатом которого является значение типа bool. Если результат равен , то выполняется третий операнд – "выражениеЗ". Второй и третий операнды, то есть "выражение2" и "выражениеЗ", должны возвращать значения одного типа и не должны иметь тип void...
#property script_show_inputs//--- input parametersint InpBarTime=3; // Bar where we compare the time//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
//if(Period()<=PERIOD_H4 && TimeHour(Time[h])==0 && TimeMinute(Time[h])==0)MqlDateTime SDateTime;
TimeToStruct(rates[InpBarTime].time,SDateTime); // Converts a value of datetime type into a structure variable MqlDateTimeif(Period()<=PERIOD_H4 && SDateTime.hour==0 && SDateTime.min==0)
{
}
// А ЕСЛИ ПО ЦИКЛУ ?
int InpBarTime=10;
for(int a=0; a<=InpBarTime; a++)
{
//if(Period()<=PERIOD_H4 && TimeHour(Time[h])==0 && TimeMinute(Time[h])==0)MqlDateTime SDateTime;
TimeToStruct(rates[InpBarTime].time,SDateTime); // Converts a value of datetime type into a structure variable MqlDateTimeif(Period()<=PERIOD_H4 && SDateTime.hour==0 && SDateTime.min==0)
{
}
Запустив InpBarTime по циклу будем иметь цикл, но в структуре. Правильно?
トレードクラスのCsymbolInfoか、SymbolInfoXXXXのようなシステム関数か、どちらか一方を使用するのがよいでしょう。
はい、ありがとうございます。また、はっきりさせてもいいですか。
エラーにつながるのか、それとも単なるコーディング文化の推奨なのか?
なるほど、ありがとうございます。も明らかにしていいでしょうか。
これはエラーにつながるのでしょうか、それとも単なるコーディング文化の推奨なのでしょうか?
誰もヴィネガーを使うことを禁じてはいない、BUT:時間が経つと変数名で混乱しないか、変数のデータを更新したかしなかったか覚えていないのか?
ビネガーを使うことを誰も禁じていない BUT:時間が経つと変数名で混乱し、変数内のデータを更新したかどうか覚えていないのでは?
ありがとうございます、そうですか)
同じ時間枠の複数の時系列を比較する必要がある場合は、MqlRates 型の配列で作業し、CopyRatesを使用してこの配列を埋めて ください。
MqlDateTime 構造体に時刻を格納するのが便利です→TimeToStructを使って 時刻をdatetimeからMqlDateTime 構造体に変換します。
これで、例1は次のようになります。
図解での回答ありがとうございました。しかし、疑問もある...。
1.とは何ですか?コンテキストのみ見つかりました。
2.MT4で[h]エントリーを定義するエントリーエレメントはどれですか?
図解での回答ありがとうございました。しかし、疑問もある...。
1.その意味するところは?のみ見つかりました :: コンテキスト
-->
これは省略された形です。すべて同じです。
2.MT4で[h]エントリーを定義するエントリーエレメントはどれですか?
-->
InpBarTimeだと思います。いかがでしょうか?
どういう意味ですか?のみ見つかりました :: コンテキスト
https://www.mql5.com/ru/docs/basis/operators/ternary
この演算子は最近流行っていて、よく使われるようになりました。
kopeyka2 さん
図解での回答ありがとうございました。しかし、疑問もある...。
1.その意味するところは?のみ見つかりました :: コンテキスト
-->
これは省略された形です。すべて同じです。
2.MT4で[h]エントリーを定義するエントリーエレメントはどれですか?
-->
InpBarTimeだと思います。いかがでしょうか?
今のところ、普通の感覚ではほとんど考えていないのですが......。ジャックを手にBLONDINGしています)))
InpBarTime=3;と グローバルに宣言していますが、MT4では[h]は通常ループ(for limit ......)でここからここまで となります。
#property script_show_inputs //--- input parameters int InpBarTime=3; // Bar where we compare the time //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart()
Market_Sessions Indicatorを発見 そこには面白いデザインが・・・。 残りの頭の中の内的対話をそこに落とし込もうと・・・)))
今は、普通の感覚ではほとんど考えられませんが......。ジャックを手にした金髪です)))
そして、このようにグローバルに書きましたね。
Market_Sessions Indicatorを発見 そこには面白い構造が・・・。 残りの頭の中の内部対話をそこに落とし込もうと・・・))))
あ、すみません、そのように書くべきでした。
どういう意味ですか?のみ見つかりました :: コンテキスト
https://www.mql5.com/ru/docs/basis/operators/ternary
この演算子は最近流行しており、ますます頻繁に使用されるようになりました。
OK !!!
ちゃんと理解できたかな?
OK !!!
うまくいったかな?
うまくいかなかったんですね。動作例をあげました。実行してください。MQL4風の 文章は忘れてください。コードの勉強を始め、ヘルプを見る。