初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1308 1...130113021303130413051306130713081309131013111312131313141315...1503 新しいコメント Kira27 2021.05.21 20:07 #13071 こんにちは!クラスメソッドに enumデータ型を渡す方法を教えてください。 例えば、私はタイムフレームを渡したいです。 私はアドバイザーのヘッダーにenumを作成します。 enum frame1 // перечисление именованных констант { PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1 }; そして、クラスでメソッドを宣言します。 。 public: Signal_Line(); ~Signal_Line(); double Time_Frame(double &Trend_Line_Down[][], int Frame, int Down); int Short_Proboy(double &Trend_Line_Down[][], string Name_Static, int Down, ENUM_TIMEFRAMES); また、EAからメソッドを呼び出すときに、列挙された値から3番目の値であるフレーム - PERIOD_M30を渡す必要がある場合、以下のコードの質問で何を書くべきですか? Trend_Line_Down[Timer_Down][1]=Signal.Short_Proboy(Trend_Line_Down, Name_Static, ???); // Флаг пробоя трендовой нулевой свечой Kira27 2021.05.21 20:33 #13072 そう考えると、なんだか書きたくなりますね。 Trend_Line_Down[Timer_Down][1]=Signal.Short_Proboy(Trend_Line_Down, Name_Static, frame1 3); // Флаг пробоя трендовой нулевой свечойしかし、コンパイル時にエラーが出ます。キャッチは何でしょうか? Vladimir Karputov 2021.05.22 04:33 #13073 Kira27: こんにちは!!クラスメソッドで 列挙型データ型を渡す方法を教えてください。 例えば、タイムフレームを渡したい場合、EAのヘッダーに列挙型 を作成し、クラスでメソッドを宣言します。また、EAからメソッドを呼び出すときに、列挙された値から3番目の値であるフレーム - PERIOD_M30を渡す必要がある場合、以下のコードの質問で何を書くべきですか? 質問1:標準のENUM_TIMEFRAMESが あるのに、なぜ独自の列挙を作成するのですか? Maksim Emeliashin 2021.05.22 06:41 #13074 ダニの費用についての質問です。 この値は、どのコントラクトサイズ(ロットサイズ)に対して計算されるのですか? 例えば、通貨ペアEURUSDの場合、このスクリプトは同じ値を出しますが、金属の場合は10倍の差が出ます。どうやって、なぜ、どうやって知ることができるのか? int OnStart() { //--- // цена тика для символа double symb_tick_price = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE); // рассчитаная цена символа (для Forex, CFD - формула из справки) // Profit = (close_price - open_price) * Contract_Size * Lots // т.е. берем размер тика и считаем по этой формуле // -> TickPrice = TickSize * Contract_Size * Lots double symb_lot_size = 1.0; double symb_tick_size = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE); double symb_contract_size = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_CONTRACT_SIZE); double calc_symb_tick_price = symb_tick_size * symb_contract_size * symb_lot_size; PrintFormat("Цена тика SYMBOL_TRADE_TICK_VALUE=%f, Цена тика ВЫЧИСЛЕННАЯ=%f", symb_tick_price, calc_symb_tick_price); //--- return(INIT_SUCCEEDED); } NG 0 13:31:42.450 testTickPrice (EURUSD,H1) Цена тика SYMBOL_TRADE_TICK_VALUE=1.000000, Цена тика ВЫЧИСЛЕННАЯ=1.000000 OE 0 13:31:56.924 testTickPrice (XAGUSD,H1) Цена тика SYMBOL_TRADE_TICK_VALUE=0.500000, Цена тика ВЫЧИСЛЕННАЯ=5.000000 CE 0 13:40:00.848 testTickPrice (XAUUSD,H1) Цена тика SYMBOL_TRADE_TICK_VALUE=0.100000, Цена тика ВЫЧИСЛЕННАЯ=1.000000 Alexey Viktorov 2021.05.22 06:59 #13075 Kira27: よくよく考えてみると、書いてくださいということのような気もしますが しかし、コンパイル時にエラーが出ます。何がキャッチになるのでしょうか? このエニュメレーションを行うと enum frame1 // перечисление именованных констант { m1 = PERIOD_M1, m5 = PERIOD_M5, m15 = PERIOD_M15, m30 = PERIOD_M30, h1 = PERIOD_H1, h4 = PERIOD_H4, d1 = PERIOD_D1, W1 = PERIOD_W1, MN1 = PERIOD_MN1 }; であれば、次のように書いてみてください。 Trend_Line_Down[Timer_Down][1]=Signal.Short_Proboy(Trend_Line_Down, Name_Static, (ENUM_TIMEFRAMES)m30); // Флаг пробоя трендовой нулевой свечой Igor Makanu 2021.05.22 07:22 #13076 Alexey Viktorov:このエニュメレーションを行うとのような書き方をしてみてください。 ...そして、1ヶ月後にはその意味を理解しようとしている )))) どうしても書きたいなら、せめてint型で書いてください。 enum frame1 // перечисление именованных констант { m1 = (int)PERIOD_M1, m5 = (int)PERIOD_M5, m15 = (int)PERIOD_M15, m30 = (int)PERIOD_M30, h1 = (int)PERIOD_H1, h4 = (int)PERIOD_H4, d1 = (int)PERIOD_D1, W1 = (int)PERIOD_W1, MN1 = (int)PERIOD_MN1 }; ということで、少なくとも著者が出力で得るものを理解することができます。 ...変態ですが ))) Alexey Viktorov 2021.05.22 07:34 #13077 Igor Makanu:...そして、1ヶ月後にはその意味を理解しようとする ))))どうしても書きたいなら、せめてint型で書いてください。ということで、少なくとも著者が出力で得るものを理解することができます。...変態ですが ))) なぜint型に変換するのか?mql5ではH1から、列挙値が 分数と一致しないため。そして逆に、多くの混乱を招くことになると思うのです。 Igor Makanu 2021.05.22 09:19 #13078 Alexey Viktorov:なぜint型に変換するのか?mql5ではH1から、列挙値が 分数と一致しないため。そして、私の考えでは、逆に多くの混乱を招くことになります。 enumは名前付き4バイト定数=intであるため ナンバリング Kira27 2021.05.22 09:55 #13079 Vladimir Karputov:質問1:標準のENUM_TIMEFRAMESが あるのに、なぜ独自の列挙を作成するのですか?回答)グラフィカルなオブジェクトを描画するオブジェクトの名前にこのオブジェクトが作成された場所を言って部分文字列M30があり、オブジェクトデータを配列ダブルに書き込むときに、名前の部分文字列に分割を使用して、私は配列で総当たり列挙によって、壊れた名前と配列の0インデックスを比較します。//____________________string Массив таймфреймов______________________________ NameFrame_Trend_Line[1]="M1"; NameFrame_Trend_Line[2]="M5"; NameFrame_Trend_Line[3]="M15"; NameFrame_Trend_Line[4]="M30"; NameFrame_Trend_Line[5]="H1"; NameFrame_Trend_Line[6]="H4"; NameFrame_Trend_Line[7]="Daily"; NameFrame_Trend_Line[8]="Weekly"; NameFrame_Trend_Line[9]="Monthly"; 配列中の 等しい文字列 のインデックスを検索する。NameFrame_Trend_Lineインデックスと int 配列を関連付けます。//___________________int Массив таймфреймов__________________________________________ TimeFrame[1]=1; TimeFrame[2]=5; TimeFrame[3]=15; TimeFrame[4]=30; TimeFrame[5]=60; TimeFrame[6]=240; TimeFrame[7]=1440; TimeFrame[8]=10080; TimeFrame[9]=43200; そこで、グラフオブジェクトの特性を格納する配列doubleに値を書き込みます。 そして、ブレークダウン、フィキシング、テストラインを追跡するために、書き込んだdouble配列からtimeframeパラメータを渡す方法を使います。ラインが異なる時間枠で作られるので、その時点でチャート上にどの期間があっても、作られたオブジェクトの時間枠に従ってブレークダウン計算、フィキシング、テストは計算しなければなりません。 私は、配列TimeFrameグラフィックオブジェクトの特徴の配列に書き込まれ、インデックスによって配列から引き出されます。 enum frame1 // перечисление именованных констант { PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1 }; を、故障・アンカー・テスト計算方法に移行する。 Alexey Viktorov 2021.05.22 09:57 #13080 Igor Makanu:enumは名前付き4バイト定数=intなのでではなく、分数です。 それで?ENUM_TIMEFRAMESのenumに何か違うものがあるのでしょうか?それとも、メモリが 足りなくなるのが怖いのでしょうか?そんなふざけたことしていいのか...。 ps; あーあ、入力が遅いなぁ(^^;))))私が一行打っている間に、Kira27さんがたくさん打ってくれました......。 そして何か、これはmql4で使われるのではと思われます。 1...130113021303130413051306130713081309131013111312131313141315...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そして、クラスでメソッドを宣言します。
。 また、EAからメソッドを呼び出すときに、列挙された値から3番目の値であるフレーム - PERIOD_M30を渡す必要がある場合、以下のコードの質問で何を書くべきですか?
しかし、コンパイル時にエラーが出ます。キャッチは何でしょうか?
こんにちは!!クラスメソッドで 列挙型データ型を渡す方法を教えてください。 例えば、タイムフレームを渡したい場合、EAのヘッダーに列挙型 を作成し、クラスでメソッドを宣言します。また、EAからメソッドを呼び出すときに、列挙された値から3番目の値であるフレーム - PERIOD_M30を渡す必要がある場合、以下のコードの質問で何を書くべきですか?
質問1:標準のENUM_TIMEFRAMESが あるのに、なぜ独自の列挙を作成するのですか?
ダニの費用についての質問です。
この値は、どのコントラクトサイズ(ロットサイズ)に対して計算されるのですか?
例えば、通貨ペアEURUSDの場合、このスクリプトは同じ値を出しますが、金属の場合は10倍の差が出ます。どうやって、なぜ、どうやって知ることができるのか?
よくよく考えてみると、書いてくださいということのような気もしますが
しかし、コンパイル時にエラーが出ます。何がキャッチになるのでしょうか?
このエニュメレーションを行うと
であれば、次のように書いてみてください。
このエニュメレーションを行うと
のような書き方をしてみてください。
...そして、1ヶ月後にはその意味を理解しようとしている ))))
どうしても書きたいなら、せめてint型で書いてください。
ということで、少なくとも著者が出力で得るものを理解することができます。
...変態ですが )))
...そして、1ヶ月後にはその意味を理解しようとする ))))
どうしても書きたいなら、せめてint型で書いてください。
ということで、少なくとも著者が出力で得るものを理解することができます。
...変態ですが )))
なぜint型に変換するのか?mql5ではH1から、列挙値が 分数と一致しないため。そして逆に、多くの混乱を招くことになると思うのです。
なぜint型に変換するのか?mql5ではH1から、列挙値が 分数と一致しないため。そして、私の考えでは、逆に多くの混乱を招くことになります。
enumは名前付き4バイト定数=intであるため
ナンバリング
質問1:標準のENUM_TIMEFRAMESが あるのに、なぜ独自の列挙を作成するのですか?
回答)グラフィカルなオブジェクトを描画するオブジェクトの名前にこのオブジェクトが作成された場所を言って部分文字列M30があり、オブジェクトデータを配列ダブルに書き込むときに、名前の部分文字列に分割を使用して、私は配列で総当たり列挙によって、壊れた名前と配列の0インデックスを比較します。
配列中の 等しい文字列 のインデックスを検索する。
インデックスと int 配列を関連付けます。
そこで、グラフオブジェクトの特性を格納する配列doubleに値を書き込みます。 そして、ブレークダウン、フィキシング、テストラインを追跡するために、書き込んだdouble配列からtimeframeパラメータを渡す方法を使います。ラインが異なる時間枠で作られるので、その時点でチャート上にどの期間があっても、作られたオブジェクトの時間枠に従ってブレークダウン計算、フィキシング、テストは計算しなければなりません。 私は、配列
グラフィックオブジェクトの特徴の配列に書き込まれ、インデックスによって配列から引き出されます。
を、故障・アンカー・テスト計算方法に移行する。enumは名前付き4バイト定数=intなので
ではなく、分数です。
それで?ENUM_TIMEFRAMESのenumに何か違うものがあるのでしょうか?それとも、メモリが 足りなくなるのが怖いのでしょうか?そんなふざけたことしていいのか...。
ps; あーあ、入力が遅いなぁ(^^;))))私が一行打っている間に、Kira27さんがたくさん打ってくれました......。 そして何か、これはmql4で使われるのではと思われます。