5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【MT4/5】MetaTrader初心者専用42【ゆとり隔離スレ】

1 :Trader@Live!:2014/02/11(火) 17:48:05.50 ID:LfnS61uG
▼Q: ダウ先物が見たい
  A: Brocoが終了したので他を当ってください

▼質問するときは・・・
 ・使用しているサーバー名
 ・使用しているインジケーター名、EA名
 ・どこからダウンロードしたのか・・・などを出来るだけ記入してください。

▼めたとれなうpろだ
  ttp://u3.getuploader.com/mt
 インジケーター、EAの相談はこちらにUPしてから

▼MT4マニュアル日本語マニュアル
  ttp://jp.forex.com/jp/platform/how_to_use_metatrader_all.pdf

▼MQL言語リファレンス日本語翻訳マニュアル
  ttp://www.metasys-seeker.net/MQL4_Reference_ver1/MQL4_Reference_Contents.html

▼MetaTraderまとめWiki
  ttp://hikaku.fxtec.info/metatrader/
 少なくとも1日はあれこれイジクッテ下さい。基本的な操作方法は、数時間もいじくれば理解できます。
 ツールバーのファイルメニューからヘルプまで一通り試しましょう。
 本スレテンプレを読めば分かることは、スルーされます。

▼分からないことが出てきたら、まずググってください。
MetaTraderスレッドまとめ
 ttp://hikaku.fxtec.info/metatrader/wiki.cgi?page=MetaTrader%A5%B9%A5%EC%A5%C3%A5%C9%A4%DE%A4%C8%A4%E1
 上記各スレで分からない語句をググると、すんなり答えが見つかるかもしれません。

▼MetaTrader4の使い方解説サイトの紹介
 システムトレード研究所/MetaTrader4の使い方
 ttp://jidoubaibai.com/burogu4.html

▼他のインジケーターを試したいならここら辺りで。
 Q: 〜ってインジケーターはどこにあるの?
 A: ▼カスタムテクニカル指標配布サイト
  ttp://codebase.mql4.com/indicators
  ttp://www.forexmt4.com/_MT4_Indicators/
  ttp://www.abysse.co.jp/mt4/ 名前と画像から検索できる
  ttp://www.forex-tsd.com/ ここでググるもよし。
  ttp://www.forex-tsd.com/indicators-metatrader-4/2519-350-mt4-indicators-one-folder.html
  ttp://www.mql4.com/ でググるもよし
  ttp://www.forexmt4.com/_MT4_Experts/
  ※ C:\Program Files\MetaTrader 4\experts\indicators(←ここのフォルダに移して再起動)
一部業者が配布しているMT4と若干内部仕様の違いにより完全な互換性が取れていません。
また一部のテクニカル指標において別途includeファイルやlibraryファイルを必要とするものがあります。

▼慣れたらここでステップアップ
forex-tsd
  ttp://www.forex-tsd.com/metatrader-4/
  ttp://www.forex-tsd.com/3746-post20.html

▼メタトレーダー書籍
「FXメタトレーダー入門 最先端システムトレードソフト使いこなし術」豊嶋久道 2,940円 (税込) 2007年12月発売
 著者のサイト ttp://forex.toyolab.com/

2 :Trader@Live!:2014/02/11(火) 17:48:52.44 ID:LfnS61uG
初心者Q&A
Q: Vista、Windows7で動かないのですが?
A: 以下を試してみてください。
  1 [コンピュータ]を右クリック。[プロパティ]を選択
  2 [システムの詳細設定]を選択
  3 [詳細設定]タブをクリック
  4 [パフォーマンス]の[設定]をクリック
  5 [データ実行防止]タブをクリック
  6 「重要なWindowsプログラムおよびサービスについてのみ有効にする」をオンにする
  7 okをクリック
  8 OSを再起動
  ※ Vista/Win7 の場合、C:\Program Files 以外の場所(C:\MT4 以下)にインストールするのが便利です。

Q: ファイル→デモ口座の申請 でデモ口座が作れません。
A: 一部のサーバでは、Build 409 より古い MT4 では口座が作れません。最新版を入手してterminal.exe をコピーしましょう。

Q: 指定した値になったら、アラート鳴らしたいんだけど?
A: メニューの表示-ターミナルでアラーム設定のタブがありますので、そこで設定できます。

Q: 土日は動かないのですか?
A: ほとんどの業者は休みです。
  サーバーに接続だけ出来る業者もありますが、更新はされません。

Q: TSDって何を見ればいいの?
A: まずはここから登録して下さい。
  http://www.forex-tsd.com/register.php
  後はあちこち見れば勉強になります。

Q: 10分足とか他の時間足を表示したい。
A: 「MT4 10分足」でググって下さい。URLは差し控えます。

Q: 付属しているMACDをライン表示にしたい。
A: MetaEditorでMACD.mq4を開いて、「DRAW_HISTOGRAM」で検索、DRAW_HISTOGRAMを「DRAW_LINE」に変更、念のため別名保存してコンパイルする。

Q: RCIのインディケーターはどこにあるの?
A: 「SpearmanRankCorr mq4」で検索するよろし。

Q: 同じインディケーターを同じウインドウに表示したい。
A: 共存させたいインディケーターを同じウインドウにドラッグ&ドロップ、設定を変えて表示させる。

Q: MetaEditorでコンパイルするやり方がわかりません
A: MetaEditorのツールバーのcompileで出来る。面倒だったらファイルを保存して、MT4を再起動

Q: ティックチャートを表示する方法を教えてください。
A: 気配値表示の所にティックチャートタブをクリック

Q: ボリンジャーバンドの三本線を五本線にしたい。
A: 標準偏差の設定値を変えたボリンジャーバンドをもうひとつ描画
A: 標準偏差の設定値を1にして、Levels に ±2,±3,を設定してもよし。

