【MT4/5】MetaTrader初心者専用42【ゆとり隔離スレ】
初心者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で検索(初めの方に記述してありますのですぐ見つかります。)
色を変更したい場合(例)
#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
以上、テンプレでした。
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 これ入れたいです
>>1 おつ
mt4のデモ口座でおそらくfxcmというとこで作れたと思うのですが、レバレッジがどれを選んでも200倍になります
また、残高の横にAUDとなっているのですが、これは円になってませんよね?
よろしくお願いします
mt4上でのデモ口座の申請です
すみません最近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番です なんとか 入れることできましたが バク含みで 作動中です。 サインが 信用できるかどうか? 不明です。
SSRCっていう使えるインジケーターがフォルダに入れても機能しません ラインが横1本だけでぜんぜん変動しません ほかのインジはうまく動いてるんですが
>>9 1000本はテスターの仕様。
欲しい本数分前の期間から始めるしかない。
>>12 その順番は仕様に書かれていない。サーバー側の都合で並ぶだろうから
それに依存するのはあまりよくない。
米10年債のチャートが見れるブローカーある? 以前はブロコで見れた記憶があるけど。
17 :
Trader@Live! :2014/02/12(水) 09:15:31.00 ID:vF77HugF
時間帯別の値幅を計算してくれるインジケータを探しています。 使いやすくてお薦めなものあればお願いします
>>15 ありがとうございます。
自分が見つけたサイトはたまたま決済順に並ぶだけだったんですね。
過去スレとかを参考に別の方法探してみます。
19 :
Trader@Live! :2014/02/12(水) 15:26:35.91 ID:mIHAQf1B
最近のMT4ってカスタムインジを格納する場所が変わりました? だいぶ前にインストールしたMT4はexpertsフォルダがありましたが、今日インストール したMT4にはexpertsフォルダが見当たらず、MQL4フォルダにindicatorsフォルダが有り、 そこにインジを入れるとようやくMT4で表示されました。
#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' への変換です。データが失われる可能性があります。
その警告を出さなくしたいだけならキャストすればいい。 その2行のreturnの後に(double)追加。 しかし、その関数にどんな意味がw なんでわざわざDLLなんだろ。
22 :
20 :2014/02/12(水) 20:04:00.31 ID:GH4Gw3Zp
>>21 ありがとう。試してみます。
Build600になって混乱しております。初心者なもんでこんな関数で
躓いております。
躓くも何も、その関数の先に何があるのかがわからん。 なんで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
全レスの838でメタエディターが動くようになったと 書き込んだ者なんだが、昨日のXP UPDATEで 再びメタエディターが起動しなくなりました。もう嫌だ〜
わしは、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に戻して使う方がベター。
今はヘッダーファイルに中身まで書くのが当たり前なのかー 直さないと動かん めんどくさ
バージョンアップ後コンパイルしたらエラー大量に出た(´;ω;`)
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
35 :
Trader@Live! :2014/02/14(金) 20:13:27.56 ID:RaneqmG7
誰か助けてくれ!! 条件合致でメール送りたいんだが、 オプションからメールも設定もした。(TESTも良好) start関数内に、SendMail関数も書いた。 けど来ない。何が原因? INGじゃだめなの? EAじゃなきゃいけないんだっけ?
37 :
Trader@Live! :2014/02/14(金) 22:33:54.60 ID:RaneqmG7
build 509でした メッセージにこー書いてありました。わかります? second parameter for sendmail function must be a string
>>37 訳: SendMailの第2引数は文字列でなければなりません
SendMail("件名", "本文");
としてエラーにならければ、現在の2番目の引数がおかしい(おそらく数値を指定している)です。
1分足と15分足でスキャルしてるのですが、検証で15分足の過去チャートを見てるとき、 1分足の過去チャートも自動で連動して常に15分足の過去チャートと同じ時刻の位置に移動してくれるインジケーターとかないでしょうか?
40 :
Trader@Live! :2014/02/16(日) 12:58:18.77 ID:G782arJ9
例えばMTFの移動平均で期間1にすれば?
>>39 build600でそういうインジ作ってる人いたよ
42 :
Trader@Live! :2014/02/17(月) 14:26:38.28 ID:SZWH9u3e
Build509の範囲で自前のインジやEAをやっと作れるようになった初心者です。 今後は豊嶋先生の実践プログラミングを更にしっかり読み込んで、 力を付けたいと思っていた矢先に今回の騒ぎに遭遇しました。 この先のことを考えると、実践プログラミングだけでは流れについて行けないと思い、 勉強方針に迷っています。 諸先輩、諸賢者の皆様のお考えをお聞かせいただければありがたいです。
>>42 流れについて行く必要性が本当にあるのかどうか?
が一番の問題じゃないかな。
>>42 MQLは道具、手段の一つであって、目的ではないかと思います。
道具が (old) MQL4 から、 new MQL4 に変わってしまった、という状況なので、
まずは既存の作品を地道に new MQL4 で実装しなおしてはいかがでしょうか?
実装しなおしとかアホか。 基本的に互換維持されてるのになんかわざと苦労させようとするやつが何人かいるようだなw
実装しなおし、は少しおおげさに言い過ぎたでしょうか。 クラスばりばりのOOPで実装しなおす、という意味で言ったものではないです。 変数スコープの変化や、配列の仮引数、文字列と数値の連結などの 若干の仕様変更を理解できれば十分でしょうかね。 "init(), deinit() and start() predefined functions have remained for compatibility," とリファレンスにも書かれているので、旧来のイベントハンドラをあえて今後もそれを使い続けるのは少し疑問に感じます。 何個か、新イベントハンドラに書き換えて、挙動を理解するぐらいはしても損ではないのではないでしょうか。
動いているプログラムに手を入れるのはバカのすること。
>>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
続きです。 今回の騒動を好機にするつもりです。
52 :
Trader@Live! :2014/02/17(月) 21:28:32.30 ID:erWNtrfB
すみませ〜ん どなたか天才さんいまへんか〜 SendMailでお知らせを現在行ってます。 IFで、合致したらメール送るようにしてるのですが、 IFで合致した時に、年月日時分秒 をメール文書いて送信するようにしたいのですが、 うまくいきません。なぜなのでしょうか?? ↓自分でつくったやつ。 datetime time = Time[0]; このtimeをsendmailに入れるておくる。 「0」しか表示されません。 ><
>>52 datetime time = 999;
みたいに数値を入れたり、
int time = 888;
int 型にするとどうなる?
>>52 とりあえず、time_tを直読みできる能力がないなら
SendMail(subject, TimeToStr(Time[0]));
くらいがええで。
55 :
Trader@Live! :2014/02/17(月) 21:42:28.23 ID:erWNtrfB
53〜54 さんきゅ 試してみる!! 有難う御座います。またヨロシクおねがいします。
>>47 動いたらおしまいのプログラマは成長しないw
配列は参照渡し必須ってのはMQL4でも仕様上はそうだったんじゃないか。 strictでの暗黙の型変換の警告は出て当然だろうし。 strictありなら表に書いてある通りもっと気を付けないといかんだろ。
strictで面倒なのは、MQL4だと勝手に初期化してくれてた変数の 初期化がないことだな。まぁC++と同じなんだが、仕様上初期化 してくれるのにさらに書くのもどうかと思って書いてないところが 結構あるのがな。 あと、表でいくと問題なのはローカル定義の配列の挙動だな。 これはstrictでなくても挙動が変わってるのでこれに依存してる ところは要注意だ。
ご説明ありがとうございます。
変数初期化まわりのほうが気を付けないといけないですね。
#property strict つながりですが、たまたまフォーラムみてたら、
extern/input のパラメータ変数表示・設定画面で、
・#property strict かつ input → コメント表示
・#property strict ではない、または extern → 変数名表示
という現象になるいうポストがありました。
http://forum.mql4.com/60983/page6#911255 なんていうポストを見つけました。
ご参考までの共有です。(変わるのかも)
inputとかいつのまに追加されてたんだ。 コメントが出てくるとかどうかと思うが、確かにこういうの欲しかったw とりあえず、strictにしなければほとんど今までと同じコードでいけるん じゃないのか? objectの前後関係が名前でなくZORDERって新規プロパティになったのが いやなのでいけるところまで509でいくつもりだが。
MQLで配列を引数で渡す事って、そんなにあるか? グローバル配列にした方が楽だし効率が良いと思うんだがな。 もちろん、DLLとかに渡すのは仕方がないけど。
別に&を付け忘れてるところに追加するだけだからあろうがなかろうが それは問題じゃない。
どこも弄った記憶がないんですが再起動すると、ツールバー・ステータスバー・チャートバーが消えてしまうようになりました。 再起動しても前回の設定が残るようにするにはどこで設定すればいいのですか? 教えてください。
1度だけF11を押す。
>>66 しょうもない質問に即答していただきありがとうございます。
オプション等探してもわからなかったので助かりました。
68 :
Trader@Live! :2014/02/19(水) 00:27:19.13 ID:tCIJI68I
通貨のパラメーターを指定する箇所に NULLと Symbol() が使われてますが使い分けの意味があるのでしょうか。 よろしくお願いいたします。
iMA()とはかNULLなら現在のチャートのシンボルが使われるのでどっちでもOK。 OrderSend()はNULLが使えないのでSymbol()なりが必要。
70 :
Trader@Live! :2014/02/19(水) 00:54:23.73 ID:tCIJI68I
>>69 さん
ありがとうございました。
Symbol()で統一して使うようにします。
先日テスターで円通貨はバックテストできてストレート通貨ができない症状がでたので直接通貨名を入力したらできました。
勉強不足を痛感します。
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に近づける 方針らしい。
そうすることによって、MT4→MT5を進めようとしているのかね。
なんでそこまでしてMT5に拘るんだろう?
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
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]); }
だからMT5は一時的にオワコンだって言ってるだろうがw メタ社は打ち出の小槌であるマーケットを導入したかった MT5が全く普及しないから遂にあきらめて MT4に実装することにしただけ
>>79 functionC を呼び出す前に c[0] を参照しなければ、そういうことは起こらないと思います。
そのコードでおかしくなる理由は全くない。
問題が起きているなら最小の再現コードにしてどっかに置け。
>>81 参照したらおかしくなるとか、ありえない。
>>80 >>81 ありがとうございます。私の勘違いでした。
申し訳ないですが、勉強になりました。
すでに
>>83 で解決されてるようなので、余談です。
>>82 > 参照したらおかしくなるとか、ありえない。
build600 以前なら、 functionC 呼び出し前なら 0,
build600 以降なら
・#property strict なしなら build600 以前と同様に 0
・#property strict ありなら 初期化コードがないので不定
というようにはなりますよ。
あくまでも
>>78 のコードの場合ですけどね。
ありがとうございます。 嫌だわ。DLLへの関数が十数個ある、、。 全部チェックしないといけないのね。 修正するのは、MQL側ですよね。 もしよろしけらば、78を例にとって、修正案を教えていただけませんか。
参照って参照渡しのことを言ってたのか。 まぁそうだとして、お前、実際に試したのかよ。 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 これを実行していただければわかるかと思います。
初期化の話は関係ない。 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 や不定値になる、と言っているのです。 何か、勘違いをしていたら教えてください。
c[0]には10を入れてるだけに見えるが?
>>87 さん。
79の件は解決です。自分の勘違いでした。(600以前ですが)
600以降のバージョンについて、戦々恐々しているところだったので、、。
92 :
84 :2014/02/21(金) 01:25:36.71 ID:bNZbbPve
ですので、「functionC を呼び出す前に参照しない限り」と言いました。 DLL側で c[0] の値を参照している箇所がないので、 「別な配列cの値が期待する値10でなく、50で受け取る」の意味が、 MQL側で「受け取る」だと脳内補完して書きました 「functionC での代入前に参照されない限り」と書いたほうが正しかったです。 これはすみません。
お前の言っていることが理解できない。 どういうコードなら問題があると言うのかちょっと書いてみてくれ。
94 :
84 :2014/02/21(金) 02:34:01.39 ID:bNZbbPve
元の質問は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 解決してよかったです。
普通、参照というとreadのことだが、readすると値が変わる、という通常 ありえないことのように読めたんだよ。まぁもうわかったとは思うが。 そんな、いくらでもあるような仮定の中から1つだけ持ち出すから話がおかしくなる。 そんなこと言い出したらfuncC呼んだあとに書き換えてたり、全然別の変数を 参照してたり、一体どうしろってんだと。
ステップ・バイ・ステップってどういうときに使うのでしょうか?
100 :
Trader@Live! :2014/02/21(金) 17:04:55.47 ID:3OLPhqNH
以前のインジを600にコピーしたら全然表示されないんですけど コンパイルしたらopenできないってエラーがでました。
あぁ、そうですか。
初歩的な質問で申し訳ないんですけど、チケット番号ってどういう割り当て方をしてるんでしょうか? int型で取得できますけど、世界中の全オーダーに1個ずつ割り振っているとしたらあっという間にオーバーフローするような気がするんですが。
業者次第。
>>103 ありがとうございます。
ということはオーバーフロー対策も業者によって違うという事ですか。
んー実際、どうやって対策してるんでしょうね。
オーバーフローなんてするとは思えないが。 ラップラウンドもそうそう起きないだろう。
OrdersTotal()の返り値についての質問です。 1. OrdersTotal() = アカウント内の全てのポジション数 と、認識していたのですが、build600以降、 2. OrdersTotal() = 同一EAの全てのポジション数 に変わっていませんか? 土日で新規ポジが取れず、実験できないので、 既にこの変化について経験のある方、よろしくお願いします。
107 :
Trader@Live! :2014/02/22(土) 19:50:01.04 ID:d57EtkTr
ストキャスのラインクロスでメール送信できるやつを 探してるんですが、誰か教えて下さい
108 :
Trader@Live! :2014/02/22(土) 20:16:43.99 ID:L3HWc4Bi
教えてください!!!!!!!!!!!!!!!! RSIのインジケーターで レベルを最初から付加するのは #property indicator_level1 ○○ ですが、 こちらに後で指定するのでなく、最初から『色』を指定するにはどーしたらいいのでしょうか?
>>108 レベルの色は、インジケータのプロパティで「Levels」タブから変えられます。
>>108 ごめんなさい、
>>109 は無視してください。
#property indicator_levelcolor で実現できます。
111 :
Trader@Live! :2014/02/22(土) 22:32:44.75 ID:L3HWc4Bi
110 ほんとだ ありがと。けど以下のように複数してある場合で、1つづつ色を指定するにはどーしたらいいの? #property indicator_level1 30 #property indicator_level2 40 #property indicator_level3 50
112 :
Trader@Live! :2014/02/22(土) 22:35:08.45 ID:L3HWc4Bi
連投でスマソ ちなみに 以下はRSIの左上に表示されるラベル部分なんだけど short_name="RSI("+RSIPeriod+")"; IndicatorShortName(short_name); SetIndexLabel(0,short_name); このコードで、どこの箇所で 左上に表示される RSI(X) XX.XXXX の 『XX.XXXX』 を指定してるの?
>>112 それはそのインジのindex bufferの[0]に値があれば表示される。
フォーマットは変更できないと思う。
小数点以下の桁数はIndicatorDigits()で指定可能かな。
>>111 #property indicator_levelcolor を使った場合でも、
SetLevelStyle を使った場合でも、レベルごとに色を変えることはできないですね。
どうしても色を変えたいなら、
OBJ_HLINE を使うしかないんじゃないでしょうか。
>>112 XX.XXXX はインジケータの現在値がバッファの順(0-7)で表示されます。
RSI なら1個ですが、 MACD なら MACD と Signal で2個ですね。
MT4が勝手に表示しているので、どこかで指定しているようなものではないです。
表示しないようにすることはできないと思います。
>>116 #property indicator_levelcolorN のようにした場合ですが、
・build 509 の場合: コンパイルエラー
・build 600 以降の場合: コンパイルエラーにならないが、Nが最大のものが使われるっぽい
という挙動をするので、レベルごとに色は変えられないと思われます。
すみません、
>>117 の訂正です。
#property indicator_levelcolorN のようにした場合ですが、
・build 509 の場合: 設定が反映されない
・build 600 以降の場合: Nが最大のものが使われるっぽい
でした。
(試しながら書いてたのですが、なぜか勘違いしてしまいました。。。)
IndicatorSetInteger(INDICATOR_LEVELWIDTH)はlevelは関係なく、 最後に呼んだ太さになるな。 しかし、これGUIがまだ対応してないってことなんかな。
MT5 + MQL5 なら IndicatorSetInteger(INDICATOR_LEVELCOLOR, ... IndicatorSetInteger(INDICATOR_LEVELSTYLE, ... IndicatorSetInteger(INDICATOR_LEVELWIDTH, ... いずれもそれぞれの線ごとに指定できるよ newMQL4 に移植したらできなくなってて驚いた まぁそのうち直ると思うけど ちなみに IndicatorSetDouble(INDICATOR_LEVELVALUE, ... は動くみたい
>>117 再度、訂正です。
#property indicator_levelcolorN のようにした場合ですが、
・build 509 の場合: 設定が反映されない
・build 600 以降の場合: Nに関係なく一番最後に指定したものが反映される
です。
>>119 ,120
INDICATOR_LEVELCOLOR はそもそも IndicatorSetInteger で設定がきかない?(build610)ですし、
なんかバグってるぽいですね。。。
MQに試しに報告してみます。
122 :
Trader@Live! :2014/02/23(日) 03:12:13.10 ID:JmEemB53
ver5以前の古い.mq4ファイルをver6.1?(最新の)metaeditor.exeで コンパイルさせてVer6以上で使用することはできないのでしょうか? (最新でコンパイルすると動かないものが多数あります、 すでに古いものでコンパイルした.exeを入れると作動しますが 旧式のmetaeditorが消えてしまい困っています)
123 :
Trader@Live! :2014/02/23(日) 09:20:57.69 ID:qcGai436
MT4のログで expertのlogがいつのまにか蓄積され、HDを圧迫してます。 出力しないようにすることはできるのでしょうか?
>>123 毎日 自動で削除するようなプログラムを動かせばいい
125 :
Trader@Live! :2014/02/23(日) 10:25:04.81 ID:qcGai436
あー わかれねぇ!!! RSIで以下に合致したら矢印をスペアレート ウィンドウに表示したいのに double r1 = iRSI(NULL,0,rsiperiod,PRICE_CLOSE,i); double r2 = iRSI(NULL,0,rsiperiod,PRICE_CLOSE,i+1); if (r1>30 && r2<30) ・・・ この続きをどー書いていいかわからん。 どなたか教えてください。
126 :
Trader@Live! :2014/02/24(月) 05:31:51.03 ID:ZEdJl+6h
とてもじゃないが混乱が終わってからでないとbuild600以降は使えん・・・
混乱は、自分自身の頭の中で終息させなきゃ、ダメでしょ。
128 :
Trader@Live! :2014/02/24(月) 09:35:06.25 ID:9lYEGNCZ
>>126 今のところBuild509で使うのが、正解らしいな。
山中康司氏もセミナーでそれを薦めていた。
おいらは同じFX会社の509と600を同一パソコンに同居させて使っている。
>>122 の方も同様なことを書かれていますが、
Build509からアップデートされたBuild600で
正常に動いているインジがあります。
新metaeditorで開いて、何もせずコンパイルするだけで、
動作しなくなります。
dllを呼び出すタイプのインジなんですが・・・
dllが読み込まれてないような感じです。
何もせずコンパイルしただけで動作しなくなるのは、なんででしょうか?
もちろんコンパイルエラーはゼロです。
>>129 DLL呼び出しのあるインジケータの場合、
・文字列を引数に渡してると out (Unicode文字列に変わったため)
・ArrayCopyRates を使ってると out (構造体の構造が変わったため)
です。
これらを build 600 以降の MetaEditor でコンパイルしたものを動かすには、
ソースコードを修正するほかないです。
build 509 以前でコンパイルされたものが動作するのは、
旧 ex4 ファイルが動作するようにそれなりの互換性があるためです。
>>130 ArrayCopyRatesは使ってないですけど、
dllに文字列は渡してますね。
そのへんなのかな?
コンパイルエラーが出ないから、
何がダメなんだか、さっぱりわかりませんw
>>106 すでにもう実験済みだと思いますけど、
すくなくとも build 610 ではEA、通貨関係なく全ポジション数が返ってきました。
>>132 ShellExecuteWで解決かと思ったら、
この関数からexeに、文字列を渡すので解決せずw
exeに渡す文字列は、仕様でシフトJISである必要があり、
ShellExecuteAのまま、教えていただいた
http://pastebin.com/fwzPGWXH で、
StringToCharArrayで引数を変換しました。
しかし、まだ正常に動作せず^^;
ただ、不具合の意味がわかったので、なんとかなると思います。
いろいろありがとうございました。
>>134 一応念のためのお知らせですが、 build 610 より前 (buid 600, 604など)には、
StringToCharArray にバグがあり、 build 610 で修正されています。
すでに build 610 でしたら、的外れです。すみません。
>>135 build 604です。
アップデートしてみます。
>>135 build 610で正常に動作しました。全面解決!w
いろいろありがとうございました。
過去n本の中で抜けてる足があるかのチェックのとき Time[n]+n*Period()=Time[0] なら抜けなしですけど、 間に土日を跨ぐと駄目なので、どうすれば良いですか。
>>138 日足未満のタイムフレームという前提ですが、
TimeDayOfWeek(Time[0]) == 1 && (TimeDayOfWeek(Time[n]) != TimeDayOfWeek(Time[0]))
が成立するときはスキップ、とするとどうでしょうか。
(週をまたいで、テクニカルの計算をしない、ということになりますが)
140 :
Trader@Live! :2014/02/25(火) 12:35:35.31 ID:2icTjsqQ
build 610 で動くMACD2はないでしょうか・・・ 0エラー0ウオーニングなのに動きません・・・
>>141 その差分だと何も変わってないように見えるんだけど、原因はなんだったの?
>>142 http://forum.mql4.com/60555 の「Changes in MQL4 Language」に書いていますが、
if(condition1 && condition2)
{
// some block of operations
}
は condition1 が成立しない場合、 condition2 が評価「されなく」なりました。
SetIndexBuffer(...) がtrueを返すために、 !SetIndexBuffer(...) は false となり、
if (!SetIndexBuffer(...) && .!SetIndexBuffer(...) && ...)
は
if (false && ...)
となって1個目で if 文の判定が終了し、すべてのインデックスバッファが SetIndexBuffer されていないこと、が原因です。
それ、strictじゃない時もそうなったのか。 とんでもないなぁ... SetAsSeries()の方は不要だよね?
はい、 ArraySetAsSeries は不要です。 紛らわしくてすみません。
あぁ、あと演算子の優先順位も固定的に変更されたのか... これはちゃんと動かないインジとかEA相当ありそうだなw
日本語のコメント入れたいんだけど文字入力カーソルがズレてすごく入力しにくい //あいうえおかきくけこ →末尾に文字追加したいんだけどカーソルは「お」のあたりにある もしかして自分だけ??何とかならないかな(´・ω・`)
148 :
Trader@Live! :2014/02/25(火) 23:10:27.64 ID:Spu2EYPC
MT4のログで expertのlogがいつのまにか蓄積され、HDを圧迫してます。 出力しないようにすることはできるのでしょうか?
>>147 あ、これは自分も気になってた
極力日本語打たないようにして誤魔化してたけど
対処法あるなら知りたいですね
Build 600以降、ウィンドウの整列すると チャートの順序がメチャクチャに 仕様?
その辺仕様変わったみたいだな
>>147 ,150
MetaQuotes バグ報告はしてありますが、いまのとこ修正される気配がありません。
MetaEditor で開きつつ、同じファイルをテキストエディタで開いて、
日本語編集のときはテキストエディタを使うのがいまのところの解決策です。
ちょっとスレチかと思うんですが、ここの方が詳しそうなので 日経の株取引に使えるメタトレーダーみたいなツールってありませんか?
155 :
Trader@Live! :2014/02/26(水) 12:03:25.40 ID:qzaJO9QU
自分でラインを設定してそのラインに届いたらアラームなるインジある? 株だと基本的なツールだけどmt4はいくら探してもいいのが見つからない
アラーム設定というタブがあってだな。
チンポナメタリーナ。どうです言い方によってはイタリア料理見たいでしょ?
indicator から script を実行する
http://d.hatena.ne.jp/fai_fx/20100412/1271001583 上記サイトで紹介されているソースコードが、
Build600以降、作動しなくなりました。
関数をRegisterWindowMessageW、PostMessageWに替えても動きません。
ググッて実験した結果、
略
・
int MessageNumber = RegisterWindowMessageW("MetaTrader4_Internal_Message");
PostMessageW(hWnd, MessageNumber, 17, xx);
・
略
PostMessageWの3番目の引数 = 17
PostMessageWの4番目の引数に、スクリプトフォルダにある、
スクリプト名の昇順の整数(xx)を入れると、動作することがわかりました。
なぜ、string Name に整数を入れて動作するのかもわかりませんし、
なぜ、スクリプト名で動作しないのかもわかりません。
スクリプト名で動作するように修正できないでしょうか?
159 :
Trader@Live! :2014/02/26(水) 19:48:42.93 ID:L5vqFB3m
metatraderで任意の時間足を表示させる時は オフラインでしか無理? オンラインで使いたいんだけど
>>153 ありがとうございます。
そうですか、まあ致命的なバグでもないからしょうがないのかな。
メモ帳と併用ちょっと試してみようと思います。
161 :
140 :2014/02/26(水) 23:51:41.22 ID:WMrI9KyI
141さん ありがとうございます 動きました! これを機に 少しプログラムを勉強してみたいと思います。
162 :
Trader@Live! :2014/02/27(木) 00:23:28.41 ID:VVTp0Opq
ttp://www.abysse.co.jp/mt4/indicators/Stochastic_MTF_w-Alert.mq4 Stochastic_MTF_w-Alert (build610)
1error 2warningがでます 何か変でしょうか?
//---- name for DataWindow and indicator subwindow label
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Period_M1"; break;
case 5 : TimeFrameStr="Period_M5"; break;
case 15 : TimeFrameStr="Period_M15"; break;
case 30 : TimeFrameStr="Period_M30"; break;
case 60 : TimeFrameStr="Period_H1"; break;
case 240 : TimeFrameStr="Period_H4"; break;
case 1440 : TimeFrameStr="Period_D1"; break;
case 10080 : TimeFrameStr="Period_W1"; break;
case 43200 : TimeFrameStr="Period_MN1"; break;
default : TimeFrameStr="Current Timeframe";
}
IndicatorShortName("Stochastic_MTF_w-Alert("+KPeriod+","+DPeriod+","+Slowing+") "+TimeFrameStr);
}(Aここに警告が)
//----
return(0); (@ここにエラーが)
int start()
{(Bここに警告が)
datetime TimeArray[];
int i,shift,limit,y=0,counted_bars=IndicatorCounted();
164 :
Trader@Live! :2014/02/27(木) 01:11:28.31 ID:2ViBV+15
OANDAのMT4 Version4.00 Build600ですが 自作DLLから文字列を受け取れません・・・。 文字列の設定がわからないのでエキスパートアドバイザーで void OnTick() { //--- int hwnd = WindowHandle(Symbol(), 0); Print(hwnd); string str = "1234567890"; GetWindowTextW(hwnd, str, 10); Print(str); } とやっても空の文字列しか表示されません・・・。 ウィンドウハンドルは正常に取得できています。 もう訳がわからんです
>>164 前に書いたことあるけど・・・・・・
DLL関数が受け取るアドレスは(
>>164 の例で言うと)実はstring strのアドレスじゃない。
mql4内部でコピー云々て理屈があるんだけど前に書いたから省略するとして、単純に
mql4文字列は書き換えてはいけないと思えばいい。
っで、代わりに
int GetWindowTextW(int hWnd, int lpString[], int);
string CharPrevW(int lpszStart[], int lpszCurrent);
とでもシグネチャを書いて
int buff[64];
GetWindowTextW(hwnd, buff, 10);
string str = CharPrevW(buff, buff);
とかすれば(多分)目的は達成できると思うよ(未検証だけど・・・・・・)。
ちょっとスレチかと思うんですが、ここの方が詳しそうなので 日経の株取引に使えるメタトレーダーみたいなツールってありませんか?
>>164 > とやっても空の文字列しか表示されません・・・。
そのウィンドウにはキャプションが無いのです。
GetWindowTextW(GetParent(hwnd), str, 10);
こんなふうにするといけます。
Spy++ のようなツールを使って、どのウィンドウにキャプションがあるか?
を調べてみるとよいかと思います。
DLLへの文字列渡しは、前に
>>132 で StringToCharArray を使う方法を
書いてみましたが、参考にしていただけるかもしれません。
>>165 こと通常の string 引数に関しては、
MQL側がよしなに string と wchar_t* のアドレス変換をしてくれてると思っています。
http://pastebin.com/v3Ku71tX GetWindowTextW は標準の WinUser32.mqh に含まれていて、
build600以降であれば W のほうは string 引数として定義されているので、
string 引数が out 引数として使われることが想定されていると思います。
int GetWindowTextW(int hwnd, ushort& text[], int size);
と自分で定義してあげて、 ShortArrayToString を使うことももちろんできるのですが(^^;
垂直ラインの位置を取得したいのですが、 int shift = ObjectGetShiftByValue("オブジェクト名", Close[1]); でいいですよね? shift=-1になるのでどうしてかと。。。 何か間違ってますか?
170 :
169 :2014/02/27(木) 11:39:44.45 ID:3AG5SswL
すみません。自己解決しました。orz
171 :
Trader@Live! :2014/02/27(木) 12:09:42.25 ID:2ViBV+15
>>168 ありがとうございます!!自作のDLLからも文字列取得できました!!
新たな問題ができまして・・・。
stringのバッファーの確保ってできないんでしょうか?
string str;
StringInit(str, 10, 'a');
Print("before str = ", str, " StringLen = ", StringLen(str), " StringBufferLen = ", StringBufferLen(str));
int hwnd = WindowHandle(Symbol(), 0);
GetWindowTextW(GetParent(hwnd), str, 10);
Print("after str = ", str, " StringLen = ", StringLen(str), " StringBufferLen = ", StringBufferLen(str));
のようにしても表示されるのは
before str = aaaaaaaaaa StringLen = 10 StringBufferLen = 123
after str = aaaaaaaaaa StringLen = 10 StringBufferLen = 123
としか表示されません
string str; を string str = "1234567890";
に変更すれば大丈夫なんですが、わざわざこんなことしてバッファー確保しないとだめなんですかね?
あたり前だろ。
それがいやなら
>>165 のようにすればいいだろ。
173 :
Trader@Live! :2014/02/27(木) 12:16:55.92 ID:2ViBV+15
>>171 全部書き出すとこんなコードだとOKなんですが・・・
string str = "1234567890";
Print("before str = ", str, " StringLen = ", StringLen(str), " StringBufferLen = ", StringBufferLen(str));
int hwnd = WindowHandle(Symbol(), 0);
GetWindowTextW(GetParent(hwnd), str, 10);
Print("after str = ", str);
Print("after StringLen = ", StringLen(str));
Print("after StringBufferLen = ", StringBufferLen(str));
174 :
Trader@Live! :2014/02/27(木) 12:17:43.06 ID:2ViBV+15
StringBufferLen(str)); を見ると0なのが気になっています
175 :
Trader@Live! :2014/02/27(木) 12:20:34.10 ID:2ViBV+15
>>172 あっ、なるほど。すっかり忘れてました。
176 :
Trader@Live! :2014/02/27(木) 12:37:01.80 ID:2ViBV+15
>>175 自己解決できました!!ありがとうございました!!
結局unicodeではなくマルチバイト文字セットでいくことにしました
int hwnd = WindowHandle(Symbol(), 0);
char str[50];
GetWindowTextA(GetParent(hwnd), str, ArraySize(str));
string strstr = CharArrayToString(str);
Print(strstr);
CharArrayToStringがバグがあるとかどっかで見たことがあったけど
様子みてみます
imaonarrayが全然値を返してくれないよ 今まで大丈夫だったのになんなんだ?
コンパイルエラーはでない buffer[0〜200]=問題ない imaonarray(buffer,0,Days1,0,1,1);=0 は?(#゚Д゚)y-~~ debagしたら [Critical error while running indicator. array out of range.] あ゛?
すいませんグラフィックドライバーを更新したのが原因でした、再起動したら治りました
すみません、どなたか教えて下さい 今までdinapoliが定形チャートにあったのが 今日、新たにmt4を入れ直したら、出てこなくなりました。 Dinapoliを使うにはどのようにしたらよろしいでしょうか?
すみません、質問させて下さい。 下記の関数でエラーが出てしまいます。 double PipPoint(string Currency) { int CalcDigits = 0; double CalcPoint = 0.0; CalcDigits = MarketInfo(Currency,MODE_DIGITS); if(CalcDigits == 2 || CalcDigits == 3) CalcPoint = 0.01; else if(CalcDigits == 4 || CalcDigits == 5) CalcPoint = 0.0001; return(CalcPoint); } エラーが出ている行は↓です。 CalcDigits = MarketInfo(Currency,MODE_DIGITS); エラーの内容ですが、↓です。 possible loss of data due to type conversion これ何がいけないのでしょうか。すいませんが、回答お願いします。
MarketInfo()の戻り値はdoubleなのでintだと受けられないことあるよって警告。 Digitsなら整数なのでMarketInfo()の前に(int)つければいい。
184 :
182 :2014/02/27(木) 20:48:06.34 ID:sM1+1g6P
>>183 うお、エラーが消えました。どうもありがとうございます。
>>178 iMAOnArray が 0 になるときの buffer を FileWriteArray してみて(1回分でいいです)、
うpろだに上げてみてほしいです。
186 :
Trader@Live! :2014/02/27(木) 22:06:46.69 ID:uekvkcHV
あれ? コンパイルしても表示されない インジケーターの格納フォルダって変更された?
188 :
Trader@Live! :2014/02/27(木) 22:28:13.86 ID:uekvkcHV
>>187 MQ4フォルダの中のindicatorに入れるとメニューには表示されるけど、
入れても正しくされない
どうするの?
>>188 チャートにドロップして正しく動作しない、という意味であれば、
ソースコードの修正が必要なインジケータのようですね。
自分で作ったものであれば修正箇所を調査して修正し、
それができない(改修できない、ソースが無い)場合は作った人にお願いしましょう。
190 :
Trader@Live! :2014/02/27(木) 22:39:25.23 ID:uekvkcHV
>>189 うわあ、最悪
全部書き換えなくちゃなんないの?
古いバージョンどこかにありませんか?
192 :
Trader@Live! :2014/02/27(木) 22:55:15.51 ID:uekvkcHV
ありがとうございました しっかし、こんなver up するかいな JK
193 :
Trader@Live! :2014/02/28(金) 16:26:22.81 ID:HbLFO9SD
build 6はクソ インジ使えん
efxからMT4サービス終了のお知らせが来た
195 :
Trader@Live! :2014/03/01(土) 01:14:00.10 ID:EwnthAH1
メタエディターがいつのまにか以前と異なるものになってて、自分で作成したプログラムを開こうとファイルオープンをこころみるが、何も表示されない。ゆえに編集ができない。ちなみにファイル指定もオールファイルにしている。 解決策はないのか? てかいつのまに変更された!?
196 :
Trader@Live! :2014/03/01(土) 01:18:24.19 ID:EwnthAH1
195です。 原因がわかりました。メタエディター5になってました。 以前のものってどーしたら戻せるのですか?ちなみにチャートはMT4のまま。 エディターだけ変更されている。
197 :
Trader@Live! :2014/03/01(土) 01:35:48.53 ID:0WTn9rWd
戻す方法はネットで検索にかけると説明している。ただし、ファイルの操作が ちょっと面倒だ。
ちょっとスレチかと思うんですが、ここの方が詳しそうなので 日経の株取引に使えるメタトレーダーみたいなツールってありませんか?
GKFXってどうよ CFDも株価指数もできてべんりそうなんだけど
バージョンアップしたけど時間を任意に変えられないのが痛いな カスタムであるけど五分足で遡って見てると 途中から表示がなくなる
東証コア30銘柄ぐらい表示できるようにならんもんか MT5も株対応とかいいながら代表的な米国株すら表示できないんだから普及するわけないよな・・・
あと5年すれば、MT5も主流になるさ
ならないと思う 最近MT4導入した業者は逆にMT5は完全無視だし MT4ビルト600でMQ社がやりたかったことが達成されてるからこれ以上ユーザーに無理強いはしないだろ
ん、マルチコア対応とかMT5ではできてMT4じゃまだできないんじゃなかったけ? それといい加減64bit対応をですね・・・
マルチコア対応程度じゃ普及の起爆剤になりえないな
206 :
Trader@Live! :2014/03/01(土) 17:12:26.45 ID:PNRbhqU/
この際MT5にしようとも思うけど、MT5に対応できる国内の業者はあるの? デモだけのような気がするのだけど
出たステマw 答えたらステマw
>>205 FXよりも圧倒的に多い株トレーダーに、とくにアメリカ人に
使ってもらえるようにするしか売りというか起爆剤がないよな
手数料ピンハネできないからメタ社のビジネスモデルに合わないような気がするわ
209 :
Trader@Live! :2014/03/01(土) 18:13:09.06 ID:0WTn9rWd
>>206 そうではなうて、今回のMT4のバージョンアップは人気のないMT5をあきらめて
MT5との互換性を保ちながら、MT4を限りなくMT5に近づけることにあるとされる。
将来的には、MT4とMT5を統合あすることがMetaQuotes社の方針と7見られている。
そうはいっても、更新後のMT4のMetaEditorはMT5のものだから、MT5の勉強を
しておくことは意義がある。
211 :
Trader@Live! :2014/03/01(土) 23:27:40.61 ID:oEkVg7/1
新しくなったBuild600ってListってない? Arrayを使うしかないのか?
>>211 Include\Arrays\List.mqh ならありますけど、そういうことではない?
C++で使う、リスト構造のことじゃね。
CListとかあるんだな。 しかし、ドキュメントがまだ?ない。
前にちょっとだけ使ってみただけだけど、 GetFirstNode() とかすると、 GetCurrentNode() が FirstNode になる (つまり内部のインデックスが書き換わる) 動きをするので、 C++ の vector とかを想像して実装すると痛い目を見ます。 使うときは、よく、よく、実装を読んで動きを理解しないとだめでしょう。
なぜリストなのにVectorを... 普通は内部のインデックス?とか全く意識する必要ないと思うが。
>>214 mql5のリファレンスに必要な情報は全て載ってる。
CArray/CList/CTreeに格納されるユーザー型はCObjectの継承クラスでないと
いけないのがイマイチ使いにくい。
コンテナ - ホルダ - アイテムの3層構造にして、ホルダがコンテナとの継手を果た
すと同時にアイテムの参照管理をする仕組みを考えてるんだけど・・・・・・
>>217 ごめんなさい。リストは list であって vector じゃないですね。
Java の List (ArrayList) と混同しておりました。
>>218 ありがとうございます。機を見つけて読んでみます。
>>218 MQL5と同じって保証あんの?
まぁそのうち4の方にページできるんだろうけど。
しかし、GUI系のクラスがあるのか。
なんか20年くらい前に見たMFCを思い出すw
221 :
Trader@Live! :2014/03/02(日) 02:24:34.77 ID:ryjpMf+W
すみません。質問させてください。 1分足のチャートに5日移動平均線を使って売買プログラムを組みたいと思います。 このプログラムを1分足を使ってストラテジーテスターでテストするには どのようにするんでしょうか。
>>221 期間をM1にすればおk
実際の売買動作を見たければビジュアルモードにチェックを入れてスタート
下のタブをグラフにしておけば損益曲線も見れるよ
223 :
Trader@Live! :2014/03/02(日) 12:14:02.69 ID:IQSpnnCW
たとえば、 朝出かけるときに 値(価格)を指定しておいて、 その値にタッチしたらメールを飛ばす というインジってありませんか??
225 :
Trader@Live! :2014/03/02(日) 12:57:39.26 ID:bJO706qD
>>212 お〜、そんなんあったんですね!!
調べてみます
ちょっとスレチかと思うんですが、ここの方が詳しそうなので 日経の株取引に使えるメタトレーダーみたいなツールってありませんか?
[]演算子のオーバーロードはサポートしてても、参照のサポートが中途半端だから hoge[x]が左辺値になれない! z = hoge[x]とは書けてもhoge[x] = zを実現する構文が存在しないとか、[]演算 子のオーバーロードは何のためにサポートしてるんだ? mql5の設計者は割と深刻にバカなんじゃないか? イテレータ書こうとすると*演算子のオーバーロードがサポートされてないし、代入 演算子のオーバーロードはサポートされててもキャスト演算子のオーバーロードは サポートされてないし、なんだこのクソ言語?バーカ!バーカ!バーカ!
>>228 なるほど、*で返してかつ*で返したオブジェクトが代入演算子を適切に
オーバーロードしてればhoge[x] = zの構文をサポートできた。
連想配列の実装に向けてこれで一歩前進した。
mql5の設計者さんごめんなさい。
バカだけど俺ほど深刻なバカではなかったですw
>>230 それ知ってるけど、ブッサいwてのは措いとくとしても、O/RマッパなりDBテーブルのラッパ
なりを書くのにも[]演算子のオーバーロードは使えるから、手繰っといて損はないと思う。
あと何より、新しい環境なんで何をするにはどう書くを色々一通り試してイディオム化
しないと有用な物を書くとこまでいけない。
どう書くか手探りながら書いたモノには設計がないから、大概グチャグチャで書いた!
動いた!再利用性はゼロ!数ヶ月後には自分でも読めない\(^o^)/
ってなりがちで、それは経験としてもソースコードとしても蓄積されない。
考える→マインドマップで作図する
ググる→エバーノートでクリップする
デバッグする→ユニットテストを書く
使い捨ててた行動をほんの少し様式化するだけで再利用性が生まれる。
それってお得だと思うw
まぁそういうことしないと再利用できない人にはいいかもだね。 ここでの本筋にはメリットよりデメリットの方が多そうだけど。
233 :
Trader@Live! :2014/03/03(月) 19:46:56.27 ID:9GSEPGYy
日経の株取引に使えるメタトレーダーみたいなツールってありませんか?
マルチ死ね
今回のアプデクソすぎだろ ゲームアプリ感覚でクソアプデかまされたらかなわんわ みんな遊びでやっとんのとちゃうんやで 損害賠償取れるレベル
236 :
Trader@Live! :2014/03/04(火) 15:36:26.92 ID:4+ROK4c6
sendmailが30分ぐらいしてから届きます(yahoo) 使用でしょうか?(最初は30秒ぐらいで届いてました)
237 :
236 :2014/03/04(火) 15:37:10.03 ID:4+ROK4c6
使用× 仕様○
>>236 Yahoo のことは Yahoo に問い合わせるのが一番です。
ひとつ言えるのは、いろんな理由で、メールは遅延することがあって、いつ遅延するかは Yahoo 次第です。
>>236 yahoo は遅いって評判だから、google に乗り換えるといいよ。
>>158 のやり方でスクリプトを呼べるのですが、チャートの通貨を変更すると、異常終了してしますので、
>>166 の
https://github.com/micclly/mt4-script-caller から、ファイルをダウンロードさせて頂きました。
しかし、README.mdやサイトの説明どおりに、dllなどをコピーしたのですが、動作しません。
ターミナルのエラーログには、(ターミナルの出力順どおり)
#ScriptCallerTest_CloseConfigDialog USDJPY,H1: initialization failed (-1)
unresolved import function call
Cannot call 'ScriptCaller.dll::ScriptCaller_create', DLL is not allowed
Custom indicator #ScriptCallerTest_CloseConfigDialog USDJPY,H1: loaded successfully
と出力され、ScriptCaller.dlが実行できないみたいです。
dellやmqhのコピー先などは、何度も確認しているので、問題はないと思います。
よろしくお願いします。
後、直接関係ないと思いますが、気づいた点が一つ。
上記サイトとreadme.mdの中で、\Library と表記されていますが、
\Libraries のスペル違いだと思いますw
すいません。エラーログのコピーを間違えました。 下記が、dllのインポートを許可しても出るエラーログです。 Custom indicator #ScriptCallerTest_CloseConfigDialog USDJPY,H1: removed #ScriptCallerTest_CloseConfigDialog USDJPY,H1: initialization failed (-1) unresolved import function call Cannot load 'C:\Program Files\MT4\MQL4\Libraries\ScriptCaller.dll' [126] Custom indicator #ScriptCallerTest_CloseConfigDialog USDJPY,H1: loaded successfully
>>242 ご報告ありがとうございます。
調べてみますので、MT4の実行環境とbuild番号を教えてください。
あと、現象と関係ないところなのですが、
C:\Program Files\MT4\MQL4\Libraries\
が使われているということは、 /portable 指定でしょうか?
>>243 OSはXP
build610です。
portable指定ではありませんが、
フォルダ構成はC:\Program Files\MT4\MQL4\Librariesです。
インジのプロパティーの仕様タブを見ると、
C:\Program Files\MT4\MQL4\Libraries\ScriptCaller.dll
となっているので、パスは通ってるハズなのですが・・・?
宜しくお願いします。
10年後もmt4は使えるのか?とか心配になりませんか? インディケーターは便利なんですけど、使えなくなるのが心配です。
>>245 インジケータをエクセルに移植すればよろし。
>>244 ありがとうございます。
問題なのはDLLのコンパイル方法(設定)なので、
パスの問題ではないです。
(Wine環境でも同様に動かないことを確認しました(^^;;)
しばしお待ちください。
ランタイムが足りない系かな?
質問するスレ間違えてたのかな… イグジットなんですけどmaより下何pipsなら利食いするというコードはどう書けばいいですか? if( ma 〉Close[0]××××とかですか?
>>249 ちょっときつい言い方しますけど、
if ( ma ) Close[0] ××××
とか書いてる時点で、「どこをどうしていいかわからない」というレベルだと見えますし、
if 文の中には条件式を書く、 Close は単に変数なので左辺式にはならないといった、
MQLとは関係のないプログラムの基本部分で理解がつまづいてると見えます。
なので、別スレでも本読んだほうがいいんじゃないか、と言いました。
そのレベルだと、一行一行スレに質問することになるでしょうから、
さすがにそこまで親切におつきあいする人はいないと思いますよ。
>>249 if( ma > Close[0]) { /* ここに閉じる処理書く */ }
これでええよ。
>>244 XPではまだ確認できてないんですけど、
https://www.dropbox.com/s/1e0x5euwviv9uzf/ScriptCaller.dll を試してもらえますかー。
Wine では動くことを確認しました。
>>248 そんな感じでした(私自信も詳しく原因追究できてるわけではないのですが)
Visual Studio のコンパイル設定を、
(1) General / Platform Toolset: Visual Studio 2013 - Windows XP (vs120_xp)
(2) C/C++ / Code Generation / Runtime Library: Multi-threaded (/MT)
にしてコンパイルしたら動きました。
正確には、 (1) が無くてもいけたのですが、ついでに一応かえといた感じです(^^;
配布するのを /MD から /MT にするのはちょっと考え中です。。。
(CランタイムはOS標準のDLLを使うべきなのかなぁと思うので)
>>252 > 配布するのを /MD から /MT にするのはちょっと考え中です。。。
> (CランタイムはOS標準のDLLを使うべきなのかなぁと思うので)
素人なんで全然詳しくないんだけど、
/MD にした場合、必要になるDLLは、
「Microsoft Visual C++ 20?? 再頒布可能パッケージ」
みたいなのを入れないとダメなんだよね・・?
>>250 すみませんでした。早く試したくて逐一質問してしまいました。
本が届いたらよく読んで頑張ってみます。
>>244 dllを入れ替えたら見事に、スクリプトを実行できました。
MT4を再起動したり、チャートの組表示を変更しても、
正常にスクリプトが実行するので、とても便利で助かります。
お忙しい中、ホントにありがとう御座いました。
>>257 動作確認、ありがとうございましたー。 m(_ _)m
259 :
Trader@Live! :2014/03/06(木) 17:13:25.65 ID:B3dM1k+z
FXDDのMT4が強制アップデートした為、CyberAgentのbuild509のMT4にEAだけコピーして バックテストしていたんですけどGBPCHFだけ取引回数0になってしまいました。 USDJPY AUDUSD EURUSD EURJPYでは普通に動作しましたし、アップデート前のFXDDのMT4では 取引回数0じゃ無かったので原因が分からず困っています。どなたか原因を教えてもらえませんか?
ものすごい初心者質問で申し訳ないです。 MT4をFXDDでおとして、スイングポイントビューをインジとしてカスタムインジケーターに加えたのですが グレーアウトして、チャートに落とせないんです。 どなたか対処方法わかりましたらお願いします
>>259 多分だけどスプレッドが広い…んじゃね?
サイバーは国内業者だから円が絡まないペアはスプ広めの気がする
3月1日から3月5日のローソクがチャートにないんですけどこれどういうことですか?昨日まではありました。どうやったら直りますか?
263 :
Trader@Live! :2014/03/07(金) 17:28:46.82 ID:kOgIrJRq
>>261 スプレッドの値を1に下げてみたんですが結果は同じでした。
>>263 GBPCHFのヒストリーデータがあるか確認しましたか?
>>262 今のヒストリーデータを一旦、保存してから、
今のヒストリーデータを削除すれば、近々(3月1日〜5日)のデーターは、
チャートを過去にスクロールすれば、自動的にダウンロードできます。
その後、足りない分は、保存したデータからインポートできます。
266 :
Trader@Live! :2014/03/07(金) 19:53:02.53 ID:kOgIrJRq
>>264 ヒストリカルデータはあるんですが今確認したところFXDDのMT4に入っているデータと
CyberAgentのMT4のデータでサイズが違いました。インポートに使ったファイルは
同じはずなんですがこの様な事はありえますか?
MT4のプログラミングを1から勉強するにはどうしたらいいでしょうか? インディケーターを多少いじったりして、使いやすいように、できるようになりたいです。 プログラミング知識はまったくないです
>>268 ありがとうございます^^参考にします^^
とある備忘録のでいただいたインジケーターがコンパイルエラーになるんですが、何が原因でしょうか? 落としたのは、SwingpointView、GetFFCalData、GetDailyFXDataです。 全部エラーが出るので、インジケーターというよりほかに問題がある気がするのですが・・・ 環境は、FOREX.comのMT4にwin7です。
>>270 SwingpointViewは全ての_Pointを_Point1にする。
GetFFCalData、GetDailyFXDataは全てのTimeGMT()を
TimeGMT1()にする。
>>271 おおおおお!
できました!
ありがとうございます!!
MT4で裁量トレード練習君を使いたいのですが、どうしてもうまくいきません。 まず、コンピュータ→プログラムファイル→MTのexpartsでは表示さえもされなかった ので、@のmt4のデータフォルダからエキスパートに入れる。(A) 次にMT4 Training Ver1.0をコンピュ-タ→プログラムデータ→MT4で terminalがあるところにいれる。(B) そしてスタートをしてもCのようなものがでてうまくいかない。 ファイルを入れる場所が違うのか? MT4のバージョンは4.00 Build616です。どなたか教えてください。 画像はここにアップしました。めたとれなうPろだ リンクがはれないので、名前、mu.gif 日時03/08 05:55です。 よろしくお願いします。
バックテストにおける、買いのストップオーダー(OP_BUYSTOP)が開始されるタイミングについて質問です。 Askのライン(Close[0]+スプレッド)がストップオーダーの設定値にタッチした時に、買いのオーダーが開始 されるものと認識しています。「始値のみ」でバックテストすると、タイミングが1バーだけズレるものの 直前のバーの高値の方がストップオーダーの設定値以上であれば、確実にオーダーは開始されております。 しかしながら、「全ティック」または「コントロールポイント」でバックテストした場合、オーダーが開始 されない場合があるようです。この原因は、どういったことが考えられるのでしょうか?
プログラム内に1つ前の足のエンベロープを組みたいんですが ○○○=iEnvelopes(NULL,0,14,MODE_SMA,0,PRICE_CLOSE,0.1,MODO_UPPER,0); これをどうしたらいいですか?MAは○○○iMA(...Price_Close,1);とすればできたんですがエンベロープはできないです。
276 :
Trader@Live! :2014/03/08(土) 18:16:25.26 ID:JXMFHrIE
そろそろ、Build509から600系にアップデートしても大丈夫? それとも、まだ様子見が無難ですか? XPから新しいPCに乗り換えるので、新規インストールしなければ ならないんだけど・・・
>>276 何を理由に様子見をしているかによりますね。
・安定性やバグが不安
バグがまったくないということにはならないでしょうが、メール送信すらおぼつかなかった build 600 と
比べると、build 610 はおおむね大丈夫といってもいいんじゃないでしょうか。
・EAやインジケータの動作が不安
それは、EAやインジケータに依存するので、実際に動かしてみないとわかりません。
まずはその新マシンに build 610 を入れて、バックテストやデモ講座で動作を検証してみるとよいでしょう。
build 509 でコンパイルされた ex4 ファイルが一番互換性が高いので、
それを動かすのが一番正常に動作する可能性が高いです。
ソースコードは、大なり小なり修正が必要になるでしょう。
このあたりは、 MT4 が仕様変更してしまった以上、自力(または業者力)でなんとかするしかないです。
今後の MT4 のバージョンアップでも変わらないでしょうね。
>>273 マニュアルを読んでみました。
「<注意>
稼動がうまくいかない場合は、念のためMT4 を起動して、「ヘルプ」→「バージョン情報」でbuild の数値をご確認
ください。build509 であれば問題ありませんが、MT4 がbuild600 以降のバージョンですと練習君を正常にご利
.いただけません。build 600 以降の数値になっている場合は、.動でアップデートが.われてしまっているようで
すので、以下の手順で回避してください。」
と書かれ、ご丁寧にアップデートしない方法も記載されていますね。
(PDFの更新日が2014/02/21なので、最新のマニュアルを見る必要があると思います)
build 600 以降には対応してない、が答えになると思います。
>>275 できるけど。
まさかそこにあるように、MODO_UPPERって書いたんじゃないでしょうね?
>>276 使用中のEAやインジが動くなら、とくに問題ないと思う。
むしろかなり速度が向上してて、自分は好印象。
>>279 ごめんなさいプログラム初心者でコピペしながら色々いじくって勉強してるんです。だからそのままです。
どうしたらいいですか?
MODE_UPPERで一番最後は 1 ○○○=iEnvelopes(NULL,0,14,MODE_SMA,0,PRICE_CLOSE,0.1,MODE_UPPER,1); もうね・・
>>282 MODO_UPPER のままコンパイルしていたなら、
MetaEditor の Errors タブに
'MODO_UPPER' - undeclared identifier
ってエラーメッセージが出ていませんでしたか?
エラーメッセージの意味を調べるようにしたほうがよいですね。
>>284 じゃあ、最後の引数が1のところ0と間違ったせいですね。
「できない」というだけでは、いろんな可能性があって、答えられない場合もありますね。
「なにがどうできなかったか」を書くのを大切です。
・コンパイルエラーがでた
→どういうコンパイルエラーが出たか
・期待通りに動かない
→期待する結果はこうだけど、現状こうである
ダウとか日経、商品とかは今のところみてないんだが見たほうがいいと思いますか? 見てて精度が上がったという人はいますか? 通貨のほうが圧倒的に流動性があるので、あんま他のマーケットは影響しないと考えてるんですが
MODO_UPPERって、うけたw MODOでコンパイルエラーにならないのか?w そもそも文字色がおかしいだろw
290 :
286 :2014/03/09(日) 00:40:37.64 ID:MLDrFUVY
質問するスレ間違えてました。すいません。
>>285 分かりました。気をつけます(>_< )
>>273 MT4 のデータフォルダ(「ファイル」−「データフォルダを開く」)直下に MT4 Training Ver3.1.exe を置いたら動きました (build 616)。
動作保障はされてないので、予期しない動きをしたりするかもしれません。
あと、メールサポートの対象外にもなると思います。
それでもよければお試しあれ。
スプレッド0でバックテストするにはどうすればいいですか?
>>292 https://gist.github.com/micclly/9451216 をお試しあれ。
変更点は
https://gist.github.com/micclly/9451216/revisions から。
【変更点を一応説明】
http://forum.mql4.com/60555 でちっちゃーく触れられていますが、
FileOpen や FileOpenHistory のデフォルト挙動が変わりました。
In file operations, the number of simultaneously opened files can now reach 64 ones, while there could be no more than 32 ones in the old MQL4.
Until recently, the files were always opened in FILE_SHARE_READ or FILE_SHARE_WRITE mode. Now, the necessary opening mode should be specified explicitly.
1行目はどうでもよくて(^^;、2行目の FILE_SHARED_READ/FILE_SHARED_WRITE が必要な場合、明示的に指定しないといけなくなりました。
(build 509 までは暗黙的に指定されていた)
今回のインジケータの場合、インジケータ以外が .hst ファイルを読めるようにするために FILE_SHARED_READ を追加しました。
なお、 CSV 書き込みのほうに FILE_ANSI を追加してますが、
これは厳密には不要です。ただ、明示しておいたほうがいいかな、ということで追加しています。
>>295 ありがとうございます!ありがとうございます!
早速試してみます!
【もいっこ忘れてた】 #property show_inputs があると、 build 600 以降では強制的にスクリプトとみなされるみたいです。 なので、消しました。
ありがとうございます動きました! テンプレート入れるとオフラインが動かなくなるのでインジケーターは大丈夫かどうか試したらOKでテンプレートも他のはどうかと試していたら バックテストするとフリーズするテンプレートを使ってしまい再起動すると普通にやってもオフラインチャートが動かなくなってしまいましたのでサンドボックス内を消してもう一度試してみたいと思います テンプレートを使わなければ問題無いと思うのでほんとうにありだとうございました PS. 00-TimeSyncのほうも今回の変更点を参考にすると動くのでしょうか
>>299 動いてよかったです。
とりあえず、もう少し落ち着いて書いてください。日本語が半分以上意味がわかりません。。
00-TimeSync は、ヒストリーファイルとは一切関係ないインジケータなので、
今回の修正は残念ながらまったく関係しません。
さらに、
http://d.hatena.ne.jp/fai_fx/20091118/1258470197 の版を自分でも build 616 で動かしてみましたが、
(1) チャートにドロップ
(2) 同期される側のチャートのオートスクロールを off
(3) 同期元のチャートをスクロール
(4) 同期元のチャートで Refresh (更新)
で問題なく同期されました。
(現在の時間は tick が更新されないので、 tick 更新による動作は確認できていませんが)
オフラインチャートではそもそも 00-TimeSync は使えないと思います。
使い方を再度確認してみるとよいでしょう。
>>300 すいません興奮してしまいました。
00-TimeSyncは私の使い方の方が間違っていたのですね、誤情報を出してしまい申し訳ありません。
元チャート(同期元チャート)のテンプレートを変更すると同期されなくなると言ったのも、テンプレート変更時にPeriod_Converter_OptMOD.mq4が外れるからでした申し訳ありません。
このたびは本当にありがとうございました。私のような無知な人間では逆立ちしても改良できませんでした。
心の底から感謝いたしております。
>>293 エキスパートにいれないと表示もでないです。
>>302 .exe
と書いたんですけど、もしかして拡張子を表示しない設定にしていますか?
そうであれば、まず、エクスプローラの設定で拡張子を表示してください。
その上で、
データフォルダ\MQL4\Experts\MT4 Training Ver3.1.ex4
データフォルダ\MT4 Training Ver3.1.exe
というように配置すれば動きましたよ。
THVのtrixとVQをそれぞれサブウィンドウで表示させています それぞれのクロスが一致したときにアラートを表示させることはできますか?
>>304 trix と VQ がそれぞれインジケータの IndexBuffer を使っているなら、
それを iCustom(Symbol(), Period(), trix・VQのインジケータ名, パラメータ, インデックスバッファ番号, シフト値)
で取り出して、クロス判定すればできると思います。
ありがうございます
307 :
Trader@Live! :2014/03/10(月) 14:50:59.32 ID:SWgaVBMe
10分足や2時間足を表示させるPeriod_Converter_Opt.mq4という インディケーターがありますが、Build600でも509と同様に 使えるのでしょうか?
>>307 faiさん版の Period_Converter_OptMod.mq4 の方であれば、
上の方の #property show_inputs をコメントアウトしたら
かろうじて動いた。
ただし、ヒストリーファイルの取り扱いが変わっているようで、
インジを止めないとオフラインチャートが開けないっぽい。
>>307 ,308
fai さん版 Period_Converter_OptMOD であれば
>>295 をどうぞー。
310 :
Trader@Live! :2014/03/10(月) 23:01:04.30 ID:2Tz+RPrD
@例えばドル円で現在価格100.00円スプレッド1pip=0.01円 だったとします。 ask = 100.01 bid = 100.00 close[0] = 100.00 Aこのとき、買いの注文を出し10pip分のStopLosを設定したら 次のような設定で間違いないでしょうか? buy = 100.01 sl = 100.10 価格が上昇してsl値で決済すると。 損益 100.01 - 100.10 = -0.09 B逆に、@の状態で売りの注文を出し10pip分のStopLosを設定したら sell = 100.00 sl = 99.90 価格が下降してsl値で決済すると。 損益 100.00 - 99.00 = 0.1 同じstop幅ですが、売りと買いで損益は異なります。 以上の考えであっていますか?
あっていません
313 :
Trader@Live! :2014/03/10(月) 23:45:57.69 ID:2Tz+RPrD
あってねえのか。
>>310 StopLoss は利益を減らす方向の決済閾値(損切り値)なので、
買い注文であれば買値より低い値、
売り注文であれば売値より高い値とならなければならないですね。
デモ口座で成行注文をして、注文変更すると、わかりやすいと思います。
315 :
Trader@Live! :2014/03/11(火) 00:10:02.68 ID:KEVUeV2c
あああ。そうだね。とんだ勘違い。 ありがとう。
てかこれがストップではなくリミット注文だったら
>>310 の考え方であってるのか?
317 :
311 :2014/03/11(火) 01:14:42.57 ID:HrPQ1X20
>>310 ,316
というか そもそも何を訊きたいのかもよく解らん
"stop幅 (TP 幅?)" が どう定義されるべきなのかを知りたいのか
もしそうなら そんなもの自由に定義したらいい
>同じstop幅ですが、売りと買いで損益は異なります。
とあるが,そうなるように自分で定義してるんだから当然だろう
もしそこが もやもやして気になるなら 今の自分の "TP 幅" の定義を変えて
OrderSend(symbol, OP_BUY, volume, Ask, slippage, 0, Ask + 0.1);
OrderSend(symbol, OP_SELL, volume, Bid, slippage, 0, Bid - 0.1);
とすれば 損益を同じにできるだろう
http://docs.mql4.com/en/trading/ordersend
318 :
310 :2014/03/11(火) 13:11:21.36 ID:KEVUeV2c
もともと訊きたかったのは、 ストップやリミットで設定した価格というのは、 現状の注文中の売りや買いにかかわらず、 ask,bidでなく、 close[0]なのかな?ということ。 でも317が答えかな?
>>123 batchファイルを作成して、タスクスケジューラに登録して運用
毎日朝6時に全部のログを削除とかできるよ
321 :
311 :2014/03/11(火) 15:48:04.62 ID:HrPQ1X20
>>318 レスを見る限り,SL や TP が Ask や Bid,Close[0] からの "差" によって指定するものと思っているように見える
だが実際には,newMQL4 において SL や TP は,"絶対値" によって指定される
たとえば,
OrderSend(symbol, OP_BUY, volume, Ask, slippage, 0, 110.50);
とすれば 110円50銭 が TP になる.ここには Ask も Bid も Close[0] も関係ない.依存はない
"Ask + 0.1" のような記述も結局は,いま,Ask が 100.01 とすると
"Ask + 0.1" <=> "100.01 + 0.1" <=> "100.11" のような絶対値に展開されている
もっといえば,Ask と Bid の中間値からの差みたいなこともできる.Bid が 100.00 なら
OrderSend(symbol, OP_BUY, volume, Ask, slippage, 0, (Ask + Bid) / 2 + 0.1);
"(Ask + Bid) / 2 + 0.1" <=> "(100.01 + 100.00) / 2 + 0.1" <=> "100.105"
つまり,"この式が展開された時にどんな絶対値になるだろう" と考えればよい
ちなみに,Bid と Close[0] は通常は等しい値を取るが
Pepperstone スタンダード のように,異なる値となる場合もあるので注意されたい
長文失礼した
>>319 そういう意味じゃなかろう。
成り行きの売り買いが、bid ask
指値逆指値の参照はclose[0]
>>322 それが聞きたかった正解だろうな
MT4というより、FXでの売買自体が初心者という事か
むかしむかし聞いた話なんだが bidとaskの中間値がClose[0]になってる厄介な会社無かったっけ? きのせいならいいんだが
>>321 元の質問主ではないんですけど、
> ちなみに,Bid と Close[0] は通常は等しい値を取るが
> Pepperstone スタンダード のように,異なる値となる場合もあるので注意されたい
Pepperstone のデモ口座を取ってみて、
http://pastebin.com/QmmuiVm1 を試しに動かしてみたんですが、 bid = Close[0] でした。
(close[0] と Close[0] 表示してるのは単に同じだよね?という確認をしたくてやってます)
デモではそうだけど、ライブ口座のスタンダードだと bid ≠ Close[0] になるってことなんでしょうか。
もしそうだとすると、 Pepperstone はなんのためにそういう仕様にしてるのか、お分かりになりますか?
ご存知でしたら、後学のために教えてください。
(´・ω・`)ショボーン
三井より三菱東京のほうが圧倒的に早いな
誤爆スマソ
329 :
311 :2014/03/11(火) 23:12:38.25 ID:HrPQ1X20
>>325 Pepperstone ライブ口座のスタンダードでは Bid != Close[0] です
どうしてこうなるのかですが,Pepperstone において Bid に代入される価格は
"スタンダード・アカウント用の" 2-way プライスの売り が元になっています
一方,Close[0] の元となっているのは "レイザー・アカウント用の" 2-way プライスの売り です
これら 2つのアカウントは,スプが違います.ですから,値が異なるのは当然ですね
お気づきのように,Close[0] というのは チャートの最後の足の終値 ですから
Pepperstone スタンダード・アカウントを使っていても
MT4 に表示されるチャートはすべて レイザー・アカウント のものです
"2-way プライス" だけが,スタンダード・アカウントのレート ということになります
"んなことは知ってる.どうしてチャートもスタンダードに統一しないのかを訊いてるんだが"
ということでしたら,解りません
330 :
Trader@Live! :2014/03/11(火) 23:31:36.59 ID:04r2vG1x
MT4ですが、Win8.1でも正常に動いていますか? Win7を買ったほうがいいのでしょうか?
>>329 初めて知った
まだまだ勉強がたらんなオレ
332 :
310 :2014/03/11(火) 23:31:41.93 ID:KEVUeV2c
みなさん。ありがとうございました。理解できました。
>>329 おお、ご丁寧な説明、ありがとうございます。
大変ためになりました。
通貨の現在の価格を取得したいと考えています double iOpen( string symbol, int timeframe, int shift) この関数を使った場合、最小取得時間が1分単位になってしまうのですが、ティックの単位で価格を取得する方法は何かないでしょうか。
>>334 OnCalculateやOnTickで、ティックごとのレートを配列に持つようにするしかない気がします。
そうすると、何ティック前というのが一体足計算で何本前なのかがさっぱりわからないので、
添え字にバーとバーごとのティックを持つ配列とか、構造体を使うとか、
何かしらデータの持ち方に工夫が必要そうです。
>>335 返信ありがとうございます
よく分からないので示して頂いた関数を調べて勉強してみます
>>336 OnCalculate や OnTick は、 new MQL4 の新しいイベントハンドラです。
旧来の MQL4 であれば、 start です。
なので、ようは、インジケータやEAで、ティック更新が来るたびに、レートを自分で保存するしかないんじゃいかな、ということでした。
>>337 start関数の中にiOpenを入れてみたらiOpen引数の時間単位に関係なくティックの更新毎に反応してるのが確認でき解決できました。
start関数開始時にリセットされて即時値を取得するようです。
ありがとうございました。
>>338 あら?最新のティックのが取りたかっただけだったのん?
Nティック前のが取りたいっていう意味だと勘違いしてました・・・。
MT4で過去データを使って練習をしたいのですが、教えてもらったようにしても
できません。
>>293 これもだめ。
他のネットで調べたやり方も設定の仕方はあってるのに動かないし、過去データの表示の
仕方もわかりません。
簡単な方法はありませんか?
MT4でだめなら他のソフトでもいいでが。。
>>341 チャートをドラッグすれば、どんどん過去データが表示される
343 :
Trader@Live! :2014/03/12(水) 20:26:58.91 ID:Mne1lHti
いろいろなサイトを見て勉強中なのですが、定型チャートの保存ができません。 「右クリック」→「定型に保存」をしても、最初にある7つの定型チャートしか表示されません。 保存先のテンプレートフォルダにも表示がないので、そもそも保存ができてないようです。 OSはWin7です。 初歩的な質問で申し訳ないのですが、アドバイスお願いします。
344 :
Trader@Live! :2014/03/12(水) 20:46:50.55 ID:Mne1lHti
343です。 自己解決しましたm(__)m
>>342 どこからドラッグするのですか?
すみません。
346 :
Trader@Live! :2014/03/13(木) 00:40:25.58 ID:tB42eWsq
ちょっとお聞きします。 MT4使ってる業者によって、4時間足の更新時間って違うんですか? 一般的には何時−何時なんですか? 教えて下さい。
347 :
Trader@Live! :2014/03/13(木) 01:55:14.50 ID:l5URkfKR
>>345 君は、Windowsにおける基本的なマウス操作からしてなってないようだ
こうしたくだらない質問がでるようでは、MT4を使用する以前のスキルなので
出直すべきだね
>>346 業者によっていろいろなんで、MT4の4時間足はあまり信用してない。
350 :
Trader@Live! :2014/03/13(木) 13:49:01.20 ID:gILN2L1Y
>>340 有難うございます
MT4は対応早いですなあ
>>346 業者によって違うよ
更新時間が違うとローソクの形状が変わるだけでそんなに大差はない
ただ一方では長いヒゲつけてるローソクでも、もう一方ではダブルレールトラックの形状になってるとか
捉え方が変わる
352 :
346 :2014/03/13(木) 15:34:13.76 ID:l0msiD2S
>>350 MT4が対応したわけではなく
元々Win8がWin7にタブレット機能足しただけのような拡張版にすぎないからだ
逆に言うとWin7が素晴らしいおかげ
初心者質問のところなのに意地悪なやつおおいね ドラッグぐらいできるが? どっからデータをとればいいのかってきいてるのに。 たとえば2001年の一時間足ユーロドルを表示したいばあい どうしたらいいのかな? 消えろかすとかてめーがきえろ。
>>354 具体的に言わない場合、もっとも簡単な答えが返ってくると思いなさい
例えば、「PCの電源が入りません」と聞かれて、あらゆる可能性の中で貴方が原因と解決法を的確に答えられる可能性は低い
その場合「電源ボタンを押してみたら?」という最も簡単なところから答えていくしかない
そうでしょう?
で、「ヒストリカルデータ」という言葉を貴方が理解しているかしてないかも分からず面倒ですが、どちらにしても下記ブログが参考になるかと
http://fusa232323.blog.fc2.com/blog-entry-77.html 疑問点があれば、また質問するとよろしい
>>354 てめぇ、なんだ、その態度は? 教えてもらう立場なのにまったく自覚が無いな
相手が答えられるように、相手がおまえの質問の意図がわかるようにカキコしろ
現象には様々な可能性があるから、おまえみたいな独りよがりの大雑把な質問では
的確な回答なんて得られないんだよ
そのくらいの頭も回らずに開き直りか? おまえみたいのは2度とくるな。不愉快だ
357 :
Trader@Live! :2014/03/15(土) 01:48:45.54 ID:jRumMFPA
質のいい質問者に対しては質のいい回答者がマリーし 質の悪い質問者に対しては質の悪い回答者がマリーする ある意味ここもマーケットなんだな ということは自分の質問にどのような回答がなされたかによって自分の質を知ることが出来るということかw
>>355 具体的に言わない場合、もっとも簡単な答えが返ってくると思いなさい
確かに、そうですね。これからはもっと気をつけます。
一応過去データを表示させることはできました。
ありがとうございます。
参考になりました。
>>356 消えろかすといったのはあなたかな?
それとも外に言葉遣いが悪いのが複数いるのか。
消えろかすなんていわれなきゃ、こっちだってそんな風に言ってないですよ。
最初にかすとかいうひとがわるい。
確かに質のいいしつもんいは質のいい答えが、というのはわかります
ただ人に消えろカスとかいうのはそれ以前の問題ですね。
メッセージボックスをポップアップさせて、そこにパラメーター等の数値を入力することはできますでしょうか?
360 :
Trader@Live! :2014/03/15(土) 16:33:12.36 ID:oXb/+t+K
以前、XPパソコンを使っていた時、 MT4に10分足や2時間足を表示させるために //www.abysse.co.jp/mt4/mt4use/time.html のページで Period_Converter_Opt.mq4 を左クリックしてインジをダウンロードしてました。 最近、Windows7を買い、同じように左クリックすると、 ソースコードらしきものが表示されるだけです。 なぜ、ダウンロードされないのでしょう?どうすれば良いでしょうか?\
ここはPCの初心者スレではないが、とりあえず右クリックして保存しる 「なぜ」についてはPC初心者スレでもさがしてくれ
10年後メタトレーダーが使えなくなるってことはありえますかね もうMT4じゃないとトレードやってられないんですが
>>362 メタクォーツ社が潰れれば使えなくなるかもね。
あるいは、FXの法規制が進んで売買禁止になるとか。
メタクォーツ社といえば・・・ユーザーが書いた稼いでるプログラム内容をサーバーに送信してるという 疑惑あるけどどうなのかな? 世界一か二位の諜報国ロシア製だからそういう疑惑が出るのかも
業者のツールなんてほんとしょぼくて使ってられない
全ティックのバックテスト結果ってどのくらい信用してますか?
ERROR:修行が足りません(Lv=5)。しばらくたってから投稿してください。(1 sec)
忍法帖とは、
http://ninja.2ch.net/ この板のsambaは samba=20 sec
ホスト31.148.132.27.ap.yournet.ne.jp
名前: !ninja
E-mail:
[email protected] 内容:
LogFOREXはベリーズの企業、Delwyn取引Limitedにより運営。同社はベリーズIFSC(国際金融サービス委員会)による認可のもと営業 。
40以上の通貨ペア、贵金属、コモディティと幅広いラインアップ。
最大400倍のレバレッジ。
取引システムは、MT4、ウェブトレーダーモバイルTRAIDER。
クレジットカードでの出入金可能。
(詳細はこちら)
www.logforex.com / JP
わからないこと、質問などは問い合わせましょう。
日本語のホームページ、カスタマーサービスがあります。
www.logforex.com / JP
(注意点)
本サイト、サービスは主に日本在住者を対象としておりません。
ご利用は自己責任でお願いします。
(概要) LogFOREXはベリーズの企業、Delwyn取引Limitedにより運営。同社はベリーズIFSC(国際金融サービス委員会)による認可のもと営業 。 40以上の通貨ペア、贵金属、コモディティと幅広いラインアップ。 最大400倍のレバレッジ。 取引システムは、MT4、ウェブトレーダーモバイルTRAIDER。 クレジットカードでの出入金可能。 (詳細はこちら) www.logforex.com / JP わからないこと、質問などは問い合わせましょう。 日本語のホームページ、カスタマーサービスがあります。 www.logforex.com / JP (注意点) 本サイト、サービスは主に日本在住者を対象としておりません。 ご利用は自己責任でお願いします。
370 :
Trader@Live! :2014/03/17(月) 21:04:03.28 ID:XniVu9Qf
MetaquoteとFOREX.comからダウンロードしたMT4を使用しています。 Metaquoteのほうで為替、FOREX.comのほうでCFDを表示させていたのですが、 FOREXがCFDの取り扱いを辞めるので、MT4をまとめたいと思っています。 今はどちらもFOREXのサーバーを使用してログインしています。 為替とCFDを同時に表示させられるサーバってありますか? 気配値で全表示しても片方だけだったり、何かが不足してたりしてしまいます。 ドル円 ユロ円 ユロドル 豪円 日経225 NY金 原油 が表示できればいいのですが。
372 :
Trader@Live! :2014/03/17(月) 22:48:23.91 ID:XniVu9Qf
>>372 わざわざググって頂いた上に試してもらってありがとうございます!
早速試してみたところいい感じです!
原油がわからなくて、XOM(エクソン・モービルの原油)かなと思っているのですが、
ひとつのMT4で済むのでとても便利になりました!
>>372 原油先物は #QMH4(Mar, 2014 Mini Light, Sweet Crude Oil Future ($5))
だと思ったのだけど違うかしら。
374 :
Trader@Live! :2014/03/17(月) 22:59:20.12 ID:XniVu9Qf
>>373 ありがとうございます!
それを表示してみたら見慣れた原油のチャートでした。
いいサーバを教えていただき助かりました!
build600になってしばらく経ちますが 今からMQL4の勉強始めるのに適した教材って何かあります? まだ旧
509から610にアプデしたら DDE使うインジが反応しない・・・ CSV_Updater3Pairsってやつなんだけど、エロい人助けて!
>>376 やってみたら普通に動く件
リコンパイルしてみたら?
あと,DDE なんて使ってないし
>>370 FxPro もできました。銘柄名は違いますけど、見ればわかるはず。
>>377 マジっすか!?
ウンともスンとも言わないけど、もうちょっとねばってみるよ、サンクス!
380 :
Trader@Live! :2014/03/18(火) 00:21:14.48 ID:9s+Fg3If
>>378 ありがとうございます。
FxProも試してみます!
>>379 handle=FileOpen("CSV_Updater_"+symbol+Period()+".csv",FILE_CSV|FILE_WRITE,',');
の第二引数を
FILE_CSV|FILE_WRITE|FILE_SHARED_READ
にするとたぶん問題が解決すると思います。
使い方によっては FILE_CSV|FILE_WRITE|FILE_SHARED_READ|FILE_SHARED_WRITE にしないといけないかもしれません。
小数点の演算誤差で、Open[0]とかHi[1]のような比較ならdigitsの1/100とかで微小値を加減算すればいいですけど Ln(Hi[1]/Open[0])のようなときは変化の最小単位が不定になりますけど比較するときはどうすればいいですか?
MT4のインジ「ichimoku kinko hyo」を使っています。 転換線と遅行スパンの色を「none」にして 表示されないようにしておいたのですが、 新たにチャートをひらくと、「none」が「255.255.255」に勝手に変更され 表示されてしまうようになってしまいました。 同じような現象の方いらっしゃいますか? 手動で対処する方法ご存知の方いらっしゃったらご教授お願いします。
好みの色にしたあと定型チャートとして保存(チャート上で右クリック→定型チャート内)して 他のチャートからは定型チャートとして呼び出せば設定した色で表示されます。 気配値一覧からチャートを表示したときに最初から一目があるようにしたければ、 定型チャートを「default」という名前で保存して下さい。
>>385 早速のご回答ありがとうございます。
定型チャートのほうにいれてはいたのですが、MT4のバージョンが変更されて以降(Build509→Build610)
ichimokuのインジケーターのみにこの現象が起こるようになりました。
(転換線、遅行スパンの色のみ、テンプレート化できず次回定型テンプレートopen時に表示される現象)
改悪の声も多かったようなので、恐らく仕様でそうなってしまったのだと思われます。
なんとか、戻せるように頑張ってみます。重ね重ねありがとうござました。
なるほど、定型は試されてましたか。失礼しました。 参考になるかはわかりませんが、私の環境(ビルド610)では Ichimoku Kinko Hyo および Ichimoku ともに 全てNoneにして定型として保存、新しくチャートを開いて定型から呼び出すと きちんとNoneのまま表示されます。 ですので、 どこか他の場所にMT4をインストールして、そちらでどうなるか見てみる、 可能なら別のPCにインストールして試してみるなどすれば 原因の切り分けができるかも知れません。
>>387 度々恐れ入ります。
ビルド610で通常通り使われてるということはバージョンの仕様ではなかったのですね・・・。
貴重な情報ありがとうございます。
自身のPCの問題のようですので、おっしゃる通りファイル移動させる等して原因を探ってみます。
ありがとうございましたm(_ _)m ペコッ
すみません、バックテストについて教えてください スワップが3日分等の時はどのようにしているのですか?
AutoForexiteで2013年のデータだけダウンロードできなくなりました 原因分かる方いましたら教えてください
complete.atfxを消す
>>389 バックテストはスワップは考慮しないだろ 業者によって付加する曜日が違うし
自分が使ってる業者のチャートと、MT4で、Bid・Askの値が異なるのが微妙に気になるのですが 任意の値をBidラインとして表示して、本来のラインと連動して動かし 少しでも業者のチャートとのズレを吸収するようなインジケーターってありませんか? それとも、MT4のチャートは分析用という事で、BidAskの値は気にしないようにした方が早いですか?
>>394 そんなご都合主義のインジなどない。だったら、業者のチャートで分析したらよかろう
>>394 チャートの全域を多い隠すような形で作れなくもないとは思う
意味もなく重くなるだろうけど
>>393 回答ありがとうございます
業者はYJFX(旧サイバーエージェント)を使用しているのですが、「通貨ペアのプロパティー」
の取引条件でスワップロング/ショートが書いてあります
この値がバックテスト時に反映されてしまっていて、通常スワップの時と数日分の時で
テスト結果が大きく変わってしまいて困っています
YJFXだけがその様な仕様なのかな・・・
>>392 レスありがとうございます。
complete.atfxも含め、OriginalArchive内のファイルを全て消して
実行し直したんですけど、処理が完了した後「2013」のファイルだけ中身が空になってるんです
なぜなんでしょうかね・・・?
CCFpっていう通貨の強弱わかるやつ入れたんですが MT4を起動するたびにカスタムが元に戻ってしまいます 例えば、監視外の通貨のチャートを消したり、ラインの色を変えたりしていたのが 最初の設定に復活してしまっているのですが これはしょうがないのでしょうか?
>>394 MT4のBid/Askと、その業者のBid/Askの差がほぼ固定値なら、
オフラインチャートを書き出すようにすればいいと思います。
インジケータの Period_Converter_Opt や Period_Converter_OptMOD をカスタマイズすれば難しくないかと。
>>399 CCFpとやらの出来が悪い、ちゃんと書けばそうはならないという意味ではしょうがなくないが
ソースがないと手の出しようがないという意味ではしょうがない。
>>398 Forexite行ってみたら、下のほうに2013のリンクがないね。
直接打ち込むと出るから、指定すればできるかな?
それか自分でフォルダ作ってダウンロードとか。
403 :
383 :2014/03/21(金) 00:25:36.63 ID:M0GKi/91
小数点の演算誤差の質問繰り返しですいません。 Open[1]とHi[0]のような比較なら、10^(-1*digits)の1/100くらいの微小値を加減算したり 10^digitsを掛けて整数にして対処出来ますけど Ln(Hi[1]/Open[0])とLn(Lo[1]/Open[0])のような比較のときは 変化の最小単位が不定になってしまい、どのくらいの微小値を使ったり 10の何乗を掛けて整数にすれば良いのか分かりません。 皆さんはどうしてますか?
なんで整数にしたいのかkwsk
Ln(Hi[1]/Open[0])とLn(Lo[1]/Open[0])の比較というのはln(Hi[1])とln(Lo[0])の 比較と同じことだから同じく10^(-digits-1)くらいを加減算すればできるだろ。 しかし、そもそもそんな敏感な式を使ってもいいことないと思うけど。
lnは単調関数だから比較だけならHi[1]とLo[0]の結果と同じだな。
>>404 例えばHi[1]=100.211 Op[0]=100.211
レートの見かけ上は同じでも、If(Hi[1]>=Op[0])がTrueにならない事があるのが
小数点の演算誤差だからです。
>>405 Ln(Hi[1]/Open[0])とLn(Lo[1]/Open[1])
とかだと応用が利かなくなりますけど気にし過ぎですかね。
実際に問題にもなってないのかよ... たかだかDigits桁しかないのにそういう比較が誤差で結果が変わるかよ。
> 例えばHi[1]=100.211 Op[0]=100.211 > レートの見かけ上は同じでも、If(Hi[1]>=Op[0])がTrueにならない事があるのが おい、これはどこの業者で起きたんだ? 昔はそういうこともあったらしいが、これが本当ならちょっと問題だな。 対策はNormalizeDouble(Digits)すればいいんだが、面倒すぎだろ。
いやエクセルで加工した値がXのはずなのに、Xではない場合があったからおかしいなと思ったら 小数点の演算誤差という問題を知りまして、恐らくMT4でもあるだろうなと思って質問しました。
Build600以降の変数のスコープ範囲の変更、新ルール、よく分からない。 グローバルで作成したインデックス配数が、なぜかローカル定義の関数内で、参照できない。
エラーの起きるコードと実際のエラーメッセージ。
413 :
Trader@Live! :2014/03/21(金) 12:40:35.14 ID:TqLkWixK
Alpariのmt5が昨日からチャートが止まったままなんですが どうすれば直りますか?
415 :
Trader@Live! :2014/03/23(日) 14:58:17.51 ID:RWH8F0hQ
プログラム Client Terminal 「このコンピューターへの変更を許可しますか?」って、 出るようになった人いますか?どこもいじってないのに 許可していいのですか?
>>415 MT4 の LiveUdate (自動アップデート)が動作すると、
そのようなダイアログが表示されます。
不親切な仕様なので、「はたしてそれがUpdateによるものかどうか」は簡単には
確認できませんが、幸い先日 build 625 が公開されているので
タイミング的にはおそらく LiveUpdate によるものでしょう。
「いいえ」にすると、アップデートされません。(毎回起動時に聞かれますが)
ボタンのキャプションが自動売買に日本語化されて分かりやすくなった。 って、バカ野郎!mql4++のヘルプをとっとと日本語化しやがれ!
mql.exeがいなくなって困ってたらMetaEditor UserGuideにDL先書いてあったーヾ(´・ω・`)ノ゙ ファンクションキーを押す指が軽い こんな幸せな気持ちでEAをコンパイルするなんて初めて・・・ もう何も怖くない(´・ω・`)
>>418 フク・ミゾン「この瞬間(とき)を待っていた……!」
420 :
Trader@Live! :2014/03/23(日) 23:27:57.76 ID:RWH8F0hQ
>>416 有難うございます。
これからは、アップデートのたびに出るんでしょうか?
アップデートされないとどうなるんですか?
>>420 はい、出ます(いままでも出ていたはずですが、、、)。
アップデートしないと、
・起動時に毎回ダイアログが出ます
・新しいバージョンでのバグ修正や機能追加の恩恵が受けられません(新たなバグを踏む可能性もありますが)
build 509 からアップデートしたくない、ならともなく、
build 6xx にした状態で最新版にアップデートしない、のは
あまり得策とは思えません。
422 :
Trader@Live! :2014/03/24(月) 00:12:14.02 ID:rA9FB2rq
初めてまして・質問させてください。今まで使ってなかった新規の海外口座の会社のMT4でbuild 625にインディケータを入れても全く反映しないのですが・・
OrderSend のexpirationは、新規注文が通ってもちゃんと動作しないときがあるとしたら サーバーに問題があるときだけと考えればいい? こちら側で出来ることは注文撤回されてるか確認して、撤回されてなければ新たに撤回注文出すくらい?
>>422 ・インジケータは【データフォルダ】\MQL4\Indicators に入れる必要があります
→ 【データフォルダ】は、MT4の「ファイル」−「データフォルダ」でわかります
・ソースファイル(.mq4)は MetaEditor から見えていますか?
→見えているならコンパイルしてみましょう
→コンパイルエラーになっていたら修正しないと、MT4には見えません
・コンパイル済みインジケータ (.ex4) を直接置いた場合
→MT4を再起動してみてください
425 :
424 :2014/03/24(月) 04:14:17.82 ID:FCU9QLDT
訂正です > MT4の「ファイル」−「データフォルダ」でわかります 「ファイル」−「データフォルダを開く」でわかります
426 :
MT初心者 :2014/03/24(月) 06:09:53.31 ID:PlewhRuY
昨日、MT4 Build 509からBuild 625へアップデートしました。OANDAです。 2つわからないことがありますので、教えてください。 1.メタエディターのversionが MetaEditor 5.00 Build 914 となっていますが、これはエディターはMT5のものを使う、ということなのでしょうか? 2.Build 509では動いていた自作EAが、Build 625でコンパイルすると、 return value of 'OrderSelect' should be checked の警告が出ます。 そこで、 OrderSelect(Ticket,SELECT_BY_POS); // 処理 return(0); としていたところを OrderSelect(Ticket,SELECT_BY_POS); if(OrderSelect(Ticket,SELECT_BY_POS)==true) { //処理 } return(0); としましたが、やはり警告がでます。 警告の原因はどこにあるのでしょうか?
>>426 > 1.メタエディターのversionが MetaEditor 5.00 Build 914
> となっていますが、これはエディターはMT5のものを使う、ということなのでしょうか?
MetaEditor に関しては、 MT4/5 で差がなくなったと考えてよいと思います。
(完全には同じではないですが。たとえば、MT5のMetaEditorからはMQL4のヘルプが起動できないなど)
build 600 以降の MetaEditor だと、 .mq5 (MQL5) のソースコードもコンパイルすることはできます。
ただ、MT4 では動かないので、意味はないですが。
> 2.Build 509では動いていた自作EAが、Build 625でコンパイルすると、
> return value of 'OrderSelect' should be checked
> の警告が出ます。
> OrderSelect(Ticket,SELECT_BY_POS);
> if(OrderSelect(Ticket,SELECT_BY_POS)==true)
「return value of 'OrderSelect' should be checked」
は「OrderSelect の戻り値はチェックされなければなりません」
ですから、
OrderSelect の呼び出し「だけ」をして、戻り値をチェックしていないところが
警告されているわけですね。
なので、 if 文の上にある OrderSelect を削除すれば警告は消えるでしょう。
現状だと OrderSelect を無駄に2回やっていて、2回目だけ戻り値チェックをしていることになります。
428 :
MT初心者 :2014/03/24(月) 07:15:07.97 ID:PlewhRuY
>>427 早速のご教示誠にありがとうございます。
1.はよくわかりました。
2.も納得です。
>>現状だと OrderSelect を無駄に2回やっていて、2回目だけ戻り値チェックをしていることになります。
戻り値をチェックすれば良いと思うあまり、2重になっていることに気付きませんでした(正しく理解出来ていませんでした)。
仰るように、if文の上のOrderSelect の削除により警告は消えました。
ありがとうございました。
この動き方は上だ
,,x-ー:: "::::: ,x '":::::::::::::::::::: ,、'":::::::::::::,, x-‐ ァ: ,,x '"::::::,,、- '" |::: `"i`ー'" ヾ ! 、 、,,,,,,,,,;;;;;;;;;彡ミ |,,,,ノi `ーヾ;; '"----、 ヾ::ヽ -┴'~ ~|:/ ' ' ' `ー ' "'" /_ l '' ) i Incoming Male ヽ,,、'~` U ゙, __ ,-、_,ノ` |/ ゙, `'" ,,y |/ 彡 ゙、`-'" /|/ i / ! ,, -'" | `ー '"|:: | /|||ヽ /|||||/心 |ヾ/ /`ー
431 :
Trader@Live! :2014/03/24(月) 08:16:18.28 ID:a7KIPS8Z
432 :
Trader@Live! :2014/03/24(月) 13:37:25.47 ID:+JxjFJ4D
>>421 有難うございます。
アップデートしてみました。FXCMのデモMTです。
.
>>427 当方もエディターが更新されました。
>>MetaEditor に関しては、 MT4/5 で差がなくなったと考えてよいと思います。
とありますが、以前のコードは弾かれてしまいます。
『cannot create interface』
と表示されます。
MQL5版MetaEditorて日本語でコメント書くと間隔が崩れるんだけど MQL4では直ってる?
直ってない
左の欄にいくつか表示されているペアを消そうと思い 選択通貨ペアの非表示を選んでもペアが消えてくれない 何故?
>>436 インジケータ類がその通貨ペアにアクセスしてる可能性は?
>>437 ありがとう
インジ消してみたらちゃんと消せました
439 :
Trader@Live! :2014/03/25(火) 16:12:20.85 ID:DJW/XjsU
チャートウインドウにバグのあるEAをロードしたため、画面が白くなって応答しません。 ループしているようです。このEAを切り離す方法をどなたかよろしくお願いします。
>>439 一旦、MT4を終了。
設定フォルダからchrファイル探して、当該EA設定部分を削除するとか。
MT4で、過去のデータを動かせるようにはなりました。(1時間) そこで疑問なのですが、リアルタイムチャートだと、一時間 日足、15分どれをみても、その時間のチャートが表示されます。 過去のデータをダウンロードした場合同じようにできますでしょうか?
442 :
Trader@Live! :2014/03/25(火) 19:13:33.46 ID:DJW/XjsU
>>440 configフォルダの中のterminal.iniを見てみましたがそれらしいのはありません。
場所が違うのでしょうか。
メニューからファイル→データフォルダを開く→profilesの中
444 :
Trader@Live! :2014/03/25(火) 20:12:43.41 ID:ySRmKARh
>>444 他のエディタ使え。
Notepad++ とかいろいろあるっさ
>>442 もうさ、EAの mq4 ファイルと ex4 ファイルをリネームしちゃえばいいんだよ。
447 :
Trader@Live! :2014/03/25(火) 22:07:43.11 ID:DJW/XjsU
>>446 renameとは!
その手がありましたね。
1週間考えても思いつかなかったと思います。
無事解決しました。
ほんとにありがとうございました。
.
>>427 当方もエディターが更新されました。
>>MetaEditor に関しては、 MT4/5 で差がなくなったと考えてよいと思います。
とありますが、以前のコードは弾かれてしまいます。
『cannot create interface』
と表示されます。
旧MetaEditorに戻す方法はないのでしょうか???????????????????
449 :
Trader@Live! :2014/03/25(火) 22:57:58.22 ID:3bBeUU5U
最新のMT4はBuild 625まで進んでいるね。 でも使い慣れた実働口座はBuild 509のままにしている。EAやインジはNew MT4でも 互換性が保たれているから、当分問題なし。
>>449 更新させない方法教えてください
451 :
Trader@Live! :2014/03/26(水) 00:00:41.33 ID:S7jnP2Ii
ウインドウ→チャートの整列の日本語訳が合ってない ○| ̄ト_
あそこの会社消去法で使えなくしてるから509は時間の問題 来年まで使えれば良い方だが無理
453 :
Trader@Live! :2014/03/26(水) 08:06:11.93 ID:ewsVQZaD
>>450 build 509とbuild 600以上を共存させたり、509に戻したりする方法は、
ググルと詳しく説明しているよ。少々、Windowsのファイル操作が必要だが、
こうしておけばストレスなしでMetaEditorが慣れた形で使える。New MQL4は
徐々に勉強すればよいだろう。Meta社は一向に普及しないMQ5は諦めて、これに
MQ4と互換性を持った、いわばMQ6を目指しているとのことだ。
いつも思うんだけど、その伝聞調はなんなの?一体Metaquotes社の誰に直接聞いたんだろ。 どう見ても劣化版MQL5にしか見えないが、MQL5より優れているところがあるのかね。
てか、new mql4とmql5(言語)って何が違うの? mt4とmt5(プラットフォーム)の差異を除けば言語仕様的には同じじゃないの?
MQL5より優れているところ? ちょっとだけ旧MQL4と互換があることさ。
XMの障害のせいで利確が損切りにorz
誤爆すまそ
メタトレーダーって、アンインストールでユーザーデータ削除(その後フォルダも残ってない事確認:Win7プログラムデータx86内)→ 公式からインストーラーDL→インストールしても、前のプロフとかチャートが表示される事が 多々あるんだけどこれ何?一体どこにデータが残ってるんだ? 掃除ソフトでゴミデータ掃除&レジストリとかを挟んでも表示されて怖いんだがw
LocalフォルダにあるVirtualStore内のMT4データを消したらチャートは表示されなくなったわ。 でも相変わらずお客様情報は全部残ってる。サーバーの残ってるとかは無いよね?w
>>462 うおおおおおおおおおおおおおおついに消えた!!!こんな所に残っていたのか…!
5年くらい続いた疑問が氷解した。聞いてよかった…462さんほんとにありがとうありがとう<(_ _)>
俺30手前だけど隣にいたらキスするのに
なんか疑問が生じたら、検索するのが基本だよ Windowsだと、ローカルファイルの検索とレジストリの検索ということなる regeditを起動して、検索窓に、MetaQuoteと入力 すると、メタ社関連の設定値が出てくる。検索語は工夫しないとうまく出てこないこともあるので 何度かやってみることだね
はーい先生(゚д゚)/ (゚д゚)/ (゚д゚)/
メタエディターの仕様変わって ボリバンやら一目などバグが起きて滅茶苦茶なチャートになってるんだが? インストールし直してもバグが直らずにまともに表示しないし 相性の関係でPCそのものHDDが破損した可能性ある、違うPCはまともに表示されてるし アップデートしてからMT4が完全に壊れたし
467 :
Trader@Live! :2014/03/28(金) 11:10:46.30 ID:w51sX2xl
ミラーチャートが表示されなくなって ダウンロードし直したら「アクセス許可がありません」表示されます どうしたらいいですか?
468 :
Trader@Live! :2014/03/28(金) 16:48:35.30 ID:/Mr0xi4q
Forex.comのセミナーで、トモラニという女性がエントリーポイントとして しきりに「チク」という言葉を使っていた。これどういう意味?もしくは 何の略語かわかる人いますか?
469 :
Trader@Live! :2014/03/28(金) 16:50:15.38 ID:gzQC6TV+
Tickじゃねえの?
470 :
Trader@Live! :2014/03/28(金) 18:05:51.74 ID:/Mr0xi4q
>>469 それが使っているチャートが時間足なの。
時間足での現在地的な意味じゃないのか? すまん、上手く言えそうにない
妄想するに この線の 5 tick 下で とか使ってんじゃね
473 :
Trader@Live! :2014/03/28(金) 18:40:39.25 ID:gzQC6TV+
tickではなさそうだな
2、3本で構成されるチクとか書いてある 謎だな…
464に補足。grep検索を追加。文字列検索には必要だね
478 :
Trader@Live! :2014/03/28(金) 21:56:03.16 ID:+xmWqURc
479 :
Trader@Live! :2014/03/29(土) 05:02:23.10 ID:2L43KlWT
チェックを文字変換にかけると、「✓」と出てくる。彼女はRSI(14)にオーバーレイ したBB(50)の中心線近くに現れるRSIの「トンガリ」を「チク」と言っていた。これ ローソク足では陽線と陰線が並んでいるところだ。実はボリンジャー氏がこれを 「check」と言ったのを、彼女は「チク」と聞き違えたのではないかと思う。セミナー 中、チクは何の略かとの質問があったが、彼女答えられなかったね。
build625アプデしてもうたああ バックアップ取ってるから戻そうと思って 全ファイルとRomingのところのフォルダも戻したけどダメだたw 特別なインジ使ってないからまだマシなんだけど 左上に 「EURJPY ,M30」 と表示されてすごい邪魔になった 消す方法ないかな
481 :
Trader@Live! :2014/03/29(土) 06:21:43.83 ID:PUNkhG7L
インジのmq4ファイルを、MQL4\Indicatorsフォルダーにコピーしても、メタエディターに反映されません。 原因は何でしょう。MT4 ビルド625です。
もしwindows8を使ってたら、保存場所は 上部メニュー「ファイル」→「データフォルダを開く」 で開かれる場所。
>>481 build600の問題はググってちゃんと確認しといた方が良いよ
484 :
480 :2014/03/29(土) 11:42:29.67 ID:yWMf1aDy
なんでバックアップ取ったのに戻せなかったのかわかったよ 一度625にすると元にコピーし直しても強制的にアップデートさせられてた 一応書いておくね C→ProgramData(隠しフォルダオンにしないと表示されない)→mt4clw ここを直さないとダメみたいね 詳しくはすぐヒットするからググった方がいいと思う
環境移行が面倒になったよね
486 :
Trader@Live! :2014/03/29(土) 20:41:59.75 ID:cqf4jcHh
反転チャートPeriod_Converter_OptMirror.mq4が動かない 再度取り込んでも動かん 何か対処法ありませんか?
>>486 fai さんのPeriod_Converter_OptMOD だっけ?
これを600対応させた人が居たと思うので、それを参考に。
ゆとりです 、どうぞよろしく
489 :
Trader@Live! :2014/03/30(日) 17:56:58.19 ID:5cMkcr4C
なんだこれ勝手にアップデートされておかしなことになった
490 :
MT4初心者 :2014/03/30(日) 19:53:11.13 ID:EQcGeRu0
はじめまして。MT4初心者です。 Build625をBuild509にしたいのですが、色々と手こずっています。 自動更新の拒否設定を行い、サイバーエージェントのBuild509をDLし、ツール→オプション→サーバータブにFXProのIPアドレスを入力。 FXProサーバーでデモ口座を申請しました。 ここからどうやってFXProリアル口座ログインまでいけばいいのか解りません。 いつも使っているFXProのMT4(Build625)をBuild509にしたいだけなのですが、手順として間違っていますでしょうか。 アドバイスお願いします。
491 :
480 :2014/03/30(日) 21:24:33.99 ID:e4O/Rgzf
なんかわかりづらい文章だけど509に戻したいだけなら 少し上に書いてあるよ
492 :
MT4初心者 :2014/03/30(日) 21:40:22.68 ID:EQcGeRu0
解決しました。お騒がせしました。
配列というのがよく分かってないからかもしれませんが ↓というシンプルなプログラムをチャートに適用するとarray out of rangeエラーになってしまいます #property indicator_chart_window #property indicator_buffers 1 #property indicator_plots 1 double Buff[]; int OnInit() { ArraySetAsSeries(Buff,true); return(INIT_SUCCEEDED); } int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { Buff[0] = 100; return(rates_total); } 配列のサイズを指定しないで宣言してから 具体的な要素に代入するにはどうしたらいいんでしょうか
>>493 ArrayResize みたいな関数探そう
>>494-495 ありがとうございます!ArrayResizeで確かにエラーが出なくなりました
double Buff[]; と宣言した時点で
Buff[0] = 100;だろうが
Buff[99] = 100; だろうが何処の要素にも代入できるという認識でいましたが
どこが間違いなんでしょうか
今までいくつかのインジケータープログラムを見てきて
ほとんどArrayResizeに出会わなかったのですが
今回のケースと何が違うのでしょうか?
>>496 インジケータのライン表示用バッファだけは、MT4側が領域確保してくれる。
>>497 インジケータ用のバッファじゃなければArrayResizeする必要があるということですね
いろんな本に目を通しましたが書かれていなかった(?)と思うので勉強になりました
ほんとにありがとうございます
int x= y==0? 0:z; xに入れる値を 「yが0の場合に0を それ以外の場合にzを」 という式を三項演算子で表現しようとしたがうまくいきません どう描くのが正しいですか?
>>499 特に間違いがあるようには見えないが?
上手くいかないとは?
501 :
Trader@Live! :2014/03/31(月) 07:03:46.21 ID:lRen7xb0
>>499 問題ありません。初心者なので実際にやってみました。
たとえば、
int y=0;
int z=1;
とすれば、
x=0
int y=2;
int z=1;
とすれば
x=1
となりました。
Build 625です。
502 :
Trader@Live! :2014/03/31(月) 08:09:19.68 ID:TkM80EKc
509に戻してもカスタムインジがだけ表記されず動かない 英語で表記されてる
多分languageフォルダ毎アプデで削除されてるからどっかから拾ってこないとダメじゃないかな
504 :
481 :2014/03/31(月) 14:26:10.60 ID:lRen7xb0
>>482 >>483 ありがとうございます。
一応自己解決しました。
結局、
Users\...\AppData\Roaming\MetaQuotes\Terminal\26EBE..\MQL4\Indicators\
というとんでもなく深いところにあるIndicatorsフォルダにインジのmq4ファイルをcopyして、
メタエディターに反映させることが出来ました。
旧MT4に比べると使いにくい感じです。
こうすることによって、どんなメリットがあるのか分かりません orz
>>504 初心者でも ファイルメニューからフォルダを開くことが出来て、
そのフォルダを開きやすくするというメリットがあるんですよ。
>>504 Vista 以降は、UAC に対応するために Users\ユーザ名\AppData を使うのがお作法になっています。
MT4に限った話ではないです。
C:\Program Files (x86)\ 配下にインストールしない、ってのはあくまでもユーザ側の対処療法なので。
507 :
481 :2014/03/31(月) 17:17:44.46 ID:lRen7xb0
>>506 ありがとうございます。
>Vista 以降は、UAC に対応するために Users\ユーザ名\AppData を使うのがお作法になっています。
>MT4に限った話ではないです。
了解です。
そういえば、セン短のQCT+の拡張キットも同じような感じでした。
それにしても随分深いところなので、なんで?と思ってしまいました。
/portableつけたら前に近くなるけど完全じゃない。 strictにしても、なんでこうも中途半端なんだ。
509 :
Trader@Live! :2014/03/31(月) 19:14:49.32 ID:XpUj/q/c
誰か600に対応した反転ミラー(高値安値を逆にした)チャートあったら教えてください
アッー! 600 ウゼー!!
だから、私は509を使い続けている
バックテストには432を使ってるし、600以降は使う気がしない。
513 :
Trader@Live! :2014/03/31(月) 23:39:25.37 ID:WQZ/6yYT
MT4の表示時間を日本時間にする方法あります?
514 :
Trader@Live! :2014/04/01(火) 00:16:07.21 ID:l4FJri92
>>271 swingpointviewのアドバイスをみて全ての_Pointを_Point1に変更した
ところ、コンパイルのエラーはなくなったのですが、チャートに
表示されません。
何か考えられる原因はあるでしょうか?
よろしくお願いします。
515 :
Trader@Live! :2014/04/01(火) 00:18:15.98 ID:l4FJri92
>>271 swingpointviewのアドバイスをみて全ての_Pointを_Point1に変更した
ところ、コンパイルのエラーはなくなったのですが、チャートに
表示されません。
何か考えられる原因はあるでしょうか?
よろしくお願いします。
>>500 >>501 ホントすみません!レス遅れました
昨日試した限りですが常にy==0?が偽となっていた気がしました
また時間があるときに試してみます
517 :
Trader@Live! :2014/04/01(火) 15:09:15.85 ID:k/zA7vyi
MQL4消して509のexpertsいれたらインジ動きました ありがとうございました。
518 :
Trader@Live! :2014/04/01(火) 16:01:29.79 ID:uEZ9QX9l
いずれにしてもダウングレードするには、ファイルの整理が大変だ。 変ないじり方をしたら、A社のMT4にB社のチャートが出てきて慌てたよ。 New MT4にしてMQ社には何のメリットがあるのか?株式を取引できるように したいのか、それともターミナルのマーケットで商材等の新規商売に力を 入れたいのか?私には何のメリットもないので、build509のままだ。
すみません、質問です。 ODL ver4.00 Build 509 を CyberAgentFX-Demo1 サーバで使っています。 昨日くらいからユーロ円のM1チャートで、直近10分くらいの数値が51万とかになってしまい、 表示できなくなっています。 以前からM30でもBidが10円下になっていて、使い物にならなかったのですが、他の分足では きちんと表示されています。 直し方ご存知の方、いらっしゃいませんでしょうか。よろしくお願いします。
自己解決しました。ありがとうございました。
テスターでバックテストしていると、ピキューンっていって止まってしまうのは、ストップに引っかかったということでしょうか? だとすればプログラムにどんなコードを入れておけば回避できますか?
ニュータイプのようだな
思わぬタイミングでピキューンするときは大概資金がショートしてる 儲かるコードを入れておけば回避できるんじゃまいか
524 :
Trader@Live! :2014/04/02(水) 11:12:58.47 ID:Jb4sM+N4
MT4のbuild509をいれました。 アップデートしないために、 mt4clw を変更しなさいとかいてあるのですが、 その mt4clw がみつかりません。 もともとはいってない場合、自動的にアップデートされてしうようです。 プログラミングなど全く詳しくありませんが、どなたかアップデートを防ぐような 方法の書いてあるサイト、アップデートを阻止した経験のあるかたが いましたら教えてください。 よろしくお願いします。
>>524 >方法の書いてあるサイト
mt4clwでgoogle通してみて下さい
526 :
Trader@Live! :2014/04/02(水) 14:39:26.98 ID:EoQbACR7
>>524 ファイルの検索でMetaQuotes→下にある検索結果の読き
→下にあるコンピュータで再検索
僕はこれででたwin7
527 :
Trader@Live! :2014/04/02(水) 15:57:26.97 ID:Jb4sM+N4
>>526 ありがとうございました。
やっとできました。
528 :
Trader@Live! :2014/04/02(水) 20:04:43.46 ID:SvaD+BqY
MT4を1つだけ入れて色々な業者のサーバーにつなぐ方法が、以前、紹介 されてました。IPアドレスをサーバー欄に入力するんですよね? そのためには、一度、目的の業者のMT4をインストールしてconfigフォルダから サーバーIPを調べる必要があるということだったと記憶してます。 これはBuild600系でも変わってないですか?何かサーバーを検索する機能が 付いたとか、なかったですかね?
529 :
Trader@Live! :2014/04/03(木) 00:02:23.64 ID:BBNVpFyP
アップデート阻止デモ隊はいつまで続くか
530 :
Trader@Live! :2014/04/03(木) 00:03:05.25 ID:BBNVpFyP
マルチタイムインジが表示できるチャートってMT4だけなんでしょうか?
おまえらサイバーMT4のビルト509にどうやって戻すか知ってる?
533 :
Trader@Live! :2014/04/03(木) 14:14:38.96 ID:GOOzR1BB
一つのMT4でデモとリアルでEAを同時に動かすことは出来ますか?
CAD/JPYだけヒストカリーがおかしい。MT4でダウンロードしても201311月までしかない。他のは2000年とかからあるのに。オアンダがおかしいのかな?
>>533 流石に無理じゃね?
同じMT4を別フォルダにインストールすれば
それぞれ独立して動くけどそれでは要望が満たされないかな
536 :
Trader@Live! :2014/04/04(金) 14:03:55.65 ID:4s/1d8BI
>>534 オアンダはそのころぐらいにMT4にやっと対応したので過去データはすくないんじゃないかな?
たぶんだけど
509使い続けてもその場しのぎですよね
538 :
Trader@Live! :2014/04/05(土) 00:52:57.02 ID:lkPMFP1g
>>537 MT5がその場しのぎになる公算大という人もいる。
MT4の膨大な資産をMT5の犠牲にしたくないから、MT4にMT5を近寄せたもの。
いずれMT6に衣替えするするとの説、もうNew MT4で株式や先物取引の環境
整ったし、新設マーケットで関連商売はできるし。MT5はMT6に移ってくだ
さいということになるのでは?
539 :
Trader@Live! :2014/04/05(土) 09:56:00.43 ID:774MK8B7
>>538 そしたらMQLは一新して欲しいね
ぶっちゃけ外部dll使わなきゃ金融工学的な処理できないんだし、役不足
>>539 MetaEditor 5.00 Build 914でコンパイルすると20 error,2 warningってでるね
errorは・・・
・price.x.offsetをprice_x_offsetに置換
・price.y.offsetをprice_y_offsetに置換
waningは・・・
・void printPair関数の変数宣言で適当にbool flag;を追記
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);を
flag=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);に変更
・void setObjectはviodなのにreturn(0);としているのでreturn(0);を削除
すみません、既に書き込まれてました
>>540 MQL5で一新された結果がこれ。
あとね、どうでもいいけど役不足の使い方間違ってるよ。
文章的にはあってるけど、君の意図的にという意味で。
インディケーターないともう勝てないんですが、
ビルド600でコンパイルエラーがでてしまう問題は、このままスルーだと思いますか? アップデート等で対策できるもんなのでしょうか?
ちょっと変更を加えたい、色とか線の幅を変えたい時とか不便なんですよね
15分足の過去チャート(ユーロ円)をスクロールをしてて気付いたのですが 3月上旬ごろから突然1時間足に切り替わってます・・・ こういうことが起きる原因て何が考えられるのでしょうか?これを直す方法ありますか
550 :
Trader@Live! :2014/04/07(月) 08:41:03.85 ID:tfxdnjos
Period_Converter_Opt.mq4が↓のエラー出て使えなくなった not all control paths return a value
> Q: 付属しているMACDをライン表示にしたい。 > A: MetaEditorでMACD.mq4を開いて、「DRAW_HISTOGRAM」で検索、DRAW_HISTOGRAMを「DRAW_LINE」に変更、念のため別名保存してコンパイルする。 1年か2年に一回、何らかの理由でMT4入れなおす時にこのテンプレのお世話になる<(_ _)>
553 :
Trader@Live! :2014/04/07(月) 19:34:05.70 ID:uTFHbHnE
他スレから失礼します。先週MT4デビューした初心者です。 インジケーターに不具合が出て困ってるのですが 某インジケーター集のサイトで「kairi」と 「Period_Converter_Opt.mq4」を無事にインジケーターズのファイルに ダウンロードしたのですが、ローソク足が更新されても乖離のインジだけ 更新されず、おいてけぼりになります。他のインジはちゃんと進むのに。 あと3分足や2時間足を表示したいのでPeriod_Converter_Opt.mq4入れたの ですが、マニュアル通り一分足のチャートにカスタムの Period_Converter_Opt.mq4をドラッグ⇒ドロップが出来ません。 カーソルはドロップ状態で一分足チャートまで持っていけるのですが ボタン離しても音沙汰なしです。 上記の二つの不具合はどうしたら解決できますか? どなたか詳しい方おられましたら御教授のほど、お願い致します。 尚、改変プログラム云々はよく分からないので 出来れば改変された正常な「kairi」インジのアドレス等がベストです。
>>553 MT4をダウングレードした方が早うと思うよ
ググッたらわかるはず
555 :
Trader@Live! :2014/04/08(火) 06:28:26.26 ID:oet4s/hg
600になってから、プログラムがおかしいです。 「iCustomで変幻自在のメタトレーダー」という本で、自作をしています。 600になってから、1分足でデモすると、何回も取引するようになってしまいました。 誰か、ご伝授ください。 ただの、Ask Bid はだめなようなので Ask_1 = MarketInfo(Symbol(),MODE_ASK); Bid_1 = MarketInfo(Symbol(),MODE_BID); を入れました。 下のプログラムは、はしょってますが //買いポジションの利益確定 if( OrderOpenPrice() + TP * _Point <= Bid_1 && ( Ticket_L != 0 && Ticket_L != -1 ) ) { Exit_L = OrderClose(Ticket_L,Lots,Bid_1,Slip,Red); if( Exit_L ==1 ) {Ticket_L = 0;} } //買いエントリー if( RSI_1 > RCI_20 && RSI_2 < RCI_20 && ( Ticket_L == 0 || Ticket_L == -1 ) && ( Ticket_S == 0 || Ticket_S == -1 )) { Ticket_L = OrderSend(Symbol(),OP_BUY,Lots,Ask_1,Slip,0,0,Comments,MAGIC,0,Red); if (Ticket_L >= 0) { おねがいします。
556 :
Trader@Live! :2014/04/08(火) 06:30:31.67 ID:oet4s/hg
すみません。 &&がバグってます????
とりあえず始めるのにオススメな業者はどこ? どこもスプレッド明示してないし、違いがわからない。
>>557 スプレッドは変動だから明示出来ない。
OANDAかALPARI辺りにしておけば良いんじゃない。
>>558 明示できないにしても、何か比較したものって無いのかな?
それと、その二社は馴染みは薄いね。
とりあえずyahooかマネックスにしようかと思ってたんだけど、どう?
>>559 yahoo は今年からサイバーエージェントから変わったばかりでよくわからないんだよね。
マネックスは全般的にスプレッド広めだったような。
とりあえず始めるなら、yahoo かマネックス好きな方で良いんじゃない?
>>560 ありがとう、それじゃとりあえずyahooで始めてみる。
ここでの評判は悪くないよね?w
YJのMT4はチャートとしてはよい。日足が週5本で、4時間足もNYクローズが起点。
Cにおける、「scanf関数を用いて、変数に数値を入力する」のような動作を、 MT4で入力ダイアログボックスをポップアップする等して、再現できないでしょうか。 もしできるとしたら、どうやればできるのでしょうか? 恐縮ですが教えてください、お願いします。
はじめまして。iPhone版MT4最新ver.なのですが突然チャートが拡大されてしまいました。 ズームイン・アウトの項目は無いと思うのですが、 設定変更方法をご存知の方がいらっしゃいましたら教えて下さいませ。
>>565 一回アンインストールして再インストールしたら直らない?
>>566 ありがとうございます。
20近いアカウントが入っているので今日1日いじってダメであれば
アンインストールしてみます。
ちなみに旧ver.で症状が発生し急遽アップデートしてみましたが
拡大されたままでした。。
>>567 iFunBoxでアカウント情報だけ取り出して・・・
>>568 そのような方法が。勉強になります。
ありがとうございます。
>>569 いやいや。
今度mt4の事聞きにきたら、優しく教えてねw
571 :
Trader@Live! :2014/04/09(水) 21:48:30.37 ID:gf7rzaJ1
600になってから、プログラムがおかしいです。 「iCustomで変幻自在のメタトレーダー」という本で、自作をしています。 600になってから、1分足でデモすると、何回も取引するようになってしまいました。 誰か、ご伝授ください。 ただの、Ask Bid はだめなようなので Ask_1 = MarketInfo(Symbol(),MODE_ASK); Bid_1 = MarketInfo(Symbol(),MODE_BID); を入れました。 下のプログラムは、はしょってますが //買いポジションの利益確定 if( OrderOpenPrice() + TP * _Point <= Bid_1 //TPは利益です && ( Ticket_L != 0 &amp;&amp; Ticket_L != -1 ) ) { Exit_L = OrderClose(Ticket_L,Lots,Bid_1,Slip,Red); if( Exit_L ==1 ) {Ticket_L = 0;} } //買いエントリー if( RSI_1 > RCI_20 && RSI_2 < RCI_20 && ( Ticket_L == 0 || Ticket_L == -1 ) &&( Ticket_S == 0 || Ticket_S == -1 )) { Ticket_L = OrderSend(Symbol(),OP_BUY,Lots,Ask_1,Slip,0,0,Comments,MAGIC,0,Red); if (Ticket_L >= 0) {
572 :
Trader@Live! :2014/04/09(水) 21:52:36.45 ID:gf7rzaJ1
600になってから、プログラムがおかしいです。 「iCustomで変幻自在のメタトレーダー」という本で、自作をしています。 600になってから、1分足でデモすると、何回も取引するようになってしまいました。 誰か、ご伝授ください。 ただの、Ask Bid はだめなようなので Ask_1 = MarketInfo(Symbol(),MODE_ASK); Bid_1 = MarketInfo(Symbol(),MODE_BID); を入れました。 下のプログラムは、はしょってますが //買いポジションの利益確定 TPは利益です if( OrderOpenPrice() + TP * _Point <= Bid_1 && ( Ticket_L != 0 && Ticket_L != -1 ) ) { Exit_L = OrderClose(Ticket_L,Lots,Bid_1,Slip,Red); if( Exit_L ==1 ) {Ticket_L = 0;} } //買いエントリー if( RSI_1 > RCI_20 && RSI_2 < RCI_20 && ( Ticket_L == 0 || Ticket_L == -1 ) && ( Ticket_S == 0 || Ticket_S == -1 )) { Ticket_L = OrderSend(Symbol(),OP_BUY,Lots,Ask_1,Slip,0,0,Comments,MAGIC,0,Red); if (Ticket_L >= 0) { よろしくおねがいします
久しぶりにインジのソースいじろうと思ってメタエディター開いたらいろいろ変わりすぎてワロタw 辞書みたいな絵のアイコンがどこ探してもないんだけど、どこ言った? これってMQL4の決め事とかも変わってるの? 以前との変更点が分かりやすく説明されてるサイトあったら教えてください
>>574 softgate さんのサイトとか・・?
FXProのサーバーからダウ先物をエクセル2003でDDE受信したいのですが、 =MT4|BID!#YMM4 と入力すると「入力した数式が正しくありません」と表示されます ( ドル円は =MT4|BID!USDJPY で受信できています ) どうすればうまく受信できますでしょうか よろしくお願いします
"" か、 '' で囲むんじゃなかった?
MT4で取引していると頻繁にbalanceという売買履歴があって実際に金額が差し引かれてるんですがこれは調整みたいなものてすか?
forex.comのmt4で原油のチャート見れますかい?
お客さんと MT4サーバの間で、 100円で買って110円で売れたら、10円の利益でしょ。 でも、MT4サーバと市場の間では、 101円で買って109円で売れていたのなら、真の利益は8円になる。 この差額の2円をお客さんに負担してもらうのが調整。
以下のNINAというインジケーターは現在の足でサインを出すときと、 現在の足の値動きに合わせ一本前の足でサインを出すときがあるんですが これをすべてのサインを現在の足で出るように統一したいと思うのですが、 コードのどこを変更すればそのようにできますか? NINA www.abysse.co.jp/mt4/indicators/NINA.mq4
586 :
Trader@Live! :2014/04/10(木) 22:40:32.86 ID:rp4DN5UK
周期設定(M1,M5等)のショートカットキーってありますか? 調べてもないからできないのですかね?
588 :
Trader@Live! :2014/04/10(木) 23:33:54.38 ID:rp4DN5UK
>>587 おお〜っ!!すごい
見た感じできそうな感じがします!!
明日やってみます
ありがとうございます
最新のだとインディケーターの追加方法変わってる 時間があまりないので、導入までいけませんでした 手順の説明を更新してください
さすがゆとり。 一体何様。
追加できたwこれ結構ややこしいぞwゆとり呼ばわりしたから教えてあげないよ
お前にできるなら心配いらないだろう。
593 :
Trader@Live! :2014/04/11(金) 14:01:20.76 ID:tiVMthRi
スクリプトを実行したら「スクリプトを停止しますか??」ってウィンドウ
が表示されて困るんですけど。これを表示させない方法ってありますか?
毎回でるわけじゃなく、たまにでない時があるだけど原因がわかりません。
//+------------------------------------------------------------------+
//| ChangeH01.mq4 |
//| Copyright 2013, MetaQuotes Software Corp. |
//|
http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link "
http://www.mql5.com "
#property version "1.00"
#property strict
#import "user32.dll" // 親ウィンドウを取得する為の関数を追加
int GetParent(int);
#import
#include <WinUser32.mqh>
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
int hwnd = GetParent(GetParent(GetParent(WindowHandle(Symbol(),Period()))));
// MT4 本体のウィンドウにコマンドを送る
PostMessageA(hwnd, WM_COMMAND,33135,0);
}
//+------------------------------------------------------------------+
>>593 Aというチャートでスクリプトを実行している際に、
そのAのチャートをBに変えようとすると出るのは仕様だよ。
595 :
Trader@Live! :2014/04/11(金) 16:15:35.68 ID:MPXd68hj
自分で右クリックで詳細設定のオプションからファイルを隔離してしまいました。 隔離ファイルを探して元のフォルダに戻したいのですが・・・ どうすればよいでしょうか?
596 :
Trader@Live! :2014/04/11(金) 16:37:05.66 ID:tiVMthRi
>>593 ショートカットを定義しようとしてる?
もしそうだとしたら、new mql4ではインジケータのOnChartEventでキーボード入力を
受け取って、ChartSetSymbolPeriodで変更するのが正しい(お行儀がいい)やり方
になると思う。
ただ、お行儀はいいんだけど、この場合、最悪でもアクティブなチャートに上記のイン
ジケータがドロップされてないと機能しない。
理想的な状態としては、オープンされてるすべてのチャートに上記のインジケータが
ドロップされてる方が好ましい。
まあ、この辺がWin32API利用と比較した場合の難点にはなるな。
エキスパートタブに赤色アイコンのエラーが出ると プログラム(インジケーター)はその後強制終了みたいな扱いにになっちゃうのでしょうか? ティックが発生しても処理されてない・・・
599 :
Trader@Live! :2014/04/11(金) 22:57:13.07 ID:tiVMthRi
>>597 そうなんですか!?
全てのチャートにインジをドロップするのはめんどうなんで
今回はスクリプトでショートカット定義しときます
ただ「スクリプトを停止しますか??」ウィンドウ が邪魔です。
これから実行しようとしているスクリプトに対してウィンドウが表示されるので
よくわかりません。
指値や逆指値のような待機注文の場合。 最大lot数など制限がありますか? 大きな値を入れると、エラーが起きるわけでなく、注文の後すぐにdeleteされてしまいます。 成り行きでなく、待機注文の最大可能lot数を求める計算式がわかるかたいらしたらお教え下さい。
603 :
Trader@Live! :2014/04/13(日) 14:19:34.38 ID:FrSXdi2V
コメントをチャートの左側に載せて、情報を確認しているのだが、 チャートの文字とか記号と重なって見にくいときがある。 それで、チャートの上に四角の暗いオブジェクトを重ねて読みやすくしようとしたが、チャートが進むと左側に流れてしまった。 うまくオブジェクトを配置する方法、またチャートウィンドウが大きさ比率を変えても 左側に残る書き方ありますかね。
CommentではなくOBJ_LABELで情報を表示するとかね。見やすいようにいくらでも文字を巨大に出来る。 ただし、複数行あるときは行ごとにオブジェクトを作らないといけない。 ObjectCreate("LabelNoNamae",OBJ_LABEL,0,0,0); ObjectSetText("LabelNoNamae","HyoujiShitaiText",24,"",Yellow); //フォントサイズ、色など ObjectSet("LabelNoNamae",OBJPROP_XDISTANCE,0); ObjectSet("LabelNoNamae",OBJPROP_YDISTANCE,8); ObjectSet("LabelNoNamae",OBJPROP_CORNER,0); //左上コーナー
606 :
Trader@Live! :2014/04/13(日) 17:12:29.31 ID:GxInevC7
例えばRSIとMACDの条件が一致した場合にシグナルを鳴らせてくれるツールってありませんか? 無料EAを導入すればそういうことができるのでしょうか?
前ティックで条件未成立で現在ティックで条件成立したらシグナル、閾値付近で音などがうるさいときは時間で制限するか 足の更新を待たせるか。作っちゃいなよ、30分くらいでできそう。そういうわけにもいかんのか。
608 :
Trader@Live! :2014/04/13(日) 18:13:06.06 ID:GxInevC7
>>607 有難うございます!
が、オブジェクト思考というものが我輩には備わっておらんのです、、
>>604 ありがとうございました。これならオブジェクト固定できますね。
>>605 ありがとうございました。特に大事な情報だけはコメント使わず
おおきく表示するとかもありですね。つまりコメントと併用できる。
明日試します。
>>608 何というか、久々に本気の素人が現れたねw
そんな難しくないから勉強することをオススメするよ。
RSI&MACDのシグナルなら一ヶ月もあればできるでしょう
612 :
Trader@Live! :2014/04/15(火) 05:50:26.99 ID:5p8kA8PW
MT4で過去のチャートを動かしたいのだけど、手順通りにやっても動かないのだけど、 どなたか詳しい方、教えて下さい。
613 :
Trader@Live! :2014/04/15(火) 09:25:43.72 ID:crm0cq+J
>>612 こういう質問されても困るね。
少なくともB1用紙1ページは必要。ここで訊くよりネットで検索にかけたほうが
早いよ。
>>585 自己解決しました
Example of running the compiler with the additional key:
C:\Compiler\>mql.exe C:\MyPrograms\script.mq5 /i:C:\client_terminal\MQL5
って書いてあったのにだめだったので
C:\Compiler\>mql.exe /i:C:\client_terminal\MQL4 C:\MyPrograms\script.mq4
ってmql.exeの直後にオプションを付けるようにしたら別のディレクトリにあるmql.exeで
インクルードするファイルも読み込んでコンパイルできました(´・ω・`)
さまざまな通貨ペアで、何回も何回もOpenOrderを出したとします(決済は未だ)。 このとき、通貨ペアごとのLotsを一覧で表示にはどうすればいいと思いますか? 例えば、 USDJPYで成行で1.0Lots, EURUSDで成行で2.0Lots, USDJPYで成行で3.0Lots 発注したときに、 USDJPYで4.0Lots, EURUSDで2.0Lots、ポジションを持っている ようなこと表示するためには、どうすればいいでしょうか?
OrdersTotal()でポジション数を取得、それをループで回す。 ループ内でOrderSelect()ののち OrderSymbol()やらOrderProfit()やらをつかって必要な情報を取得、通貨ペアごとに合算すればいい。
それをやったんですけれど、 「OrderSymbol()が_Symbolと等しいときに、ロットを加算する」 というプログラムをチャートに挿入する しか思いつかないんです。 そうではなくて USDJPY: 4.0, EURUSD: 2.0, GBPUSD: 5.0, ... のように一覧表示するアルゴリズムを考えています。
_Symbolはそのチャートの通貨ペアを返すだけなんだから_Symbolと比べたってダメだよ。 ループ内で通貨ペアを取得したら、その通貨ペアとロット数を関連付けて保存しとかないと。 そしてそのあと同じ通貨ペアが登場したら、さっきの通貨ペアと関連付けたロット数に加算、 新しい通貨ペアだったら、その通貨ペアとロット数を関連付けて保持しておく。 色々方法はあると思うけど、ぱっと思いつくのは 通貨ペアとトータルのロット数を持った構造体を作ってその構造体の配列を作ることかな。
もし自分が使う通貨ペアがある程度決まっているなら、ループに入る前に 通貨ペアごとのトータルロット数を格納する変数をA,B,Cという風にを作っておいて、 OrderSymbol()がUSDJPYならAに加算、EURUSDならBに加算、というのでも 汎用性はないけど一応実現できると思うよ
汎用性があるような、任意の通貨ペアに対応できるプログラムを作りたいのですが、ありがとうございます。 おかげでアルゴリズムが作れました。助かりました。
新しいMT4の雛形がずいぶん変わっててビックリした 余計なのを全部削除して昔の書き方でもほとんど動きそうだけど、久しぶりだから面倒くさい けどリファレンス一通り見直してみるか
Build600以降で厄介なのはコンパイルエラーもワーニングも出ない
しかし表示されないインジ
MT5はDOMが使えて、リアルボリュームをインジで扱えるからほんとはMT5を使いたい。
豊嶋教授の本買ったんでどうにかする。
これ見て良いじゃんて思ったんだよね。
https://www.youtube.com/watch?v=HVhDDG5FFnk C#扱えるんならcTraderかPROTRADERにするけど・・・。
JFOREXのStrategyBuilderみたいなビジュアルツールを作る気はMetaQuotesには無いんだろうなと思う今日このごろ
509はともかくとして、600や610を使うくらいなら625にした方がいいですよね?
>>622 C#書けるならJForexもいけるだろ。
誰かビルド600へのコンバーターでも作ってくれないものかね
>>624 JForexてJAVAだろ
http://www.dukascopy.com/swiss/english/forex/dealstation/ JForex platform is recommended for manual and/or automated trading.
This platform is designed for traders interested in automated trading and/or developing and testing trading strategies based on the JAVA programming language.
The main functionality and interface of the platform are similar to those of Java platform. In addition, a built-in cross-platform
interface for execution of custom strategies and programming code are provided. Integrated technical analysis tools also allow to follow positions directly from charts
インジってレベル設定は小数点以下も反映されるけどパラメーターのバリューは 小数点以下省略されちゃうんですけどあれって省略されないようにできませんかね?
>>627 input int VALUE; を
input double VALUE; にしたらいいんじゃないですかね
でも動作がおかしくなるやも
すいません、 Android版のMT4の「口座を開設」で 2068のサーバがご利用になれます と書いてあるんですが、 このリストがあるURLをご存知であればご教示くださいませ
>>626 C#書けるならJava書けるだろふつう。
トレステみたいに言語仕様を変えないベンダーだったらなあ。
MT3のMQL2とMT4のMQL4は違う
MT4のMQL4とMT5のMQL5はこれまた違う
MQL2のAROONのソースだけど、簡単でしょ?
BASICライクだし、Easy Languageくらいの簡単さ。
Name: = Aroon_Horn
Author: = Copyright c 2004, Horn
Link: =
[email protected] Separate Window: = Yes
First Color: = Blue
First Draw Type: = Line
First Symbol: = 217
Use Second Data: = Yes
Second Color: = Red
Second Draw Type: = Line
Second Symbol: = 218
Minimum Chart Limits: = -5.000000
Maximum Chart Limits: = 105.000000
]] * /
Inputs: calculate_period (10);
var: shift (0);
var: HighestBar (0), LowestBar (0);
var: aroonUp (0), aroonDn (0);
SetLoopCount (0);
for shift = Bars-calculate_period Downto 0 {
HighestBar = Highest (MODE_HIGH, shift + calculate_period-1, calculate_period);
LowestBar = Lowest (MODE_LOW, shift + calculate_period-1, calculate_period);
aroonUp = 100 - ((HighestBar - shift) / calculate_period) * 100;
aroonDn = 100 - ((LowestBar - shift) / calculate_period) * 100;
if (aroonUp == 0) then {aroonUp = 0.0000001; }
if (aroonDn == 0) then {aroonDn = 0.0000001; }
/ / Show the line
SetIndexValue (shift, aroonUp);
SetIndexValue2 (shift, aroonDn);
};
>>630 それは人による
自前用EAだったら書けそうだよな
>>631 てか、pascal臭いな。delphi思い出したわw
言語仕様の違いなんて誤差みたいなもんで直ぐ慣れるよ。
YJFXのmt4使ってる人いますか? 比較サイト見てもスプレッド非公開みたいなので情報がなく迷ってます。 他の業者は知らないところばかりなので・・・
エキスパートログに 1.797693134862316e+308ていう数字が出てくるのですが これてどういう数字ですか?
www.yjfx.jp/mt4/faq/39/000430.html
doubleで表現できる最大の値。
サンクスです
509 のままで使用していますが、今日から #YMM4(Mini DOW)と #NKDM4(日経225) が動かなくなりました。 今までですと、期日が来ると通過ペアに新しい名前で出てくるのです今回は出てきていません。 509 のままでアップデートしないでいると、通貨ペアは自動更新されないのでしょうか?
640 :
Trader@Live! :2014/04/19(土) 00:29:51.31 ID:wvwcKm6Q
グッドフライデーで動いてるのは日本だけだったのに
さすがにここに書いてもどうにもならんでしょw
同じようなインジケータ無いか探してみたら、有料じゃねーかふざけんなよマジで!
ZigZag Pointer alert emailってのは600系でも使えるんだな
>>648 XMで使えていないです。
OSは、Win7アルティメイト64ビット
>>648 509だけど普通に表示されたよ
解決策なかったらグレードダウンするのがいいかもね
>>648 ソースの一番下のStringUpperCase()って関数のなかに
int char
って変数使ってるけど600系からchar型も加わってcharは予約語だから
char ってのを予約語でないものに置き換えれば(9個ある)コンパイルできるよ(^p^)
過去の自動アップデート対策も効かなくなってるみたいだし509を使い続けるのは限界があると思う
>>652 フツーに509使い続けていますが何か?
効かなくなっていると感じているのなら君にアプデ対策に失敗しているからだよ
大差ないんだから覚えればいーじゃんw
今はクソみたいなバージョンだから慌てて対応する必要ないじゃん
今のがクソなの? 人それぞれか
>>656 じゃあ試してもいない話を書くなよ
しかも人のせいにするかのようにURLまで貼って
>>657 あんなにバグだらけでクソじゃ無いというなら何にも言えないですw
>>658 お前が一方的に間違った解釈をしただけだろ?
あまつさえ責任転嫁呼ばわりとは呆れ果てて開いた口が塞がらないな
未確認情報を書くなって言ってんの しかも検証した結果を書いたら、それは俺の話じゃないし試していないってどんだけなのよw 噂話が大好きなだけなら近所でやってくれw
>>660 いやお前が書くなよ
最初の文脈ですぐ分かることなのに分からないお前は相等アレだぞ
そもそもわざわざソースまで出してやって挙句未確認情報呼ばわりとかありえないんだが 間違いなく他の人が試した確認情報だろう
>>661 じゃあ検証もしないで噂ばかりのスレにしたい訳ですかwww
つーかその前にここ初心者用スレだったね
お前のように相当アレな噂話大好き君にはお似合いってことかwww
是非これからも
>>661 が未確認情報と噂で初心者を困惑させてくれる楽しいスレにしてくれるそうだから
初心者のみんなは、真実はどれかわからないスレで頑張ってくれ
失礼しました〜〜〜
>>663 おい、そんなに検証したいなら最低限お前がUACを最大にしたのかどうかを書くべきだろ
煽るだけで全く検証する気ないじゃんこいつ
>>664 お前さん本当に相当なアレですねw
今まで通りのmetaquotesフォルダ下の対策でアップデート対策はバッチリなんだよw
今までの対策が通用しないからUAC設定を弄るっていう話なら「今までの対策が通じない」っていう
検証をお前が行って実証してから書けって言っているだけなんだけどね
相当アレで噂話大好きなID:B/4efXwbにこれ以上諭しても無駄だと思うので消えますねw
噂も何も環境によって結果が違うんだが? だから「みたい」としか書かなかったのにこいつが悪意むき出しで絡んできた 「実証してから書け」とか頭おかしいのか?
今インストールされている509は、それがアップデート対策されているのなら、 625が出ようが何が出ようが、勝手にバージョンされたりしないよ。
自分の環境は一切書いてない分際で上から目線で「検証もしないで書くな」ってどこの偽自治厨だよ お前こそ何の根拠もなくデマばかり垂れ流す荒らしだろ
すみません、あたらしいMT4でスイングポイントビューがチャートに落とし込めないんですが 解決方法知りませんか? よろしくお願いします
今まで「MACD2 colour HISTOGRAM」というインジケータを使ってましたが、バージョン625に上げたら表示できなくなりました。 625で動く似たようなインジってありますか?
>>650 ありがとうございます。
しかしグレードダウンは難易度高そうです。
調べたらVer4.00 build 625でした
>>651 一応カスタムインディケーターの灰色のfでZigZagTriad_mtfとあるのでコンパイル出来ていると思うのですが・・・
時間出来たら試してみたいと思います。
ありがとうございました。
>>672 旧バージョンのインストールexeを持っていないので
難易度高いかなと
675 :
670 :2014/04/22(火) 01:59:18.63 ID:KkHZG+T1
>671 結局ソースを修正して動くようにしましたw
あら。よかった。 Mt4、MT5一挙両得プログラミング て本が分かりやすかったけどね。 結局自分はまだbuild509で使ってる。
Androidタブレットで、ネットで拾えるMT4の自作インジケータって 動作しますか?
678 :
Trader@Live! :2014/04/24(木) 00:24:24.39 ID:Nof9MVX4
int co; int init(){ return(0); } int start(){ Print(co); co=co++; return(0); } 上記コードで、チャートを張り替えた時indicatorならcoが初期化されますが、EAだと初期化されません。 EAでcoを初期化するにはどうしたらいいでしょうか?
680 :
677 :2014/04/24(木) 01:44:29.73 ID:dLMdAFNr
>>679 ありがとう。
でも、もうLC退場したのでどうでもいいですorz
681 :
Trader@Live! :2014/04/24(木) 02:26:12.24 ID:bTmLoIIJ
MT5って両建使えない ワロタwwww 必勝だってバレちゃったな
int co=0; //int co; int init(){ return(0); } int start(){ Print(co); co=co++; return(0); } 最初の1行だけ変更したらいいんじゃね?
683 :
Trader@Live! :2014/04/24(木) 10:21:54.20 ID:Nof9MVX4
>682 ありがとうございます。以下のような挙動をします。 int co=0;として明示的に初期化しても同じです build509 インジ->カウントが表示されず上がらない EA->uninit reason3、カウントが継続 build625 インジ->リセットされて数え直す EA->uninit reason3、カウントが継続 中で、「何回スタートが呼ばれたか」とか「何回条件をみたしたか」とかを調べるためのカウンターなので、 とにかく、張り替えたら0から数え直して欲しいのですが・・・?
Period_Converter_OptMirror.mq4がうごかん・・バージョンのせいか・・
>>683 init()の中にco=0;を書けばいいのでは。
>>681 本当にシステムトレードをしてる人ですか?
687 :
Trader@Live! :2014/04/24(木) 11:59:58.89 ID:Nof9MVX4
>685 ありがとうございます。 debugのためにinit(){}の先頭にreturn(0);入れてました。init(){}の中でco=0; 入れて解決しました。 でも、なぜ625ではこれでindicator扱いで素直にカウントが上がるのか?
688 :
Trader@Live! :2014/04/24(木) 13:40:42.25 ID:Mpo7Aneu
MT4のバージョンがビルド625に勝手にアップされてから 追加したいインジケーターをネットで拾ってきて 今まで通りやっても追加されないんですが・・・ コンパイルやらいろいろやってみたけどだめでした・・・ だれか教えてください <(_ _)>
>>688 インジの保存場所が変更になったのは知ってる?
File->Open data Folderで開ける
そういうわけじゃないのかな
690 :
Trader@Live! :2014/04/24(木) 15:50:14.76 ID:bTmLoIIJ
>>686 システムトレードwww ワロタwwww
システムじゃないトレードなんてあるの?w
おまえのやってる養分トレードの事かw
build600以降、return(0)がコンパイルエラーを起こします。 return文はどのようにすればいいですか?
>>690 日本語がわからない方でしたね
失礼いたしました
>>691 voidの関数ならreturn; だけでOK
質問です。メタトレーダーの標準時計をズラしたいんですけど出来ますか? フォレックス.comのメタトレーダーが日本時間に合わせてるので、0時に日足が確定してしまってそれが嫌なんですけど、これをロンドン時間やNY時間に合わせることって出来ますか?
インジケーターのオブジェクトなどで 色と色が重なる部分が自動的に別の色に変更されるようですが どういう基準で決められてるんでしょうか? 変な色になったりして困ってます・・・
698 :
Trader@Live! :2014/04/25(金) 04:38:06.80 ID:38MIQ3nb
誰かロンドン時間のgmt表示か、それに近い業者を教えて下さい。
ロンドンならアルパリジャパンがそうじゃなかったかな?
>>698 どんなアップデート回避方法使っているの?
おれは今まで通りの方法でアップデート回避できてるけど
>>697 サンクスです
XORで色を混ぜるとどういう色が出力されるか
事前に調べるようなソフトやウェブサービスてないんでしょうか?
例えば赤と青の場合は以下で求められる。 color c = Red ^ Blue;
706 :
Trader@Live! :2014/04/25(金) 21:35:51.38 ID:38MIQ3nb
>>703 PCの電源いれっぱなしでMT4立ち上げたままw
一度電源落として立ち上げるとアプデされてしまう
XP使ってる人もういないのかな
「WebInstall」フォルダとかないんだけど
>>705 サンクスです
ですがRed ^ Blueの結果と
何故か実際の色が違います
何がどう違うのか、なぜ書かないんだろ。 色が知りたいだけなら矩形を重ねてみればいいだけだし。
>>708 RGBのxor加算
Red^Blue(100^001)=Magenta(101)
これとは違うってこと?
俺のはこうなってるよ
誰かお願いします。 元々あったmt4から新しくダウンロードしたmt4へ、インジケーターやテンプレートをそのまんま(新しいmt4の)ファイルにコピーしたのに、mt4を起動しても全く反映されないんですが、反映される方法を教えて下さい。
712 :
Trader@Live! :2014/04/26(土) 01:55:11.16 ID:AfXzAdVG
すでに誰かが答えているではないか。
713 :
Trader@Live! :2014/04/26(土) 02:42:17.17 ID:CnJ2OGL6
>>712 サンクス。
仕様が変わってたんだね。何でわざわざ分かりにくくしたのかな・・。ヴァージョンアップで
715 :
Trader@Live! :2014/04/26(土) 05:17:11.78 ID:CnJ2OGL6
たぶん成績のいいEAがでまわりすぎて、ブローカーが困ってるんだよ だから今までのEAを使えなくしたんだと思うよ
万能なEAなど存在しないというのが総論じゃなかったか
ただMA表示するだけのインジとかも使えなくなってる マヂ糞
プログラムの根本の仕様から変えてしまってるからな MT4.1とか言ったほうがまだマシだ
まるでWin8.1のようだ・・・
720 :
Trader@Live! :2014/04/26(土) 10:33:47.46 ID:AfXzAdVG
New MT4はMT5を限りなくMT4に近づけたからね。というかMT4も使えるMT5と 言ってもいいな。これでMT4で株式、債券、商品先物などを扱える環境が 整ったから、いずれMT5は廃止方向との観測がある。 Metaquotesとしては、むりやりMT5に切り替えると、膨大なMT4の資産や顧客 を失うことになるから、やむを得ないところだ。いずれMT6ということになる んじゃないの。Buildも600台だし。
MT6となった時に今のインジケータとかテンプレートそのまんま移せるのかな? また面倒になるのか・・。でも株もMT4でやってみたい。一番やってみたいのは日経225だが。
メタクオ社は言語仕様などよりまず未だに目盛りのフォントを 大きくさえできないキチガイ不便仕様をなんとかすべき
new MQL4/MQL5はテンプレートクラスとキャスト演算子、デリファレンス演算子 関数適用演算子のオーバーロードだけは早く実装してほしい。
build600系ってMT5に近づいたのか? terminal.exeはそう変わっておらず、コンパイラだけ持ってきたイメージなんだが。
>>723 だけ?
そもそも仕様にないのに実装してほしいとか意味不明。
>>725 テンプレートクラスは「まだ」とヘルプに書かれてるから、実装の可能性はある。
演算子オーバーロードも既に実装済みで、あとはサポートされてる演算子の
種類だけなんで、サポート演算子拡大の可能性は十分にある。
しかしテンプレートもあるのか、と思ったら関数テンプレートだけだったのね。 しかし、使ってるインジ/EAが正しく動くかどうかもわからないのによくbuild600系なんて使えるね。
ただでさえ安定してないのに今から実装とか勘弁して欲しいわ。
勝手にビルド625に上がっていて後の祭りだもんw
よくわからんが、戻す必要がないなら楽でいいね。
対策してたのにビルド625になってたと騒ぐ奴は対策そのものに失敗しているか 509から600系への移行を煽りたい業者の回し者かどちらかだな きちんと対策してたら勝手にバージョンアップして600系になんてなりませんからwww
サーバ側で対処しない限りは使えそうだよねぇ terminal.exeの中身では Old MQL4をNew MQL4に置き換えてるのか New MQL4をOld MQL4に置き換えてるのかどっちだろうなぁ
>>731 なんで業者は移行を煽りたいの?
ノルマでもあるん?
>>733 実際どうなんだろうね?
例えばどんどん古いバージョンを使えなくしていく事例を見るとMetaQuotes社が
古いMT4を一定期間で使えなくする処理をしているか、ブローカー側にとって古い
MT4も動作されるのはサーバーの負担になってしまうのか?
それともライセンスの問題で金がかかるのか?
どちらにしても対策してたのに勝手に625になったと煽りまくるブログや
スレの書き込みは嘘か単純に対策に失敗している痛いやつだって事
でもいずれ遅くない時期に509は接続不可になるだろうね
>>734 MQL4ではサーバの負荷がかかるから
MQL5の方法に変えたってどっかに書いてあったな
>>735 VDPとかといいユーザー側には見えない部分が多いよね
>>736 何か気に障ったか?
もしかして対策してた(はず)なのに625になったとか?www
バージョンアップしても全部書き直せば動くよ
というか、自分で書いてる連中はほとんど600系にしてるだろう。 クラスと構造体が使えるってだけでも相当便利になってるしな。
>>737 対策云々だの業者の陰謀云々だの的外れも甚だしいだけだろ
そんなこととは全く無関係な、環境の違いによるトラブルの話だというのに
>>740 ん?アップデート対策がうまくいかなくてイラついてんのか?
カッカしないでまったりいこうぜw
742 :
Trader@Live! :2014/04/26(土) 23:16:41.44 ID:hZFcXn9z
いつまでも509でガクブルしてればいいんじゃね?w
どのバージョン使うのも使うやつの勝手だしねw
744 :
Trader@Live! :2014/04/26(土) 23:26:00.47 ID:hZFcXn9z
ずっと使えればいいけどなw
多分そんなに長い間は使えないと思う いままでずっとそうだったじゃん? それがいつものMetaQuotesの手口
おれは509が使えなくなるまで使うけどな。 600系になってまだ日も浅いのにどれだけビルド進んでるんだよ。 バグありすぎだろw 509が使えなくなってからゆっくり600系に移行するわ。 もちろんわざわざクラスとかで書き直すような無駄なこともしない。
>>710 遅れてすみません
私もそうなりました
ですが実際にオブジェクトを重ねて作ると
緑色になってしまったのですが・・・?
748 :
Trader@Live! :2014/04/27(日) 01:27:37.38 ID:1viQqMPs
>>713 下の記事ちがうだろ
拡張子を表示してないから、フォルダと画像ファイルの区別できてないんだろんなw
名前を変えるのはフォルダ、画像ファイルは変えなくていい
クラスってなんなのかよくわからないおれに親切な誰かさん解説おねがいします
>>747 背景を白にしてるんだろ。
重なりが偶数回の部分だけXORで描いているようにみえるな。
もっと簡単にもできるか。 オブジェクトを背景色と指定色で1回づつ、常に2度描きしてんじゃないかな。 つまり、背景をbgとすると color c = bg ^ (bg ^ Red) ^ (bg ^ Blue) = Red ^ Blue ^ bg これでbgが黒ならMagenta,白ならLimeになる。
ザイのインジケータが対応してくれればそれでいいです
個人情報を入力するとき躊躇しませんでしたか?
質問です インジ1の計算結果はインジ2の計算結果の影響を受け、インジ2の計算結果はインジ3の計算結果の影響を受け、 EAはそれらの計算結果をiCustomで受け取って売買指示を出すため、MT4上の計算順をインジ3→インジ2→インジ1→EAにしたいのですが、 その順番は何によって決まるのでしょうか? チャートにドロップした順ですか? それともEAがiCustomで受け取る順ですか? ちなみに計算結果の影響はグローバル変数の変化によって受けます
756 :
755 :2014/04/28(月) 03:30:49.23 ID:jYI0hVyC
自己解決 EAがiCustomで受け取る順でした
ストキャスティクスの2本の差が クロスではなく、ある程度大きくなったときに アラートを出してくれるインジがありましたら 教えてください
ダイアログボックスをポップアップして、数値を手動で入力してEAに渡せるようにしたいのですが、 dllの使用を許可すると可能になるのでしょうか。
>>758 それは自分でDLL書くってこと?だとしたら可能。
MQL4からWin32APIを呼び出すだけでってことだとしたら、断言できるほど
調べてはいないけど、不可能または限りなく困難で険しい。
擬似でもいいならInclude\Controls配下に擬似ダイアログ用のライブラリ
が用意されてるんで、それを使うのが楽。
使い方はMQL5リファレンスの目次 - Standard Library - Classes for
Control Panels and Dialogs以下を読めば分かる。
760 :
758 :2014/04/28(月) 23:46:04.41 ID:jro2/PFl
やっとこさEA書いてで運用やってるんだけど仕様変更は いろいろついて行けそうに無いので509が使用不可になったら もうEA(MT4)はやめるしか無さそう。このスレではお世話にまりますた。
762 :
Trader@Live! :2014/04/29(火) 00:14:07.23 ID:04vEjQAz
F7押すんじゃだめなのか。
764 :
Trader@Live! :2014/04/29(火) 09:11:59.13 ID:wPGtBGxH
>>761 何云ってるんだ!
Build 600台になったとしても旧EAはそのまま使えるし、新しくEA作る場合も
旧MetaEditorを使えばいいだけの話だ。一口座だけbuild509にしておく必要
あるが、戻し方など検索にかければ丁寧に説明してくれているよ。
Tickstoryを使ってバックテストすると、全ティックにしても モデリング品質がn/aになってしまうのですが、Build625の影響でしょうか?
現行MT4と以前のMT4とはTick構造が違うから
表示のASKとBIDの数字と、売買ダイアログボックスのASKとBIDの数字が違うのですが、 そういうものですか?
>>764 エ! まじっすかw 新しくEA作る場合も旧MetaEditorでOKですか・・
えーと、今まで通りでいけるなら頑張ります。ありがとうござました。
769 :
Trader@Live! :2014/04/29(火) 19:06:02.29 ID:wPGtBGxH
>>768 はい、その通り。int start()等もそのおまま使えますよ。
「MetaQuotes社の戦略にはまりたい人は、MT5も覚えてください」とは、
「メタトレーダー入門」の豊嶋先生のコメントです。
初心者にも 親切なID:wPGtBGxH さんに爆益あれ。
でも新MetaEditorでコンパイルしたら使えないよ。
772 :
Trader@Live! :2014/04/29(火) 20:57:47.92 ID:wPGtBGxH
>>771 新MetaEditorでコンパイルするとErrorはないかもしれないが、Warningが一杯
出てきてほんとウザイ。だからコンパイルも旧MetaEditorでやって、mq4,ex4
をそのままMQL4ファイルにコピーするのがよい。
現在、専門家に新旧MetaEditorを同居させる便法がないかどうか訊いている、
もし脈がありそうばらここで公開するよ。
専門家さんは引退したんじゃないかな
てか、new MQL4をMQL4互換にするライブラリが本家のcode baseにあった希ガス。
build600環境に移行中。 コンパイルエラー、何個か直したけど大体パターン決まってるし、エラーメッセージ見れば直せるよ
input ENUM_PLOT_PROPERTY_INTEGER Type = DRAW_LINE; int OnInit() { PlotIndexSetInteger(0,PLOT_DRAW_TYPE,Type); (省略) } みたいにしたら cannot convert enumというコンパイルエラーになってしまいました やりたい事は一番最初の「indicator_type」以外の場所でタイプを指定したいです (ユーザーがプロパティからタイプを変えられるようにしたいです) どうしたらいいんでしょうか?
すみません自己解決しました 名前を間違えてました^^;
Signal - failed connect to server login.mql5.com 操作履歴欄にこのメッセージが定期的にエラー表示されます。 signal配信を依頼した覚えもなく、私なんかやらかしてます?
>>778 build509使っていない?
使っていると出るよ
どっちにしてもシグナルサービス使ってないなら出てても問題なっしんぐ
>>778 無視。メッセージを出ないようにはできないので、ひたすら無視
>>779 509使ってます
>>780 そうですか、わかりました。
ご回答をありがとうございました!
EA開発研究スレより流れてきました インジじゃなくてEAなんですが、任意の時間帯の最高値と最安値を計算する方法を知りたいのです。 EA研究スレで 例えば現在0時だとして、前日の12時から20時からの最高値と最安値を計算する場合として High[iHighest(NULL,0,MODE_HIGH,8,iBarshift(NULL,0,TimeCurent()-14400))] というご指導をいただいたのですが これの応用的な例で教えていただきたいのですが、現在時が何時であっても自動的に前日の12時から20時 の最高値と最安値を計算する場合はどう書いたらよいでしょうか? ご指導宜しくお願い致しますm(_ _)m
メタシスシーカー行って「日付時刻定数」の項目見るといいよ
>>783 すみません・・全然理解出来ていません・・・
例えば現在の足が何時というのはHour()、何分かはMinute()で調べられる事は理解しているのですが
そこから「前日の12時00分から20時までの最安値、最高値」という場所を調べる方法が理解できません
現在時はその都度変わるので 現在時マイナス何で前日の20時を算出したらよいのかなと・・・
そこさえ計算できたら、あとはHigh[iHighest()]で出せますよね・・・
初歩的な事かもしれませんが、ご指導宜しくお願い致しますm(_ _)m
>>784 TimeCurrent() - X = 今日の0時
となるXをどうすればいいか考えるといいと思う。
そうすると、
>>782 のやり方がほぼそのまま使えるはず。
>>785 ありがとうございます。
でもそのXは都度変動しますよね?
そのXの部分の処理をどうしたら良いものかと・・・
メタシスはNew MQL4は訳さないのかな
>>787 具体的なコードいただけませんでしょうか?
色々やってみているのですが上手く出来ません
MT5への移行がすすまんからといって、バグだらけのクソBuild押し付けるのはやめてもらいたいぜ。
今のところバグにあたってない俺は幸運なのか、どうなのか
MT4の方のMetaQuotes-Demoが繋がらない。MT5なら繋がる。 繋がらない方いますか?
793 :
Trader@Live! :2014/05/01(木) 13:16:08.94 ID:J8joc6VW
>>792 俺がデモ口座で使ってるマイナーな業者も朝9時から昼過ぎまで繋がらなかった。
今も途切れ途切れだな。
でももう一つの業者はちゃんと繋がってるみたい
あ、繋がりました。(一時、アカウントが消却しましたが、復活しました。) お騒がせしました。
うっぜー CFDみれないサーバーを押し付けられるな
796 :
Trader@Live! :2014/05/01(木) 17:59:53.93 ID:1S8zoKm6
複数ポジションを持つEAだと、バックテストの結果グラフに、総資産の青の太線のほか、緑の細線がみられやすが、これはなんでしょうか? また、これを求める関数はありますか?
みられやすが って三下だなw 含み損益だったと思うけどあってる?未決済のポジを計算しないと値はとれないかな
トレール設定されてるのかが非常に分かりにくいのだけど、いいインジありますか?
799 :
796 :2014/05/02(金) 00:39:36.22 ID:2V0mPogc
>>797 グラフの意味から読み取ると確かに含み損益のようですね。
AccountBalance()がそれっぽいですけど、
違うかしらん?
FFCalをBuild600で再コンパイルしたらGrabWebが上手く動かなくなった。
ANSIとUnicodeの問題たと思うんですけど、
ここを参考にして
http://forum.mql4.com/60608 InternetOpenAとか末尾のAをInternetOpenWに変えたり
InternetReadFileのucharもどうにも上手く動かない。
誰か上手く解決した人いないですか…?
複数のmq4ファイルで共通に使用される関数を自作して使用する場合、 mqhファイルに関数のロジックを書いてincludeするやり方と、 ライブラリに関数を書いて、そのex4ファイルをimportするやり方とで、 何か違いはあるのでしょうか?
>>800 自分もちょうど、これまで使用していた指標カレンダー系インジ(FFCalではない)が使えなくなったので、
800さんが挙げていたサイトと全く同じサイトを参考にして対応した所でした。
一応自分は解決したっぽいのですが、800さんはどんなエラーが出ているのでしょうか?
600台に対応した本とかまだ出てないんだな ほんとタイミングが悪い時期に始めちゃったわ・・・
またbuild646に上がっちゃったよ どう変わったかお知らせくらいしろよなw
>>801 それぞれのファイルが組み込まれるタイミングが違う。
includeはコンパイル時に、inportは呼び出し元のロード時に組み込まれる。
なので、
コンパイル時
includeファイルは必要
inportファイルは存在していなくてもかまわない
実行(呼び出し元のロード)時
includeファイルはなくてもかまわない(呼び出し元に組み込まれているので)
inportファイルは必要
includeファイルに修正を加えた場合、呼び出し元を再度コンパイルしなくてはならない
inportファイルに修正を加えた場合、(入出力が同じであれば)呼び出し元を変更する必要はない
こんな感じかな。
mt4アップデートしたんだけどクーチャートって使えなくなったの?
>>805 なるほど。よくわかりました。
とても分かりやすく説明して頂き、ありがとうございました!!
>>806 625だと使えるけど、使えなくなったの?
809 :
Trader@Live! :2014/05/03(土) 20:12:24.59 ID:Y0kz/3kr
>>806 今日は休日でチャートが配信されてないからって落ちかもね
クーチャート使えなくなると困るな〜
ライブラリだと引数の参照渡しができないとか制限あったような。 配列の参照だけだっけか?
YJFXのMT4がダウンロードできないのですが、この業者は終わってるのでしょうか??
813 :
800 :2014/05/04(日) 01:07:13.90 ID:n5HiQDrh
>>802 bennyHanna 2014.02.08 17:00 さんのコードだと、吐かれるXMLの文字コードがおかしく、
WDholic 2014.02.10 10:04 さんのコードだとそもそも上手く動かないです…。
どのようにして対応しました?WDholicさんのコードを参考に作りましたか?
>>813 自分は、
bennyHanna 2014.02.08 17:00 さんのコード
を参考にしました。
自分のインジケータの場合は、CSVファイルをダウンロードするのですが、
特に文字化けは発生しませんでした。
FFCalって、XMLファイルをダウンロードするんですかね?
だとしたら、直接URLを叩いた場合は、文字化けしないXMLファイルが
ダウンロード出来ますか?
>>814 ブラウザなどで直接URLを叩くと文字化けしないXMLが落とせます。
Build600より前のMetaEditorでコンパイルしたGrabWebだとちゃんと文字化けしないXMLが落とせてました。
Build600以降のためにUnicode対応をしたと思しきbennyHannaさんのコードだと、失敗します。
おそらく以下の処理が上手くいってないんじゃないか、と思うんですが…。
// Convert the data from Ansi to Unicode using the built-in MT4 function
string strThisRead = CharArrayToString(arrReceive, 0, lReturn[0], CP_UTF8);
strWebPage = StringConcatenate(strWebPage, strThisRead);
// <-- PROBLEM HERE ON FIRST USE ONLY IN EACH MT4 SESSION
>>815 試しに以前作ったFFcalで指標を回避する機能を付けたEAをBuild625にぶっこんでみた。
まずFFcaclをmq4状態でIndicatorsフォルダに投入=コンパイルされず(認識NG)
次にFFcaclをBuild509でコンパイル後Indicatorsフォルダに投入=認識OK
念のためMT4を起動してXMLファイルをチェックしたけど文字化けなしだったよ。
あとはEAの運用上問題が無いかだけと週末だからわかんないや。ごめん。
817 :
Trader@Live! :2014/05/04(日) 12:41:32.25 ID:HANgTJRG
for文のネストの中に continue文をおくとして、continueが実行されると、次に繰り返すのは、 最初のfor文? それともネストされたfor文?
ネスト
>>816 Build5xxでコンパイルした奴はちゃんとこちらも動いてますが、
6xxで再コンパイルすると駄目なんです…。
当面は問題ないんですけど、そのうち微修正を加えるとかで
再コンパイルする必要に迫られたりした時に困りそうで。
一応5xxも別PCに残してはあるんですが。
>>816 でも当面509でカスタマイズしてコンパイルしたら使えると思うのでいいんじゃね?
EA本体ならわかるけどインジだから問題ナッシングな気がするけど
今使えて当面問題ないけど いずれ対応が必要になるから質問スレに書いてるわけでして
>>821 ここのgooly 2014.02.16 15:07 #の通りにやったらあっさり通ったぞ。
forum.mql4.com/61006
#import "wininet.dll"
int InternetOpenW(string,int,string,string,int);
int InternetConnectW(int,string,int,string,string,int,int,int);
int InternetOpenUrlW(int,string,string,int,int,int);
int InternetReadFile(int hFile,uchar &sBuffer[],int lNumBytesToRead,int &lNumberOfBytesRead[]);
int InternetCloseHandle(int);
#import
↑ここまでは、int init()の前に追加。
bool GrabWeb(string strUrl, string& result, int debug=0) {
(省略)
if(HttpRequest>0) InternetCloseHandle(HttpRequest);
if(HttpConnect>0) InternetCloseHandle(HttpConnect);
if(HttpOpen>0) InternetCloseHandle(HttpOpen);
if (sz>0) return(true);
else return(false);
}
↑ここは、GrabWeb()をコメントアウトして、その下に追記。
>>823 情報サンクス!
でもTIMEGMT()のリネームが必要とのエラーややら細かい記述の修正警告が出るね
本当に困るわ〜Build600台は
>>824 一般的に考えるとBuild番号上がってったら使えなくなるって意味だから
直せるなら直しといたほうがよいね
>>822 おお!動きました。サンクス。
自分の元コードと比較するとInternetOpenAとInternetOpenUrlAが
それぞれWに代わってるのと、InternetConnectWが追加されてるのと、
InternetReadFileの二つ目がucharになってるのと、
処理中にCharArrayToStringでStringにしてる点が違いっぽいですね。
なるほど…
>>826 そうだよね
ある程度直したけどここがよくわからない
declaration of 'dispTitle' hides global declaration at line 264 FFCal.mq4
該当の行は
void DisplayOldNews(string dispTitle, string dispCountry, int shift, datetime TheTime)
ここは
DisplayOldNews(mainData[newsIdx][TITLE], mainData[newsIdx][COUNTRY], 0, StrToTime(MakeDateTime(mainData[newsIdx][DATE], mainData[newsIdx][TIME]))+ServerTimeOffset);
を見ているんだけど、mainData[newsIdx][TITLE] をどう直したら良いのやら
グローバル変数のdispTitleと被ってるからDisplayOldNewsのdispTitleを別の名前に変えろってことじゃないのか
>>829 そうか!
build509までの仕様だったら関数内で使う名前に制限なかったのにね
でも解決したよ ありがとう!
でも一難去ってまた一難w
while (StringLen(sData) < FileSize(xmlHandle))
ここにsign mismatchって警告出やがる・・・全然ワカンネ・・・疲れる
StrToDouble(StringLen(tmpData)) < FileSize(xmlHandle) でおk 変数型チェックが厳密になったということ。
>>831 この場合だと
while (StrToDouble(StringLen(sData)) < FileSize(xmlHandle))
かな?
>>832 あ、そうですね。失礼。
だいたいエラーになるとこ決まってるんだよね。変数周りが9割。
変数名にピリオドつかってるインジもダメだね。そんなクラスないよ、って怒られるし。
>>833 いえいえ本当に助かりました!
今までのMQL4が緩かったと言えば緩かったのだろうけど、MQLしか知らんオレには辛いバージョンアップだわw
今
>>821 の内容とID:7df5/d5G氏のアドバイスで何とか直したFFCalを試したんだけど
挙動が違うんだよなぁ
Build509のMT4で旧版FFCal貼ったのと、Build625のMT4で修正版FFCal貼ったのとでは
表示が違う orz
509のFFCalは
4 hrs 0 mins until EUR: Sentix Investor Confidence
でも625のFFCalは
4 hrs 16 mins since EUR: Eurogroup Meetings
クッソなんでだろう
コンパイル通ったなら、あとは単純に時刻の計算してるロジックのところだけ修正すればいいと思いますよ。 正直、FFCalは自分も含めカスタマイズした亜種が多すぎてどのロジックを使ってるのか分からんすw
>>836 同じ原本で作ったんですよ
でも何故か時刻というか表示指標が異なるという罠にはまっていますw
OffsetHoursの値をセットしてないだけじゃない?
両方とも同じ数値入れてるんだけど合わないっす・・・
現在時刻がちがうんじゃない?
Comment()関数での記述で、\tを有効にしたいんですが、無理なんですか?
ゴミがm9
844 :
841 :2014/05/05(月) 23:02:36.60 ID:Apw0zO3T
今日mt4のレートが動いてないんですけど、僕だけですか? サーバとの通信は正常です
>>846 え、振替休日ってmt4動かないんですか?
今日の11時くらいまでは動いてたみたいなんですが
それとほかの業者のチャートだと為替は普通に動いてるんですよね・・・
>>847 同じ症状が出て、デモ口座を他社に変えたら動いたよ
>>848 vinsonTraderのデモ口座使ってるんですが、どこ使ってますか?
>>831 >StrToDouble(StringLen(tmpData)) < FileSize(xmlHandle)
>
>でおk
これ何やってるの?
俺には警告を増やしてるだけに見えるんだけど
ulongかintにキャストするべきでない?
filesize()の戻り値はintだから intの間違いじゃない? そもそもMQL4でキャストつかえたっけ。
>>851 new MQL4では明示的なキャストがサポートされるようになった。
MTF_RSIの4時間足を区切る箇所を変えたいです。 例えば4時と8時ではなく、3時と7時で区切るというようにです。 どのように計算すればよいのでしょうか?
>>849 遅くなり申し訳ないです
ONDA JAPANでデモ口座を作りました
今後も安心して使えるように口座開設の登録をしました
ありがとうございました解決しました
できるだけ新しいデモサーバーのIPってどこにありますか? ググっても古いのが邪魔して良いのにあたらないです。 欧州中央時間CESTの業者さがしてるんですが…
誰も作ってないから無いよ^^;
858 :
Trader@Live! :2014/05/06(火) 22:50:24.11 ID:PNzxddqD
最近、またアップデートありましたか?
859 :
856 :2014/05/06(火) 23:21:17.17 ID:esMw4ITW
実はさっきやってて気がついたんだが いつの間にか業者の名前で検索できるようになってた。 デモ口座申請に行って、サーバー一覧が出て一番下にプラスアイコンがあって そこをクリックして業者名いれると出てきた。 うちの場合欧州サーバー探してたから”MIG”という業者入れたら 3つサーバー探しよった。
ツール>オプション>シグナルがある国内MT4業者 知りませんか? YJFX、Forex.comは無いことは確認できました。 シグナルを受け取り売買したいのです。
MT4ってメタクォーツ社がサービスを止めたり、メタクォーツ社が潰れたら使えなくなりますか?
>>862 MT4 Serverが業者のサーバで動作してるから、業者はサービスの提供を継続できるが
アップデートが止まることになるね
クライアントもサーバもアップデートが止まるのはかなり痛いことになるだろうね
ここまでFXのインフラとして普及しているとなると、引き継ぐ先が現れるのでは?
>>863 なるほど。使えるには使えるがアップデートは一切なくなるんですね。ありがとうございます。
MT4が無くなったら私のFX取引は終了してしまいますので聞いてみました。
TDI-With_Alertていうの、足を切り替える度にアラートが出てすごくやかましいんだけど
Alert()で書いてもウィンドウが開かないだが。 MT側に何か設定がありますかね。
867 :
Trader@Live! :2014/05/08(木) 17:43:29.42 ID:GzWAMAz6
すみません、Build625でP&Fのインジを使う方法を教えてもらえないでしょうか MQL4/Indicatorsに入れても、「メタエディター」で保存し直しても グレーになって使えない・・・ ちなみに入れたインジはFXPNF_Indicator_2.0.mq4です
>>867 ??
Build625のコンパイラーでVoid関数の最後のreturn(0);をreturn;に変えただけだけど動いているが??
MT4のデモで2台のPCを使って一組のIDとパスで同時に複数ログインって出来ますか? また、それをした場合にペナルティとかあるんでしょうか?
初心者専用スレなのに、初心者にはわからないことだらけ・・・・
>>869 できます。
ペナルティなんてないです。
873 :
Trader@Live! :2014/05/08(木) 23:25:38.89 ID:e8VTIjex
Build 646でEAを作成しているのですが ソースを一切書き換えて無いのに ヒストリカルデータを入れ替えただけで テスト結果が大幅に違ってくるのですが こういうことってあるのでしょうか? ※ヒストリカルデータは同じものを使用しています
874 :
Trader@Live! :2014/05/09(金) 07:46:07.87 ID:K6R4vAjT
指定した時間でエグジットするEA探してるんですが、フリーであれば教えてください。
>>874 作ろうと思ってたけど時間ないからフリーがあるならわいもしりたい
878 :
Trader@Live! :2014/05/09(金) 13:57:44.40 ID:K6R4vAjT
>>876 ありがとんです
面倒だからBuild最新にしちゃったんで使ってみます。
損害賠償1億円か 詐欺みたいな無料商品だな
>>876 楽天のショップが短く感じられるぐらい長いHPだねw
こういうのって、どこで利益得るのかな?
特定商取引法を違反してるとは
長ければ長いほど鴨を引き付けるっていうの読んだことある
>>880 今までしこまた儲けたから
社会還元とかそういうノリで無料提供してるんじゃない?w
>>874 Time Close EAでググれ。そしたら手に入る
無料といいながら口座を開設しないとダメなEAだから気をつけろ しかもその口座以外では動かないから 本当に無料ならネットで勝手にダウンロードできる状態で置いてあるから
>>880 商材屋じゃん
おそらくこれ使うには指定のFX口座開設が必要でそこからキャッシュバックもらってる
>>880 ここはかなり前から有名。無料でEAを提供する代わりに、FX業者に口座を開設してもらい
キャッシュバックで儲けている
でも、MT4EasyOrderってのは、珍しく紐付きじゃない無料のやつだね ま、exeを起動し続ける必要があるから、Time Close EAのほうがいいと思うが
確かにMT4ってもう10年くらい使われてるようなのに いろいろ不便なままなんだよな 意のままに注文出来たら困るか絶望的に開発センスないか…w
>>889 そうじゃなくて、そういうのは、EAなりScriptなりでご自由にどうぞっていうスタンス
で、現に、意のままに注文できるツールは色々と市場に出ているんだから、不便なことは特にない
>>888 なぜ紐付きじゃないとわかる?
いつものFTLの申込〜専用口座開いたら送るよっていうパターンじゃんwww
しまふくろうのインディケーター表示されないんだけど どうやって使うんですか? インストールして.ex4に拡張子変わっても表示されないです
893 :
Trader@Live! :2014/05/09(金) 17:41:37.25 ID:yy4d4bNL
すいません、 Build 500番台のバージョンのMT4を探しているのですが、 どこにあるかご存知のかた、よろしくご教示くださいませ
898 :
892 :2014/05/09(金) 18:45:43.18 ID:CqJs5vGw
すみません事故解決できました 600シリーズは保存先が違うんですね
899 :
893 :2014/05/09(金) 20:14:34.36 ID:yy4d4bNL
896さん 無いようですあきらめます。。
>>899 「CAD/USD」じゃなくて、「USD/CAD」じゃないの?
901 :
Trader@Live! :2014/05/09(金) 22:20:17.69 ID:K6R4vAjT
海外でUSD/CAD扱ってない業者なんてあるのかね
MT4のbuild600 MQLと MT5のMQLは別物ですか?
文法はほぼ同じ,標準ライブラリ? は違う点が多い
904 :
Trader@Live! :2014/05/09(金) 23:51:03.44 ID:weliWav8
元のMQL.exe必要なら、Metaquotes社のHPからDLできるよ。
糞過ぎる、エディタのバグなのか? 単純すぎてどうみてもバグのないインジが、表示できなくて いろいろやってたが #property indicator_color3の3の部分を消す、また3を入力 コンパイルで表示できた。。 コピぺしてもってきた箇所だけど、コピペに失敗してるっぽい
そういうことは再現性のあるバグかどうかどういう条件で起こるのか確認してフォーラムに投稿しろ
>>905 制御コードじゃないか?
コピペするとよくあるよ
Build625のMetaEditorで今までのPointを使うとわけわからん数字が返ってくるんだけど何か変わったの? 509までのMQLだったらPointで通貨ペアの小数点桁数が返ってきたけどBuild625だとPoint = 1e-005.0ってなるw
それ、同じ。
配列を参照渡しすることはできますか? func(double& Buff) { } みたいに作って func1(Buffer); ※Bufferは指標バッファではありません というように呼び出したら parameter conversion not allowed というエラーでした
配列を受け取るなら func(double& Buff[]) にしないと。
>>911 ありがとうございます
でもBuff[]と書いてparameter conversion not allowed というエラーが表示されます
SetIndexBufferに割り当てた配列なら起こらないのですが・・・
単純に関数側と呼び出し側で渡している配列の型が合ってないんでしょう。 ちゃんとdoubleの配列を渡してやっているならそのエラーは出ないはず。
>>913 ありがとうございますー
図星でした・・・何もかもお見通しでおそれ入りました
素人が何か弄ろうとするといろんな所につまずきますね^^;
フワッとしたレスで申し訳なかったですが 解決したようでなによりです
mql4言語を勉強しようと思うのですが、 ビルド600以降mql5寄りになったとの事で、 現在出ている書籍を買ってもあまり参考にならないのでしょうか? 参考書買うにしても、ビルド600以降対応のものが出るまでしばらく待った方がいいですかね
MT5を使ってみようと インストールして、指示どおりに入力して 最後の完了画面までたどりついたけど 完了の画面で「しばらくお待ちください」って出て 完了のところがクリックできません 何がいけないんでしょう
919 :
Trader@Live! :2014/05/11(日) 21:17:16.64 ID:PFihG6Du
すみません。誰か教えてください。 int OrderSend( string symbol, // symbol int cmd, // operation double volume, // volume double price, // price int slippage, // slippage double stoploss, // stop loss double takeprofit, // take profit string comment=NULL, // comment int magic=0, // magic number datetime expiration=0, // pending order expiration color arrow_color=clrNONE // color ); ですが、売買の矢印を出す場合。 clor=clrRedとすると なぜか「薄い白丸つき赤」になる場合と「単なる赤矢印」になる場合があります。 どういう場合に「白丸つき」になるのでしょうか?また、白丸にしない方法はありますか?
>>918 今XP使ってて
近く買い換えるってこともあるけど
セキュリティソフト入ってないんだ
既存のインジケーターをMTFにするには これがセオリー!というようなアルゴリズムはあるのでしょうか? iMAなどの組み込みが使えなくて、それ以外 スピードが遅そうなiCustom以外の方法を探しています お手本のようなサンプルプログラムがありましたらご教授下さい
922 :
Trader@Live! :2014/05/12(月) 01:08:37.78 ID:/FnO9RXS
だれかTS-2の自動売買を流行させてくれ・・・・
924 :
Trader@Live! :2014/05/12(月) 06:22:38.03 ID:Y8K2M6Pc
ビルド最新しかダウンロード出来ないからMQL言語は使えないしファイルを500番第に戻してもアップグレードを阻止する為のメタ社の拡張子は表示されないしどうしろってんだよVPSのお名前ドットなんとか 今からMQL4やろうとしている奴らはやめとけ。時間の無駄 どうなるかわからんぞこれから
925 :
Trader@Live! :2014/05/12(月) 06:27:03.67 ID:BV/RRBOB
>>924 全くの誤解だよ。基本旧MQL4はそのまま使えるよ。
926 :
Trader@Live! :2014/05/12(月) 06:27:20.71 ID:Y8K2M6Pc
というかメタ社はMT5にしたいならさっさとやれよ こんな中途半端な4も5も使えないようなことしやがってマジで氏ねよ
927 :
Trader@Live! :2014/05/12(月) 06:31:52.01 ID:Y8K2M6Pc
>>925 ビルド646だとMQL4で書いてもコンパイルすら出来んぞ
コンパイルできてもテスターに表示すらされない
関数の定義自体が変わったからじゃないのかw?
一体どっちのMQLで書けといいたいんだよメタ社は といいたいわ俺は
旧MQL4でいけるんじゃないのか。646で何がどうかわったか問題になるところだけでもいいから正確に言ってみろよ。 どうせ言えないんだろ。 おれは509しか使ってないから今のところどうでもいい話だが。
929 :
Trader@Live! :2014/05/12(月) 07:49:37.37 ID:wR+zj6uE
>>928 >646で何がどうかわったか問題になるところだけでもいいから正確に言ってみろよ。
どうせ言えないんだろ。
なんだこいつw
エディタのアイコンそのもの自体が5になってんだろーが
ビルド646のメタエディタ開いたことあんのお前w?
930 :
Trader@Live! :2014/05/12(月) 08:02:12.80 ID:wR+zj6uE
>>928 おまけにビルド646のエディタで新規作成するときに真っ白なエディタに初めから書かれているテンプレコードも関数の前にONが付いた5仕様なんだよ
俺をお前みたいに拾いのEAしか使えないパッパラパーと一緒くたにすんじゃねーよw
真性か。 おれは509しか使ってないと言ってるだろ。 しかも自分でテンプレートと言いつつ、それに縛られてるのも滑稽。
932 :
Trader@Live! :2014/05/12(月) 08:17:34.77 ID:wR+zj6uE
>>931 じゃあ最新バージョンに対する俺の書き込みに無理して意見しようとするなよタコ^^;
509しか使ったことがないのに646に対する書き込みに
>>646 で何がどうかわったか問題になるところだけでもいいから正確に言ってみろよ。
どうせ言えないんだろ。
だなんて書き込みをするなんて真性かお前w?
アホに付き合う理由もないんだが、試してないとは言ってないし600系からの違いに関するメタ社のドキュメントも読んだが。 で、そこから何が変わったんだ?forum見るの面倒だからそれでもいいぞ。
934 :
Trader@Live! :2014/05/12(月) 08:31:55.07 ID:wR+zj6uE
>>933 だから以前のMTで書いたコードがコンパイルすら出来ないっていってんだろw
>試してないとは言ってないし600系からの違いに関するメタ社のドキュメントも読んだが。
で、そこから何が変わったんだ?forum見るの面倒だからそれでもいいぞ。
6レス前の俺のレスも読まないような奴がなーにが
俺、メタ社のドキュメント読んだし(キリッ
だよw
俺は一足先にいくけど509が動いている間に5への移行も考えておけよお前も^^;
エラーメッセージの意味も理解できないのか?コンパイルできない理由くらい書けよ。
めんどくさいがbuild646の変更点読んでみたがバグ修正以外なさそうだが。
しかし、いまだに何十個バグ修正してんだよ。まだ使うのは当分先だな。
http://forum.mql4.com/62849 visual modeでのTimeCurrent()を修正したとかあるから質問スレの
>>37 の原因はこれかもな。
何か騒いでるな。
>>934 934が動かない(コンパイルできない)ってのは分かったし、600系が不安定なのは確かだよ。
ただ、どういった内容(エラー)で動かないのか、少しは具体的に書いてほしいな。
俺的には「なにもしてないのにPCが壊れた」って言ってる人と変わらなく見える。
>>933 933は600系は不安定だから、実践では使ってないだけなんでしょ。
Buildが上がればそれなりに変更点はみてるんじゃない。(たぶん。
しかし、Wineで動かなかったのを修正したとかリストにあるが、Wineで動かすの許容してるのか。
938 :
Trader@Live! :2014/05/12(月) 08:50:17.86 ID:BV/RRBOB
一番ストレスがないのは、旧MetaEditorでソースを書きそこでコンパイル もする。そしてmq4もex4もそのまま新MQLファイルにコピペをする。その 場合は当然何の問題もない。 新MetaEditorはMQL5とほぼ同一だから、これを旧MetaEditorとして使う 場合は、フォーマットを白紙にしてから旧MQL4でソースを書けばよい。 そのままコンパイルすると少しWarningは出るかもしれないが、Error とはならない。新MQL4はMQL5に旧MQl4が加わったと考えればよいだけで、 どちらも使えるようにはなっている。
939 :
Trader@Live! :2014/05/12(月) 09:08:00.12 ID:wR+zj6uE
>>935-937 だーかーらー
MTチャート上のメタエディタのアイコンそのもの自体がすでにMT5のメタエディタのアイコンになってるっていってんのw
それだけ書きゃその中身がどうなっているのかなんて後は野ザルにでもわかんだろw
MQL5ではポジの管理方法が違うから原因はその辺りのコードなんじゃないのか?
これから5仕様で一番簡単なMAクロスのEAを組む作業をしてみるからちょっと待ってろw
それがコンパイル出来るかどうかは知らんがお前らもMQL5の勉強をした方がいいぞ
500番台が強制終了にならないうちに
さすがゆとりというところか。 しかし、ゆとりでもなにかしら動くものが書けるってのがすごいなぁ。
SHI_Channel_Fast入れると何か丸い記号付くんだけどあれ何の目印なの?
>>941 チャンネルが切り替わった時の印だったかと。
>>941 ごめん。違った。それはまた別の物の機能だったと思う。
これは、チャンネルをブレイクした際に付くみたい。
ただし、チャンネルの切り替わるタイミングと被ったりすると
思わぬところで表示されたりするので、少し微妙。
うちのMT4、Build646だけど普通にMetaEditorでコンパイルできるけどな 確かにMT4上のMetaEditorのアイコンも変わっているけどコンパイルできるし実際使える 環境による違いなのかねー?
945 :
Trader@Live! :2014/05/12(月) 10:52:31.17 ID:BV/RRBOB
>>944 build600番台のアップデートがされるたびに種々な不都合は解消されているね。
最新は646だけど、旧MT4のソースを新しいMetaEditorでコンパイルしてもWarning
はほとんど出なくなった。
600系のよさは、言語の洗練とパフォーマンス倍増ぐらいか バグが一通り直りきらんと評価は下がるわな 過去の遺産が書き直しだと やっぱり、自分でプログラム書かない奴には低評価になるのかね
パフォーマンス倍増? バックテストの速度は大して変わらないと聞いたが何のパフォーマンスが倍もよくなったんだ
普段のインジ表示とかが軽くなったらしい そんなことより目盛りの数字の拡大表示を(ry
646のMetaEditor、日本語のカーソル位置修正されたね 結構コメント入れる方だから助かるわ
>>923 ありがとうございます!
iCsutom使うと、インディケーター算出以外の処理もされてしまうため
てっきり速度が落ちると思っていたのですが・・・違うのでしょうか?
とくにプログラムの初回ロード時(チャートの時間軸切り替えなどはよくやる作業なので)
になるべく負荷が軽い方法を探していました
速度が変わらないのでしたらこの方法が一番スッキリですよね
>>949 まじか。頑張れる気がする
やっと使う気が出てきた
952 :
Trader@Live! :2014/05/12(月) 13:19:27.09 ID:iVqOW38i
もし、リーマンショックなみの暴落が起こったとき、入れておいたSTOPは機能するの?
>>952 一般論でいって機能する。但し、通常よりスベリが大きくなる覚悟は必要
954 :
Trader@Live! :2014/05/12(月) 13:36:38.02 ID:iVqOW38i
>>953 レスどうもです。
スベリは最大どれくらいを予想されますか?
100pipくらいですか?
ダウンロードしたMT4は既に646なのですが、初心者がこれを使うのは 危険って事ですか? 過去ログ読んでみると、古いバージョンを探した方が良いように見える のですが、入手する事はできるのでしょうか?
957 :
Trader@Live! :2014/05/12(月) 17:19:36.93 ID:BV/RRBOB
>>955 新MT4も大分使いよくなったから、以前ほど毛嫌いすることもなくなった。
build509に戻す方法は、すでに
>>896 で説明されている通りだ。
>>957 使いやすさの問題じゃない。言語使用の非互換性の問題だ。
つか、使いやすくなったのか?
言語仕様な。さらに尽きないバグの方もかなり問題。
結構頻繁にオーダーを出す、EAを作ってしまったのだが。 どのくらいだったら、プロバイダから使用禁止の通達が来ますかね。 15分足なんだけど、バーが更新すると20件ぐらい同時に注文を出します。 大部分が待機注文と待機注文の取り消しです。 どうでしょうか?
>>955 ネットからインジやEAを入手して運用するならまだ500系の方がいいのかもしれないけど
自分で作るなら600系でいいと思うよ。
初心者=最近MT4を導入した、と想定してレスするけど、
600系に移行したがらない人は手元に500系での資産(EAやインジ)があって、
それらをスムーズに600系に移行できないから、というのが一番大きな理由。
そういう事情がないなら危険でもなんでもない。
満足してない層は声が大きいから2ch見てると目立つけど、
大金動かすようなソフトが本当に「バグだらけで使い物にならない」ってレベルなら
こんな程度の荒れようで収まらないよ。
大抵は自分で書かないんだから資産という意味なら移行できないだろ。 危険以前にまともに動かないことがあるし、動いていても潜在的な問題があるという意味では危険。 まぁソースにはまったく手を入れないって使い方なら資産はある程度活用できるとは思うけど。
あぁ、すまん、まぁ同じようなことを言ってたのか。 しかし、600系であまり騒がれないってのはよっぽど利用者減ってるんだと思うな。
>>960 24時間で200件が一つの目安と聞いた
待機注文と待機注文の取り消しはやめて、EAで監視しつつ成り行きで注文させたほうがいいんじゃないかな
取り消しをするってことは売買成立は少ないんでしょ?
965 :
950 :2014/05/12(月) 20:26:53.95 ID:9oYW0xA6
950です iCustom使ってみたのですが プログラム初回実行時では まだiCustomインディケーターの計算が完了してなくて 算出までタイムラグがあるようですね(その間データはカラです) 値動きのある時間帯ならすぐに次のティックが発生してくれますが、土日祝など 2回目のティックが発生しない環境に対応するには どうしたら良いのでしょうか? for(int i=0;i<1000;i++)と1000回ループして計算が終わるのを待っても駄目でした
>>964 ありがとう。1日あたり200〜300件だった。
トラリピみたいに、一度に多数しかけてレンジ外れたら全部delete
するのを作ったんだけど。やっぱり多いね。。
バーチャルな待機注文をEA側で用意して、実質成り行きで注文する
みたいなものを考えようかな。
そろそろ次スレ立てようと思ってテンプレ確認したんだけど
>>5 のリアルマテリアルと養分は必要なの?
5分足のチャートでiCustom(,PERIOD_H1,,)で1時間足の値を呼べますか?
970 :
Trader@Live! :2014/05/12(月) 21:29:03.09 ID:KUk3M7L4
971 :
Trader@Live! :2014/05/12(月) 22:03:59.84 ID:BV/RRBOB
>>958 ,961
build600以前のMQL5と旧MQL4とは互換性がないが、600以降のMQL5には旧MQL4
との互換性が持たされている。つまり、旧MQL5と現在のMQL5とは別物。
混乱しているのは、バグの修正に手間取ったためでbuild646ではほぼ完全近く
修正された。
豊嶋先生のコメント参考にするといいよ。
http://forex.toyolab.com/?p=220
972 :
Trader@Live! :2014/05/12(月) 22:13:45.52 ID:/sFZgf1Q
>>954 FX会社で違うだろうけど、500くらいはすべるスベルんじゃない。
そう考えると、EAはやってられんけど。
取引頻度が多いEAを作ろうとしてるんですが、順張りだと年間200回くらいに落ち着いてしまいます。 日中足のEAだと、通常は逆張りになるんでしょうかね。
mql5はクラス使えるけど、クラステンプレートがないと意外と使い所がないことに気付く。 てか、気付いた。実際しんどいぞ? 擬似ウィンドウをチャート上に表示する標準ライブラリがイベントハンドラを登録するの にプリプロセッサマクロ使ってたりして、う〜ん相変わらずのクソ言語って思った。
>>973 取引頻度の高いEA → レンジを狙ったスキャル(当然、逆張り)
976 :
Trader@Live! :2014/05/13(火) 01:07:14.00 ID:FPs3oKZd
勝率70%のEAでも勝てなくなることってあるんですか? そういう場合レンジでは強いけどトレンドでは弱いとかで 使う側が選んで使い分けることで効率よく勝てたりできませんか?
>>971 何かと思えばメタ社のドキュメント以上の情報もなくまったく参考にならなかった。
>>874 そもそもテンプレートをわざわざ使う必要がない。
お前はいつも本末転倒。
>>976 カーブフィットでググれ。
もちろん、選んで使い分けられるなら効率よく勝てるだろう。
978 :
Trader@Live! :2014/05/13(火) 01:15:07.76 ID:FPs3oKZd
>>976 そもそもレンジとトレンドの見分けを上手くできるなら、裁量で大儲けできるわけだが
ヨコヨコくらいはLPF噛ませばいいよ 難しい話じゃない
981 :
Trader@Live! :2014/05/13(火) 02:46:12.60 ID:FPs3oKZd
低レベルですみません 移動平均線を20や200や75と設定して 定型チャートのデフォルトで保存すると 新規チャートに3本反映はされるんですが 20 200 75にはなってないのは仕方ないですか? あとフィボナッチリトレースメントに76.4%を加えたり 50%の色を変えたりしたものをデフォルトにして どのチャートでもそれを反映させられないものですか?
過去を見分けるのは簡単だが、次のレジで跳ね返されるかブレイクするかを見分けることは不可能
無職(専業)の人で、国内 MT4 採用ブローカー で口座作れた人いますか? 低スプで1000通貨単位で初期投資1万円以下で取引出来るとこ探してます。 よろしくお願いします。
Build600以降はとりあえず完全フル互換じゃない 予約語を変数に使ってるのは書き換え必須 変数名にコンマが使えなくなってる ifの演算子のプライオリティが変わってる あとreturnの返り値を設定してるとエラーになるケースがある ()を消さないと駄目なケースも有る 要は書き換える事が必要なのが確実にあるという事 SSRC.mq4てインジを改造して使ってたんだがこいつも書き換えないと駄目だった。 オリジナルも書き換え必須 嘘だと思うんなら落としてきてコンパイルして表示してみな
>>983 自営業にしておけばいいよ。
いちいち調べないから
入金するかどうか決めてないけどGKFXに口座作ってみたよ
>>984 ぶっちゃけ大した問題じゃない。
コンパイルしてみれば直ぐに問題箇所分かるし修正も容易い。
論理演算子の優先順位変更だけはハマりやすいポイントだけど
寧ろ旧の方が奇異で歪。てか、ぶっちゃけありえないw
>>985 個人事業主でいけそうです。ありがとうございます。
演算子の優先順位が変わったのは警告出るのかね。 すべて正しく変更するのはそれなりに面倒だと思うけどな。 あとやっかいなのは変数の初期化問題。これも警告出してくれるのかね。 間違った認識で条件判断や変数の使い方をしているものもありそうだし、 いちいち確認して対応するのは相当面倒。 なので業者が600系以降のみになるまでは先送りだな、まだまだバグも多いだろうし。
変数の初期化問題ってなんだ?
>>990-991 old MQL4の独自色が強すぎる。new MQL4の方が寧ろ違和感少ないw
MQL4が初プログラム言語だった人もいるんですよ!
そんなやつはいません
996 :
Trader@Live! :2014/05/13(火) 22:50:48.61 ID:Rjlzx6Gn
MT4 Ver4.00 Build646 なんですが プログラムはCドライブに(デフォルトの場所)入れていますが logを消すにはどのフォルダーのログを消せばいいのでしょうか(HDDを肥大化させないため) C:User:User名:APP:DATA:Roaming:MetaQuotes:Terminal:乱数名のフォルダー 45f7a〜など:logフォルダーの中に20140513.logなどありますが このlogファイルを全て消しても問題ないのでしょうか? よろしくおねがいします。
バージョンアップしたらインジケーターのファイルで プログラムファイルの中のindicatorsの中にあったファイル ex4とmq4の一部が消えてしまいました。 ファイルがどこに格納されたのかわかりません チャートでインジケーターは表示出来るので、 どこかにファイルがあるはずなのですが、 見つかりません。 ファイルがどこに格納されているのか、分かる方 教えて下さい
ume
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。