Q: 過去のチャートを見ようとしたら、すぐに現在の位置に戻ってしまうのですが?
A: ツールバーのAuto Scrollボタンをoffにする。

Q: 使わないインジケーターを削除するにはどうすればいいの?
A: 使わないインジケーターにカーソルを合わせ右クリック→削除

Q: インジケーターのラインの色、太さを変えたいんだけど
A: MetaEditorで該当するインジケーターを開きます。
  #propertyで検索(初めの方に記述してありますのですぐ見つかります。)

3 :Trader@Live!:2014/02/11(火) 17:49:40.11 ID:LfnS61uG
色を変更したい場合(例)
  #property indicator_color1 Red
  のRedを変えたい色に書き換える(Blue,Green,Yellowなど)
  #property indicator_color1 Yellow(←変更後)
  色の指定の頭文字は大文字で記述します。Blue→○、blue→×

 太さ、幅を変更したい(例)
  #property indicator_width1 1
  の線の太さ1を変えたい太さに変更する。(1〜5までの整数)
  #property indicator_width1 3(←変更後)

  変更後、保存してコンパイルまたは再起動する。
  #property indicator_colorや
  #property indicator_widthが無い場合、
  SetIndexStyleで個別に指定されていると思います。
  SetIndexStyleで検索します。
  (例)SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 1, Red);
  上記の「1」が太さ、Redが色です。
  太さを3、色を青に変更する場合は
  (例)SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 3, Blue);となります。

Q: 「チャートを右クリ→定型チャート→定型として保存」としても、保存できないけど。
A: @上の方法で保存できない場合。名前をつけて「定型として保存」するときに、保存先をMT4があるフォルダより上の階層(デスクトップ以外)を選択して保存する。
  A保存したファイルをMT4直下のtemplatesフォルダにコピペすればOK
  Bこれで、チャートを右クリ>定型チャートで好みのチャートを一発で呼び出せる。

Q: このスレでよく出てくるインジケーター
A: ・Fibopiv ・FerruFx_Multi ・nonlagdot ・#MTF_StochasticBar
  ・ZigZag Pointer ・Traders Dynamic Index
  ・Period_Converter_Opt ・Clock ・Grid Builder.mq4
  以上に「mq4」を加え検索。

Q: 日本時間を表示させたい
A: JPN_Time_Sub mq4 または CIDP_JPY_Time.mq4 または JPN_Time_SubZero.mq4 :-)

Q: ゆとりスレなのに・・・
A: 「MetaTraderのための」ゆとりスレです。「パソコン初心者」「2ちゃんねる初心者」のスレではありません。

Q: 「YM」や「NK」ってなに?
A: 「先物 シンボル 一覧」でググる。
  シンボル一覧の代わり http://web.archive.org/web/20080125182852/http://www.globalprice-inc.com/ja/d001-9.html

Q: チャートを重ね合わせて反転表示にしたいんだけど。
A: オーバーレイチャートスクリプト Ver.1.10 で検索

Q: 日足のMAが何か変なんだけど・・・
A: サーバーにより週に日足が5本のところと6本のところがあります。
  日足が週に5本のところを表示させるのが、手っ取り早いです。
  週5本のとこMeta Quote、FXDD、Alpari、WHC
  週6本のとこ、ODL

Q: 再インストールする場合、どのフォルダをバックアップしておけば良いの?
A: experts(中のindicatorsフォルダも)、history(人によっては結構容量あるかも)、config, templates, symbolsets, profilesのフォルダをバックアップ。
  これで大体もとの環境を作ることが出来る

▼MQL4を勉強するには
MetaEditorのToolboxからHelpを選択すると、リファレンスがあります。また、以下でも見ることが出来ます。
  ttp://docs.mql4.com/
日本語訳があります。
  ttp://www.metasys-seeker.net/MQL4_Reference_ver1/MQL4_Reference_Contents.html

4 :Trader@Live!:2014/02/11(火) 17:50:27.90 ID:LfnS61uG
▼TSDで勉強しましょう。
  ttp://www.forex-tsd.com/3746-post20.html

▼マニアックなテクニックの解説があります。
  ttp://d.hatena.ne.jp/fai_fx/

▼サーバの設定の仕方
  MetaTrader 4のメニューバーで
  ツール → オプション → サーバ
  サーバ(S)のところに上記のIPアドレスを入れる。

  ファイル → デモ口座の申請
  「貴社からのニュースレター受取りに同意します」にチェック、Scanボタンを押してアクセス状態を確認する。
  アクセスでき、Ping返答時間の短いものを選ぶ。もう一度ログインし直す。

  他にも業者がありますので探してみましょう。

▼サーバのIPを調べる方法
  MT4のフォルダーをクリックして、configという名のフォルダーを開く。
  C:\Program Files\MetaTrader 4\config

  使用しているデモサーバーの名前がついたファイルを右クリックして、「プログラムから開く」でメモ帳を選択。
  多くの文字が文字化けしているが、3行目に数字の羅列がある。
  この数字がデモサーバのIPとなる。

▼前スレ
【MT4/5】MetaTrader初心者専用40【ゆとり隔離スレ】
http://hayabusa3.2ch.net/test/read.cgi/livemarket2/1379936277/l50

5 :Trader@Live!:2014/02/11(火) 17:55:28.63 ID:LfnS61uG
更に関連スレ

【MT4/5】MetaTrader質問スレ ★1
http://hayabusa3.2ch.net/test/read.cgi/livemarket2/1377931721/l50

【ハイレバ】 海外FX業者スレ Part24 【MT4】
http://hayabusa3.2ch.net/test/read.cgi/livemarket2/1390377769/l50

MT4を超えるFXプログラミングは?
http://hayabusa3.2ch.net/test/read.cgi/livemarket2/1346672007/l50

【海外FX】リアルマテリアルFX MT4【地味に優良】
http://hayabusa3.2ch.net/test/read.cgi/livemarket2/1379017737/l50

【ATM停止】養分達の逆襲【MT4 EA/裁量】
http://hayabusa3.2ch.net/test/read.cgi/livemarket2/1383814398/l50

6 :Trader@Live!:2014/02/11(火) 17:57:46.77 ID:LfnS61uG
▼国内 MT4 採用ブローカー 2013

FXCMジャパン証券           http://www.fxcm.co.jp/
FXトレード・フィナンシャル       http://www.fxtrade.co.jp/
アルパリジャパン            http://www.alpari.jp/
アヴァトレード・ジャパン        http://www.avatrade.co.jp/
サイバーエージェントFX        http://www.cyberagentfx.jp/

セブンインベスターズ(日産センチュリ) http://www.7fx.jp/
フォレックスドットコム・ジャパン    http://jp.forex.com/
外為ファイネスト             http://www.gaitamefinest.com/
OANDA Japan              http://www.oanda.jp/service/mt4/index.php
東岳証券                 http://www.easthillfx.co.jp/jp/mt4_index.asp

efxドットコム(サザインベストメント)  http://www.saza-investment.com/mt4/
GKFX(旧王子証券)           http://www.gkfx.jp/
セントレード証券             http://www.centrade.co.jp/fx
マネックス証券              http://www.monex.co.jp/

▼国内 MT5 採用ブローカー 2013
日産センチュリ証券           http://www.nc-sec.co.jp/meta5/

7 :Trader@Live!:2014/02/11(火) 17:58:36.30 ID:LfnS61uG
以上、テンプレでした。

8 :Trader@Live!:2014/02/11(火) 18:32:03.07 ID:Xlh1LgQ0
最近MT4のプログラムに興味をもったのですが
本屋に並んでる書籍をみて不思議に思うことがあります。
無料で配布されているEAについてです。
数多くのEAが世に出回っていますがほとんど全てが
途転売買によるものばかりでした。
そうでないものを紹介している書籍もしくは
ブログなどありましたら教えてください。
よろしくお願い致します。

9 :Trader@Live!:2014/02/11(火) 19:08:18.10 ID:XmAMtK3n
mq4ファイルでバックテストをしているんですが、
iClose(NULL, 1, 1001) より過去の値が0になっているみたいです
iClose(NULL, 1, 1000) までは値が取れます
オプション→チャート→ヒストリー内の最大バー数は2147483647に設定してます
1000までしか取れないのは仕様でしょうか?
これ以上のデータをmqlで取得する方法はありますか?

10 :Trader@Live!:2014/02/11(火) 20:00:25.21 ID:4H2pDOCt
あの すみません

ex.4のインジを どのようにMt4に取り込んだらよろしいでしょうか?
OANDAのMT4でビルド600番です。

CCI_Bars_#2.ex4 これ入れたいです

11 :Trader@Live!:2014/02/11(火) 20:02:30.43 ID:ei6II61c
>>1おつ
mt4のデモ口座でおそらくfxcmというとこで作れたと思うのですが、レバレッジがどれを選んでも200倍になります
また、残高の横にAUDとなっているのですが、これは円になってませんよね?
よろしくお願いします
mt4上でのデモ口座の申請です

12 :Trader@Live!:2014/02/11(火) 22:19:00.36 ID:hURplcNQ
すみません最近MQLを始めた初心者なんですけど、質問はここでいいですか?

for(int i=OrdersHistoryTotal()-1; i>=0; i--){
OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
Print("OrderTicket=" , OrderTicket(), " OrderCloseTime=", OrderCloseTime());
}

ググってみるとMODE_HISTORYは決済順で並ぶみたいなんですけど、
上のプログラムをスクリプトで実行してみるとチケット順で並んでるみたいです。
たぶん初歩的な勘違いをしてるんだと思うんですけど、どうしたら決済順で取得できるんでしょうか?
ちなみにバージョンはMT4のBUILD600です。

13 :Trader@Live!:2014/02/11(火) 22:55:08.96 ID:4H2pDOCt
10番です

なんとか 入れることできましたが
バク含みで 作動中です。
サインが 信用できるかどうか? 不明です。

14 :Trader@Live!:2014/02/12(水) 03:07:24.71 ID:HV1n9TAy
SSRCっていう使えるインジケーターがフォルダに入れても機能しません
ラインが横1本だけでぜんぜん変動しません
ほかのインジはうまく動いてるんですが

15 :Trader@Live!:2014/02/12(水) 05:05:43.86 ID:PDGSkO00
>>9
1000本はテスターの仕様。
欲しい本数分前の期間から始めるしかない。
>>12
その順番は仕様に書かれていない。サーバー側の都合で並ぶだろうから
それに依存するのはあまりよくない。

16 :Trader@Live!:2014/02/12(水) 07:05:47.92 ID:coEDW0Li
米10年債のチャートが見れるブローカーある?
以前はブロコで見れた記憶があるけど。

17 :Trader@Live!:2014/02/12(水) 09:15:31.00 ID:vF77HugF
時間帯別の値幅を計算してくれるインジケータを探しています。
使いやすくてお薦めなものあればお願いします

18 :Trader@Live!:2014/02/12(水) 13:29:33.63 ID:RtqQ8+Dy
>>15
ありがとうございます。
自分が見つけたサイトはたまたま決済順に並ぶだけだったんですね。
過去スレとかを参考に別の方法探してみます。

19 :Trader@Live!:2014/02/12(水) 15:26:35.91 ID:mIHAQf1B
最近のMT4ってカスタムインジを格納する場所が変わりました?
だいぶ前にインストールしたMT4はexpertsフォルダがありましたが、今日インストール
したMT4にはexpertsフォルダが見当たらず、MQL4フォルダにindicatorsフォルダが有り、
そこにインジを入れるとようやくMT4で表示されました。

20 :Trader@Live!:2014/02/12(水) 18:36:04.67 ID:VMx+7zOo
#pragma pack(push,1)
struct RatesValue
{
INT64 TimeValue; // Open Date and Time
double OpenValue; // Open Price (absolute value)
double LowValue; // Low Price
double HighValue; // High Price
double CloseValue; // Close Price
UINT64 TickVolumeValue;// Tick Volume
INT32 SpreadValue; // Spread
UINT64 RealVolumeValue;// Trade Volume
};
#pragma pack(pop)

MT4_EXPFUNC double __stdcall Get_RatesValue(struct RatesValue* ratesvalue,int ratesnumber,int bars,int shift)
{
//---
switch(ratesnumber)
{
//C++側では,最古のインデックス番号が0になるので,最新のインデックス番号はbars-1となる.
case 0 : return ratesvalue[bars-shift-1].TimeValue;
case 1 : return ratesvalue[bars-shift-1].OpenValue;
case 2 : return ratesvalue[bars-shift-1].HighValue;
case 3 : return ratesvalue[bars-shift-1].LowValue;
case 4 : return ratesvalue[bars-shift-1].CloseValue;
case 5 : return ratesvalue[bars-shift-1].TickVolumeValue;
default : return -1.0;
}
//---
}

リビルドを実行すると以下のwarningが出るのですが、回避するにはどうすれば良いんでしょうか?
1>UseArrayCopyRates_Functions.cpp(78): warning C4244: 'return' : 'INT64' から 'double' への変換です。データが失われる可能性があります。
1>UseArrayCopyRates_Functions.cpp(83): warning C4244: 'return' : 'UINT64' から 'double' への変換です。データが失われる可能性があります。

21 :Trader@Live!:2014/02/12(水) 18:46:07.38 ID:PDGSkO00
その警告を出さなくしたいだけならキャストすればいい。
その2行のreturnの後に(double)追加。
しかし、その関数にどんな意味がw
なんでわざわざDLLなんだろ。

22 :20:2014/02/12(水) 20:04:00.31 ID:GH4Gw3Zp
>>21 ありがとう。試してみます。
Build600になって混乱しております。初心者なもんでこんな関数で
躓いております。

23 :Trader@Live!:2014/02/13(木) 00:05:52.52 ID:PDGSkO00
躓くも何も、その関数の先に何があるのかがわからん。
なんでMT4からわざわざ配列渡して戻すのか。
何かのテストってわけでもなさそうだし。

24 :20:2014/02/13(木) 09:07:06.81 ID:3KgwV9Gk
>>23うまく行きました。
下記のスクリプトを実行して、レートが正確に戻されるかテストしただけです。
#property show_inputs
#import "UseArrayCopyRates_Functions.dll"
double Get_RatesValue(MqlRates& ratesvalue[],int ratesnumber,int bars,int shift);
#import
//script program start function
int start(){
MqlRates RatesValue[];
ArrayCopyRates(RatesValue);
int TimeValue = Get_RatesValue(RatesValue,0,Bars,1);
double OpenValue = Get_RatesValue(RatesValue,1,Bars,1);
double LowValue = Get_RatesValue(RatesValue,2,Bars,1);
double HighValue = Get_RatesValue(RatesValue,3,Bars,1);
double CloseValue = Get_RatesValue(RatesValue,4,Bars,1);
int VolumeValue = Get_RatesValue(RatesValue,5,Bars,1);
Alert("Volume : ",VolumeValue);
Alert("Close : ",CloseValue);
Alert("Low : ",LowValue);
Alert("High : ",HighValue);
Alert("Open : ",OpenValue);
Alert("Time : ",TimeToStr(TimeValue));
return(0);}

25 :Trader@Live!:2014/02/13(木) 15:58:28.87 ID:SQvarE4q
メニューバーのウィンドウ→「ウィンドウの整列」で6枚のチャートを並べると、先日のバージョンアップ以前は3行2列だったのが、2行3列に変わりました。
この並べ方を任意に設定する方法って無いのでしょうか?

26 :Trader@Live!:2014/02/13(木) 16:11:48.77 ID:BcakXa7w
ttps://twitter.com/fx1king
初心者はここ参考にすると良いよ。
多分こいつも初心者w

27 :Trader@Live!:2014/02/13(木) 17:07:30.14 ID:8GnBKK8V
全レスの838でメタエディターが動くようになったと
書き込んだ者なんだが、昨日のXP UPDATEで
再びメタエディターが起動しなくなりました。もう嫌だ〜

28 :Trader@Live!:2014/02/13(木) 17:34:04.27 ID:C1hOgCUM
わしは、ver.4.00 build509 のままだぞい。

29 :Trader@Live!:2014/02/13(木) 17:43:56.74 ID:BS1El+Vv
build600以上にして困るのは、MetaEdoitorがNew MQL4で作動するために、
Old MQL4で作成したインジやEAを訂正したり、作り直したりするとエラーに
なる場合があること。エラーとならなくてもおびただしい警告が出るので
とてもウザイ。当分build 509に戻して使う方がベター。

30 :Trader@Live!:2014/02/14(金) 05:14:37.48 ID:kPWkQDUA
今はヘッダーファイルに中身まで書くのが当たり前なのかー
直さないと動かん めんどくさ

31 :Trader@Live!:2014/02/14(金) 07:59:25.86 ID:TkKIaP+g
バージョンアップ後コンパイルしたらエラー大量に出た(´;ω;`)

32 :Trader@Live!:2014/02/14(金) 13:49:09.80 ID:NCw9UaAS
>>29,31
build600から509に戻し、再度アップデートされないようにMetaQuotes/WebInstall
内のmt4clwのダミーファイルを作成し、その中にまたダミーデータを入れているが
時々そのデータが消されて、再度metaeditor.exe、 metalang.exe、metaterminal.exe
に書き替えられていることがある。他に方法はないのか誰か教えてほしい。

33 :Trader@Live!:2014/02/14(金) 14:14:27.72 ID:LNXw88dK
結局チャートの整列の仕方は変えられんのかw

34 :Trader@Live!:2014/02/14(金) 19:16:26.54 ID:YCN8VIPl
これ使えば。
http://d.hatena.ne.jp/fai_fx/20091115/1258211891

35 :Trader@Live!:2014/02/14(金) 20:13:27.56 ID:RaneqmG7
誰か助けてくれ!!
条件合致でメール送りたいんだが、

オプションからメールも設定もした。(TESTも良好)

start関数内に、SendMail関数も書いた。

けど来ない。何が原因? INGじゃだめなの? EAじゃなきゃいけないんだっけ?

36 :Trader@Live!:2014/02/14(金) 22:07:42.98 ID:/coHLzfA
>>35
build600, build604 の SendMail にはバグがあります。
今日リリースされたbuild606で直りましたが、build606アップデートを配信してる業者はそう多くありません。

http://forum.mql4.com/60694/page10#909666
の方法で build606 に更新できないこともないですが、
面倒でしたらとりあえず拙作の
https://github.com/micclly/mt4-mailer
をお使いください。急場しのぎにはつかえると思います。
zip は https://github.com/micclly/mt4-mailer/releases からどうぞ。

37 :Trader@Live!:2014/02/14(金) 22:33:54.60 ID:RaneqmG7
build 509でした

メッセージにこー書いてありました。わかります?

second parameter for sendmail function must be a string

38 :Trader@Live!:2014/02/14(金) 22:35:30.99 ID:/coHLzfA
>>37
訳: SendMailの第2引数は文字列でなければなりません

SendMail("件名", "本文");

としてエラーにならければ、現在の2番目の引数がおかしい(おそらく数値を指定している)です。

39 :Trader@Live!:2014/02/16(日) 12:09:58.89 ID:c5EX2A5w
1分足と15分足でスキャルしてるのですが、検証で15分足の過去チャートを見てるとき、
1分足の過去チャートも自動で連動して常に15分足の過去チャートと同じ時刻の位置に移動してくれるインジケーターとかないでしょうか?

40 :Trader@Live!:2014/02/16(日) 12:58:18.77 ID:G782arJ9
例えばMTFの移動平均で期間1にすれば?

41 :Trader@Live!:2014/02/16(日) 13:54:17.74 ID:8yop7Ojg
>>39
build600でそういうインジ作ってる人いたよ

42 :Trader@Live!:2014/02/17(月) 14:26:38.28 ID:SZWH9u3e
Build509の範囲で自前のインジやEAをやっと作れるようになった初心者です。
今後は豊嶋先生の実践プログラミングを更にしっかり読み込んで、
力を付けたいと思っていた矢先に今回の騒ぎに遭遇しました。

この先のことを考えると、実践プログラミングだけでは流れについて行けないと思い、
勉強方針に迷っています。
諸先輩、諸賢者の皆様のお考えをお聞かせいただければありがたいです。

43 :Trader@Live!:2014/02/17(月) 15:28:48.34 ID:X68c176m
>>42
流れについて行く必要性が本当にあるのかどうか?
が一番の問題じゃないかな。

44 :Trader@Live!:2014/02/17(月) 16:28:37.74 ID:HrjyEZTa
>>42
MQLは道具、手段の一つであって、目的ではないかと思います。
道具が (old) MQL4 から、 new MQL4 に変わってしまった、という状況なので、
まずは既存の作品を地道に new MQL4 で実装しなおしてはいかがでしょうか?

45 :Trader@Live!:2014/02/17(月) 18:11:29.06 ID:hZlCnEVL
実装しなおしとかアホか。
基本的に互換維持されてるのになんかわざと苦労させようとするやつが何人かいるようだなw

46 :Trader@Live!:2014/02/17(月) 18:48:16.71 ID:HrjyEZTa
実装しなおし、は少しおおげさに言い過ぎたでしょうか。
クラスばりばりのOOPで実装しなおす、という意味で言ったものではないです。

変数スコープの変化や、配列の仮引数、文字列と数値の連結などの
若干の仕様変更を理解できれば十分でしょうかね。

"init(), deinit() and start() predefined functions have remained for compatibility,"
とリファレンスにも書かれているので、旧来のイベントハンドラをあえて今後もそれを使い続けるのは少し疑問に感じます。
何個か、新イベントハンドラに書き換えて、挙動を理解するぐらいはしても損ではないのではないでしょうか。

47 :Trader@Live!:2014/02/17(月) 19:31:14.50 ID:hZlCnEVL
動いているプログラムに手を入れるのはバカのすること。

48 :Trader@Live!:2014/02/17(月) 20:51:45.29 ID:kDPQ4f/2
>>46
ビルド509でコンパイル、テストしてビルド600で運用。当分の間は互換性が保たれる。もし600で動かなくなったら、その時に修正すればいい

49 :Trader@Live!:2014/02/17(月) 20:55:10.69 ID:SZWH9u3e
42です。
43〜47の貴重なお考えありがとうございます。
大変参考になりました。
MQ社のフォーラムの記事を読み、MQ社の意図が理解出来たように思いました。
old MQL4に比べるとnew MQL4は敷居が高いようですが、これを機会に取り組んでみようと思います。
お寄せいただいたお考えやフォーラムの記事から、今後数ヶ月間の方針をとりあえず決めました。
既存のインジやEAはbuild509の環境下でデモやtesterを用いてロジックの改良を続ける。
(まだ始めて間もないので、実戦配備しているインジやEAはひとつもありません。)
一方,別のPCにnew MQL4を導入し、フォーラムの記事(http://forum.mql4.com/60555)を頼りに
new MQL4の勉強を始める。
数ヶ月もすれば、newも落ち着くと思われるので、メインPCにnewを導入しインジやEAの開発はnewを用いて行う。
この頃になれば、豊嶋先生のnewの解説本も出版されるのでは、と期待します。

今回の騒動を

50 :Trader@Live!:2014/02/17(月) 21:03:11.97 ID:SZWH9u3e
続きです。
今回の騒動を好機にするつもりです。

51 :Trader@Live!:2014/02/17(月) 21:09:26.07 ID:hZlCnEVL
>>46
> 変数スコープの変化や、配列の仮引数、文字列と数値の連結などの
仕様変更ってどういうこと?
http://forum.mql4.com/60555
には書いてないみたいだけど。strictにしなければスコープも同じだし。

52 :Trader@Live!:2014/02/17(月) 21:28:32.30 ID:erWNtrfB
すみませ〜ん どなたか天才さんいまへんか〜

SendMailでお知らせを現在行ってます。

IFで、合致したらメール送るようにしてるのですが、

IFで合致した時に、年月日時分秒 をメール文書いて送信するようにしたいのですが、

うまくいきません。なぜなのでしょうか??

↓自分でつくったやつ。

datetime time = Time[0];
このtimeをsendmailに入れるておくる。

「0」しか表示されません。 ><

53 :Trader@Live!:2014/02/17(月) 21:33:03.77 ID:X68c176m
>>52
datetime time = 999;
みたいに数値を入れたり、

int time = 888;
int 型にするとどうなる?

54 :Trader@Live!:2014/02/17(月) 21:36:50.96 ID:hZlCnEVL
>>52
とりあえず、time_tを直読みできる能力がないなら
SendMail(subject, TimeToStr(Time[0]));
くらいがええで。

55 :Trader@Live!:2014/02/17(月) 21:42:28.23 ID:erWNtrfB
53〜54 さんきゅ 試してみる!!
有難う御座います。またヨロシクおねがいします。

56 :Trader@Live!:2014/02/17(月) 22:09:57.21 ID:/S7vWPep
>>47
動いたらおしまいのプログラマは成長しないw

57 :Trader@Live!:2014/02/17(月) 22:23:46.17 ID:HrjyEZTa
>>51

> 変数スコープの変化
> 配列の仮引数
> 文字列と数値の連結などの

いずれも #property strict での変化ですので、
#property strict 前提で話をしてしまったのは不適切でした。

参考コードを貼っておきます(コメントに違いを書いてあります)
http://pastebin.com/quXRsWJ8
http://pastebin.com/UAVU8hud

過去のライブラリを build600 用に書き直していて、
上記の箇所はほぼもれなくコンパイルエラー/ワーニングになっていたので、
言及しました。

58 :Trader@Live!:2014/02/17(月) 22:31:04.12 ID:hZlCnEVL
配列は参照渡し必須ってのはMQL4でも仕様上はそうだったんじゃないか。
strictでの暗黙の型変換の警告は出て当然だろうし。
strictありなら表に書いてある通りもっと気を付けないといかんだろ。

59 :Trader@Live!:2014/02/17(月) 22:39:32.95 ID:hZlCnEVL
strictで面倒なのは、MQL4だと勝手に初期化してくれてた変数の
初期化がないことだな。まぁC++と同じなんだが、仕様上初期化
してくれるのにさらに書くのもどうかと思って書いてないところが
結構あるのがな。
あと、表でいくと問題なのはローカル定義の配列の挙動だな。
これはstrictでなくても挙動が変わってるのでこれに依存してる
ところは要注意だ。

60 :Trader@Live!:2014/02/17(月) 22:58:36.50 ID:HrjyEZTa
ご説明ありがとうございます。
変数初期化まわりのほうが気を付けないといけないですね。

#property strict つながりですが、たまたまフォーラムみてたら、
extern/input のパラメータ変数表示・設定画面で、
・#property strict かつ input → コメント表示
・#property strict ではない、または extern → 変数名表示
という現象になるいうポストがありました。

http://forum.mql4.com/60983/page6#911255

なんていうポストを見つけました。
ご参考までの共有です。(変わるのかも)

61 :Trader@Live!:2014/02/17(月) 23:21:58.29 ID:hZlCnEVL
inputとかいつのまに追加されてたんだ。
コメントが出てくるとかどうかと思うが、確かにこういうの欲しかったw

とりあえず、strictにしなければほとんど今までと同じコードでいけるん
じゃないのか?
objectの前後関係が名前でなくZORDERって新規プロパティになったのが
いやなのでいけるところまで509でいくつもりだが。

62 :Trader@Live!:2014/02/18(火) 17:10:20.23 ID:z5wBt1ZJ
>>4
今気付いたけど前スレ間違っとる

▼前スレ
【MT4/5】MetaTrader初心者専用41【ゆとり隔離スレ】
http://hayabusa3.2ch.net/test/read.cgi/livemarket2/1386557357/

63 :Trader@Live!:2014/02/18(火) 17:37:40.58 ID:+qyyqy2V
MQLで配列を引数で渡す事って、そんなにあるか?
グローバル配列にした方が楽だし効率が良いと思うんだがな。
もちろん、DLLとかに渡すのは仕方がないけど。

64 :Trader@Live!:2014/02/18(火) 19:56:38.69 ID:qbu6iwBu
別に&を付け忘れてるところに追加するだけだからあろうがなかろうが
それは問題じゃない。

65 :Trader@Live!:2014/02/18(火) 21:20:04.07 ID:PQTUtvwi
どこも弄った記憶がないんですが再起動すると、ツールバー・ステータスバー・チャートバーが消えてしまうようになりました。
再起動しても前回の設定が残るようにするにはどこで設定すればいいのですか?
教えてください。

66 :Trader@Live!:2014/02/18(火) 21:21:38.18 ID:qbu6iwBu
1度だけF11を押す。

67 :Trader@Live!:2014/02/18(火) 21:43:12.10 ID:PQTUtvwi
>>66
しょうもない質問に即答していただきありがとうございます。
オプション等探してもわからなかったので助かりました。

68 :Trader@Live!:2014/02/19(水) 00:27:19.13 ID:tCIJI68I
通貨のパラメーターを指定する箇所に NULLと Symbol() が使われてますが使い分けの意味があるのでしょうか。
よろしくお願いいたします。

69 :Trader@Live!:2014/02/19(水) 00:37:03.27 ID:rg5oCSNt
iMA()とはかNULLなら現在のチャートのシンボルが使われるのでどっちでもOK。
OrderSend()はNULLが使えないのでSymbol()なりが必要。

70 :Trader@Live!:2014/02/19(水) 00:54:23.73 ID:tCIJI68I
>>69さん
ありがとうございました。
Symbol()で統一して使うようにします。
先日テスターで円通貨はバックテストできてストレート通貨ができない症状がでたので直接通貨名を入力したらできました。
勉強不足を痛感します。

71 :Trader@Live!:2014/02/19(水) 16:11:32.98 ID:SfiSXxCf
Tickstoryの夏時間、冬時間について質問があります

Pepperstone 夏GMT3 冬GMT2
であればどのタイムシフトを選択すればよいのでしょうか?

アメリカサーバーということで EST+07 ですかね

72 :Trader@Live!:2014/02/19(水) 23:39:54.48 ID:a9IIDt+k
build600にしたらインジが反映されないんですが、なして?

73 :Trader@Live!:2014/02/20(木) 03:00:01.10 ID:d/7pjeCS
今回のアップデートは日本の業者のみならず、海外の業者も泡食ったって
話だよ。アセンダントの山中氏が言っていた。個人レベルでは、ファイルの
構成の変更はどうってことないが、New MQL4に慣れるまでは頭が痛い。

同じ山中さんの言うには、これでMetaQuote社はなかなか普及しないMT5は
諦めて、旧MT4との互換性を持たせながらも、New MT4を限りなくMT5に近づける
方針らしい。

74 :Trader@Live!:2014/02/20(木) 09:15:07.52 ID:rO6E4mXJ
そうすることによって、MT4→MT5を進めようとしているのかね。

75 :Trader@Live!:2014/02/20(木) 09:21:38.37 ID:62Eppzxw
なんでそこまでしてMT5に拘るんだろう?

76 :Trader@Live!:2014/02/20(木) 09:59:08.73 ID:oXdviXC/
MT4をMT5に近づけるより、MT5をMQL4対応にしたほうが
受け入れられると思うんだが。
仕様をMQL5に近づけたMQL4なんて発想が斜め上だろ。

77 :Trader@Live!:2014/02/20(木) 10:18:04.59 ID:d/7pjeCS
>>74,75,76
うろ覚えだが、この流れはWindows NTや2000がWindows XP→Windows8
となったのと似ているとのことだった。

78 :Trader@Live!:2014/02/20(木) 11:32:36.01 ID:ibmkpaym
>>77の言ってることは浅学のため理解できないのだが、
彼らが言ってることを読むと、柔軟性、拡張性、堅牢性などを求めているように見える。
あと、感じとしてはソフト屋としての美学(?)かなw

79 :Trader@Live!:2014/02/20(木) 15:23:01.51 ID:/SC+lngO
DLLとの配列のやり取りで、引数をあてることがありますが。
配列が壊れるようなことがありますでしょうか?

例えば以下のような場合。同じ配列aを別々の関数を使って、受け取って
再度渡すとします。
そのときに、別な配列cの値が期待する値10でなく、50で受け取るような事が
ありますでしょうか?


/////DLL////
functionA(int *in_a){
*in_a = 50;
}
functionB(int *out_a){
a = *out_a;
}
functionC(int *in_c){
*in_c = 10;
}

/////MQL////

start(){
int a[1];
int c[1];
functionA(a);
functionB(a);
functionC(c);

comment(c[0]);
}

80 :Trader@Live!:2014/02/20(木) 17:16:37.00 ID:CuSAnqiM
だからMT5は一時的にオワコンだって言ってるだろうがw
メタ社は打ち出の小槌であるマーケットを導入したかった
MT5が全く普及しないから遂にあきらめて
MT4に実装することにしただけ

81 :Trader@Live!:2014/02/20(木) 18:39:56.61 ID:Wj3bWZ1x
>>79
functionC を呼び出す前に c[0] を参照しなければ、そういうことは起こらないと思います。

82 :Trader@Live!:2014/02/20(木) 23:49:38.40 ID:cNFHHzp4
そのコードでおかしくなる理由は全くない。
問題が起きているなら最小の再現コードにしてどっかに置け。
>>81
参照したらおかしくなるとか、ありえない。

83 :Trader@Live!:2014/02/21(金) 00:32:56.96 ID:xqhWiP1E
>>80 >>81
ありがとうございます。私の勘違いでした。
申し訳ないですが、勉強になりました。

84 :Trader@Live!:2014/02/21(金) 00:47:56.13 ID:bNZbbPve
すでに >>83 で解決されてるようなので、余談です。

>>82

> 参照したらおかしくなるとか、ありえない。

build600 以前なら、 functionC 呼び出し前なら 0,
build600 以降なら
・#property strict なしなら build600 以前と同様に 0
・#property strict ありなら 初期化コードがないので不定
というようにはなりますよ。

あくまでも >>78 のコードの場合ですけどね。

85 :Trader@Live!:2014/02/21(金) 01:03:14.84 ID:xqhWiP1E
ありがとうございます。
嫌だわ。DLLへの関数が十数個ある、、。
全部チェックしないといけないのね。

修正するのは、MQL側ですよね。
もしよろしけらば、78を例にとって、修正案を教えていただけませんか。

86 :Trader@Live!:2014/02/21(金) 01:05:55.47 ID:lWzoyxes
参照って参照渡しのことを言ってたのか。
まぁそうだとして、お前、実際に試したのかよ。
DLLに渡るのは&がついてようがついてなかろうがa[0]を指すポインタだ。
だから&が無くてもDLL側で変更すれば変更されてしまうぞ。
まぁbuild6xxは使ってないからbuild600より前での話だけどな。

87 :84:2014/02/21(金) 01:11:40.01 ID:bNZbbPve
>>85
あら?自己解決されていたので、私の予想(呼び出し前の参照)は杞憂だと
思っていたのですが、そうではないですか?

DLLかどうかは関係ないですよ。
あと #property strict なのかどうかがやっぱり大事です。

#property strict では
・グローバル変数
・ローカルの string 型変数
以外暗黙初期化されなくなりました。

http://pastebin.com/TaXDVnZa

これを実行していただければわかるかと思います。

88 :Trader@Live!:2014/02/21(金) 01:15:27.48 ID:lWzoyxes
初期化の話は関係ない。
funcA()で設定してるだろ。
DLLじゃなけりゃ参照渡しにしないとそもそもコンパイル通らねーよ。

89 :84:2014/02/21(金) 01:20:15.09 ID:bNZbbPve
参照渡しのことを言ってるわけではないですよ。

> 例えば以下のような場合。同じ配列aを別々の関数を使って、受け取って
> 再度渡すとします。
> そのときに、別な配列cの値が期待する値10でなく、50で受け取るような事が
> ありますでしょうか?

という質問でした。

>> 79 のソースコードでは、
functionA で a に代入し、 fuctionB で a を参照し、 functionC で c に代入していますね。
このとき、MQL側で、 functionC を呼び出す前に c を参照したり、
functionC で c に代入する前に参照していれば、 0 や不定値になる、と言っているのです。

何か、勘違いをしていたら教えてください。

90 :Trader@Live!:2014/02/21(金) 01:21:19.85 ID:lWzoyxes
c[0]には10を入れてるだけに見えるが?

91 :Trader@Live!:2014/02/21(金) 01:23:27.96 ID:xqhWiP1E
>>87さん。

79の件は解決です。自分の勘違いでした。(600以前ですが)

600以降のバージョンについて、戦々恐々しているところだったので、、。

92 :84:2014/02/21(金) 01:25:36.71 ID:bNZbbPve
ですので、「functionC を呼び出す前に参照しない限り」と言いました。
DLL側で c[0] の値を参照している箇所がないので、
「別な配列cの値が期待する値10でなく、50で受け取る」の意味が、
MQL側で「受け取る」だと脳内補完して書きました

「functionC での代入前に参照されない限り」と書いたほうが正しかったです。
これはすみません。

93 :Trader@Live!:2014/02/21(金) 01:26:42.22 ID:lWzoyxes
お前の言っていることが理解できない。
どういうコードなら問題があると言うのかちょっと書いてみてくれ。

94 :84:2014/02/21(金) 02:34:01.39 ID:bNZbbPve
>>93
>>87 とあまり変わり映えしないですけど、
https://github.com/micclly/mt4-test-ref-before-init
に置いておきました。
わざわざ OutputDebugString は DebugView でログを一個にしたかっただけです。
zip は右下の「Download ZIP」からお願いします。

95 :Trader@Live!:2014/02/21(金) 02:54:31.74 ID:lWzoyxes
元の質問はfuncCの後に値が10でない可能性があるか?
だと思ってたんだが...
とりあえずお前の意図は理解したが、斜め上だったようだ。

96 :84:2014/02/21(金) 03:00:49.69 ID:bNZbbPve
> 元の質問はfuncCの後に値が10でない可能性があるか?
> だと思ってたんだが...

私もそのつもりでした。
ただ、 >>79 のコードはばっさりカットされた状態なので、
実装者が勘違いしてる(functionCを呼び出した後のつもりで、呼び出す前に参照してる)
可能性を一応指摘したのでした。

ですので、 >>82 の回答には異論ないです(再現コードが必要)

97 :84:2014/02/21(金) 03:04:07.33 ID:bNZbbPve
あ、だいぶ余談が過ぎましたが、
>>91 解決してよかったです。

98 :Trader@Live!:2014/02/21(金) 03:06:21.88 ID:lWzoyxes
普通、参照というとreadのことだが、readすると値が変わる、という通常
ありえないことのように読めたんだよ。まぁもうわかったとは思うが。
そんな、いくらでもあるような仮定の中から1つだけ持ち出すから話がおかしくなる。
そんなこと言い出したらfuncC呼んだあとに書き換えてたり、全然別の変数を
参照してたり、一体どうしろってんだと。

99 :Trader@Live!:2014/02/21(金) 12:08:09.80 ID:dLEAXd4v
ステップ・バイ・ステップってどういうときに使うのでしょうか?

100 :Trader@Live!:2014/02/21(金) 17:04:55.47 ID:3OLPhqNH
以前のインジを600にコピーしたら全然表示されないんですけど
コンパイルしたらopenできないってエラーがでました。

299 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)