【MT4/5】MetaTrader初心者専用36【ゆとり隔離スレ】
初心者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
DAT落ちしてたので立てました
有線LANと無線LANを同じセグメントにする。 DHCPを使わず。 例:ルーターのLAN側 192.168.1.1 有線PC 192.168.1.2 DNS 192.168.1.1 GATEWAY 192.168.1.1 SUBNETマスク 255.255.255.0 無線LAN 192.168.1.100(モードはブリッジに変更) DNS 192.168.1.1 SUBネットマスク 255.255.255.0 GATEWAY 192.168.1.1 無線接続ノート 192.168.1.2 DNS 192.168.1.1 SUBNETマスク 255.255.255.0 GATEWAY 192.168.1.1 これでいけると思う。
>>9 レスありがとうございます。
明日やってみて状況をのちほどつたえます。
MT4ってask の値って表示されないの? ショートした時のストップ置くときaskの値段に置きたいんですけど、 どこで見れますか?
ちゃーと右クリ プロパティでASK表示
数本前のローソクのask値を知るにはどうしたらよいですか? スプレッドのぶんだけ足すしか方法は無いですかね? 自分の使ってる国内業者だとaskとbidのローソク足が 別々に表示することができたので重宝してました
23:59〜00:14ぐらいまでの4本値のデータが取得できなくて、チャートが崩れて困ってます @ヒストリーセンターからダウンロード Ahistoryフォルダの.hstファイルを削除してMT4再起動 上記を試しましたが改善されませんでした。 チャートに15分ほどの空白期間ができてしまい、見た目が窓開け状態で気持ち悪いです。 欠落している約15分間のデータを取得し直すにはどうすれば良いでしょうか。 (それとも、もしかしてこれは業者側でのエラーであって、打つ手無しなのでしょうか?) AlpariJapanのデモ口座です。
メタ社のヒストリダウンして何シたいの?
>>18 サーバにデータがないんでしょうね。数日後にまたやれば直ってるんじゃない。
アルパリに文句を言うのが早いかもしれない。と思ったらデモ口座かw
MTF_ADXM_Color.mq4 を作成元でダウンロードして普通に入れたんですが なんだか動きません XEmarktsです
MT4ですと、インジケータのラインとバーが重なると ラインが前面になり、バーが背面に隠れてしまいますよね? 他のチャートソフトではできるのもあるようですが 重なった時にラインのほうを背面に、バーを前面にするようにして描画できないんでしょうか?
>>23 エラーログは?
どの通貨でもダメ?
他の業者のMT4にいれてはどうか?
>>25 やってみましたがうまくいきません
全部プラス表示のまま何も反応してないみたいです
>>26 できるんですねサンクスです
方法はどのようにやればいいんでしょうか?
>>29 次の操作でどうかな?
F8
Shift + TAB
右矢印
TAB
TAB
スペース
ENTER
>>28 なんとか解決できました(´・ω・`)
ありがとう
関数の中で自分の関数を呼び出すという再帰的な使い方をしようと思っている。 MT4のってこういう関数の使い方はサポートしている? 最大でどのくらいまで再帰的に呼び出せると思う?
あと全く話は変わるんだけどMT4からメールを送信するとき、メッセージだけで無く そのときのチャートを画像ファイルとして添付できたりする? 出先とかで簡単にチャートを見られないときとかに、メールにチャート画像を添付させることができれば 結構重宝すると思うんだ。
>>33 再帰は可能。
スタック変数をどんだけ積むかで変わるけど、
シンプルな関数では800回はいけた。
900はダメだった。
一乙 自作EA何度か試みたが、バックテストで年3倍とかがいいとこ。 これ実運用で儲かる気がしない。 実運用で自作EAで儲けてる人ってどのくらいいるの?
>>35 > 可能
それはありがたい( ´∀`)
>>36 800回可能であれば十分な気がする。
チャートに表示されるローソク足の個数だけ再起かけられれば満足だから。
800本も無いでしょ。
>>37 どれくらいいるか、分かるわけないでしょw
>>39 俺儲かってるぜ、見たいな人が実際いるのかなーと。
自作EA、スプが1で儲け出るけど、2とかだとほぼとんとんになっちゃうんだよね。
ここでも受けの種教えてくれるわけないとは思うけど、ヒントぐらいほしいなとおもた。
>>41 おお、さんくす。こういうのすげえ参考になるわ。
1日3トレードぐらいかな。てことは短いスパンの値動きで儲けてるんだね。
単純な法則捕らえて儲けてる?それとも複雑なことしてるの?
よかったら、実運用で気をつけたほうがいいこととか、
聞かせていただけるとありがたいです。
短時間で決済ばかりすると規制される。。
>>42 Wall Street Forexって市販のEAがあるんだけど、同じような考え方でポジるかな。
自作というテーマとは相反するけど、市販で評判のいいEAのロジックを真似るのが手っ取り早いよ。
市販EAもだいたいmyfxbookで成績を公開してるから、自分のEAと結果を比較できるし、
悪いところがあれば自分なりに改良できるしね。
気をつけることはEAのタイプによって違うと思うんだけど、もしEvery Tickでバックテストするんなら
バックテスト時のティックは1分足から生成される擬似ティックだってことに気をつけたほうがいいかもね。
Forex Growth Botみたいに15分足の最初だけでOpen/CloseするようなEAを作りたいんだけど、
未だに実運用にたどり着いてない。
>>44 どうもね。オーソドックスに急に動いた後ヨコヨコ続いたら、反発狙いみたいの久々に作ろうと思って。
細かい調整しだいだろうけど、これでだめだとチョットきついな。
46 :
Trader@Live! :2013/03/01(金) 13:12:34.18 ID:bobudCh0
ペッパーストーンにワンクリックEAってのが入ってるんですが、これは ペッパーだけしか使えないのでしょうか? EAやLibraryをコピーしましたが表示されませんでした。
>>46 一応ブローカーチェックしてるから、デコって書き換えたりしないとダメ。
チェック箇所をはずせば、よそでも使える。
48 :
Trader@Live! :2013/03/01(金) 15:48:22.64 ID:ZWfjjSiv
日経225見れるサーバー有ったら教えてください! 色々調べたけど、brocoもFXproも見れなかった・・・
fxpro見れるよ NKDH3 XeMarketsも見れる NK-MAR13 多分シンボル全て表示させてないんじゃないのかな
51 :
Trader@Live! :2013/03/01(金) 17:21:39.98 ID:bobudCh0
brocoって生き残ってるの?
死んでる
>>8 それ以前に
無線LANでMT4の運用は止めとけ。
54 :
Trader@Live! :2013/03/02(土) 12:34:38.31 ID:l6mu05Md
EA業者がMyFxBookに結果載せてるんだけど、どういうプロパティ設定にしたかって、業者に聞かなきゃわからない?
そりゃそうだ
56 :
Trader@Live! :2013/03/02(土) 14:16:33.47 ID:uyIgFFrn
初心者です。教えてください。 エントリー時に利確幅を設定している場合ですが、利確と同時に新たにエントリーしまいます。 利確時に、エントリー基準を既に満たしているのでそうなります。 再エントリーをなくすにはどのように設定すればよいですか。
>>56 現在保有中のポジションをチェックするコードを書く。
ポジがあれば、エントリーしない。
OK?
>>56 >>57 違うな。
ポジ履歴をチェックする。
直近にエントリー記録があればエントリーしない。
あるいは、
ポジを持ったらフラグを立てて、
フラグが立ってる間はエントリーしない。
エントリー基準を満たさ無くなったら、フラグリセットか。
59 :
Trader@Live! :2013/03/02(土) 15:28:49.18 ID:uyIgFFrn
>>57 >>58 補足します。
例えばですが、RSI70以上でショートでエントリー、+50PIPSで利確注文します。
+50PIPSになり利確はできますが、その時RSIが70以上だと同時にショートで再エントリーしてしまいます。
そうならないようにしたいのですがいい方法はありますか?
>>59 >RSI70以上でショートでエントリー、+50PIPSで利確注文します。
>+50PIPSになり利確はできますが、その時RSIが70以上だと同時にショートで再エントリーしてしまいます。
>そうならないようにしたいのですがいい方法はありますか?
static bool entryOK = true; // true の時はエントリして良いフラグ
if( RSI70以上 && entryOK ){
エントリー;
entryOK = false;
}
if( RSI 0以下){
entryOK = true; // 頃合いを見て、フラグをリセットしておく。
}
61 :
Trader@Live! :2013/03/02(土) 16:41:04.90 ID:uyIgFFrn
ありがとうございます。参考にします。
62 :
Trader@Live! :2013/03/02(土) 16:55:17.79 ID:l6mu05Md
チャートのローソク足の基本配色設定。デフォだと3つ登録されているかと思います。 Yellow on Black Green on Black Black on White ユーザーがこれらに加え任意の配色を作成して名前を付けて保存することって出来ますか?
>>63 Save template 機能で代用するしか無いね
>>64 そうでしたか、MT4はいじり倒せないところは無い万能ツールという印象があったんですが
意外なところで融通が利かない一面もあったんですね(´・ω・`)
ところでMT4の時間は日本時間ではなくUTCじゃないですか。
今気付いたんですが日本時間のチャートでは宵の明星とか明けの明星とか
俗に言う酒田五法のパターンが表れていても、UTCのチャート図で見ると
そんなパターンは影も形も見えなかったりするんですね。
こういうチャートパターンは万人が見てこそ効力を発揮するわけですが
違うタイムゾーンの人は微妙に異なるチャートパターンを見ているという
ことにMT4を使い始めて気付きました。
恐ろしいですねn(´・ω・`)n
>>65 MT4の時間がUTCというより、たまたまそのブローカーが
UTCをサーバー時間に採用しているだけ。
宵の明星とか明けの明星とか言ってるほうが恐ろしいわ
何を信仰するかは、自由だ。。
リバ狙いのEA作ってるんだけど、急騰急落を簡単に判定する方法ありませんか?
急騰急落 を具体的に定義した方がいいよ
>>70 たしかに。「ここ1週間でみると、半日に1回ぐらいの暴落だ」みたいのがわかるといいんだけど・・・
落差の天底決めるのも難しいしね・・・
移動平均の傾きとかで何とかなるかな
>>59 70より前から70以上になったときだけ
エントリーするようにしたらいいのでは?
そうすれば利確しても次は、もう一回 70を切らないと
再エントリーはない
>>71 5足過去12本の高安を一週間分調べる
その中から一番動いた分を出して
今から過去12本がそれをこえてるかみる
こえてたら暴落暴騰
とか?
ま、つかえないとおもうけどw
>>74 >
>>64 > テンプレート機能を適用するとそれまで一生懸命引いたトレンドラインとかが一発で消えるのが残念だよな
一応、 default.tpl という名前で保存して、チャート開いた時から指定配色にしてるから、
後からテンプレート機能を適用する使い方はしたこと無い。。。
>>75 > 一応、 default.tpl という名前で保存して、チャート開いた時から指定配色にしてるから、
> 後からテンプレート機能を適用する使い方はしたこと無い。。。
印刷用にチャートを保存するときは一時的に配色を白黒にしたりするんだわ
そのあと元の配色に戻そうと思うと緑黒か黄黒の2つしか選べないのがねぇ
かといって(デフォルト)テンプレートを適用するとトレンドラインとか一発で消えちゃうし
内部をゴニョゴニョいじって緑黒・黄黒以外の配色も追加できれば一番いいんだけど
それ以前にMT4てバーの太さとか細かく調整できないのが糞 裁量トレーダーにとっては不満が残るんじゃないかな そういう面ではスプリントとかのほうがいいけど カスタム指標を作れないのでMT4使ってるわ・・・ 佐野さんがMT4を決して使わないのがなんとなく分かってきた
>>77 色を変更する前に保存しておけばいいだけでは?
>>74 横ですまないが
こんな風に右横のレート表示を拡大するにはどうすればいい?
あとデータウィンドウのレートも小さ過ぎるので大きくする方法はある?
またそのウインドウの中の数値やMAを実際チャートに使ってる色に変えることはできますか?
>>79 チャートの配色を変更するたびにトレンドラインとかの設定を保存・読み込みし直すってこと?
うーむ
>>80 ああすまん。
>>74 はMT4の画面じゃないんだわ
プロパティのscale fix one to oneかscale fixじゃだめなん?
>>82 一瞬で終わるのになぜそんなことを気にするのかがわからないな。
>>78 カスタム指標をプログラムできるソフトて他にないんかな?
エキスパートプログラムをテキストを見ながら作製しました。 プログラムは単純で、ゴールデンクロスしたら買い、デッドクロスしたら売りというものです。 それをストラテジーテスターにかけて、動きを確認したところ、 負け率が70%と逆にすごい数字になりました。 そこで少しお遊び的にゴールデンクロスしたら売り、デッドクロスしたら買いというプログラムにしていみました。 計算上、今度は勝ち率が70%になるはずです(もちろん同じ期間、同じ足です) しかし、結果は勝ちが52%程度でした。 明らかに計算がおかしいと思うのですが、これは一体どういうことでしょう……?
>>87 そこで終わりじゃなくて、そこから始まるんだよw
そんなの、俺はエクセルで5年前に計算済みだわ。
ネタか?でもそんなもんだよな。 せっかくBT過去8年クリアしたロジックできたけど、この半年通用しないし。
年がら年中通用するものがあるのかよ。
>>88 そして次の段階として、チャート眺めてて思いついた手法を実際に実装してみると
思ったような結果にならなくて、「これは一体どういうことでしょう……?」ってなるw
そして更に次の段階として、山って、谷って、トレンドって、レンジって何!???
ってなるw
>>87 なつかしいな〜
EA作成した一番最初、同じ事やって、同じ事思ったわ
がんばれ!
94 :
87 :2013/03/04(月) 02:04:18.65 ID:yvCPzaLm
皆さんありがとうございます。 どうやらこれが「普通」のようですね(汗) しかし、何が原因でこんな結果になるのですか? とてもスプ負けとも思えませんが…。 出来ればこの計算結果になる理由が知りたいです…。
>>87 同じことやったことある(´・ω・`)
俺も最初うまくいかんくて何でかと思ったら
俺の場合はSLとTPを逆にするのを忘れていたよ
リスクリワードレシオも反対になるようにSLとTP設定するようにしないとね
それじゃないならスプかな
>>94 リバーストレードで儲かるようにしたいなら、
エントリもエグジットもタイミングを変えずに、
ショートはロング、ロングはショートになるように書かないと。
>>94 そういうの、人に聞かないで
自分で考えて結論出した方が、勉強になると思うよ
聞くのは楽だけどね
>>94 答えるわっきゃねー。
誰が他人を賢くして得をするというんだ。
つまり・・・・そういうことだ。
100 :
Trader@Live! :2013/03/04(月) 08:00:21.12 ID:DSTca9rL
GCI動いてない??
101 :
Trader@Live! :2013/03/04(月) 09:39:18.58 ID:Q7k0zeIy
GCIの鯖死んでる?
102 :
Trader@Live! :2013/03/04(月) 09:40:11.84 ID:Q7k0zeIy
brocoに続いてGCIも?なんてよしてよね・・・
GCIは業者的に妖しいからなぁ・・・
>>94 tickデータを1日じゅう眺めてれば何か見つかると思う
複数の指標にまたがるインジケータを作りたいと思っています。 たとえばMACDとRSIの両方が指定した値になったらアラートを発動させるようなインジケータです。 その際、MACDとRSIを別々のウィンドウに表示させることは可能ですか? それとも一つのインジケーターではウインドウは一つしか作れませんか?
スマホのMT4、今では1銭刻みだったのに 今見たら0.1銭刻みになってるんだが 何が起こったんです?
Android/iPhone用のMT4て オリジナルのカスタムインジケーターも表示できるんでしょうか?
1分足のチャートに5分足の20EMAを表示させたいと思います。 期間:100(=20 * 5) タイプ:EMA こういう平均線を指定すれば5分足の20EMAと全く同等の平均線を1分足チャートに 表示させることができると思っていいですか? それとも微妙に異なりますか?
iPadでチャートを横向きで使うと下のメニューが出なくていちいち縦にしなくちゃならないのが不便
取引用とチャート用の2台のiPadを使えば良いんじゃね。
112 :
Trader@Live! :2013/03/06(水) 05:46:35.94 ID:h6L4ye5Y
>>108 きのうからDLしてみてるけどカスタムは無理みたいだよ
ただむちゃくちゃ見やすいよね
>>109 微妙に異なるけど、あなたが気にしなければいいんじゃない?
MTFタイプのMAを重ねて表示させると、違いがわかるよ
カスタムインジが動かなければMT4の意味ないですよね 開発計画にはあるんでしょうか?
母艦でMT4動かして、 リアルタイムにチャート画像をWebにアップロード。 それをスマフォで眺める・・・
TeamViewer ならPCの画面ごと見れるけど、、 それが便利かというと・・・・汗
以前、買いと売りを反対にしたのに勝率が予想と違っていると質問した者です。 お礼が遅れまして申し訳ございません。 あれからまた調べてみたところ、何名かがおっしゃっていたように、スプレッドが原因だとわかりました。 5分足という短い期間でやっていたので、スプレッドの影響がかなり大きかったようです。 皆さまのおかげで解決しました。ありがとうございました。
119 :
Trader@Live! :2013/03/06(水) 18:04:55.57 ID:jYnlOYr+
直近のオーダーを選択したいのですがどうすればよいでしょうか?
>>119 注文時刻を調べて、直近のオーダーを選択すればよいのでは。。
>>113 やっぱり異なるんですね・・・
最終的に1分足チャートに5分足のボリバン表示したいと思ってるんですけど
できる限り5分足のボリバンに近いものを1分足のチャートに表示してくれるインジケータって無いでしょうか?
>>109 23MTF_MovingAverageIGOR
アラートを発生する、とあるインジに メール送信する機能を追加したの ですが(SendMail関数を追記)、 メールを1分おきに3回送信させたい のですがどのように記述したら 良いでしょうか?
126 :
Trader@Live! :2013/03/07(木) 00:02:41.90 ID:U5TVQR2R
fx-introduce.jpというインジケータ・EA作成業者を使ったことある人いらっしゃいますか? いたらどんな具合なのか教えて頂ければ興奮します。
興奮するのかよっ
>>124 最初に送信した時間を変数に入れる
その変数と今の時間を見て
1分以上たってたら、また送信する
で、変数の時間を更新する
を、繰り返す
【インターバンクマーケットオーダー状況】 3月7日 9時26分 【ドル円】 95.50円 売り:ストップロス買い 95.40円 ストップロス買い 95.10円 ストップロス買い 95.00円 ストップロス買い 94.90円 売り 94.80円 売り 94.70円 売り 94.60円 売り 94.50円 売り 94.40円 売り 94.20円 売り 93.95円(現在値) 93.30円 ストップロス売り 93.00円 買い 92.90円 ストップロス売り 92.80円 ストップロス売り 92.50円 買い 【ユーロドル】 1.3180ドル ストップロス買い 1.3170ドル ストップロス買い 1.3080ドル ストップロス買い 1.3060ドル ストップロス買い 1.2975ドル(現在値) 1.2960ドル 買い 1.2950ドル 買い:ストップロス売り 1.2940ドル 買い:ストップロス売り
おっとシツレイ。。
>>124 > アラートを発生する、とあるインジに
> メール送信する機能を追加したの
> ですが(SendMail関数を追記)、
> メールを1分おきに3回送信させたい
> のですがどのように記述したら
> 良いでしょうか?
>
> 最初に送信した時間を変数に入れる
> その変数と今の時間を見て
> 1分以上たってたら、また送信する
> で、変数の時間を更新する
> を、繰り返す
3回だけ送信なので。。
・最初に送信した時間を変数に入れる
・送信回数 を変数に入れる
static datetime AlertTime = 0;
static int MailCount = 0;
この2つで状態を管理してメールを送れば良いと思う。
マネックス証券でMT4を採用するらしいんだが、本家サイトにも記述なし。 詳しいことをご存知の方、お願いします。
デモ口座で取引してるんですが、ライブ口座の方がやっぱり安定しているものなのですか?
安定感がまるで違うね。 デモ口座は、低スペックの共用サーバ1台で運用しているところが多いけど、 リアル口座は、複数台で分散されている感じ。
>>132 あぁ、なるほど。
どうりで、書き込みに誘導が貼ってなかったわけですね。
お手数おかけしました。
いままで、experts\files\tt-#####.tmp (#は数字が入る)というファイルが 5回もウィルス検知(Trojan)されたんですが、これは誤検知なのでしょうか?
マウスの下にあるバー番号を取得するにはどのように書けばいいのでしょうか? 具体的にはマウス下のバーの四本値をComment()したいと思ってるのですが・・・
>>138 このスレの前のスレか、その前か、前々辺りに回答があったような。
>>130 ありがとうございますm(_ _)m
1分毎という記述がイマイチわからないので、
教えてくれると助かります。
メールカウントの方はなんとか
なりそうです。
>>140 有難うございますm(_ _)m やってみます
>>141 アラート発生したら、
・アラート時刻を記憶する
・1通目のメールを送る。 MailCount = 1;にする。
それ以後は、
tickが来るたびに
if(アラート時刻から1分以上経過している && MailCount == 1 である。)
ならば、
・2通目のメールを送る。MailCount = 2; にする。
if(アラート時刻から2分以上経過している && MailCount == 2 である。)
ならば、
・3通目のメールを送る。MailCount = 3; にする。
------------------------------------------------------
こんな感じで。
tick が来るたびに実行なので、アラート発生後何分間も tick が来なかったら
1分ごとに送ることはできなくなります。
#import "user32.dll" int RegisterWindowMessageA(string MessageName); int PostMessageA(int hwnd, int msg, int wparam, string Name); #import int start(){ while(IsStopped( )){ PostMessageA(WindowHandle(Symbol(),0),RegisterWindowMessageA("MetaTrader4_Internal_Message"),2,1); Sleep(1000); } } これをスクリプトから実行する。
#import "user32.dll" int RegisterWindowMessageA(string MessageName); int PostMessageA(int hwnd, int msg, int wparam, string Name); #import int start(){ while(!IsStopped( )){ PostMessageA(WindowHandle(Symbol(),0),RegisterWindowMessageA("MetaTrader4_Internal_Message"),2,1); Sleep(1000); } } IsStopped()はfalseだからnotしないとだめだったなw すまんw
>>143 「アラート時刻から1分以上経過している」の記述が
イマイチわかってませんが、とりあえずやってみます。
ありがとうございますm(_ _)m
5万ドルスタートで現在8万ドルオーバー 30万円スタートで現在38万円ちょい 勿論、前者がデモ口座で後者がリアル口座です。 ありがとうございました。泣きたいorz
FXCMJのDEMOサーバ、落ちてる?
>>147 スレチ 自慢ですかw
まぁ、書きたい気持ちはわかるけどね
145番のコードは定期的にTick発生時のWindowMessageを送信することにより
定期的にstart()を間接的に呼び出すコードです。
>>145 横ですが今後使う機会があるかもしれないから頂いときます。たーしぇい
それってtickが疑似的に動いたかのように振る舞うのかな?
そうするとVolumeの値も疑似動作分増えちゃう??
>>150 出来高は増えません。出来高の情報はサーバーから受け取るものですので
なるほど了解。
アラ捜ししてるわけじゃないけど、
>>145 のソースって、実際にコンパイルすると
俺の環境では、ええと4行目の? 「#import」を
削らないとコンパイル通らなかった。俺だけかな?
インポートを締めくくる #import はなくてもコンパイル通るけど、 むしろあるのが正しいはず。削らなくても平気だよ。
そうなのか。MQLはどうにか使いこなせるようになったけど、 WindowsのAPIだかDLLを連携して使うとかは全く分からないです。 コンパイル失敗したのは別の何かが原因ですね。 確かに最初、何も考えずコピペした物を、 start内に貼り付けちゃって失敗したからその辺か。 (もちろんstart内にstartやら書いたらおかしいのは理解してるけど、 寝ぼけたような感じでとりあえずPCに害を及ぼしはしないな、 と判断しただけでつい変な貼り付け方してしまった。) どうも、勉強になりました、 元の質問主ではないですがありがとうございます。m(__)m
あー、再度触ったらなるほど、分かりました。 #importの行末に半角の空白があって失敗してましたです。
157 :
Trader@Live! :2013/03/09(土) 18:43:16.45 ID:oQRkmJLA
>>109 iBarShift と iTimeを使って該当の5分足の終値を拾って、それを自分が
用意した配列に代入しiMAOnArrayで計算するんだよ。
そうすれば完璧に同じものになる。
bool GetClientRect(int hwnd, int& rect[4]); のように書くとき int GetClientRect(int hwnd, int& rect[4]); ↑でも動くようですが、どちらが望ましいんですか? また実際にstart()内で使う場合 if (!GetClientRect(hwnd, rect)) return(0); みたいにエラーチェックしているコードを見ました なんとなく意味は分かるのですが if (!関数〜)というのはどういう書きかたなんでしょうか
>>158 boolの方が意図が読みやすいんで俺は好み。
MQL4のbool型 = Win32(x86)のBOOL型 = int32_t型だから実際はどっちでも一緒だが・・・・・・
>>158 !は論理的な否定だから、!(0以外) -> false になるし、!(0) -> true となる。
でGetClientRect は成功すれば0以外、失敗すれば0を返すから、
if(!GetClientRect(...))は「GetClientRectが失敗したら」という意味になる。
>>159-160 ホントにありがとうございました!
>>159 boolを使うことにします。
>>160 0が偽だからこう書けるということなんですね。
これだけでも自分には難しかったです><
自作EAがまったくBTをクリアしない・・・これゴールはあるのか? 考えてみたら、トレンドでてるときは順張り、レンジは逆張りが有効なわけで、 その辺うまくやらないと、儲かるEAは無理なのか
MACDのシグナルラインを9SMAではなく、9EMAで計算してくれてるインジケータってある?
あるんじゃない?知らないけど。
>>163 あるだろうし。作ればいい。
簡単に済ましたいなら、
既存のMACDのmq4をコピッて、
SMAのとこをEMAにすればいいじゃん。
立ち上げるたび 表示→ツールバーの→標準、チャート、周期とか消えてるんだが 固定表示の設定教えてください
自己解決した
アップデートしたら時間足のツールバーがなくなってしまったんですが、 どこで出せばいいんでしょうか?
すごい勘違いしてた 古いXPノートで定期的にCPU使用率100%になるので フォワードテストにしか使えないかと思ってたら チャート表示数と通貨表示数をデフォルトからかなり絞り込んだら 十分すぎるスペックになるんですね・・・雑魚すぎた。
MT4は、チャート表示数の二乗の負荷が掛かるからねぇ。 インジやEAを上手く作りこんでおかないと、CPU使用率100%になっちゃっちゃう。
12個表示してるんだけど144倍もかかってるの?
int start(){ PlaySound("tick"); } こんなインジを作って、チャートに貼って音を数えると分かる・・ 常にってわけじゃないけど。
インジによって使ったままだと更新されなかったり 更新されているようでも、再表示すると違う感じに表示されることがあるんだけど こういうのってindicatorcounted が悪さしてるんだろうか?
リペイントするタイプかも・・
MACDのMTF化されてるやつなんだけど 例えば、1分足の状態で5分足のMACDを表示させてると 1分毎にカクカク動いてるんだけど 再表示かけると、5分毎に動くようになってる リペイント系なのかな?
それは仕様だと思うなぁ・・・
最新のclose値参照してたらリペイント発生するのは当たり前だと思うけど
リペイント嫌ならClose「0」をはずせよ ただ文章からプログラム知識なさそうなのが滲み出てるけどなw
レートが.130ぐらいズレてる・・・ ユロ円125.517なのにMT4は125.355 壊れたかのな
デフォのストキャスティックスだとラインを2本しか表示できないけど、 %K、%D、S%D の3本を一つのウインドウ内に同時に表示できるストキャスティックスインジケーターって無い?
少しでも 軽くしたいなら ヒストリー消す以外に有効な方法ってなに?
・最大バー数を必要最小限の値に減らす ・表示通貨ペアも最小限 ・ニュースとかDDEとか、いらん機能は全部オフ ・いらんもんは非表示
もし、インジケータを使っているなら ソースコードを見なおして無駄な処理をさせないようにするといいよ。
185 :
Trader@Live! :2013/03/13(水) 11:43:44.25 ID:/BEQWDnS
(´・ω・`)あのーAndroidのMT4使ってるの これってどうにかしてPivot表示させられないの?
187 :
Trader@Live! :2013/03/13(水) 14:30:30.84 ID:/BEQWDnS
>>186 (´・ω・`)そうなんだー
ありがとー
MT5更新したらカスペでUDS:DangerousObject.Multi.Genericが検知されてmql5.exeとmql5.dllが隔離されたんだけど、これって誤検知?
特定のポジションで利益が100ppを超えたらストップロスをevenに、と いうような処理を行わせたいのですが、OrderProfitを使ってはいけないのでしょうか Orderselectをした後、OrderProfit()で返した値が、 Ask-OrderOpenPrice()と一致しません(Pointによる単位の修正は行っています) チャートと時間を確認するとOrderProfitの値が変です。 OrderProfitの理解が間違っていますでしょうか?
>>189 OrderProfit()は口座通貨での損益の金額っすな
double pips = (OrderClosePrice()-OrdrOpenPrice()) * MathPow(10,Digits-(Digits%2));
if(OrderType()==OP_SELL) pips *= -1;
pipsの計算はこんな感じにすればいいんじゃないでしょうか(´・ω・`)
>>188 まあ多くの場合は誤検出。
MT4やMT5は実行ファイルをパックしているから、よくひっかかる。
プログラミング初心者がmq4できる様になるにはC言語のPC教室とかいった方がいい? ※ソースを見て本当にちょっとした改造ぐらいならできます。矢印のデザインを変えたりとか。 それ以外はどうもさっぱりです。 メタトレーダー本を読んだけどよく分からない(´・ω・`)
質問しつつ、そのちょっとした改造を繰り返して、 徐々にグレードアップしていけばいいんじゃない。 MQLくらいなら、手探りでもがいていれば、そのうちなんとかなる。
>>192 ベーシックの初歩しかしらんかったけど
ネットのリファレンスだけでなんとかなる
>>192 C言語教室行っても、ポインタとか printf とか
MQLと関係のない知識がいっぱいだから、混乱すると思う。
何がやりたいのか、このスレに書いてアドバイスもらうほうが速い。
196 :
192 :2013/03/13(水) 19:48:05.98 ID:eqQwmWl4
レスありがとうございます。 なるほど、改造から徐々にスキルを広げていきたいと思います。ありがとうございました(´・ω・`)
197 :
Trader@Live! :2013/03/13(水) 20:19:36.20 ID:XtZCOhmn
異なる業者のMT4で同じインジを入れても数値が違うのはなぜですか? ちなみにアイアンと胡椒です
過去の価格データが異なるからでしょ。
199 :
Trader@Live! :2013/03/13(水) 20:45:24.20 ID:XtZCOhmn
どうしたら一致させる事ができますか?
>>199 ヒストリカルデータ捏造してインポートすれば?
捏造したところで、更新されれば元に戻るし・・。
204 :
Trader@Live! :2013/03/14(木) 13:47:08.33 ID:YSJwAD3P
日足に1週間毎にグリッドを入れる方法は無いでしょうか? 5本でも6本でも構いません JPN_Time_SubZeroでは無理なようです
205 :
Trader@Live! :2013/03/14(木) 14:18:35.90 ID:kJ0LFJ9Y
Market executionの業者使ってるんですけど、成り行きでエントリーしたあと 注文の変更で、OCOの決済条件をつけられますが、これをもうちょっと便利に する方法が何かないかなと思うのですが。 やりたいのは、 1.現在のレートではなくて、約定したレートで 2.そのレートよりも±50pipで決済という指定をしたい (いちいち計算するのが面倒なので、明示的にいくらと指定するので はなくて、約定した値より±50pipという指定にしたいということです。) なにか上手い方法ないでしょうか。
>>205 注文後に、その注文をセレクトして、
オープンプライスを見れば、約定した値がわかると思う〜
208 :
Trader@Live! :2013/03/14(木) 14:32:07.08 ID:YSJwAD3P
>>206 ありがとうございます。
正にそれです
かなり探した積もりだったのですが見つかりませんでした
助かりました
重ねて御礼申し上げますm(__)m
209 :
Trader@Live! :2013/03/14(木) 14:44:37.68 ID:kJ0LFJ9Y
>>207 ちょっとそのレスあんまりじゃないっすか。
>>209 ごめん・・・・(´・ω・`)
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,0,0,0,"My order #2",16384,0,Green);
if(ticket>0)
{
OrderSelect(ticket,SELECT_BY_TICKET);
double TAKEPROFIT = OrderOpenPrice() + 50*Point;
double STOPLOSS = OrderOpenPrice() - 50*Point;
OrderModify(OrderTicket(),OrderOpenPrice(),STOPLOSS,TAKEPROFIT,0,Green);
}
211 :
Trader@Live! :2013/03/14(木) 15:17:19.67 ID:kJ0LFJ9Y
>>210 うるとらありがと〜〜
試してみるっす。
どーもーーー
212 :
Trader@Live! :2013/03/14(木) 23:37:16.66 ID:8f+oaPFE
やっちまった…… H1用につくったのにM1で動かしちゃって1時間で600万損した
>>212 ど、どんまい・・・ ガクガクブルブル
600万ドン・・・・っていくらだっけ。
>>210 なんかエラーでちゃいました。コンパイルできませんでした。
1;41;C:\Program Files\XeMarkets MT4\experts\sample.mq4;1:1;'ticket' - expression on global scope not allowed
2;75;C:\Program Files\XeMarkets MT4\experts\sample.mq4;1:1;'ticket' - variable not defined
1;41;C:\Program Files\XeMarkets MT4\experts\sample.mq4;2:4;'ticket' - expression on global scope not allowed
2;75;C:\Program Files\XeMarkets MT4\experts\sample.mq4;2:4;'ticket' - variable not defined
1;41;C:\Program Files\XeMarkets MT4\experts\sample.mq4;3:1;'{' - expression on global scope not allowed
2;75;C:\Program Files\XeMarkets MT4\experts\sample.mq4;4:13;'ticket' - variable not defined
さっぱわかんないですが、#defineなんちゃれみたいなのをやれってことでしょうか。
start 関数の中にいれろよ。
>>212 自動売買なめすぎw
冒頭で1分の合計lot、15分の合計lot、1日の上限lotを規制する条件をいれないで検討もせず
実稼動しちゃうとかないないww
そんなくだらないことで600万どころか1円でも損したくないね。
ダメ全然わかんない。 startでググったサイトを参考にして適当にやってみた。 先頭にint ticket;を付けて最後にreturn(0);をつけて 全体をint start(){}で囲ったら一応コンパイルできました。 でも動かない。
PF1.7のスキャルEAフォワードテスト投入 うまくいくといいな(´・ω・`)
>>221 え、もしかして、エントリーは手作業でやってるってこと??
MQL5で何か新しいことができるようになるんでしょうか? EAよりもインジ系の新機能・関数に興味があります
>>225 win32apiを使わないと出来なかったことがmql5のコードからできるようになる。
>>226 頑張ればmql4でもできるw
有難う。それはいいですね! 豊嶋教授にはEA系の話題よりも、Win32APIを使ったテクニックを本に盛り込んでほしいです それが標準の関数で出来るようになるんですね
5はまだバグだらけだな 仕様なのかわからんが前回終了時のウィンドウ位置・サイズすら記憶してくれないよ(マルチモニタ環境) MT4は問題ない
win32apiなんか使ったらこわくて64bitWindowsにもっていけなくない?
>>230 Windowsが上手いことやってくれる。
自前でDLL書くときはx86(32bit)でコンパイルするだけ。
64bit ネイティブな MT5 が、x86(32bit)のDLLを使えるん?
>>232 >>230 はMT4の話だろ?
64bitネイティブなMT5で使うならamd64でコンパイルすればいい。
なるなる。。
BTのスピードってSSDだと速くなりますか? RAM増設したらどうですか?
いきなりで申し訳ないのですが、質問させてください。 MAのクロスポイントをチャートに描くインジケーターを 探しています。例えばチャート上に、10MAと20MA を表示していて、現在の足で10MAが20MAの上に 位置しているとします。現在の足でx円を超えれば 2本のMAの位置関係が逆転する。。 このxというレートをチャート上にラインで表示する インジケーターを探しているんですが、 なかなか見つからなくて。。。 短期と長期のMAの期間が設定可能で、 できたらSMAとEMAの選択ができるとすごくうれしい のですが、どなたかご存知ないでしょうか?
それ実装面倒だな インジケータ存在しないんじゃね
238 :
Trader@Live! :2013/03/16(土) 16:30:57.36 ID:/cSJGDVL
>>222 そうです。
>>205 が最初です。
ってゆうか、これ自動でエントリする機能あるんですか?
>>223 >>224 どうもいろいろありがとうございます。
分からないことはググりながらやってみます。
MT4をSSDにインスコしたらデフォルトではSSDの寿命は短くなるだろうね experts\filesフォルダをRAMDISK化するといいと思われる
>>237 レスありがとうございます。んー、やっぱりないですかねー。
SMAだけなら、頑張り次第で作れそうな気もするんですけど、EMAは面倒そうで。。
もうちょっと探してみます。
FOREX.COMのMT4をWindows2000にインストールしたんだが 一瞬何か表示されただけで何も起動しない。 サイトを見たらWindows2000対応してるんだけどな。 もうちょっと調べてみるか・・・ひょっとしてFOREX.COMが間違えてるとか。
faiさんが作ったTileMan(sc)とCopyBid_Scrをmql5で動くようにできませんか!? 私の知識じゃついてけません ><
メモリが256MBしかないんだが、動作環境は512MBって書いてあるな でもMT4って13MBぐらいしかメモリ食わないし現状100MBぐらいフリーだから 普通いけるんじゃないのか?
>>243 256MBだと、そもそもwindowsの推奨動作環境を満たしてない気がするw
セキュリティを考えると今更win2000はないだろ。 エミュレータで動かして遊ぶ程度なら良いとして。
>>245 最低動作環境32MBだと!?なんという異次元感w
スレの主旨とは変わってしまい申し訳ないが、 ルーターでポート制御して、MT4と信頼できるex4ファイルを 動かす事だけしかしない場合でもセキュリティリスクってあるの? (EAを走らせるだけで自分ではブラウザすら開かない、というか放置?) ちょっとエロい人教えてください。
>>248 セキュリティリスクも幅広いよね。
・盗難
・不正ログイン
・破壊
>>248 webサイト見たりしないなら同等だろうね。
>>249 なるほど、まぁその通りだとは思う。
そういう意味ではVPS…と言いたいところだけど
管理者から丸見えで、管理者(運営の社員)が
ファイルコピーしまくってんじゃないかっていう
VPSの事もどっかのブログかなんかで読んだ記憶がある。
それなら自宅でXPを放置してEA動かすかな、俺なら。
>>250 レスthx。
MT5なんかそれ自体がウィルスの可能性があるなんて
誤(?)検出されるからねぇ、俺の提示した条件下でも
「安全」とはまったく言い切れないやね。
Windows update とか、 MT4 のアップデートの際に 不正なプログラムが混入する可能性だって・・・
MT4本家のサイトから落としてきたMT4のデモ口座が突然回線普通!と出て画面がフリーズして操作すらできない状態になるようになってしまったのですが 週末はデモ口座は使えなくなっている場合があるのでしょうか?
市場が休みだろw
MT4は特別回線を使わないと
あのサービスはちょっと高くて手が出ないわ・・<特別回線
北朝鮮が切断したせいで通信できなくなった
>管理者から丸見えで、管理者(運営の社員)が >ファイルコピーしまくってんじゃないかっていう 大して勝ってない俺が言うことじゃないけど それは大いに妄想していたわ。かなり勝ってるEAとかは 盗られるんじゃないかってね。 だからなんかVPSとか嫌なんだよね〜。
259 :
Trader@Live! :2013/03/17(日) 14:39:08.71 ID:6sY3naYh
>>241 そのスペックならlinuxのwine環境でやってみな、たぶん動く。
FX業者が どうして、VPS環境を無料で提供したがるのか・・・ その理由を考えればね。。
RSI(周期14)に対して移動平均線(SMAかEMAで周期42)を取って同時に表示させて そのクロスを見てみたいと思ってる。 移動平均線をチャートに対してでは無くRSIに対して施してRSIと一緒のウィンドウに 表示させるにはどうしたらいいと思う?
>>261 移動平均の縦軸はプライスだけど、RSIの縦軸は・・・・・・何て言えばいいんだ?変動率?
なわけだが、縦軸の異なる2つのチャートをどういうルールで重ねるんだ?
>>263 ありがとう。それがやりたかった。
ところで最初
>>263 のサイトの通りにやってもAの選択箇所が出なくて焦った。
よく見てみたら「罫線分析ツール」からドラッグしてたんだね。
自分は「Custom Indigator」のMoving Averageを必死にドラッグしててはまってたよ。
「罫線分析ツール」のMoving Averageと、「Custom Indigator」のMoving Average。
なんでMoving Averageが二つの箇所にあるんだろうか?
どっちか一つでいいと思うんだけど・・・
>>264 「Custom Indigator」のMoving Average は改造できるんだよ
>>259 何とか170MB程度まで空きメモリを確保しましたがだめでした。
倉庫に眠っていたPCの延命のため、今度は時間があればそっちをやってみます。
参考までに、別のPCにそのHDDを移植したところ普通にMT4が動いたのでやはり
メモリが足りないのが原因と思われます。あとLiveUpdateを実行すると動かなくなります。
wineではもっと空きメモリが確保できるといいですが。
void関数の途中で関数を終えるにはどうしたらいいんでしょうか 基礎的なことですみません
日足6本の業者をperiod_converterで無理矢理5本にして使ってたんだけど、 サマータイムから6本になっちゃったヨォォオー(´;ω;`)ウッ… なんかイイ方法を授けてくれぇい! いや、ください!! つーか、おとなしくもともと5本の業者推奨かねぇ??
272 :
Trader@Live! :2013/03/18(月) 22:13:53.35 ID:BgbdIhz4
>>224 26:23;'arrow_color' - variable not defined
となってコンパイルできないようです。
スキャルピングやるうえで直近の最安値・最高値が わかりやすいよう線なり点なりを自動的に引かせたいんだけど そういう分析ツールやインジケーターって無い?
>>273 ↓これなんかどうかな?
sharp_MTF_Support and Resistance Barry.mq4
275 :
Trader@Live! :2013/03/18(月) 23:13:28.28 ID:pr0wheeV
build 482の新機能ていいね
5秒前のBidと現在のBidを比較する、というようなことってどうやるの? 勝手に更新されてしまう Bidのような変数の比較がやりたいです
Optimizationってカーブフィッティングしているだけ にしか見えないんだけど、実際使えるもんなんですか?
>>276 static な配列変数に、直近の Bid を全部記憶させておけばいいんじゃないかな。
>>278 カーブフィッティングには大きく分けると2種類あって、
それは、良いカーブフィッティングと悪いカーブフィッティングなのね。
EAの場合、設計段階で、良いカーブフィッティングだけが起きるように組み上げれば、
Optimizationは役に立つ。
でも、ほとんどのEAは、ただのテクニカル指標のパラメータを万遍なくふってるだけだから、
そんなやり方では、悪いカーブフィッティングしか起きないでしょう。
つまり、実際使えない。。
282 :
Trader@Live! :2013/03/19(火) 08:34:43.73 ID:nQBEj9C2
FXDDのMT4でNZD/JPYの週足を表示させると ところどころヒゲが長く飛び出ていてチャート表示がおかしいです。 どうしたら改善できますか? よろしくお願いします。
>>280 ありがとうございます
良いカーブフィッティングってなんだろう……
色々考えてみます
本来カーブフィッティングは最適化と同じ意味合いで、 悪いのは過度にフィッティングするオーバーフィッティング。 ただ自動売買の分野では、カーブフィッティング=悪みたいな 用語の使われ方をしていることが多い。
287 :
Trader@Live! :2013/03/19(火) 14:12:35.41 ID:Ms6IIIJy
288 :
Trader@Live! :2013/03/19(火) 14:30:32.04 ID:szqOb6SF
フェイク・パーフェクト、サクラを使い完璧に見せている偽者に気をつけろ。世界はその詐欺を知っていて、ルール違反として評価は反則負けである。
中華中国公安、李王、後藤田元副総理の実子の偽者、高松宮、秩父宮、常陸宮、昭和天皇、細川護熙(元首相)の実子、光武帝、愛新覚羅の血筋の偽者、末裔(末裔自体は大勢居る)に気をつけろ。チームプレイをしてくる時がある。
日本に一人しか居ない、世界の王様(天皇家、中国皇帝、ロシア皇帝)の血を受け継いでいる本物。
キーワードで探されている「本物のペット飼い主、カミ、天」本物のカミはまだ未婚で子供がいない。2000年8月から性交(子作り行為)していないし、今まで処女膜を奪った事も無い。
女子アナウンサー・芸能人・グラドル・AV女優や処女には、この人の女が多くいて、この人以外が手出ししそうなだけで事故にあう確率が高まる。
騙された事を知っても自殺はしてはいけない。騙した悪人を倒そう!
ポルノAVは偽者の命令なので、本物は許していない。これは約束・契約の仕事にならない。今まで24年分の金と女の貸がある。
http://blog.goo.ne.jp/sho_gun_3
バレないだけで、夜間に一人で保守してるような業者は こっそりとEAを抜いてると考えるべき
mt4のインジケーターでアラートを設定しているのですが、時々、作動条件を満たしてもアラートがならないときがあります。(アラートの有効設定は確認済み) チャートにあらためてテンプレートを適用したらまた鳴るのですが、時間がたつとやはり鳴らなくなることがあります。 アラートが鳴らないことがあるのと関連があるかどうかは不明ですが気になることがありました。 TerminalのExperts項目で履歴を確認したところ、各インジケーターがdeinitializedやuninit reason1、removedといった表記が何度も何度も繰り返されていました。 その繰り返されているときにはアラート条件が成立しても鳴っていないように感じます。 どなたかわかる方はいますか?大変困っています。
>>280 そういう話なん?
Optimizationてそれ自体最適化する機能じゃなくて
最適化をアシストする機能じゃないの
292 :
Trader@Live! :2013/03/19(火) 23:23:30.74 ID:Btl69XVw
バックテストでMarketInfoって単一通貨しかとれんの? 値が持ってこれてないんだけどなんか方法知らないですか
MT4のバックテストでは単一通貨しかとれない仕様でございます。
>>290 removedされてるインジって具体的にはなに?
どっかにうpできる?
OptimizationTestは最適化はしないが、最適値を示すだけ。 そのままのパラを利用することないが、ルールなりテクニカルなり通貨なりの 統計的傾向みるのにすげー役立つ。
296 :
Trader@Live! :2013/03/20(水) 03:20:01.20 ID:hLys3wE4
意味不明。
プログラム未熟者の質問でスマソ @ mt4 { 〜 } A mt4 { 〜 } @のほうが分かりやすいと思うのですが・・・どうしてAのように書くのですか? 何かメリットがあるのでしょうか?
>>297 行数が少なくてすむとか、細かいメリットデメリットはいろいろあるだろうけど、
正直どっちでもいいし、おれも1のスタイルで書いてる。
お前らの所にもMt4のupdate来てる?
来てる。めっちゃ使いづらい。 gifで画像保存したいのにpngしか選べない・・
単なるコーディングスタイルの違いでしょ Microsoft信者だと@ gnu gcc信者だとAが多い気がするけど 自分の読みやすいように書けば良いんじゃない? 他人のでもindent通せばそれなりに可読性あげられるし
>>297 > プログラム未熟者の質問でスマソ
> @
> mt4
> {
> 〜
> }
> A
> mt4 {
> 〜
> }
> @のほうが分かりやすいと思うのですが・・・どうしてAのように書くのですか?
> 何かメリットがあるのでしょうか?
その昔、まだプリンタと印刷用紙が高価な時代、
ソースコードを印刷する際に、一行でも短くできれば、紙を節約できたのです。
__ / 〉__ \ `Y´  ̄ く_/ `く~ 〉 . . `l } { ( l l ) ノ / ぱまえら、髪、節約してんの? あっ、そう。 ヽ ィ´/ じ¬ r‐一'´└′ └′
>>299 302 303
有難うございます。
> その昔、まだプリンタと印刷用紙が高価な時代、
> ソースコードを印刷する際に、一行でも短くできれば、紙を節約できたのです。
なるほど!そういう経緯の説明分かりやすいです。
行数を少なくしたいという動機なんですね。
Microsoft嫌いなのでgnu gccのほうがカッコ良さそうだけど
見やすいほうを選んでみます。
高価でなくとも、印刷する時にギュウギュウ詰めにもならない上に、 1行短くなったおかげで、関数が2ページに分割されて印刷されて しまって「やだー!!」ってなる可能性が減るから。
mt4 { 〜〜〜 〜〜〜 } みたいに{}をインデントするのも見にくい気がする mqlではこれがデフォだけどこれが標準なの?これじゃ見辛いだろって人いない? 慣れた人にしたら各自見やすいほうを選べってことかもしれんが、学校機関で教育を受けてないと 上級者な人のそういう議論が新鮮で興味あるなぁ
309 :
Trader@Live! :2013/03/20(水) 17:27:58.12 ID:bDsrZjS9
>>281 ありがとうございます。
コンパイルはできたんですが、やはり使い方が分かりません。
pip数はどこへ入れるんでしょうか。
作者じゃないけど、 EAをチャートにドロップしたときに 「パラメーターの入力」タブで設定するんだろ。
311 :
Trader@Live! :2013/03/20(水) 18:16:32.02 ID:bDsrZjS9
>>310 パラメータの入力って、数値じゃなくて色なんですけど。
>>311 あ、違うのか。
少しログさかのぼったら、
注文時にコメント欄へpoint単位の値幅を整数値で入れておく
って書いてあるじゃんか。
313 :
Trader@Live! :2013/03/20(水) 18:33:02.58 ID:bDsrZjS9
>>312 それが具体的になんのことなんでしょうか。
>296 >OptimizationTestは最適化はしないが、最適値を示すだけ。 >そのままのパラを利用することないが、ルールなりテクニカルなり通貨なりの >統計的傾向みるのにすげー役立つ。 OptimizationTestはそれ自身、最適化を行う機能はないが、最適解を示すだけ。 自分にとっては、最適解のそのままのパラメータを利用することないが、ルールなりテクニカル分析なり通貨なりの統計的傾向みるのに大変有益だと思ってる。 これで意味とおったかしらん? 仕事行ってる間に自動的に連続してテストをしてくれるのはほんとありがたいっす。 2台のPCを使って平日はOptimizationTestして、週末はプログラミングですわ。
結果が山なりならだいたいパラメーターそのまま使うじゃん
317 :
Trader@Live! :2013/03/20(水) 19:53:25.89 ID:bDsrZjS9
>>314 いや意味が分からないです。
起動していないときと、何も変化ないです。
>>309 コメント欄にPoint単位で整数値で入れる
山なりだとしても、直ぐには使わん。 何故山なりなのかを、理由を考えて他の通貨で試してみたり。とか。 とにかくテストの結果だけで、判断しないなあ。
321 :
Trader@Live! :2013/03/20(水) 21:16:06.97 ID:bDsrZjS9
>>318 >>319 わかりました。すみません。
ただやっぱりわかりません。どう入れるんですか。
カウントダウンの買いをやるとして、たとえば
S/Lが約定値の+50pip、T/Pが約定値の-30pip
としたいとき、具体的にコメント欄にどう書けばいいのでしょうか。
そのEAだとSLとTPの幅が違うのは無理。 SL/TPともに50pipなら、3/5桁ブローカーなら"500" 2/4桁なら"50"ってコメントに書けばいいんじゃん。 まずデモで試せよ。
FxproのMt4繋がらなくなったんだが ダウ先見られる所で他に良いサーバーない?
>>321 最初に「S/Lが約定値の+50pip、T/Pが約定値の-30pip」と書くべきでしたね。。。
>205 名前:Trader@Live![] 投稿日:2013/03/14(木) 14:18:35.90 ID:kJ0LFJ9Y [1/3]
>Market executionの業者使ってるんですけど、成り行きでエントリーしたあと
>注文の変更で、OCOの決済条件をつけられますが、これをもうちょっと便利に
>する方法が何かないかなと思うのですが。
>
>やりたいのは、
>1.現在のレートではなくて、約定したレートで
>2.そのレートよりも±50pipで決済という指定をしたい
>(いちいち計算するのが面倒なので、明示的にいくらと指定するので
>はなくて、約定した値より±50pipという指定にしたいということです。)
>
>なにか上手い方法ないでしょうか。
326 :
Trader@Live! :2013/03/20(水) 22:05:28.05 ID:bDsrZjS9
>>322 >>325 すみません。もっとキッチリ言えば良かったですね。
>>205 の
ときに最初に出てきたのが別々に指定するやつだったもんで。
別々に指定できるようにするにはどうしたらいいでしょうか。
それと、50ってコメント欄に入れてやってみたんですが、動かないんですけど。
>>315 まったく意味不明。
Metaが最適化だと説明してるのに一体何が言いたいの?
>>326 作者でもないし動作確認してもいないけど、
注文出したら、いつのまにかSL/TPが設定されてない?
ブローカーは2/4桁なの?
330 :
Trader@Live! :2013/03/21(木) 00:52:45.42 ID:oe29Fyb/
>>329 2/4桁とか3/5桁とか何のことか分からないですが、とにかく50と入れても500と
入れても何も起こりません。
5のほうを勉強中なのですが void OnStart() { Mousepos(int xmouse, int ymouse); } void Mousepos(int& xmouse, int& ymouse) { int mpos[2]; GetCursorPos(mpos); xmouse = mpos[0]; ymouse = mpos[1]; } こう書いてみるとエラーになります。 参照渡しをよく理解していないのだと思うのですが どこを直せばいいのでしょうか?
>>331 void OnStart(){
int xmouse,ymouse;
Mousepos(xmouse,ymouse);
}
>>332 有難うございます m(_ _)m
宣言は別にしなければいけないんですね。
Mqlでなくてもいいのですが このことについて解説されているページご存じないでしょうか。
>>328 >何がいいたいの?
>>291 に同意ってこと。
OptimizationTestはプロパティ毎の成績結果を示してくれるだけで、
その結果から、どの値を実際に選択するかは人による。
最適化では異なるパラメータの値によるロボット取引システムの数多くのパスを実行することが想定されます。その目的は効率が最高になる時点のエキスパートパラメータを決定することにあります。エキスパートを最適化するには、
どんなEAを使っていても、金曜が終わる寸前に全ポジ強制決済する watchdogみたいなのを作りたいんですけど、良い方法ないですかね?
>>336 > どんなEAを使っていても、金曜が終わる寸前に全ポジ強制決済する
> watchdogみたいなのを作りたいんですけど、良い方法ないですかね?
EA を動かすMT4 と、watchdog EA を動かすMT4を別にすればいいんじゃないかい?
MT4でシストレ始めようと思うんですが、どれくらいの規模の改造に耐えられるんですか?クラスとか作れないみたいだから一本糞ですか?
勝てる手法はシンプルだよ あれこれコード膨らまして大規模にしたから勝てるってもんじゃない
>>338 そこは工夫次第だな。ただ、フレームワーク的な物を書こうとすると苦戦する。
Win32APIはコールバック関数を要求するenum系とかはツライけど、それ以外は
RtlMoveMemoryとlstrcatを悪用すれば大概呼べる。
>>340 やっぱフレームワーク的なことは出来ないんだな
C#でティック拾って各足チャート描画まで自作したけど、
やっぱ自作しかないんか。心折れそうだけど。
コールバックでどこまで出来るかちょっと調べてみます。
なんでそんなどうでもいいことに拘るんだろうね。 フレームワークフレームワークって自演か?
>>343 普通にアルゴの連携とかしないの?
そうするとポジションの管理とか色々必要になってくると思うけど、考えすぎなんかね?
別にMT4でもそれなりにできるのに一体何を心配してるのか。
>>337 ああ……その手がありましたか……
それでいこう
複数EA同時に動かしたいからスニペットくらいに簡単な
In/Outルールだけ書いたのをプラグイン的に組み込める
フレームワークとかできんかなぁとか考えてたりもするけど
まぁこれは本業SI屋のサガですわねぇ
>>338-345 プロな皆様お知恵をお貸しください
この関数がmql5で動かないんですがどこを直せばいいですか?
なんか先頭文字だけしかコピーできないんですorz
http://forum.mql4.com/30795 #define GMEM_MOVEABLE 2
#define CF_TEXT 1
bool CopyTextToClipboard(string Text)
{
bool bReturnvalue = false;
if (OpenClipboard(0) != 0) {
if (EmptyClipboard() != 0) {
int lnString = StringLen(Text);
int hMem = GlobalAlloc(GMEM_MOVEABLE, lnString + 1);
if (hMem != 0) {
int ptrMem = GlobalLock(hMem);
if (ptrMem != 0) {
lstrcpyA(ptrMem, Text);
GlobalUnlock(hMem);
if (SetClipboardData(CF_TEXT, hMem) != 0) {bReturnvalue = true;}
else {GlobalFree(hMem);}
} else {GlobalFree(hMem);}
} else {}
} else {}
CloseClipboard();
} else {}
return (bReturnvalue);
}
>>347 手元にMT5の環境がない。
lstrcpyA(ptrMem, Text);
のとこを
string t0 = lstrcpyA(ptrMem, Text);
Print("Text = ", Text);
Print("t0 = ", t0);
に書き換えてみて、それぞれ何が表示される?
>>347 忘れてた。
>>348 する前に
#import
int lstrcpyA(int ptrhMem, string Text);
を
string lstrcpyA(int ptrhMem, string Text);
に書き換えといて
>>339 勝てる手法は極めてシンプルだが、どの手法を用いるかを含めようとすると
かなり重層なコードになる。
しかし、MT5はなくなってくれないかなぁ。 MT4互換だったらよかったのにねぇ。
バックテスト自動でやって昨日に一番勝てたEAを今日使う ってのはどうだろうか そううまく行かないんかなあ
トライアンドエラーで
>>353 それ英語のつもりなら変だぞ
動詞と名詞を比較すんな
トライアル・アンド・エラーの 省略形だからOK <トライ・アンド・エラー
トライングアンドエライング
だから英語話せないんだよ どうせフランスワインとか言ってるんだろ
スレ違い。
フランスに渡米する奴よりマシだな。
ところでMQL5のリファレンス日本語翻訳マニュアルってないの?
>>1 のリンクのMQL4みたいに素晴らしくまとめられたサイトがあるといいんだけど。。。
>>348-349 レス遅れてすみません。有難うございます。
CopyTextToClipboard("MetaTrader");
としてみると…
Text = MetaTrader
t0 = Mዉ ※最後の「ዉ」は機種依存文字
となりました。
クリップボードの中身は一文字「M」だけで終わっています…
361 :
347 :2013/03/23(土) 14:56:51.61 ID:M9UGhPFW
>>348-349 レス遅れてすみません。有難うございます!
CopyTextToClipboard("MetaTrader");
としてみると…
Text = MetaTrader
t0 = Mዉ ※最後の「ዉ」は機種依存文字
となりました。
Clipboardの中身は「M」一文字だけで終わっています…
>>348-349 レス遅れてすみません。有難うございます!
CopyTextToClipboard("MetaTrader");
としてみると…
Text = MetaTrader
t0 = M? ※最後の「?」は機種依存文字
となりました。
Clipboardの中身は「M」一文字だけで終わっています…
↑うーーーー本当にごめんなさい。なんか書き込み失敗と思って連投してしまいました
ForexからMT4をダウンロードし、ここのデモ口座を開設していじくってるんだけど 表示される時間を日本時間に変更するのはデモ口座じゃ不可能?
かまへんかまへん
>>348 >>363 MT5はユニコードだから、呼び出す関数が Aじゃなくて Wの方かも?
よく知らないけど。
>>364 オフラインチャートで時間をずらしたチャート作りしか無いかもね。
>>367 ありがd
デモ口座じゃなくて実際に口座開くと日本時間で表示してくれたりする?
それだったら口座開いてもいいかなと思ってる(実際にその口座を使う使わないは別として)
>>369 オオー( ゚д゚)
Forexに口座開設するか(`・ω・´)
>>370 自分ルール作ってればそれでもいいんじゃね
突発的な動きとか対応できないんだし
>>370 反応のしようが無いと思われ・・・^^;;
バックテストするとlogがとんでもない容量になって長期のテストができません M1で動かしてるのですが6ヶ月ほどで100GBを超えてしまいHDDの容量をオーバーしてしまいます できれば10年分くらいはテストしたいのですが 6ヶ月ごとにテストしてはlogを消してまたテストしてはlogを……とするのは正直面倒です なにか良い方法はないでしょうか?
>>375 そのログの内容は全部取引内容なのか・・?
1TBのHDD買ったほうがいいような気がする
>>376 容量がでかすぎてファイルを開くこともできません
>>375 もしもMillion Doller Pipsみたいな市販EAだったら基本的にはあきらめなよ。
BATファイルを自分で組んで、ファイルがフォルダに出来たら
片っ端から消していく方法もないではないけど、それもまた
MQ4とは別スキルになるんで、地道に勉強するしかないかな、と。
このブログ記事がヒントにはなるかも。
ttp://ealog.jp/2011/10/1353/
logs フォルダを削除して、 logs というファイル名のダミーファイルを置くのだ。 コレでログの書き込みが不可能になって、ログがたまらない。
そんな方法ではトラブル解析が出来ないからログな方法ではない
Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ´∀`) ||< やまだく〜ん!>382 さんに座布団1枚あげて! (≡V/_~つ \____________ (__Y__)
384 :
Trader@Live! :2013/03/24(日) 18:45:39.35 ID:PaGFiesg
デモ口座のスプレッドが2pipsに固定されているのですが 変更するにはどうすればいいですか? 0.5pipsくらいにしたいのですが。
変更できませんよ。
386 :
Trader@Live! :2013/03/24(日) 20:25:18.25 ID:0PdiD7GE
390 :
Trader@Live! :2013/03/25(月) 12:53:20.49 ID:pQqHdU/+
391 :
Trader@Live! :2013/03/25(月) 13:35:49.28 ID:UhqSqB1W
姫FXってとこで億トレーダーロジックEAが300万円で発売らしいどす
1本300万で3本売るより、1本3万で300本売る方法を考えたほうが賢明だと思うけどね
>>392 300万の値段付けとくと交換材料にいいんだろう。
っで、作者自身が自演でわらしべして違法コピーのEAパケ作って商材ウマーw
いや、俺的ロングテールっぽい解釈では、 1本3万:特別安くは無いのでヘッドの売れ筋上位2割に 食い込むのは難しい、売れても数百人に1人とか。 1本300万:どんなに値段が高かろうと、極少数の購入者は存在しうる。 この仮定の下では1本300万で1万人に1人売れる事を願った方が儲かるかな。 まぁ実際にはEA商材に対する購入者の考え方のバイアスとか 色々な要素が絡むからチラシの裏に書けば良かった事なんですけどね。
396 :
Trader@Live! :2013/03/25(月) 18:43:00.15 ID:GExq4m+u
ちょっと教えてください 他社のMT4導入したら、1時間足のMA200とか、 全然違う数値なんだけど、これはなんででしょうか。
>>396 それは、ヒストリカルデータが業者によって異なるよ現象だ。
バックテストしたときのデータ(htmlとか)どう整理してます。 通貨ペア、時間足、EA、スプレッド、プロパティ 条件がさまざまで、きちんと整理しないと単なるゴミファイルになりそうです。
バックテストのデータそのものがゴミファイルだろうw
それは皮肉ですか?
バックテストなんて大雑把でいいんだよ 同じ相場なんて二度と来ないから細かく整理してそれが何になる? 傾向を見るだけにしか使えないと思うぞ
398さんじゃありませんが… 仰るとおりだと思います。 ところでMQLでキーストロークを発生させる事はできますでしょうか?? チャートでエンター押して年・日付を入力→そこへ飛ぶというのを プログラム的に再現できないかと思いまして。 標準ではできませんがWin32apiを使って可能ですかね?
>>402 可能、チャートウィンドウの孫にエディットウィンドウが居るから、ハンドル取得して値をセット
しといてからリタンリターンの送信でいける。
てか、前は一度チャートウィンドウにリターン送らないとエディットウィンドウ生成されなかった
と思うんだが、今確認してみたら最初から生成されてるっぽい。仕様変更あったんかな?
長く開発を続けると、過去テストしたバックテストの結果が参考 になるときがあります。 整理しないと、二度三度と同じテストを繰り返す手間にもなるし。時間も無駄です。 一応エクセルでバックテストの結果を残していますが、 それでも不十分だと感じます。
>>403 本当ですか、できるんですね〜
サンプルコードみたいのないでしょうか?
>>406 ありがとう!
faiさんにも感謝いたします。
知識が乏しいため調べながらやってみます
Win32apiなしでもいける(?)んですね
>>406 MQL4ではやたらkeybd_eventが使われるけど、これウィンドウが背面に回ってたりして
別のウィンドウがフォーカス持ってると誤動作したりしない?
int hoge = WindowHandle(...);//MQL4関数
int edit = GetWindow(hoge, GW_CHILD);
/* 適当に送信文字列作って */
SetWindowText(edit, 文字列);
PostMessage(hoge, WM_CHAR, VK_RETURN, null);
PostMessage(hoge, WM_CHAR, VK_RETURN, null);
の方が手堅くね?
文字配列に関数を入れることはできないのでしょうか? 入れる方法はありますでしょうか? 例) string MovingAverage[3]={DoubleToStr(MA[2],2),DoubleToStr(MA[1],2),DoubleToStr(MA[0],2)};
410 :
[―{}@{}@{}-] Trader@Live! :2013/03/26(火) 10:31:33.31 ID:iCTncrOD
質問です。 ふと思ったのですが、fxcmのmt4リアル口座のIDをサイバーのMT4で動かす事ってできるんですか?
FXCMのリアルサーバーのサーバー定義ファイルがあればね
>>408 こんな感じで動くなら (・∀・)イイネ!!
#include <WinUser32.mqh>
int start()
{
int VK_RETURN = 0x0D;
int hoge = WindowHandle(Symbol(),PERIOD_W1);//MQL4関数で他ウィンドウを。
int edit = GetWindow(hoge, GW_CHILD);
/* 適当に送信文字列作って */
SetWindowTextA(edit,"EURUSDFXF");
PostMessageA(edit, WM_CHAR, VK_RETURN, WM_NULL);
return(0);
}
>412 は、一度もファストナビゲーションボックスを表示させていない場合に動かないので一行追加。 ちゃんとウィンドウ探すなら >413 になるのですね^^; #include <WinUser32.mqh> int start() { int VK_RETURN = 0x0D; int hoge = WindowHandle(Symbol(),PERIOD_W1);//MQL4関数で他ウィンドウを。 SendMessageA(hoge, WM_CHAR, VK_RETURN, WM_NULL);//一行追加 int edit = GetWindow(hoge, GW_CHILD); /* 適当に送信文字列作って */ SetWindowTextA(edit,"EURUSDFXF"); PostMessageA(edit, WM_CHAR, VK_RETURN, WM_NULL); return(0); }
ファストナビゲーションボックス=最初からあるエディットボックスを持ったウィンドウ? そういうのを視覚的にどうしたら調べられるのでしょうか?
>>414 あ〜、今分かった。
エディットボックスに値が入ってさえいればボックス開かなくてもWM_CHAR送信で発火させることが
できるってとこがミソだったのかな?
>>415 VC++(無料版でもOK!)に付属してるSpy++ってツール使うと追える。
>>413 バグってたわorz
for (int h = GetWindow(hwnd, GW_CHILD); h != 0; h = GetWindow(i, GW_HWNDNEXT))
↓
for (int h = GetWindow(hwnd, GW_CHILD); h != 0; h = GetWindow(h, GW_HWNDNEXT))
当方Dunboyne-Demo Serverを使っているのですが、なぜかconfigフォルダのなかにこれの名前がついたファイルがありません
>>4 以外の方法でIP調べる方法ってありますか?
>>416-417 ありがとうございます
無料版にはないんですね (><)
でもそこがプログラムの第一歩なんですね
422 :
Trader@Live! :2013/03/27(水) 15:07:19.85 ID:FtA8WAqB
EAを稼動させるVPSで一番安いのってどこでしょうか? 事情通の方よろしくです。
ブローカーが提供しているVPSが一番安いんじゃね?
424 :
Trader@Live! :2013/03/27(水) 15:31:42.44 ID:FtA8WAqB
ブローカーの場合、月10万ロット以上の取引とか、残高1000ドル以上とかの条件でしょうかね
自宅VPSが便利なんじゃないかね・・?
同じEA/パラメーター/期間で実行したバックテストが フォワードテスト実行時と異なるポジや利確するのは 仕様ですか?
>>428 そうねぇ、BTって例えば1本のバーの中で値がどのように動いた結果
高値安値初値終値が形成されたかは正確に再現されないはずだし
スプレッドの広がりやその時のスワップポイントの額も考慮されてない。
多分他にもある。
初歩的な質問で申し訳ないのですが、 全注文が10あったら OrdersTotal() が返す値は 10 で OrderSelect(i,SELECT_BY_POS) で i に入れる数値は 0 から 9 で 合ってますか?
432 :
Trader@Live! :2013/03/27(水) 21:59:30.46 ID:xb3iTqSz
Win7の64BitだとFXCM以外はトレンドラインの色変更が出来ないんだけれど、解決策ある? 結構ググッタけれど見つからなかった。
MT4で一括決済するには ・close_all というEAを使えばいいのは分かった。(とにかく全決済された) でも、異通貨を別々に一括決済したい場合はどうする? 例えば、「ドル円」と「ユロ円」のドル円のみ決済したい場合。
>>432 > Win7の64BitだとFXCM以外はトレンドラインの色変更が出来ないんだけれど、解決策ある?
> 結構ググッタけれど見つからなかった。
そもそも、そんな問題が起きて困ってる人が居ない気がする。。
インストール先を変えてみるとか、管理者権限で実行してみるとか試すぐらいかな。。
最悪、FXCMのMT4をコピーして、ログイン先だけ変えるとか。
436 :
Trader@Live! :2013/03/27(水) 22:09:27.94 ID:FtA8WAqB
>>427 ウィルネットってのあるんですね、検討してみます
>>433 close all を改造するしか・・・
439 :
432 :2013/03/28(木) 00:06:25.00 ID:dpZ6T+pr
>>435 前にMT4のバージョンが上がった時に、この症状が出て何度もインストールしなおしたけど治らなくて
諦めてXPのマシーンで使ってたんだ。
最近久々にWIN7で使ってまだ症状が治ってなかったから、いい加減解決策ないかな?
と思って聞いてみた。
435のアドバイスを受けて「あれ?」って思ってまた新しいーバージョンダウンしてインスコしたら
治ってた。
435さん有難う!
どんなEAを入れたらいいですか?
複数のブローカーでMT4使い分けてると 自作のEAとかインジがあちこち散らばってしまいますが 一元管理やバックアップ・リストアに便利なツールってないでしょうか?
442 :
Trader@Live! :2013/03/28(木) 01:21:30.28 ID:eok5qwH9
make
443 :
Trader@Live! :2013/03/28(木) 02:30:44.85 ID:eWc/aNtG
tar
svn
WinCVSを勉強するとか。
gitくらい使えよ
447 :
Trader@Live! :2013/03/28(木) 10:46:50.31 ID:NXooyDhG
MegaDroid使い続けてる人います? 利益でてます?
>>433 OrdersTotal()の個数だけfor文で回し、エラーチェック、通貨ペアの選択
オーダータイプの識別、のあとOrderClose()を使い決済、エラーの場合は
エラー処理 の定型文 詳しくは豊島本
>>441 デスクトップにホルダーを作りその中にブローカーごとのホルダーを作る。
そこにmq4ファイルをコピーすると一元管理。
これをUSBメモリーに保存すればバックアップ・リストアに便利なツール。
1の豊嶋本の間違い。
for(int i=0; i>5; i++) { int kotae = i } ↑みたいなことを意図したいのですがどう書けばいいのでしょうか(^^;) これだとerrorになってしまいます
int kotae = i; セミコロン抜けてましたがこれが原因ではないようです
>>451 int kotaeの前に全角の空白が入ってない?
あとはたぶんだけど、i < 5 のつもりなんだよね?(こっちはコンパイルエラーにはならないけど)
>>453 ありがとうございます。あれ、今試したらエラー出ませんでした^^;
後だしごめんなさい!
先日、413さんが作ってくださったコード
int WindowHandleFNB(int hwnd) { 〜中略〜
for (int i = 0; i < 2; i++) {
for (int h = GetWindow(hwnd, GW_CHILD); h != 0; h = GetWindow(h, GW_HWNDNEXT)) {
if (GetWindowLongA(h, GWL_ID) == ID_FNB) return (h);
}
}
}
という関数を、関数じゃないようにする(?)にはどうしたらいいかと弄っていて…
for (int i = 0; i < 2; i++) {
for (int h = GetWindow(hwnd, GW_CHILD); h != 0; h = GetWindow(h, GW_HWNDNEXT)) {
if (GetWindowLongA(h, GWL_ID) == ID_FNB) { int edit = h; }
}
}
のように書いたら 「editは宣言されてない」というerrorが出てしまったんです
int edit = h; の文で宣言しているはずなのに、どうしてなのでしょうか
MT4は変数のスコープがブロックで終わらないのがなぁ...
456 :
Trader@Live! :2013/03/28(木) 23:07:03.66 ID:oULpyTAJ
MT4の目盛り数値とかのフォントサイズって変えられないんですか? 小さくて読みにくいです
レーシックってのが有ってだな
458 :
Trader@Live! :2013/03/28(木) 23:27:00.76 ID:oULpyTAJ
いやいや^^;
>>459 本当にありがとうございます!GetDlgItem・・・知らない物ばかりですがこれは便利そうですね
>>454 はforの外でeditを宣言したらコンパイル通りました〜
理由を知りたいですが・・・どうしてなんでしょうか?
>>460 forの外でeditを宣言する前のコードと、したあとのコードを
アップロードするところから始めてみては・・?
if(sto<10&&ma0>ma1) { Print("buy"); Sleep(1000); OrderSend(Symbol(),OP_BUY,lots,Ask,Slippage,0,0,NULL,magic,0,Blue); で、ログにbuyが表示されているのに注文がされてません。 ordersenderrorもありませんでした。何が問題でしょうか? 業者はFXDDです。
if(sto<10&&ma0>ma1) { Print("buy"); Sleep(1000); OrderSend(Symbol(),OP_BUY,lots,Ask,Slippage,0,0,NULL,magic,0,Blue); で、ログにbuyが表示されているのに注文がされてません。 ordersenderrorもありませんでした。何が問題でしょうか? 業者はFXDDで,5分足です
>>463 FXDD以外の他の業者のデモ口座で確認する。
他の業者で正常に動き、FXDDで動かないのならば、
プログラムの問題である可能性は低い。
他の業者でも動かない場合、
プログラムの問題である可能性は高い。
>>463 int ticket;
ticket = OrderSend(Symbol(),OP_BUY,lots,Ask,Slippage,0,0,NULL,magic,0,Blue);
if(ticket < 0) Print("OrderSend failed with error #", GetLastError());
でエラーを拾ってみる
466 :
Trader@Live! :2013/03/29(金) 11:30:56.85 ID:Fo/DXYwY
>>456 これは自分も知りたい
右側の数字とか小さすぎだよね
なんとかならないのかな?
まぁ今のところmarket Priceとか表示させているから何とかわかるけどね
468 :
Trader@Live! :2013/03/29(金) 12:38:26.35 ID:Fo/DXYwY
>>467 紹介ありがとー
これいいね
むちゃくちゃ見やすいよ
469 :
Trader@Live! :2013/03/29(金) 12:55:25.80 ID:Fo/DXYwY
ところでMT4で日本の個別の株価表示できないんやろか? マーケットスピードに株価データは送られてるから、それをどうにかして抜き取れないのかな?
どなたか、教えてください 5分足で使うEAを作る場合に a= iMACD(PERIOD_D1,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0) b= iMACD(PERIOD_D1,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1) この2つは、aは当日のMADC.bは前日のMACDを取得出来ますか? それとも、5分足上だと、同じ日付なので、同じ値になるんでしょうか?
>>470 > どなたか、教えてください
> 5分足で使うEAを作る場合に
>
> a= iMACD(PERIOD_D1,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)
> b= iMACD(PERIOD_D1,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1)
>
> この2つは、aは当日のMADC.bは前日のMACDを取得出来ますか?
> それとも、5分足上だと、同じ日付なので、同じ値になるんでしょうか?
そんなこと、試してみれば分かるんじゃない?
>>469 マケスピは知らないけど、CSVを保存して、hst に変換すればMT4で読めるのでは。
>>471 その通りです・・・
今、自宅じゃなくて試せないので、知りたかったんです
>>473 そもそも、引数が間違ってるから、何も取得出来ないと思う。
正しく描けば、当日、前日が取得出来る気がする。
ありがとうございます 家かえるまで、妄想膨らませます
>>469 リアルタイムに表示したいのか、
そうでもないのかによって、
だいぶ話が変わってくると思う。
>>461 なんかいろいろ勘違いしていました^^; 無事にコンパイルできました!
>>455 さんにもらったヒント、やっと理解することができました
チャートの左上などのコーナーあたりに でかく通貨ペアと時間足の文字を表示させたいです ググるのヘタでなかなかズバリなインディケーターを見つけられなかったのですが よさげなのありませんか?
ペッパーのmt4でワンクリック注文ってのがあるんだけど 手順通りやってもチャート上にシンプルな赤と青のワンクリックボタンしか 表示できないんだけどなぜなんだろう? 気配値まで表示してるワンクリックツールが表示したんだけど・・
MT4 482ではMT4側にワンクリックが付いたから、 ペッパーのワンクリEAは動かなくなった、とか聞いた気がするけど、 まさにそれのことかな。
べき乗って関数なんだな。 number^2とか記述して、何度やっても 期待する数と合わないので、混乱した、、。 それでもコンパイル通ってしまうのはイヤン。
そりゃちゃんとした演算子だからな。
^って演算子なの? MathPow()じゃないと、正しい結果でないんだけど。 わかりずらくてすまね。
残念ながらそれはXOR演算子だ
ほおう。そうなのね。ググッて勉強になりました。 ありがとう。
ど初心者です。 豊嶋先生のオリジナル関数を使ってみようとダウンロードしてみたのですが、 いざ使ってみるとファイルが開けないと出て動きません。 Cannot open file 'C:\Program Files (x86)\7FX Meta Trader 4\experts\MyLib.ex4' on the EURJPY,M5 cannot load external expert 'MyLib' 何故なのでしょうか?
MyLib.ex4とやらがないからだろ。
>>487 ファイルは.ex4と.mqhの両方ともあります。
string symbol; string symboleng = Symbol; switch(symboleng) { case "EURJPY": symbol = "ユーロ円"; break; case "GBPJPY": symbol = "ポンド円"; break; default: symbol = Symbol; break; } このような文を書くとエラーになるんですが正しく書くにはどこを直せばいいですか?
>>489 switch case 文は、数値にしか使えないから、
if else 文の組合せでかきおなしましょう。
>>488 C:\Program Files (x86)\7FX Meta Trader 4\experts\MyLib.ex4
このファイルを削除して、もう一度リコンパイルして作成しよう!
C:\Program Files (x86)\7FX Meta Trader 4\experts\libraries の下に MyLib.ex4 を移動してみるとか。
>>490 ホントにありがとうございましたm(_ _)m 勉強になりました。
#define EURJPY 0 #define GBPJPY 7 static string symbols = "EURJPY,GBPJPY"; string symbol; string symboleng = Symbol; switch (stringFind(symbols, symboleng)) { case EURJPY: symbol = "ユーロ円"; break; case GBPJPY: symbol = "ポンド円"; break; default: symbol = Symbol; break; } う〜ん、だったら static string englist = "123456789EURJPY6789GBPJPY6789" static string jpnlist[3] = { "", "ユーロ円", "ポンド円" }; symbolsjpn[0] = symbol; symbol = jpnlist[(stringFind(englist, symboleng) + 1) / 10]; とかでもいいか・・・・・・
string symbol; string symboleng = Symbol(); if(symboleng == "EURJPY") symbol = "ユーロ円"; else if(symboleng == "GBPJPY") symbol = "ポンド円"; else symbol = Symbol(); これでいいです
>>494 プログラムは魔法みたいですね〜すごいなぁ
勉強になりすぎました。ありがとうございます。
前半しか理解できなかったのですが・・・
どうしてstring symbolsはstaticにしないといけないんでしょうか。
>>495 ありがとうございます!
switch case 文とif else 文の違い勉強になりました。
>>496 mql4の場合、ローカル変数の初期化がどう行われてるか分からないから、staticで定義して
コンパイル時の確保と初期化を確実にしておく方が(精神的にもw)効率がいい。
どう行われるか不明なのに確実とはまた謎なことを言う人だ。
信じる者は救われる。 初心者なら、動くことを確認できたコードの積み上げで プログラムを作っていけば良いんじゃないかな。
>>499 static変数の方がより見通しが立つという話
>>498 ありがとうございます。
上級者の工夫参考になります。
起動中のEAの数を調べるプログラム教えてください
>>503 現在のプロファイル名を調べて、
プロファイルフォルダ内の chr ファイルをパースすれば良いよ。
switchてlongやdoubleも使えないんだよな 使う意義は単に見た目が簡潔だというだけ? if=文より高速だったりするのかな?
こんにちは EAをつくる練習をしています。 MT4の操作履歴で、 (日付)Tester: Order #1, sell 1.00 USDJPY is opened at (値段) という行は何を意味しているのでしょうか? ストラテジーテスター開始と同時にポジって、その後、しばらく値が動いて、 ポジった値に戻ってきたタイミングで上のメッセージが出ます。 ポジってからもとの値に戻ってくるまでに、決済条件を満たしている のですが、上のメッセージが発行された後でないと決済されないようです。 また、チャートではポジったときに右三角が出て、元の値に戻ったときに また右三角が出て、最後に決済されたときに左三角というように、 一回の取引で3回のマークがでます。 2回目のマークが出るまえに条件を満たしているので決済してもらいたい というのが目的です。 よろしくお願いします。
>>506 > MT4の操作履歴で、
> (日付)Tester: Order #1, sell 1.00 USDJPY is opened at (値段)
> という行は何を意味しているのでしょうか?
USDJPY は、取引通貨名を表していると思います。
これは、テスターを開始する際に、通貨ペア欄で選んだ通貨ペアです。
1.00は、ロット数です。
業者によっては、1ロット=10万通貨、1ロット=1万通貨と設定が異なるので、
具体的に何万通貨の取引なのか?は分かりません。
sell は、英語で 売る という意味ですので、
売りポジション のことを示します。
is opend は、売りポジションが開かれた=売りポジションを持ったという意味です。
具体的にいくらで売ったのか?が at (値段) から分かります。
Order #1は、1番目の取引 を示します。
コレはとても大事なことですが、
Visual mode でテストしているタイミングと、
ログに出力されるタイミングは異なります。
なので、テスト終了後に、
ログの (日付) 部分や #1 という取引番号と、
実際のチャートの三角 のオブジェクトの名前を比較して
opend と closed の対応関係を調べてください。
よろしくお願いします。
御回答ありがとうございます。 やはり、 is opened が出るまでは売りポジションを持ったことになっていないのでしょうか? 最初に、 Open #1 sell limit 1.00 USDJPY at (値段) …※1 と出て、チャートにその値段で右矢印マークが出ます。 (ここでポジを持ったと思います) それから、しばらくチャートが進んで、ローソク足も何本も進み、 値段が行って戻ってして、売りポジした値段に戻ってきて初めて、 〜is opend …※2 が出るのです。 (またポジを持ち直した?) その後、決済条件をみたすと決済されてcloseしますが、 ※2にいたる前にも決済条件は満たしているはずなんです。 右矢印1…右矢印2…左矢印 と1回の取引で3つの記号が点線でつながれています。 普通は2つだと思われます。 ※1のところでポジった後、※2が出る前に決済したいのが目的です。 わかりにくくてすみません。 よろしくお願いいたします。
>>508 ※1はsell limit(売り指値)だから、オーダー直後はペンディングオーダー(待機注文)になる。
っで、※2はそのペンディングオーダーが執行されてオープンオーダーに変わったってメッセージだろう。
なるほど…つまり※1ではまだポジってないということなんですね。 意味がわかり助かりました。ありがとうございます。
既にあるポジションのマジックナンバーは変更できますか? 例えば、手動でポジったあと、マジックナンバーを設定できますか?
できません
ありがとうございます。
質問です(初心者) 標準で搭載されていたスクリプトに「send_pending」というのがあり、それをダブルクリックしました。 そうすると、指値注文が発注されてしまったのでキャンセルしました。 その後しばらくしてポジションを見ると38枚という中途半端で、ボリュームのあるポジがありました。(普段は1,2枚) 手動で微益撤退しましたが、どうやらMAを下抜けた時に自動でポジられたようです。 そこで質問ですが、このスクリプトはどんな物なのか。 また、自動発注を停止するにはどうしたら良いのでしょうか?
516 :
Trader@Live! :2013/04/02(火) 13:01:45.65 ID:PLyPDNEF
MT4の取引履歴から詳細レポートが出力できますが、時間帯別や曜日別勝率などみれるアプリは無いでしょうか?
>>515 あっ、そうか。 ソースを見れば良かったのか。 ありがとうございました。
教えて下さい。 DoubleToStr( value, 3)の時、マイナス値の場合だと、-0.○○二桁になるのですが、対処法お願いします。
>>521 if(value >=0) {
}else{
}
で場合分けすれば・・?
>>520 何というか説明が難しいんですが、
今年度から一年、遠方の研修寮(ネット環境なし)に入っているので
連絡が取りづらいんです
>>521 double a = 0.12345;
double b = -0.12345;
Alert(DoubleToStr(a,3)+" "+ DoubleToStr(b,3));
これで試したら、正常に3桁になるんだけど・・・、何かおかしい?
>>521 if(value < 0) {
}else{
}
で、出来ました。ありがとう!間違えてるかもしれないけど表示されたので助かりました。
>>519 画像を見たところ、売り新規注文がストップに引っかかって決済されたみたいにみえるけど。
通常のスプレッドは2pip前後で、その時間帯で、スプが広がるような指標もないしな・・・。
チャートの矢印と売買履歴にズレはない?
矢印の描画が正常に行えていないとか。
>>527 レスありがとうございます。
仕事などの合間に見てるので、反応が遅いと思います。ご容赦下さい。
ストップロスレベルは円建口座で500ポイントに設定しています。
また、売買履歴とのズレも無いようです。
やはりスプレッドが一時的に開いたのでしょうか・・・。
通常の倍近いです。勉強になります。
他にご指摘が無ければ、口座選びから見直したいと思います。ありがとうございます。
単に成り行き注文が滑りまくってる可能性も・・。
>>528 画像の値幅ちゃんと見てなかった。
>ストップロスレベルは円建口座で500ポイントに設定しています。
500ポイントじゃなくて、50ポイントじゃないかな。
これだとスプ(2pip)+逆行(3pip)ぐらいでストップだから、
ただ、ストップに引っかかっただけだね。
532 :
Trader@Live! :2013/04/02(火) 20:47:54.01 ID:6it8aK+q
これはよくあるスキャ潰しでしょ。 まぁ1つのインチキ操作。
533 :
Trader@Live! :2013/04/02(火) 20:55:13.46 ID:PLyPDNEF
MT4だとAskとBidラインが2本表示できるでしょ 画像撮影の場合両方表示した方がスプレッドがどれくらいなのかわかりやすい
>>532 その可能性もありますよね。
やはりスキャなら固定スプにすべきだと実感しました。
とりあえず色々検討してみようと思います。
くだらない相談に乗って下さったかた、ありがとうございました。
>>531 海外口座のユーロポンドだと通常で、2〜3pipぐらいだね。
周締めや朝方(日本時間)などだと2倍以上になることもあるけど、そんなものだよ。
逆にニューヨーク時間で少し、狭くなったりするようなところもあるし。
まぁ、
>>532 の言うように操作している業者もあるみたいだけど。(アイロンがそうかは別として。
それと、チャートの取引矢印と口座履歴の時間が4分ほどズレてるね。
>>535 なるほど、具体的で参考になります。
チャートと履歴のずれには気付きませんでした。
これは、なにかデメリットにつながるのでしょうか?
>>538 売買タイミングが自分の意図したタイミングで行えているのならば、
実害はないだろうけど。理由がわからないと気持ち悪いね。
チャートの画像だと1分足での表示だけど、
売買は5分足ベースで行ってるのであれば、
こうなったりするのかな?
まぁ、ソースあるなら、どう動いてるかを見てみるといいと思うよ。
作った人に聞いてもいいけど。
540 :
Trader@Live! :2013/04/02(火) 22:34:10.50 ID:3RaDhdeR
国内表彰されなかった亀田ちゃん 2012年強盗オブザイヤーノミネートおめでとう
移動平均線のクロスを合図にアラートならしてメールを通知させようと思ってるんだけど こういうのってカスタムインジケータで実装するべき?それともEAで実装するべき? いまいちその違いがよく分からない(´・ω・`)
>>539 何となく理解しました。ありがとうございます。
modifyのエラーでTP/SLが設定されない事態を回避する方法ってありますか?
つストップレベル/フリーズレベルの事前検査
>>547 ECN系ブローカーを避ければいいのでは?
>>547 MarketInfo で、ストップレベル/フリーズレベルを調べて、大きい方をXとする。
TP/SL は、Bid - X 〜 Ask + X の間には入らないから、その間を避ける。
更に、ネットワークの遅延により、modify する時間のうちに動くかもしれない価格差の絶対値をYとする。
TP/SL は、Bid - X -Y 〜 Ask + X + Y の間に入れないようにする。
バックテストに時間がかかるんでMT4複数起動して平行処理したいと思います。 そのままだと複数起動出来ないんですが、別のところにフォルダごとコピーすればいける とのことなので、tmpに適当なフォルダ掘ってそこに必要な数だけオリジナルからxcopyして 同時にバックテスト走らせ、終わったらまるごと消すというスクリプトを書きました。 ですが、これだとコピーしたのを起動した直後にログインパスワード入力画面が出てきて バックテストが走りません。バックテスト出来ればいいので(データはhistoryの中にあるはず) ログインしなくてもいいんですが、この画面をうまく回避する方法はないでしょうか?
551 :
yumi :2013/04/03(水) 11:29:54.49 ID:ShkIEtxN
はじめまして。 MT4 のプログラムでご相談があります。 icustomを使ってプログラムしているのですが、困ってるのでご相談させて下さい ボリンジャー2σ+RSI30以下なら買いシグナルとアラートが出るように」したいのですが、わかりません。 自分なりに作ったのですが、動きません。 どなたかご教授お願いしますm(_ _)m
552 :
yumi :2013/04/03(水) 11:32:29.30 ID:ShkIEtxN
#property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Aqua #property indicator_color2 Red #property indicator_width1 3 #property indicator_width2 3 //--- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; // パラメーターの設定// extern int BandsPeriod = 20; // ボリンジャーバンドの期間設定 extern int BandsShift = 0; // ボリンジャーバンドを右にシフトする設定 extern double BandsDeviations = 2.0;// 標準 extern int RSIPeriod=12;//RSIの期間設定
553 :
yumi :2013/04/03(水) 11:50:02.41 ID:ShkIEtxN
double BB_Upper_2 = 0; /*2 本前のバーの上バンドに変身したiCustom 関数 を代入する変数*/ double BB_Lower_2 = 0; /*2 本前のバーの下バンドに変身したiCustom 関数 を代入する変数*/ double BB_Upper_1 = 0; /*1 本前のバーの上バンドに変身したiCustom 関数 を代入する変数*/ double BB_Lower_1 = 0; /*1 本前のバーの下バンドに変身したiCustom 関数 を代入する変数*/ double RSI_2 = 0; /*2 本前のバーのRSI に変身したiCustom 関数を代入する 変数*/ double RSI_1 = 0; /*1 本前のバーのRSI に変身したiCustom 関数を代入する 変数*/ double RSI_3 = 0; /*2 本前のバーのRSI に変身したiCustom 関数を代入する 変数*/ double RSI_4 = 0; /*1 本前のバーのRSI に変身したiCustom 関数を代入する 変数*/
>>550 terminal.exe test1.txt
みたいに引数に 設定ファイルを与える方式ではダメなのかな?
>>555 引数に設定ファイルを与えてるんですけど、コピーした奴だとパスワード画面で止まっちゃうんですよ
オリジナルに渡せばちゃんと最後まで動いてくれるんですけどねぇ
>>556 書き方が悪いんじゃないかなぁ・・
下記3行は間違いなく正しい値を書いている?
;common settings
Login=1192794
Password=turuya2013
Server=FxPro.com-Real01
>>557 あああああああああああああああああパスワード間違ってるぅぅぅぅぅぅ
お騒がせしましたorz
初歩的な質問で申し訳ないのですが、 複数のmt4で以下の条件でEAを使用した場合、注文を逃したりしているのはなぜでしょうか? また、これを修正したり、逃したポイントを確認したりすることは可能でしょうか? 【条件】 ・全てのmt4で一つの同じEAを使用する(通貨ペアは別々、全て1分足) ・マジックナンバーは別々
初歩的な回答で大変申し訳ございませんが、 通貨レートというものは業者によりまちまちでございます。 そのため業者Aでは取引が行われたにもかかわらず 業者Bでは取引が行われないということがございますことを ご承知おきくださいませ。 尚、「修正」に関しましては「正しいもの」というものが そもそもございませんためご容赦願います。 逃したポイントの確認というお話に関しましては 恐らくはお二つお持ちの両の目にてご確認願います。
>>559 全てのmt4 というのは、
全ての mt4 を別々の業者に繋いでいるのか、
全ての mt4 を同一の業者に繋いでているのか?(通貨ペア毎に1つのmt4 を動かしている)
よくわからないですね。
>>562 たぶん、特定の条件を満たすと、「注文を逃す」ようにEAが作られているのかも。
EAのソースコードがあって、スキルがあれば修正することも可能でしょう。
「逃したポイント」は、作者に聞かないと確認できないと思う。
レンジ相場で売買しないように設計しているタイプなら、
レンジ相場では注文を逃すように動作するわけですし。
>>563 ありがとうございます。
やはりそういうことなんでしょうか。
作者に相談してみます
ありがとうございました。
MT4の右側に出てるスケール、 デフォルトだと最近の値動きによって罫線の値幅も動いてしまうんだけど、 あれを常に値幅固定に出来る方法はないですか? 乱高下の後の1目盛りとレンジの時の1目盛りが全然違って、たくさん抜けると思ったら5pipsしか天井が無かったりとか、結構目測誤るんで
>>565 F8押してスケール固定で頑張るしか無いね。。
オーダーのストップロスをある条件ごとで、2回更新する際、 1回更新後にOrderSelect()で設定し直さないと、 OrderStopLoss()で値を取得しても、1回更新前のストップロス値になるんだな。 思った動きしないので、ストップロス値をチェックしてみたら、 更新後の値が取れてなかったから、何でなのかだいぶ悩んだ。 まぁ、原因分かったらいいや。
・使用しているサーバー名: RoboForex-Demo ・どこからダウンロードしたのか:MetaQuotes デモ口座の申請で名前等を入力したあと、サーバーを選択して登録中となったんですが 緑のバーが右端まで表示された後に1時間ほど待ってもログインIDとパスワードが表示 されませんでした 平日でもサーバーが止まってることってあるんでしょうか?
デモ鯖なんて動作保障してないよ
>>569 メルアドや名前、住所からベイズ推定で異常を検知したら、
デモ口座の不正登録として、IPアドレスごとブロックする機能があるかもよ。
なので、
・デモ登録には、可能な限り実在するような本物の情報、
特に日本人、米国人はブロックされやすいので、
オーストラリア人と思わせる内容を記載するのが良い。
・ブローカーによっては、MT4からのデモ口座登録を廃止し、
Webサイトからの登録のみに制限しているところもある。
MT4の背景に画像差し込めないのかな?
それ俺も思ってた。牛と熊が暴れまくってる絵とかが好みだ
背景にできたらすごくいいんだけどなぁ。 やっぱ無理か。
やる夫のAAが出るインジがあったような…
577 :
Trader@Live! :2013/04/05(金) 20:43:26.26 ID:43nbmOCk
なぜかチャートが止まってしまったんですけど さっきまで動いてたのに ちなみにデモ口座です
スクリプトだけど、
ここの過去スレでscr_mdk.mq4ってのを
バレンタインの時にくれた人がいたね。(ちゃんと動いてるね。
それと、faiさんが画像をRGB変換してオブジェクトで描画してたよね。
ってか、
>>574 はfaiさんのか。
>>578 魔法少女が描画されるあれかw
ゴミが残らないようになってるのも良心的だにゃ
>>579 そうそう。ちゃんと後処理もしててね。
こいつ、動く!、すげーと思ってしまったよ。
質問なのですが バックテストで使えない関数とか 使うとエラーになるような物のリストなどを まとめてあるブログとかないでしょうか?
string glbSymbol; int init(){ if (glbSymbol == Symbol()) Print("True"); else Print("False"); glbSymbol = Symbol(); } Symbolが変更されたときだけ検出したいです これだと時間軸変更とかでもFalseになってしまうのですがどうしてでしょうか?
ローソク足が1時間足・4時間足・日足のn本移動平均線に近づいたらアラート発動&メール送信してくれるインジケータとかって無い?
↑あと関連して自分が敷いたトレンドラインにローソク足がタッチしたら アラート&メール送信してくれるインジケーターもあると便利。 作るの難しそうだけどこういうのって無いかな?
>>582 グローバルな変数やスタティックな変数は初期化時に初期化されるから意味が無い。
グローバル環境変数を使って、たとえば、ウィンドウハンドルと通貨名を数字化した何かを記憶しておいて比較するぐらいしか思いつかない。
>>585 どうもありがとうございます。かなり難しいことなんですね。
同じように悩んでいる人もいるようですが
→
http://forum.mql4.com/21226 この回答者の通りに書いても無理ですよね^_^;
MT4の限界なんですかね…
> ウィンドウハンドルと通貨名を数字化した何かを記憶しておいて比較するぐらいしか思いつかない。
これ以上のスキルがないのですがよろしければ具体的な方法教えて頂けないでしょうか <(_ _)>
>>587 ファイルに通貨ペア名を書き出して、初期化時に読み込む方法がある。
>>586 > 探せばあるはず。
名前だけでもkwsk
一方の
>>583 みたいなインジケータは無い?
無ければ作るまでだけど( ´・ω・)
>>587 GlobalVariableSet(WindowExpertName() + Symbol(), WindowHandle(Symbol(), Period()));
とでもしておいて、グローバル環境変数を手繰ればいい。
ザッと確認した限りだと通貨ペア変更してもウィンドウハンドルは変わらないっぽいからイケると思う。
より確実にいくならウィンドウハンドルをGetParentしてMDI子ウィンドウのハンドルでウィンドウの一
意性を確認すればい。
ホントは値側にシンボル文字列を持たせたいんだけど(そうすると手繰らなくても直値で値が引ける)
32bitにどう畳み込むか・・・・・・init()内で圧縮辞書作っちゃうかw
通貨ペアなら、最初の4文字で大体決まるかな?
>>591 マジでか!?と一瞬思ったけど、AUDCADとAUDCHFで直ぐ破綻したぞw
でも、6bit(64種)5文字いけるから、5文字あれば一意に定まるかな?
もし定まるなら、事前にテーブル用意しておいて、string lstrcat(int dst[], string src);
とか定義したlstrcatを悪用してw
strcat(hoge, symbol); table[hoge[0]];でint化
symbol = strcat(table[globalvalue], "");でstring化
できる。
>>588 >>590 ありがとうございます。
>>590 おっしゃる方法でできました!ありがとうございます。
ただ 同じ通貨ペアのチャートを複数開いてると対応できないので
名前→ウィンドウハンドル
値 →通貨ペアを数値化(?)
するような感じに改良できないでしょうか?
GlobalVariableSet(WindowHandle(Symbol(), Period()),WindowExpertName() + Symbol());
↑単に逆にしただけですと、値がデータ型が違うので書き込めませんでした
594 :
Trader@Live! :2013/04/06(土) 21:53:43.90 ID:h6Br3JsH
トレンドラインタッチアラートのインジはどっかに無料であったな 一度使った覚えあるから間違いない ラインタッチでエントリーするEAは有料で売られてた
int wh = WindowHandle(Symbol(), Period()); GlobalVariableSet(Symbol()+wh,wh); グローバル環境変数に、シンボル名+ハンドル という名称の変数を記憶させたらどや??
>>594 > トレンドラインタッチアラートのインジはどっかに無料であったな
> 一度使った覚えあるから間違いない
え、どこどこ(;゚∀゚)?
済みません混乱してきましたw MT4を再起動すると ウィンドウハンドルの取得に失敗するみたいで グローバル環境変数の値がゼロに…orz なかなか安定して使えないようです
MQ社がREASON_CHARTCHANGEを分ければ済む話だと思うけれど? 5でも進歩なしでいまいちチグハグな会社だなー
BO用に5分足で見てるときに1分前にシグナルがでるような設定。 例えばMACDでクロスが起きた足確定の1分前にシグナルがでるように なってるインジありますか?参考にしたいのでお願いします。
>>600 1分後の価格がわかるインジを探しているように読める 笑
602 :
Trader@Live! :2013/04/07(日) 13:10:34.60 ID:sXh9W5ZZ
string current_direction = ""; if(haOpen<=haClose) current_direction = "LONG"; if(haOpen>haClose) current_direction = "SHORT"; の時、 if(current_direction == "SHORT") で文字列が合致した時if文を実行するようになるでしょうか?
>>602 できるよ。
自分でテストインジ作って、動作を確認してみるといいよ。
それと、haOpen<=haCloseでロングだと、
十字線もロング判定でいいのかな?
605 :
588 :2013/04/07(日) 15:28:44.94 ID:Wbezx+k4
>>598 int init()
{
//---- indicators
string strSymbol;
int intFO = FileOpen("huYc.csv",FILE_CSV|FILE_READ,",");
if(intFO > 0) {
//ファイルがある
strSymbol = StringTrimRight(FileReadString(intFO));
FileClose(intFO);
//最終保存された通貨ペア名と比較
if(Symbol() == strSymbol) {
Alert("same");
} else {
Alert("not");
}
} else {
//ファイルが無い(初回起動時とか?)
//特に何もしない。
}
//----
return(0);
}
int deinit()
{
//----
int intFO;
intFO = FileOpen("huYc.csv",FILE_BIN|FILE_WRITE,',');
if(intFO < 1)
{
Print("can't open file error-",GetLastError());
return(0);
}
string strSymbol = Symbol();
FileWriteString(intFO,strSymbol, 20);
FileClose(intFO);
//----
return(0);
}
init / deinit を上記に。
複数のチャートでやるならファイル名をexternで指定。
Grid Builderが他のMAより上に表示されて見ずらいんだけど プログラムいじれるとこあります?
>>598 http://www.sourcepod.com/ihjhfk30-17805 とりあえず要望は満たせてるはずだけど・・・・・・
ただし、同期は無視してるのと、共有リソースのリーク(開放漏れ)対策は一応程度で確信がない。
あと、ハッシュバケットはデフォ値で最適化してない。
ウィンドウハンドルの件はMT4起動直後のinit()内と、同1回目のstart()呼び出し内では取れない
のが仕様。てか、多分その時点ではまだウィンドウが生成されてないんだと思う。
擬似的にリコンパイル状態を再現してMT4にリロードさせる回避法があるけど、今回のお題では使
わなくても回避できるんでまた今度w
608 :
598 :2013/04/07(日) 20:26:43.97 ID:mBKn+uac
>>605 >>607 どちらも勉強になりました。どうもありがとうございます。
ファイルに書き出す方法
>>605 は通貨ペアの判別自体は問題なく行われておりますが
wrong delimiter for FileOpen as BIN function
というエラーがターミナルに出力されるようです。
>>607 問題なく動きました。難しすぎて
何やってるのか分からないんですが^^;もしお時間がありましたら日本語の解説をお願いできませんか
> ただし、同期は無視してるのと、共有リソースのリーク(開放漏れ)対策は一応程度で確信がない。
> あと、ハッシュバケットはデフォ値で最適化してない。
万一の場合、セキュリティやMT4・Windowsの動作に影響を及ぼしたりするんでしょうか?
610 :
588 :2013/04/08(月) 00:57:16.04 ID:It+c1kOF
>>608 あ、エラーあったか。適当なやっつけ仕事ですまん。
他の方の方法は俺にはレベル高すぎてついていけんw
こういう裏技も技の一つとして覚えておくと面白いよたぶん。
…少なくとも専業PGになるつもりはないだろうし。
チャート表示を指定日時に移動する際、 通常(通貨ペア一覧等から生成した場合)のチャートとバックテスト時のチャートでは、 同じ日時を指定し、移動をした場合でも表示にズレが発生してしまいます。 バックテスト時のチャートが指定日時より、少し前の時間からになってしまいます。 原因または対処方法はないでしょうか?
まったくずれないけど。 ずれるケースを具体的に書けよ。
ずれているように見えないが、 H1チャートで1本分くらい前後しているとしたら 夏時間の可能性かな?
>>614 確認していただいたようですね。ありがとうございます。
>ずれているように見えないが、
黄色のラインと足のズレではなく
チャートに時間指定(2013.03.01 10:00)でスクロールした際に、
黄色のラインの位置(2013.03.01 10:00)がチャートの左端にならないのです。
なお、今回の画像では1Hで行いましたが、
他の足の場合でも数本分のズレが発生します。
>>615 指定時間以降の決済の
エントリーから表示される仕様とか?
布団の中から画像見ただけだから試してないけどw
>>615 "2013.03.01 10:00"で合わせたいなら
バックテストの開始時期を2月から始めるのは?
>>616 確認ありがとうございます。
バックテストの取引期間の前、中、後のどの時間帯での場合でも、
同じ用にズレが発生ししまいます。
なお、バックテストに使用したEAや、
ヒストリカルデータ,チャート最大表示数についても関係ないようです。
>>615 やはりずれない。
単純にOpen chartしただけだと下のチャートの状態にはなるが、それは仕様だろ。
>>617 ,619
確認ありがとうございます。
>>617 この時間にこだわりはありません。
あくまで、画像でこの現象を表す際に、この時間を使用しただけですので、
他の時間でもどうように発生してしまいます。
また、今回のこの現象は、他のやりたいこと確認している際に見つけたものです。
>>619 "Open chart"からチャートを生成しただけではなく、
そのから時間指定で、チャートの表示をスクロールした場合です。
それと、"通貨ペア一覧"から生成したチャートで、同様のことをした場合とのズレです。
その図だとOpen chartした状態と同じみたいだからもっと違う時間を入れた 時のキャプチャ見せてよ。 あと、tester.tplとかdefault.tplで何か設定してたりしないの?
>>621 元のに別時間だけ入れてみればよかったですかね。
改めて別時間用に作ってました。
MT4のbuildのせいみたいだね。 build451だとずれる、432だとずれないな。
>>625 ありがとうございます。
buildの違いで、動きが変わってたんですね。
今、入れてるMT4を確認しましたら、全部build451でした。
これは、意図的にずれるように変えたのかな、それとも、バグなのか・・・。
この現象を修正する方法はないでしょうか?
オートスクロールを切った状態だと左下に小さい三角が出るでしょ この位置が日付けにジャンプしたときとか+-で拡大縮小をしたときの 基準の位置になるはず だからこれを一番左にずらしてtesterで定型保存すればいいんじゃない?
>>627 おお、これでやりたかったことができるようになりました、ありがとうございます。
全然気づきませんでした。
こういったものがあるということは、
この現象はバグではなく、意図的なものみたいですね。
バックテスト時は、指定時間でスクロールした場合に、
その時間の確認を行いやすくするために、
あえて、標準でずらしてるのでしょうかね。
無事に問題が解決できました、
色々と対応して頂いた皆さん、本当にありがとうございました。
キプロスwww
>>629 そもそもDLL許可した時点で、こうなることはわかってたとおもうが…
なにをいまさら
アルファベットを数字に変換するにはどうやるの? 例えばMTなら12 19というように符号化してみたい。 配列を使うのかな
>>632 アスキーコードを得るなら
int a = StringGetChar("a",0);
1分間で100pp(あるいは50pp?)動いたらアラートってインジケータはないものでしょうか? ありそうで見つかりません ご存知の方がおられましたらご教授下さい
>>634 1分足の足の中で100回(50回?)以上動いたらアラートという意味なら簡単。
だが要件があいまいだが以下の場合だと少し難しいというか面倒。
・0.1ピピ単位で動く3/5桁鯖の場合に「100ピピ」以上動くのを検知。
・1分間の定義が1分足ではなく「直近60s」を意味する場合。
633 サンクスです
>>635 できれば直近1分なり、5分なりがいいですね
TimeMinute(TimeCurrent())で毎分に起動して、1分前に保存した価格をチェックでしょうか?
急な動きをした時にディスプレイに戻れるように、と思ってますが
そういう需要ってないんですかね
毎分保存じゃ1分足見てるのと同じだろう そもそもそんだけ急な動きした時にアラートが出たとして、 それに気づいてディスプレイまで戻るのに何秒かかるかを考えると あんまり実用的でない気がする
>>637 ティックを配列に格納しといて、直近1分間(1分足ではない)の高値・安値の差を取る関数ならあるんだけど、いる?
しかし、1分で50pipsってほとんど起きないよ
640 :
Trader@Live! :2013/04/09(火) 10:02:46.54 ID:dr5QGkis
昨日350万入金してきました。 今日からFX始めます。 よろしくお願いします。
>>640 安値で買って、高値で売れば儲かるから、FXは簡単だよ。
がんばれ〜
>>639 ありがとうございます
ちょっと、自分で工夫してみます
643 :
Trader@Live! :2013/04/09(火) 17:34:37.39 ID:4JPwyX57
いきなり350万飛ばすのか、ちょっと痛いな
3億の資産家にとって、350万なんて大した額ではないだろ?
>>639 もしよろしければアップして頂けないでしょうか?
実用的には1分足の高低を比較するのとほとんど変わりないのでしょうか?
646 :
Trader@Live! :2013/04/09(火) 20:33:34.43 ID:D9SIEozJ
>>634 一定ピピ動いたら….mq4
っていうインジを何年か前のスレで作ってくれた人がいるから
ググれば出てくるかもね
647 :
Trader@Live! :2013/04/09(火) 20:40:47.44 ID:D9SIEozJ
649 :
645 :2013/04/09(火) 22:14:05.98 ID:430yWdel
ホントありがとうございます〜
>>648 さんに爆益が来ます様に
美味しい相場展開の時、このスレ住人の優しさはマックスになるなw
>>648 私も頂きました。ありがとうございます。
652 :
yumi :2013/04/10(水) 00:54:02.99 ID:xa43ceMT
はじめまして。 今icustomを使ってインジを作っているのですが、エラーが出たりします。 どなたかご教授願います。 複数(マルチタイム1分、5分、15分)のRSIが30以上かつボリンジャーー2σタッチで買いシグナル(↑)がでるようにしたいです。 売りシグナルは複数のRSIが70以上でボリンジャーバンド2σタッチで売りシグナルって感じです。 宜しくお願いします。(´;ω;`) ダウンロードpassは1192です。
アルパリのメタトレーダー4は入金しないと使えませんか?
654 :
yumi :2013/04/10(水) 01:12:05.18 ID:xa43ceMT
655 :
Trader@Live! :2013/04/10(水) 03:19:04.39 ID:IhhMG6kh
>>652 どこのロダか書かずにPASSだけ書いてどうするんですか?
ひょっとして探し回れと?
656 :
Trader@Live! :2013/04/10(水) 03:20:19.10 ID:IhhMG6kh
すんませんテンプレのロダですね。 スンマセン
658 :
Trader@Live! :2013/04/10(水) 03:26:51.04 ID:IhhMG6kh
よく確認しましょうw 核にww
660 :
Trader@Live! :2013/04/10(水) 03:28:22.59 ID:IhhMG6kh
まずこれsystom_dwon[i] それとiて変数は宣言されてないです。
661 :
yumi :2013/04/10(水) 04:05:16.82 ID:xa43ceMT
皆さん書き込みありがとうございます。
>>1 にあります。
この場合[i]はどうすればいいのでしょうか?
アラームとシグナルプログラムをコピペしてきたので[i]詳しくわからなくて...
ほんと初心者ですみません(´;ω;`)
>>661 int start()
{
int i=0;//追加
yumiさんが学ぶべきは、単純移動平均のインジケータを自作してみるところから始めて見るのが良いかも。
カスタムインジケータをつくるさい、MQLファイルを複数に分けることって可能? 関数ごとにファイル分けた方が分かりやすいかなと思って。 でもファイルばらけるとかえってわかりにくくなるかな?
>>664 共通の関数はライブラリ化して、インクルードして使うと便利。
>>665 #import <filename>
コマンドでインクルードしてあげるという方式のことね。
色だけ平均足と同期するローソク足印字ってありますか?
mitsushiroの動画見たらMT4めちゃくちゃ便利に感じた たぶんこれ使っちゃったら他の糞チャート使えなくなると思う
669 :
Trader@Live! :2013/04/11(木) 18:44:28.15 ID:fyRFz99d
質問です 裁量のトレードやEAのトレードをEA化するといったことは可能ですか?
日本語で
意味わかってないんだろ?w
672 :
Trader@Live! :2013/04/11(木) 18:55:17.70 ID:fyRFz99d
MT4でEAを動かしているのですが、成績が悪いので改良しようとしたのですが インターネットでひろったEAのため、中身を開けられない仕様になっていました。 なので、このEAのトレードをコピーして中身が見れるように再度EA化したいのです。
>>672 まず、そのEAをファイルアップローダにあげてみてください。
675 :
Trader@Live! :2013/04/11(木) 19:25:51.78 ID:fyRFz99d
ドル円が○○円、ユーロドルが1.○○○○ 両者の条件が揃ったらユーロ円を買う、みたいな設定ってできますか?
『設定』では出来ないがEAならもちろん可能。 えと、アービトラージって言うんだっけ? MT4の業者はスプ広い所が多いから、 利益を出せるのかどうかは怪しいが、 やる気があるならがんばってくれ。
678 :
Trader@Live! :2013/04/12(金) 21:14:54.73 ID:DaSxivjj
buf[i]=Low[i]; 安値を配列に入れようとしても、buf[i]は0になります。式などを間違えてるんでしょうか。 どなたかご教授ねがいます。
>>678 "i"に問題があるんじゃないかな。
意図した値じゃないから、Lowでも値が取れないとか。
>>678 buf[]に問題があるんじゃないかな。
領域確保してないから、iでも値が入らないとか。
681 :
Trader@Live! :2013/04/12(金) 22:21:59.17 ID:DaSxivjj
書き込みどうもです。
>>679 iはfor文でバーの最後から最新までの値なので、
たぶん大丈夫だと思います。
>>680 領域確保というのは宣言とは別物ですか?
外部変数でbufの宣言はしてあるんですが。
682 :
Trader@Live! :2013/04/12(金) 23:38:11.66 ID:DaSxivjj
>>679 さん
>>680 さん
一日中悩んでいたのにおかげで解決できました。ありがとうございます。
ArrayResizeを使うことで解決。
buf[]で宣言していたため、
>>680 さんの言ったとおり領域を確保できていませんでした。
配列はbuf[]でOK。なんてバカな勘違いをしているからこんな事に...
683 :
Trader@Live! :2013/04/13(土) 10:31:18.30 ID:FA4COL3c
おまえら、 オヌヌメの書籍教えろや
MT4って市場稼働時間しかチャート表示できないんですか?
>>684 土日はサーバが止まってるブローカーもあるよ。
いくつかためしてみると表示できるところある。
日足で引いた水平線は自動的に緑色に、 4時間足で引いた水平線は自動的に水色に、 みたいにデフォルト表示色設定をする事はできないでしょうか?
690 :
Trader@Live! :2013/04/13(土) 22:51:02.72 ID:6SSy2o1a
レートの小数点以下の桁数が2桁のサバってまだあるんですか? ご存知の方いましたら是非サーバーIPお教えくださいm(__)m
設定全体の一括保存メニューってありませんか?
今日の御飯は何にしたらいいか教えてください!
>>692 カレーがいいよ。
季節の変わり目は、体調を崩しやすいから、
香辛料の効いたカレーが体に良い。
デザートにヨーグルトも忘れずに。
694 :
Trader@Live! :2013/04/14(日) 11:06:42.53 ID:DmWqvLFQ
FXClearingは4桁表示だったけど、Tusarで変更したのかな
1. チャートの右端を上下ドラッグするとできる上下拡縮を無制限にできる(好きなだけ長く伸ばせる)EAのようなものはないでしょうか? また、伸ばしたり縮めた後に一発で標準に戻せるショートカットはないでしょうか? 2. 横へズームイン・ズームアウトした時にカーソル位置があちこちにワープしてしまうのを回避したい 3. フィボナッチラインにカーソルを合わせた時、レートを表示する方法 4. 間違えて動かしてしまった水平線やトレンドラインを元の位置に戻す、 または一つ前の操作に戻るアンドゥ機能は? よろしくお願いします。
>>695 1.MT4の想定を超えて無限には無理でしょ?自前で描画しない限り?
戻す方は↓こんな感じか?
int mt4 = GetAncestor(WindowHandle(Symbol(), Period()), GA_ROOT);
SendMessageA(mt4, WM_KEYDOWN, VK_F8, MapVirtualKeyA(VK_F8, 0) << 16 + 1);
int dlg = GetWindow(mt4, GW_ENABLEDPOPUP);
PostMessageA(dlg, WM_COMMAND, IDOK, GetDlgItem(dlg, IDOK));
ショートカット化はスクリプトにしてショートカット割り当てるか、uwscなりautohotkeyなりの
外部アプリに頼るか、DLL書いてサブクラス化するかの3択だろう。
2.カーソル位置は別にワープしてるわけじゃない。ただ単に左端でアラインされてるだけだから
右端アラインになるよう左端の位置をファストナビで調整してやればいい。
問題はどうやって着火するかだけど、ティックが来た時に更新されればいいと諦めるか、チャ
ート当たり1つしか実行できない貴重なスクリプトを消費してバーの表示本数が変化するの
を監視するか、DLL書いてサブクラス化して拡大/縮小ボタンの押下を監視するかの3択。
3.オブジェクト一覧を手繰ってフィボ見つけたらライン上にトレンドラインでも上書きすればいい。
トレンドラインならカーソル重ねた時にポップアップ表示されるでしょ?
4.これもオブジェクト一覧を手繰ってプロパティが空なら現在地でも埋めとけばいい。
あとはプロパティが設定されてるオブジェクトの位置が変化してたら元に戻すとか?
「意図的に」と「間違って」をプログラムから判別する手段はあるのかしら?
DLL書いてサブクラス化 路線はNGになる気がする・・。 MT4iとかダメに成ったわけで・・
2つ動かしてるMT4の片方のビルドが451→482に上がった。 バージョン毎の更新点って日本語で情報ある所ありますか? 英語でもいいんですが。。。
MQLではC言語と違って配列のサイズは最初から決めなくても そのときそのときインデックス値を指定して値を入れればそれに合わせて 勝手にリサイズされるようですがリソースといった観点からは特に問題ありませんか?
>>700 さんきゅーです。
なんかmql5の方の機能追加が多い感じ?
じっくり読んでみます。
(o゚ω゚o) 今日MT4(Build482)インスコしたんだけど、デモ口座(RoboForex-Demo)開設しようとするとscanでpingは返ってくるのに 「ブォォォン・・・」って音が鳴ってIDとパスが表示されずに終了するんだが 今日が日曜だからサーバを止めてるって認識でよろしいか? サーバーって止めるもんなのかな、無人で自動登録じゃないのか ぬるぽ
ガッ!! Disabled support for the local Data Centers and manual setting of Data Centers in Tools->Options->Server tab. Everything works automatically now. これかな?自動的になって、手動での書き換えはうんたら。
やっぱりRoboForex-Demoのデモ口座登録できねぇや・・・会社で試してダメだったら助けてくれよ?ヾ(o゚ω゚o)ノ゙
水平線の太さを、足によって変えられるような方法はないでしょうか? 例えば5分足クラスの水平線は時間足では細く、日足ではほとんど見えない、 というような感じです。
>>707 タイムフレームの変更ごとに、
指定の水平線の太さ調整は可能だけど。
"ほとんど見えない"ようなのは無理じゃないかな。
太さの範囲は水平線オブジェクトの太さ調整の単位になるだろうから。
でも、日足の時はダミーオブジェクト(水平線以外)に置き換えて、
その時だけ、別表示または非表示しておけばいいんじゃないかな。
俺もRoboForex-Demoダメだった。 サイバーエージェントのデモにしたら、過去データがforexより少ない。困った
711 :
Trader@Live! :2013/04/15(月) 17:47:09.54 ID:tR3uWUu+
heikinashi mt って信頼性ババ?
ババだね。
うちは元から入ってたFXCM-USDDemo01 - Forex Capital Markets, LLCなんですが 昨日の晩に無効な口座になって、再申請してもデモ口座が開けなくなり 再起動したら今度はサーバーのスキャンリストにも表示されなくなってしまいました 8日にMT4本体のアップデートがありましたがそれのせいでしょうか? build482です FXCMのデモサーバーのIPがわからず、しかたなくバックアップから.svrファイルを起こしてきてなんとか サーバーのスキャンリストには表示されてpingが通ってはいるのですが、次の申請でIDやパスが発行されません レバレッジなどの数値を弄っても通りませんでした あきらめて他を当たった方がいいのでしょうか?
>>700 -
にあるようにビルドの更新で
「manual setting of Data Centers」が「Disabled」されてるからね。
古いビルドのMT4とサーバーIPを探すしか無いかな。
手元では、サイバーエージェントで落としたMT4はビルドが更新されてないけど
setupからインストールしたら最新ビルドにされるかも。
windowsのバックアップ系の操作での復元…は出来るのかどうか知らん。
あぁいや、サーバー側でビルドチェックされてどうやっても弾かれるかも。。。
古めのbuild再インスコで試してダメそうならFXCMのサーバーが今のbuildを許可するまで他で凌ぐしかなさそうですね・・・ レスありがとうございました
平均足とEASYTRADEのインジの組み合わせをデモ口座で使ってて それなりに結果が出てるから本番でもこれを使いたいけど ・スプレッドが狭くて1000通貨で出来る所 ・1回で取引できる通貨量がなるたけ多い所 ・当方スキャルピングでやってるので禁止されてない所 MT4でこの条件に該当する証券会社って何処になるだろう 普通のMACDとかボリンとか一目とかで勝てる自信ないから MT4以外じゃダメなんだ
ブーリアン変数a, bのxorをとり、その結果を同じくブーリアン変数のcに代入しようと思い、 bool a, b, c; a = true; b = false; c = a ^ b; と入力してコンパイルしたところエラーが返されました。 '^' - bitwise operators are to be applied to integer values only aとbがint型じゃないといけないみたいなことが書かれているんですがどうも府におちません。 なんでbool型変数のxorがとれないのでしょうか?
TD Sequential と言うインジケーターを入れて見たのですが、新しいバーが完成しても指標が表示されません。 時間を切り替えてまた戻すとちゃんと表示されるのですが、この原因が分かりません。 ソースを見ても、他のインジと同じ感じなのですが。 どなたか理由の分かる方いましたら教えていただけると助かります。
>>718 仕様としか言いようがない。
何より、この制限で困ることが特にない。
その例で言うと、c = a != bと書けばいいだけの話だし?
>>721 > その例で言うと、c = a != bと書けばいいだけの話だし?
その手がありましたか(`・ω・´)
fxproでデモアカウント作ったのですが 銘柄としてダウ、GOLDが出てきません 数ヶ月前は出ていたのですが・・・・ 出ないようになったのでしょうか?
FXCMダメになったのかよおおもー
ある期間の高値安値から引いた水平線を、 右方向に自動的に延長して表示し続けるEAってないでしょうか? イメージとしてはサポレジ代わりに引いた水平線が 自動的に進行方向に伸び続けていくという感じです。
訂正 ×サポレジ代わりに引いた水平線が ○サポレジ代わりに引いたトレンドラインが 自動的に進行方向に伸び続けていく
>>723 SQが終わるとシンボル名が変わるとおもわれ。
全通貨ペアを表示して探してみるがよろしい。
>>726 普通に永久に延びてない?
プロパティで変更できるよ
729 :
Trader@Live! :2013/04/16(火) 17:22:35.09 ID:OygnzrRx
国債や金や原油等の商品の値動きもチェック出来るブロコのようなデモサーバーはないのでしょうか?
マルチですまん。 ここのMT4を数台のPCに入れてるんだが、2桁表示と3桁表示のがあるのだがなんで? 例)98.15 と98.158
↑FXCMです。
733 :
Trader@Live! :2013/04/16(火) 19:49:36.31 ID:veaJj/FO
教えてください。 デモ口座の申請をしたのですが, 最後のところでずっと『登録中 少々お待ちください』となり続けています。 ログインIDとパスワードって入れないでも, 今まで大丈夫だったような気がしたのですが。。。 よろしくお願い致します。
>>733 業者のウェブサイトから登録しないとダメだよ。
735 :
Trader@Live! :2013/04/16(火) 21:43:05.80 ID:veaJj/FO
733です。 734さん,ありがとうございます。 『業者のウェブサイト』・・・探してみます。 私,よくわかっていないんです。すみませんっ
気配値表示で上昇を赤色、下降を青色で表示したいのです (レート数字色、矢印共に) この部分は変更不可でしょうか?
>>736 ポップアップにすれば変えられる
矢印はないけど
739 :
Trader@Live! :2013/04/17(水) 16:26:40.65 ID:bgH6/8rq
質問です。 OrderSend関数でEAをドラッグした以外のチャートの通貨の注文はできるんでしょうか? 下記のようにしてもエラーがでます。 OrderSend("EURUSD",OP_SELL,Lots,MarketInfo("EURUSD",MODE_BID),Slippage,sl,tp, NULL,MagicNumber,0,Red); ------------ unknown symbol name EURUSD for OrderSend function OrderSend error 4106
740 :
Trader@Live! :2013/04/17(水) 16:53:05.16 ID:tp34rqiu
初心者の質問で恐縮ですが・・・教えてください。 『回線不通!』になりました。 さっきまで使えていたのに。 なぜですか? どうしたらいいのでしょうか?
741 :
739 :2013/04/17(水) 17:05:51.23 ID:bgH6/8rq
すいまそん、もう一つ質問です。 バックテストの使用ティックに関してですが、もし、仕掛け・手仕舞いに関して前の足の 一つ前の足のクローズ値しか使わないとしたら、どちらも精度変わらないですよね?それとも何か些細な ことでも変わるものがありますか?後、このEAにストップロスを25ppに設定してたと して一気にローソク足が始値から終値まで200pp逆行したとしたら、そこの損切り −200ppとかなりませんよね?なります?
742 :
739 :2013/04/17(水) 17:06:49.63 ID:bgH6/8rq
前の足の 一つ前の足→今の足の一つ前の足
743 :
Trader@Live! :2013/04/17(水) 19:12:10.50 ID:heOSKwJ0
質問なんですが、パソコンが壊れた為買い替えました。 新しいパソコンにMT4をインストールし、追加インジケータのVQ2を入れようとした所、保存先をexperts→indicatorsと選択していくと 「この場所に保存するアクセス許可がありません」 「管理者に連絡してアクセス許可を取得してください」 となってしまいます 購入したパソコンはWindows8、NEC、LS550/Jです。 どうすればいいのでしょうか?
管理者権限のあるアカウントでログインし、当該フォルダのアクセスコントロールを変更する。
>>743 Cドライブ直下に適当なフォルダ作って、そこにインストールしてくれ。
746 :
Trader@Live! :2013/04/17(水) 20:24:24.36 ID:heOSKwJ0
>>744 アクセスコントロールってどうやって変更すればいいのでしょうか?
>>755 cドライブにインストールしてパソコンを再起動しましたけどインジケータのメニューにVQが出てこないです。
750 :
749 :2013/04/17(水) 23:19:15.60 ID:wyXxd/8y
これは日足で引いた物で1 5 1時間 4時間 日足では同じ所通ってます
SetIndexBuffer(0, Buffer); で指定する配列Buffer[]の型ってdouble型にしないとちゃんと機能しない? int型とbool型で配列Buffer[]を宣言すると正しく機能しなかった。 正しく機能しないって意味は配列のサイズが0のままで そもそも配列として体裁が整っていないって意味ね。 double型にするとチャート上のバーの数と同じだけの配列数になってくれる。
752 :
Trader@Live! :2013/04/18(木) 00:11:59.31 ID:cNi8S2E2
>>747 あ…えっとですねcドライブに新規でVQだけ保存しました…。
この先どうすればいいのでしょうか?(´・ω・`)
むぁぁあああ! 今、新しくどっか違うとこに口座開設しようと思って色々見てたけど、 なかなかいいとこないなぁー 日足6本って誰得よ・・・
>>746 MT固有の問題ではないから、自分で調べてみなよ。
すぐに分かるはず。自力で解決できなければ諦めた方がいい。
755 :
751 :2013/04/18(木) 07:30:08.84 ID:+6aWGwdv
あるいはこういうことかな? 一つのMT4ファイルの中で型の異なる複数のインジケータバッファはつくることはできないってことなんだろうか? でもそれだったらコンパイルの段階でエラーが返されてもいいわけで・・・
せっかくFOREX口座開設したのにMT4i使えなくなるのかよ・・・ しかも裁量トレードツールなしの通常のMT4まで使えないってどういうこと?
人の貰ってまで生きるんじゃねぇよ
初歩的な質問ですいませんが MT4の文字がちっちゃ過ぎてさっぱり数字が読めないんですけど 数字をでかくする方法ってないんでしょうか?
760 :
Trader@Live! :2013/04/18(木) 13:35:14.71 ID:4bWoutMW
週ピボットの計算部分なんですが、これを月ピボットに変更する場合、どう書き換えればいいでしょうか? if (High[i+1]>LastHigh) LastHigh=High[i+1]; if (Low[i+1]<LastLow) LastLow=Low[i+1]; if (TimeDay(Time[i])!=TimeDay(Time[i+1])) if (TimeDayOfWeek(Time[i])<= 3) // Sunday through Wednesday is the start day of week if (TimeDayOfWeek(Time[i+1])>=3) // Previous day is not from Sunday to Wednesday { P=(LastHigh+LastLow+Close[i+1]+Open[i])/4; R1 = (2*P)-LastLow; S1 = (2*P)-LastHigh; R2 = P+(LastHigh - LastLow); S2 = P-(LastHigh - LastLow); R3 = (2*P)+(LastHigh-(2*LastLow)); S3 = (2*P)-((2* LastHigh)-LastLow);
レートの変動に関わらず、相場が動意づいてきた(市場参加者が増えてきた)事をメールで通知してくれるみたいなEAってないでしょうか?
何をもって動意づいてきたと判断するのよ?
MT4サーバに接続されてるクライアントセッション数とかいいんじゃないかな
自作EA制作中なのですが、テストしてみようと起動すると Expert 'EA_NAME' is an indicator and cannot be executed と出てしまいます。 もともと、MT4のフォルダに読み取り制限やアクセス制限がかかっていて 自動コンパイルなどされなかったので、それが原因かと思い修正かけたのですが 一向になおりません。管理者制限など変更したらコンパイルはされるようになりました。 これはEA側のソースコードに問題があるんでしょうか?
766 :
751 :2013/04/18(木) 20:09:34.33 ID:+6aWGwdv
>>756 そっか、やっぱ時系列配列はdouble型オンリーだったのね。
コンパイル時にエラーでも弾かれないし、ここらへんもう少し親切設計にならんかね(´・ω・`)?
みんなもint型とかで時系列配列作ろうとしてはまったりしたんじゃない( ´・ω・)?
>>765 インジケータ独自の宣言がソースコードに書いてあるんでしょう。。
サンプルEAと見比べてみ。
バックテストがすんげぇ重いので高速化したいと思うんですが プロファイラってないんですかね? 手探りでやるしかないのかな
むぅやはり・・ありがとうございます この人のブログよく参考にしてるけど 一度読破したほうがよい気がしてきた
とりあえずできる高速化の手段はいくつかあるよ。 確定足/確定シグナルしか使わないようにする(tickごとの計算が足ごとの計算 になるので激減する可能性がある) ヒストリーのVolumeを減らす(Every tickではVolumeに応じた数のtickが生成 されるので数分の1になる可能性がある)
>>767 ありがとうございます!プロパティに、わざわざインジケーター用の宣言をしてたんですが
消したら問題なく動きました。感謝です。
今度は注文に関してなんですが
if(UpperBuffer2<close2 && UpperBuffer1>close1 && buy_flug == 1) OrderSend(NULL,OP_BUY,lots,ask,30,ask-(Songiri*point),ask+(Rigui*point),"BUY",0,0,Blue);
という1文に何か問題はありますか?
UpperBuffer2にはiBands(upper)の2が入っていて
close1にはClose[1]が入っているという具合です。
askにはAskが、lotsにはロット数が入っています。
buy_flugには、別インジケーターの条件が入っていますが消しても変わらないため
関係ないかと思います。
そもそも、このOrderSendという関数はint値を返すとのことですが
MT4側に、注文の値を渡すには、どうしたらいいんでしょうか?
今はint start()の中で使ってます。
MT4の開発を続けるモチベーションってどうやって維持するの?
MT4 GPGPU 検索 確定しか使わないようにするとロジック変わってしまってつらい
>>772 int ret = 0;
if(hoge){
ret = OrderSend(...)
}
水平線、TLを「一時的に」非表示っていうのはできないですか?
>>776 出来るかどうか?と聞かれたから、出来るでしょうね。と答える。
マルチタイムフレームのストキャスやRSIを探しているのですがネットのをいくつか試すと 1時間足のチャートを表示した状態で15分足のRSIを見るというふうに 長い時間足のチャートを表示して、短い時間足のテクニカルを見た場合に 数値の値がめちゃくちゃになり正確な高値安値を再現できません。 (実際チャートを15分足にしたときの高値安値と違う) 原理的に下位時間軸のテクニカルを再現することは不可能なのでしょうか? それともプログラムの書き方によっては可能ですか?
>>779 フリーのは、上位の時間足のそれを表示することしか出来ないんじゃないかな。
プログラムの書き方によっては可能だろうけど、
本当にみたいアレがみえるかどうかは疑問。
なるほど、やはり難しいことなんですね。 下位のも上手に再現するにはどういう処理を入れればいいんでしょうか・・・?
>>781 そもそも、1時間足のチャートに、1分足のRSIを表示させた場合、
どのように表示されるのが理想なの?
15分足に1時間のMTF CandlesとRSIを表示させて、15分のキャンドルは非表示にしたらどうだろう。
高値安値が揃うようにしたいんです
>>784 意味がわからないので
絵に描いてみてほしい。
>>783 MTF Candlesってこれでしょうか?codebase.mql4.com/6125
私の環境では上手く動いてくれませんでした・・・
>>785 15分足で表示させた時が模範解答で
それになるべく近づけるようにしたいです
少なくても高値と安値の値だけは「答え」と同じになってほしいんです
説明が下手ですみません
>>778 これはすごい、すごすぎです
ありがとうございました
週足に限りEMAが前週辺りまでの分しか伸びていません。 そういう仕様でしょうか?
脱初心者として、ステップアップしたくって、他の人のEAのコードを読んで学習したいです。 どういうサイトでコードをダウンロードするのがお勧めなのでしょうか? CodeBaseでしょうか? forex-tsdでしょうか? 恐縮ですが教えてください。お願いします。
>>787 返事遅れてすみません
ありがとうございます!
>>789 EMAの期間に対して、週足の本数が少ないからでしょ。
>>790 forex-tsd の有料サブスクリプションお勧め
質問なのですが Arrayという名前の配列の要素の平均値を知りたいとき どうすればいいのでしょうか?(要素の数はNum個です。)
>>794 ・ループ文で、n個をSumして、nで割る。
・iMAOnArray()で処理する。
サンクス
MT4はチャート観察のため、実際のトレードは業者のツールを使ってるんだけど その業者のツールでエントリーしたときにMT4のチャートにエントリーポイントをマークすることってできないかな? あとからの反省に使おうと思って。 MT4にはラベルがあるけどいちいちラベルを呼び出して貼り付けるのは面倒。 なにかボタンを押したら瞬間的にチャート上にマークがついてくれると助かるんだが・・・
>>797 int start()
{
string objname = "MOS_"+TimeToStr(TimeLocal(),TIME_SECONDS)+"_"+MathRand();
ObjectCreate(objname,OBJ_ARROW,0,Time[0],Close[0]);
ObjectSet(objname,OBJPROP_ARROWCODE,6);//1-6,67,68,241,242,251,252
ObjectSet(objname,OBJPROP_COLOR,SkyBlue);
return(0);
}
こんなスクリプトをその都度実行するようにすれば、簡単に印を付けられるかも?
>>797 その取引業者で、取引履歴をcsvファイル等で、出力できるなら、
それを取り込んで、描画するようにすればいいんじゃないかな。
リアルタイムじゃないけど。
今ググっても表示されない?ので
公開やめちゃった品かもしれないから多くは言えないが
スクリプトでEventHook.dllを使って
ダブルクリックを検知するようにすると、
>>798 のソースと組み合わせることで
スクリプトは一度実行するのみで
あとはダブルクリックすればマーキングできるな。
っ[EventHook_script.mq4]
(とこう書いておけばパパッと光臨するんじゃないかな、多分。)
ちなみにバックテストのVisualModeではうまく動かない様子。
スクリプトならショートカットキー割当てられるし、 わざわざEventHook.dllでダブルクリック検知とかしなくてもいいんじゃないかねぇ。。
802 :
800 :2013/04/21(日) 00:18:06.61 ID:HiL5dOBX
なるほどしかし そのチャートないしはMT4がアクティブになってないと ショートカットキー受け付けませんよね? (違ったらごめんなさい) そういった意味ではダブルクリックで動作するのも、 (トレード時にマウスのみの操作に特化してる場合なども考えると) メリットあるかなと思います、が、蛇足かな。 上では書き忘れたけどダブルクリックするのは 対象のチャート上の任意の部分でおkなので楽です。 俺が使わせてもらった時には 他のキー入力も拾う必要あったからすごく役立ったけど まぁ検知なんてわざわざしなくてもいいっちゃいいのかな。
>>798 すごいね・・・、そんな方法があったとは・・・
どなたか助けてください。 メタエディターまったくの初心者です。一目の雲のように、ボリンジャーバンドの+1σ〜-1σまでを色をつけて表示させようと改造しているのですが、 行き詰ってしまいました。 下記のプログラムだと、ボリンジャーのセンターから+1σまでしか色が塗られません。どうしてでしょうか。どなたか教えてください。 スレ消費恐縮ですが、改行制限にかかってしまうために、分割して投稿させてもらいます。すみません。 //---- indicator parameters extern int BandsPeriod=20; extern int BandsShift=0; extern double BandsDeviations=1.0; //---- buffers double MovingBuffer[]; double UpperBuffer[]; double LowerBuffer[]; int init() { //---- indicators SetIndexStyle(0,DRAW_LINE,1); SetIndexBuffer(0,MovingBuffer); SetIndexStyle(1,DRAW_HISTOGRAM); SetIndexBuffer(1,UpperBuffer); SetIndexStyle(2,DRAW_HISTOGRAM); SetIndexBuffer(2,LowerBuffer); //---- SetIndexDrawBegin(0,BandsPeriod+BandsShift); SetIndexDrawBegin(1,BandsPeriod+BandsShift); SetIndexDrawBegin(2,BandsPeriod+BandsShift);
//---- return(0); } int start() { int i,k,counted_bars=IndicatorCounted(); double deviation; double sum,oldval,newres; //---- if(Bars<=BandsPeriod) return(0); //---- initial zero if(counted_bars<1) for(i=1;i<=BandsPeriod;i++) { MovingBuffer[Bars-i]=EMPTY_VALUE; UpperBuffer[Bars-i]=EMPTY_VALUE; LowerBuffer[Bars-i]=EMPTY_VALUE; } //---- int limit=Bars-counted_bars; if(counted_bars>0) limit++; for(i=0; i<limit; i++) MovingBuffer[i]=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i); //---- i=Bars-BandsPeriod+1; if(counted_bars>BandsPeriod-1) i=Bars-counted_bars-1; while(i>=0) { sum=0.0; k=i+BandsPeriod-1; oldval=MovingBuffer[i]; while(k>=i) { newres=Close[k]-oldval; sum+=newres*newres; k--; } deviation=BandsDeviations*MathSqrt(sum/BandsPeriod); UpperBuffer[i]=oldval+deviation; LowerBuffer[i]=oldval-deviation; i--; } //---- return(0); } 以上です。長々とすみませんでした。
806 :
804 :2013/04/21(日) 14:30:55.40 ID:YVOHRJh3
お騒がせしました。自己解決しました。 DRAW_HISTOGRAMする際にはどのバッファー同士を結ぶかはバッファー番号の順番によるということが分かりました。
807 :
Trader@Live! :2013/04/21(日) 20:08:38.72 ID:fBkYpJMz
こんな問題を解決した人教えろください。 AutoForexiteでダウンロードした1分足をMT4に入れて、ピリオドコンバーターで5分足15分足・・・日足と生成して、 5分足とか15分足チャートをチェックしたらめちゃ長いヒゲ(300pipsくらいのヒゲ(笑))があちこちにできてて 使い物になりません。ちなみにMT4はFXDDのでPCのOSは買ったばかりのウィンドウズ8です。 いままではBrocoのMT4でPCのOSはビスタで同じことやってたんですが、 このPC2台は並べてるので両方チャートを開いて目視チェックしてビスタのチャートは問題ありませんでした。 また、両方の1分足データをテキスト比較ソフトでチェックしてみましたが、全く同じでした。 なので病原は ・MT4のBrocoとFXDDの違い ・ビスタとウィンドウズ8の違い のどちらかだと思うんですが。。。解決方法が思い浮かびません。 ちなみにビスタは3台あって、同期間を同じEAでバックテストするとすべて同じ成績です。 ところがウィンドウズ8のPCだけ全然成績が違うので、先述の通りチャートをチェックして気付いた次第です。 バックテストの為に計算処理の速いPCをこのたび奮発して買ったのに、このままじゃお話になりません。 どなたかよろピコお願いします。
シストレの第一歩は、 ヒストリカルデータのクレンジングから始まるよね。。。
自己解決しました。 ウィンドウズ8のPCでダウンロードしたAutoforexiteの1分足データを再チェックしたら所々値が大きく飛んでました。 他のPCでダウンロードした1分足データを使って5分足以上を生成したら 正常なバーチャートが出来上がりました。
それはそれで問題だろ。 何が原因なんだ。
812 :
810 :2013/04/22(月) 00:49:20.56 ID:fGeJcki7
原因がわからないんですよ。 あまりPCのことを深く知らないのでなんですが、 AutoForexiteをウィンドウズ8で使うと不具合があるのかなーという推測が一つ思い浮かぶくらいです。 なので、他の人がウィンドウズ8のPCでAutoForexiteを使って、どうなるかが気になりますね。
>>812 AutoForexiteって、もう開発終わってるよね。
最終版もだいぶ前だし、Win8というより、7から動作保証対象外でしょ。
>>813 よこだが、一応。
俺の環境下の7では問題なく動いている
…とおもうが正確なチェックはしていない。
少なくともこの話の発端になるような異常なヒゲとかは
無かったと思う。
現在開いているチャートタブのMaximize,Restoreのショートカットキーってありますか?
バックテスト時のAsk, Bidが現在値を指してるんですが、シミュレーション時のAsk, Bidってどうやって取得できますか?
別タブの同ペアの片方にラインを引いたらもう片方にも自動で引かれるようにするにはどうすればいいですか?
閉じたはずの通貨ペアウインドウが 次回起動時に必ず復活して困ってるんですが なにかいい方法ありませんか(´・ω・`)?
GI24などのマーケットニュースをウインドウ下に流す方法はないのでしょうか?
>>821 MT4以外のアプリで画面上に流すとか・・・
>>820 > 閉じたはずの通貨ペアウインドウが
> 次回起動時に必ず復活して困ってるんですが
> なにかいい方法ありませんか(´・ω・`)?
インストール先を変えてみる。
profile フォルダ内の chr ファイルを空にする。
824 :
Trader@Live! :2013/04/25(木) 00:33:08.81 ID:sWXf9sjr
あれ?久しぶりにFX再開してみたんですけど 最近はMT4を業者毎にダウンロードさせるのが流行ってるんですか?
825 :
Trader@Live! :2013/04/25(木) 00:47:11.36 ID:PB8ohq4A
デモもリアルも口座開く業者のmt4をダウンロードしないとmt4が動かないよたしか。 まあどこかのフォルダ開いてちょちょいとやると使えるんだけどやり方忘れちゃった。
826 :
Trader@Live! :2013/04/25(木) 00:59:01.00 ID:sWXf9sjr
>>825 そうなんですか、たまーに追加できる業者もあるんですけど辛いですね
>まあどこかのフォルダ開いてちょちょいとやると使えるんだけどやり方忘れちゃった。
これがわかっただけでもありがたいです、ありがとうございました
827 :
824 :2013/04/25(木) 01:28:50.17 ID:sWXf9sjr
見つかった、configフォルダの中のsrv拡張子のファイルの中ですね インスコしてIP探してアンインスコしてIP貼って。。。うわぁ。。。 日経やダウ探してみます、、、時間あるときw
srvファイルで普通に見えるのはサーバーIPのうちの一つだけだから そんな作業してもあんまり意味ないよ。特にリアルサーバー。
829 :
824 :2013/04/25(木) 02:01:51.01 ID:sWXf9sjr
fxproで願いが叶いました、しかしめんどくさい
>>828 ?ファイルが3つあってdemo1〜3全部見れました
そうじゃない業者もあるってことですかね、ありがとうございます
dllを自在に作成できたり、dllを使いこなせるようになると、以下のようなことが自動的に実現できるのでしょうか。 ・2000年1月以降の3年間の間で、最適化する。そして2003年1月以降の1年間の間で、フォワードテストする。 ・2004年1月以降の3年間の間で、最適化する。そして2007年1月以降の1年間の間で、フォワードテストする。
dll使わんでもできると思うが
832 :
Trader@Live! :2013/04/25(木) 09:40:56.87 ID:A1r3GFy5
気配値表示のbid/askと、チャート上に表示されるbid/askラインの値が 違ってるのだけどこれはどちらが正しいの? 例えば、Forex.comだとGBPJPYで気配値にくらべてチャートのラインが それぞれ1pip程度広がってる。
サブウィンドウのラインの色を ストキャスの値が50以上ならば赤、それ以下なら青 というように動的に変えることはできませんか? Ifで分岐してSetIndexStyleで色を変えるだけだと バー1個前からのライン全体の色が変わってしまうためうまく行きません
>>838 二つ分使って、○○なら赤色ので表示、□□なら青色ので表示で、できる。
>>839 ありがとうございます。
配列2つ作ってやってみたら2つの線が断絶されてしまいました・・・
うまく説明できないのですが、一本の線で
水面下なら一律に青、水面上なら赤みたいに色分けできればいいのですが
方法ありますでしょうか
int start() { double test[4]; test[0]=1; test[1]=2; test[2]=3; test[3]=4; Print(iMAOnArray(test,0,2,0,MODE_SMA,0)); return(0); } iMAOnArrayで最新の2つの値の平均1.5を表示させたいのに、3.5 と出力されてしまいます。 何か勘違いしてますでしょうか。
ごめんなさい自己解決しました。直列配列でぐぐってわかりました。
すみません、漠然としているかもですが… ラインの色が変わる平均線系のインジケーターで、 色が変わって確定したらアラートを出すにはどう言うスクリプトを書いたらいいのでしょうか? 参考になるサイトでも構いません。 お教えいただけると幸いです。よろしくおねがいします。
今引いている足より上位の足では水平線やTLを出さないように(デフォルトで)設定する事ってできないですか?
文字列のマッチングを取りたいのですが大文字小文字の違いを無視するオプションとか無いでしょうか? たとえば3文字の文字列でも"JPY", "jpy", "Jpy", "jPY"といったバリエーションがあるわけで その全てとマッチングを取るのは大変です。"jpy"一個でマッチングをとる方法は無いでしょうか?
>>844 スクリプト常駐で がんばるしかないかも。
>>845 最初にすべての文字を小文字化すればいいのでは?
>>845 #import "kernel32.dll"
int lstrcmpiA(string lpString1, string lpString2);
#import
string hoge = "jpy", hage = "JPY";
if (lstrcmpiA(hoge, hage) == 0) Print("same");
小文字を大文字に変換する関数に一度通してから、比較するのが 古典的な方法だじぇ
850 :
Trader@Live! :2013/04/27(土) 18:04:17.98 ID:O2ourKW8
int i = OrdersTotal() - 1; while(i >= 0){ int pos = -1; for(i = i; i >= 0; i --){ if(pos == i) i = i - 1; OrderSelect(i,SELECT_BY_POS); if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber){ pos = i; break; } } if(pos >= 0){ if(OrderProfit() >= 3){ OrderClose(OrderTicket(),OrderLots(),OrderClosePrice (),Slippage,Yellow); } } } このコードビジュアルでBTすると約定した後に止まるんですがどこが間違ってるか分かります? なんか無限ループになってるっぽいんですが。 後for文の中でiの中にiを入れてるけど問題ないですよね?iは初期化したくないんですよね。
851 :
850 :2013/04/27(土) 18:06:24.66 ID:O2ourKW8
要するに全てのポジションチェックして利益が3pip出てたらcloseするっていう文を作りたいわけですが。
だったら普通にこんなんでよくない? for (int i = 0; i < OrdersTotal(); i++) { if (OrderSelect(i, SELECT_BY_POS)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) { if (OrderProfit() >= 3) { OrderClose(OrderTicket(), OrderLots(), closePrice, Slippage, Yellow); } } } } OrderProfit の返値は PIP じゃないから、そこはちゃんと計算しないといかんのと、 OrderClosePrice をポジを閉じる前に呼んでも仕方ないので、 そこは Bid とか Ask で価格を指定する必要があるけど。 ちなみに for では初期化したくなければしなくていいよ。 int i = 15; for (; i >= 0; i--) { }
853 :
850 :2013/04/27(土) 18:53:58.20 ID:O2ourKW8
>>852 どうもありがとうございます。けっこう簡潔にできますね。
ちなみに上の文の間違いですが、どうやらwhile文で繰り替えす時毎回posに-1が
代入されるみたいです。宣言文の代入はスタート関数が実行して一回だけと思ってました
がそこを通る度実行されるんですね。前にstaticをつけたらうまくいきました。
挿入→図形→長方形までが億劫なのですが、ホットキーないですか?
>>854 スクリプト作って、ホットキー割当てすればおk
>>855 ありがとうございます。
COMMAND ID 33247でできました
>>843 自己レス
なんとか自力で出来ました
お騒がせしましたー。
【MT4/5】 EA開発スレが見れなくなりました。 2chでのMT4やMT5関連スレは、もうこのスレしか残ってないんでしょうか?
開発スレあったのか。 MT4関連…という言葉尻だけ拾えば 「MetaTrader Expert Advisors (海外)」 なんてスレならあるな。
861 :
Trader@Live! :2013/04/28(日) 09:17:54.12 ID:UlcC35nI
市況2 MT4でのFXトレードってブローカーに筒抜けだよね? 市況2 MT4を超えるFXプログラミングは? 市況2 【MT4/5】MetaTrader初心者専用36【ゆとり隔離スレ】 市況2 【ハイレバ】 海外FX業者スレ Part20 【MT4】 先物 MTFXセブンインベスターズ外為ステーションMT4
市況2 【MT4/5】MetaTrader初心者専用36【ゆとり隔離スレ】 市況2 MetaTrader Expert Advisors (国内) 6 市況2 MetaTrader Expert Advisors (海外)
>>859 ゆとりじゃない普通のMetaTraderスレとEA開発スレは終了しました。
このスレでお願いします。
すんまそん スクリプト作って、ホットキー割当ててどうやるんですか?
スクリプトを作ってホットキーを割り当てる。
>>864 Accela.ahk でググればわかるかも?
サンクス AHKのことだったんですか てっきりMQL4のスクリプトを常駐させてホットキーを登録できるのかと思いまして・・・
てか、ホットキー(システムグローバル)を割り当てたいのか、アクセラレータ(プロセスローカル)を 割り当てたいのかがよく分からない。 MT4に限らないが、ウィンドウズではホットキーって単語が色々に使われすぎてて大混乱す。 ホットキーを割り当てたいのならMT4のルートウィンドウをサブクラス化して、RegisterHotKeyして 自前のWindowProcでWM_HOTKEYを監視すればいい。 アクセラレータを割り当てたいなら、スクリプトに(MT4用語の)ホットキーを割り当て(Set hotkey) して代用するのが楽だと思う。 サブクラス化してキーボードメッセージを監視してって方法でアクセラレータを再現するのは意外 と面倒っていうかクソ面倒でやってらんない。少なくとも俺なら絶対やらないw
お前は何を言っているんだ。 > 「ナビゲータ」ウィンドウの項目を呼び出すためにホットキーを定義できま > す。但し、「口座」グループの項目の定義はできません。項目へキーの組み > 合わせを定義するには、コンテキストメニューの「ホットキーの定義」をク > リックします。定義したホットキーはデフォルトのものより優先されます。 > 例えば、Ctrl+Oは初期設定では「ターミナル設定」ウィンドウ を呼び出し > ます。もし、このキーの組み合わせが 「On Balance Volume」罫線分析ツー > ルの呼び出しに定義された場合、ターミナル設定ウィンドウはCtrl+Oでは呼 > び出すことはできません。
鯖トラブルで先週の値が違うのでヒストリカルセンターの週足の値を手入力で修正したんですが MT4を立ち上げるたびに鯖から間違った値を取得してしまうんですが 何かいいアイデアはありませんか
条件を満たしたらそのときのチャートを携帯にメールで転送したいと思っています。 携帯からでも見られるよう小さめのサイズで転送したいのですがそういうことは可能でしょうか? どういうコマンドを使ったら可能ですか?
>>872 MQL4にチャート保存の命令があるから調べてみなさいよ。
フリーのEAってめちゃくちゃいっぱい有るのね。 成績いいのを探すのが楽しかったけどだんだんめんどくさくなってきた。 たまに笑っちゃうEAが有る。
875 :
Trader@Live! :2013/05/01(水) 22:52:42.42 ID:l/MhLWNs
EAにサイン出た時チャート上に矢印をつける機能を付けたいのだけれど、うまくいきません。 エラーがでます。どうやったらいいのでしょうか? 最初にプリプロセッサでバッファ用意して、それに入れるセットして、スタイルセット して、その中にクローズ値なりをいれればいいだけではないんですか?
>>875 EAはIndexBuffer使えないよ
878 :
Trader@Live! :2013/05/01(水) 23:34:21.11 ID:l/MhLWNs
>>876 >>877 ありがとうございます。
しかしobjectcreat()で検索かけても普通に説明してるサイトが見つかりません。
どこかいいサイトないですか?
>>878 >1にあるのじゃだめ?
・MQL言語リファレンス日本語翻訳マニュアル
>>874 今成績いいのでどれくらいの利回りありますか?
どのへんのサイトがお勧め?
>>878 ObjectCreate mq4 でグルってサンプルコードを探せ
古いノートパソコン(XP)にmt4とインジをいくつか入れたのですが、 インジはまともに表示されないわ、mt4自体が落ちるわ使えません。 業者を変えてダウンロードしてもダメ。 何か解決法をご存知の方いらっしゃいましたらお教え願います。
885 :
Trader@Live! :2013/05/02(木) 08:53:07.50 ID:i8RtA1xp
>>879 そこもみたのですが、どこをみればいいのか分かりません。
objectcreat()の説明見てもどーいう風に使えばいいか分かりません。
>>881 EA内で売買する(こちらで任意のサインが出る)度に矢印を表示するっていうサンプルがありません。カスタム
インジ内であったり、説明が中途半端であったりします。
if( ema20 > ema50) ObjectCreate("obj", OBJ_ARROW,0,Time[1],Low[1]);
こんなのじゃサインが出ません。エラーがでません。
ご教授願えませんか?
886 :
875 :2013/05/02(木) 09:00:33.74 ID:i8RtA1xp
>>885 文法的には間違ってないよ。
サインが出た時にObjectCreateすれば、そのオブジェクトがチャートに表示される
確認したい時は、チャート上でCtrl+Bでオブジェクト一覧を表示してみる
888 :
875 :2013/05/02(木) 11:41:16.18 ID:i8RtA1xp
>>887 すいません。ありがとうございます。解決しました。Ctrl+Bで確認したところ一つだけ
付いてたみたいで、確認したところオブジェクトの名前を固定してて、重複してて使えなかったみたいです。
>>objectcreat()の説明見てもどーいう風に使えばいいか分かりません。 ブログネタじゃないか。ARROWとかラベルとか具体的なのと使用例で説明する勇者求む。
890 :
Trader@Live! :2013/05/02(木) 14:02:51.48 ID:ygVVCun+
メタトレーダーでまだ4桁表示の業者ってあるでしょうか 思いつく業者あれば教えてください
891 :
Trader@Live! :2013/05/02(木) 14:19:35.75 ID:B0Mbaw+E
>>890 FIBO Group、MasterForex、IKOFX
他は忘れた。
892 :
Trader@Live! :2013/05/02(木) 14:26:27.63 ID:B0Mbaw+E
>>885 ObjectSetでARROWCODEの指定がされてないんだから表示されなくて当たり前だという事で
#property indicator_color1 Red で設定した色(値)をプログラム中で参照するにはどうしたいいですか? extern color Color=Red; みたいに変数にすれば簡単だと思うのですが #propertyで設定した場合はどうするんでしょうか?
propertyなら自分で書くんだからいいんだけど、ユーザーが設定した値が わからないのがだめなところだな。
>>895 じゃあ、*.chr ファイルもついでに読むとか。。
なるほど・・・そういうことできないんですね
>>898 精神論でどうにかなるモンでもないだろう…
現在のBidのプライスを、右真横の位置にラベル表示したいです ObjectCreate("Bid",OBJ_LABEL,0,0,0,0,0); ObjectSetText("Bid", DoubleToStr(Bid), 16); ↑位置の指定はどのようにやるんでしょうか?^^;) コーナーに固定指定するならOBJPROP_CORNERで可能だと思いますが Bidの位置に表示する方法がわかりません(>_<)
>>900 OBJ_TExT みたいなの使えば・・?
//
>>900 //矢印の6番のを使うのはどうですか こんな感じで
string name = "price";
if(ObjectFind(name) < 0){
//オブジェクトがなければここで作る、それかこの部分はinit()に書く
ObjectCreate(name,OBJ_ARROW,0,0,0);//位置は後で指定するのでここでは0でいい
ObjectSet(name,OBJPROP_ARROWCODE,6);//矢印コードの指定
ObjectSet(name,OBJPROP_WIDTH,3);//幅(大きさ)
ObjectSet(name,OBJPROP_COLOR,White);//色
}
//ティック毎に最新の位置に設定するためにこれは毎回呼ぶ
ObjectMove(name,0,Time[0],Close[0]);
//少しバーの右側を空けたかったら時刻部分をTime[0]+3*Period()*60とかにしてもいいかもしれません
>>902 詳しく教えてくださりありがとうございます!m(_ _ )m
なるほどObjectMoveだけティックごとに行えばいいんですね
>>901 OBJ_TEXTだとできるんですね
ありがとうございますm(_ _ )m
904 :
Trader@Live! :2013/05/06(月) 06:58:00.24 ID:/DkN8D5E
エクセルからMT4にデータを受け渡すEAって作ることは可能でしょうか? 例(エクセルのあるセルに数字が入っていたら、MT4で買注文を出す)
>>904 エクセルのマクロで、ファイルにデータ書きだす。
EAはそのファイルを読んで売買する。
こんな感じでできるんじゃない?
理論的には可能なのですね。ありがとうございました。
#property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Red #property indicator_width1 1 double Buff[]; int init() { SetIndexBuffer(0, Buff); SetIndexStyle(0,DRAW_HISTOGRAM,0); return(0); } int start() { for(int i=Bars; i>=0; i--) Buff[i] = Close[i]; return(0); } これでコンパイルエラーは出ないのですが 何も表示されません。どこが間違えてるのでしょうか? DRAW_LINEにすれば表示されるのですが・・・
>>907 こんなかんじにすると表示されるよ
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
#property indicator_width1 1
double Buff[];
double Buff2[];
int init(){
IndicatorBuffers(2);
SetIndexBuffer(0, Buff);
SetIndexStyle(0,DRAW_HISTOGRAM,0);
SetIndexBuffer(1, Buff2);
return(0);
}
int start(){
for(int i=Bars; i>=0; i--){
Buff[i] = High[i];
Buff2[i] = Low[i];
}
return(0);
}
>>908 ありがとうございます!
確かに表示されました
日本語リファレンスにそういう説明見つけられなかったのですが・・・
バッファを2つ作らないといけないんですかね
>>909 ヒストグラムの描画では、
サブウィンドウは1つで描画できるけど。
チャートウィンドウでは2つ使って描画する。
>>910 ありがとうございます!
サブとメインでは扱いが違ったんですね。
>>911 メインチャートでのヒストグラムの描画方法は
連続するバッファ番号を使い2つのバッファの数値の間に線を引く という仕様です。
連続するバッファの組み合わせは0-1、2-3、4-5という具合に利用しなければなりません。
>>912 > 連続するバッファの組み合わせは0-1、2-3、4-5という具合に利用しなければなりません。
詳しくありがとうございます!
912さんに爆益が来ますように
914 :
Trader@Live! :2013/05/07(火) 16:02:44.35 ID:uFOd6RCl0
質問です。バックテストする際のことなんですが、エブリティックでバックテスト するとティック事に動いてテストしてくれるのでしょうか? 外部から1分足とかインポートする際4本値だけですべてのティックの情報なんて 無いですよね?違うところに保存されていて、そーいう外部からインポートした ものに限ってはmt4の仕様によって動く、という認識でよろしいですか?
>>914 基本的に1分足の4本値とボリューム値から、擬似的にチックデータを作り出しているだけだよ。
916 :
Trader@Live! :2013/05/07(火) 16:06:58.20 ID:uFOd6RCl0
>>915 あ、そうなんですか。どうもありがとうございます。
Alert()関数でアラートを表示していたんですが あるときを境にポップアップウインドウが表示されなくなってしまいました。 何か設定をミスるとポップアップウィンドウが表示されなくなるんでしたっけ? ちなみに音は鳴ってます。
>>917 アラートウィンドウが出ているはずの場面で、
Alt+Space+Mを押してから、←や→を押しっぱなしにしてみませう
画面外からぴょこぴょこ出てくるはずです
>>918 お騒がせしました、なぜかデュアルディスプレイのもう一方のディスプレイ(いつもは非表示にしている)
にアラートウィンドウだけが島流しになっていました('A`;)・・・
自作のカスタムインジケーター作ってるんだけど修正してコンパイルするたびにパラメータが全部0になっちゃう。 移動平均線のカスタムインジケータを作ってるとすると、コンパイルし直すたびに既にチャートに表示しておいた 移動平均線カスタムインジケーターの平均本数とか0に変更されてしまう。 コンパイルのたびに20とか75にいちいち戻すのは面倒。 なにかいい方法無いだろうか?
>>920 コンパイル前に MT4を終了する。
そして、コンパイルする。
コンパイル完了後に、MT4を起動する。
これでおk
日足がアメリカ時間で確定するMT4ありますか?
>>921 ありがとう、ちょっとやってみる(`・ω・´)
DRAW_LINEとDRAW_SECTIONってどう違うんですか? 同じラインのように見えます
そうそう、MT4はSMTPサーバーを設定すればメールを自動送信させることが可能になる。 Yahoo!のメールアカウントを取得し、そこのSMTPサーバーをMT4に登録していたんだけど メールをバシバシ送りすぎたのか最近ここのSMTPサーバーが使えなくなった。 (MT4はメールを送信しているようだけどYahoo!側から無視されてるのかメールが届かなくなった) 他のSMTPサーバーを探さなければならないんだけどなにかお勧めのところって無い? プロバイダーやGmailのSMTPサーバーはSSL化されていてMT4からは使えなくて難儀してる( ´・ω・)
自分でSMTPサーバを立てちゃうとか、どう?
>>926 さくらのVPS借りて、SMTPサーバ立てるのが楽かな。
>>931 手法自体が使えないですか。
stoneの変わりにstunnelで、
試してみようかなと思ったんですが・・・。
>>932 出来なかったという報告があった気がする。。詳細は不明。
>>933 ありがと、いつか試してみようとおもう。(いつになるか不明だけど。
いつの間にか知らない間にビルド500になってるんだけど、勝手にバージョンアップするようになったの?
バックグラウンドでダウンロードされて、次回起動時にアップデートされるみたいだね
なんか起動するたんびに、「別のユーザーとして実行」って窓が でるようになったのだけど・・・・・
1つのチャートに貼られているカスタムインジケータ同士ってお互いを意識することって可能? たとえば移動平均線を表示するカスタムインジケータを作ったとする。 ドル円のチャートに5日移動平均線と25日移動平均線を貼り付けて 5日移動平均線のカスタムインジケータが25日移動平均線のカスタムインジケータの存在を 認知することって可能? もしこれが可能だとゴールデンクロス・デッドクロスの通知が簡単になるんだよね。 一つのチャートに好きなだけ移動平均線のカスタムインジケータを放り込んで(それこそ10個でも20個でも) あとはお互いがクロスするたびに自動的に通知してくれるようになるわけで。 でも自分以外にどんなインジケータが貼り付けられているのか検知できないとすると こういう芸当はできなくなる。
あともう一つ。 一つのウィンドウに同じ通貨ペアのレートを上下に2つ並べることって可能? 上のレートには移動平均線を重ねて表示し、下のレートには一目均衡表を重ねて表示させたい。 移動平均線と一目均衡表を重ねて表示するともうごっちゃごっちゃになって訳が分からなくなる。 だから上下に分けて表示できれば便利かなと思った。
「別のユーザーとして実行」って俺も出るようになった ちなみにxp キャンセルしたら普通に起動できるけど okしたら一瞬表示されて落ちるな
>>938 Profileフォルダの chr ファイルを解析すれば
どんなインジが貼られているかは分かるかな?
>>939 頑張ればできるんじゃない?
レートを大きく表示するインジを改造
build482が500になってしまいました、戻す方法はありますか。
災難だとアキラメな・・
一応482のbuildのexeは持ってるんですが、実行すると勝手に再起動して500になってしまう・・・ 482からはterminal.exe側にupdate機能がついているようですが、 なぜかファイアウォールでterminal.exeを通信遮断しても500になるorz
>>945 あっさり解決しました、ありがとうございます。
あなたが神か
某ブログでbuild500は「ダイアログなどが原則的に操作完了と同時に閉じるようになった」 って書かれてるんだけど、これって具体的にはどういう動作なの?
948 :
Trader@Live! :2013/05/12(日) 00:18:04.31 ID:Hm/Ezt8o
1分足チャートを過去3年ダウンロードできるサーバーおしえてください!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
950 :
Trader@Live! :2013/05/12(日) 01:57:04.92 ID:Hm/Ezt8o
949 サンキューです。 まぢでサンキューです。
951 :
Trader@Live! :2013/05/12(日) 02:13:45.54 ID:Hm/Ezt8o
949 2005/1〜2005/2のデータしかなかったたわ・・・
え、マジで? ダウンロードして確かめてみるわ 通貨は?
953 :
Trader@Live! :2013/05/12(日) 02:20:32.08 ID:Hm/Ezt8o
ユロ円です。 メタトレードのサーバー(ロシア)が今止まってますよね? 最初ここから落とそうとしたのですがとまってて・・・
今年の4/13まで入ってるぞ 一旦削除してから再インポートしてみ
>>947 発注が成功してもエラーになっても、いままでは
ダイアログを閉じる動作が必要だったところが、
ワンクリックトレードをオンにしておくと、
ダイアログが勝手に閉じるようになった、
ということだと解釈しています。
956 :
Trader@Live! :2013/05/12(日) 02:50:43.59 ID:Hm/Ezt8o
ファイルを再ダウンロードしたらできた!!!! さんきゅーです。 もう一点質問していいでしょうか? テスターで最適化で算出したやつを、一つかいつまんで単独でテストすると 最適化して出た結果と異なるってことありませんか??
958 :
Trader@Live! :2013/05/12(日) 03:48:30.58 ID:xNLMXs0O
あれ・・・自分のところはまだBuild482なんだけど、 チャートを右クリックしたときに出てくるメニューの内容が変わってる・・・ 『表示中の罫線分析ツール』というのが出てこなくなってしまった。 右クリしたときに↑を出す出さないの設定項目なんてありましたっけ?
959 :
Trader@Live! :2013/05/12(日) 04:09:20.71 ID:xNLMXs0O
>>959 それは、チャートにインジが
セットされてる場合に表示されるヤツだよ。
961 :
Trader@Live! :2013/05/12(日) 04:37:00.52 ID:xNLMXs0O
>>960 レスありがとうございます。
両方ともインジ満載のドル円チャートの空間部分を右クリしての結果なのです。
新しいメニューの内容もよくよく見ると更新が警告と表示されていたり、
BuyStopの右側が周期設定だったりと、チグハグところが含まれているので、
週明けのBuild500へのVer.Upまでもう少し様子を見ようと思います。
>>961 他の箇所も表示がおかしいところがあるね。
バージョンアップ待ちより、入れ直したほうがよさそうだけど。
963 :
Trader@Live! :2013/05/12(日) 04:54:51.65 ID:xNLMXs0O
>>962 Buld482から自動でVer.Upするというレスがありましたが、何度再起動しても482のままなので
手動でSetUpしなおしたらBuild500になってメニューも治りました。
お騒がせいたしました
965 :
Trader@Live! :2013/05/12(日) 13:37:47.65 ID:Hm/Ezt8o
インジケーターじゃなく、EAでオブジェクトをクリエイトできないのでしょうか?
できるでしょ。 EA がチャートにいろいろ情報を表示するのはオブジェクトなんだし。
967 :
Trader@Live! :2013/05/12(日) 13:54:01.68 ID:Hm/Ezt8o
965です。 追加です。 やりたいことは、テストした時ってポジもったとこと、決済したところに 矢印つきますよね? あんな感じで、ある条件を(IFで作成した条件)満たした箇所に矢印でもポイントを打っていきたいんです。 EAで!! こんなことできますか??
>>940 「Run this program with restricted access」(ごめん英語OSなもんで。。。)のチェックをはずしてOK押すと、
勝手に再起動されてビルドが500にバージョンアップされるっぽいね
971 :
Trader@Live! :2013/05/13(月) 07:28:18.84 ID:9ZIg7iqi
969 どーやんの?
ある条件って… そりゃifだな 陽線に200本分 上矢印を描くコード 231 Type OBJ_ARROW
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link "
http://www.metaquotes.net "
#property indicator_chart_window
extern int seigen = 200;
int init()
{
int kazu = 0;
string name;
for(int i=0;i<seigen;i++){
while(true){
if(ObjectFind("Arrow_"+DoubleToStr(kazu,0)) == -1){
break;
}
kazu++;
}
// 陽線にチェック
if(Open[i] < Close[i]){
name = "Arrow_"+DoubleToStr(kazu,0);
ObjectCreate(name,OBJ_ARROW,0,Time[i],Low[i]);
ObjectSet(name,OBJPROP_ARROWCODE,SYMBOL_ARROWUP);
ObjectSet(name,OBJPROP_WIDTH,3);
}
}
return(0);
}
int deinit()
{
string name;
for(int i=ObjectsTotal()-1;i>=0;i--){
name = ObjectName(i);
if(StringFind(name,"Arrow_")==0){
ObjectDelete(name);
}
}
return(0);
}
int start()
{
int kazu = 0;
string name;
while(true){
if(ObjectFind("Arrow_"+DoubleToStr(kazu,0)) == -1){
break;
}
kazu++;
}
name = "Arrow_"+DoubleToStr(kazu,0);
// 陽線にチェック
if(Open[0] < Close[0]){
ObjectCreate(name,OBJ_ARROW,0,Time[0],Low[0]);
ObjectSet(name,OBJPROP_ARROWCODE,SYMBOL_ARROWUP);
ObjectSet(name,OBJPROP_WIDTH,3);
}else{
if(ObjectFind(name) !=-1){
ObjectDelete(name);
}
}
return(0);
}
#property indicator_chart_window の記述を消してmt4/expertsに設置
974 :
Trader@Live! :2013/05/13(月) 19:24:04.71 ID:1Bo7aVPw
EAの売買のラインの色ってどうやって変更できないんだっけ? OrderSend()で指定しても矢印の色しか変わらない...
>>974 スクリプト等で後から無理やり変更できるんだっけ?
>>941 > Profileフォルダの chr ファイルを解析すれば
> どんなインジが貼られているかは分かるかな?
亀レススマソ
スマートにカスタムインジケータ同士が互いを意識する方法はないってことね・・・
>
>>939 > 頑張ればできるんじゃない?
> レートを大きく表示するインジを改造
↑「レートを大きく表示するインジ」?
それとレートの上下表示ってどう関係するの?
ウィンドウハンドルとMAの移動平均期間を名前に含むグローバル変数を作成して、 それをお互いに検索するような感じで、できなくはないかな。 MAの値をグローバル変数の値にすれば、他のインジに自分の現在の値を 伝えることも可能だろうし。まあ作るのは結構面倒くさそうだけど。
978 :
Trader@Live! :2013/05/14(火) 08:08:10.14 ID:m/G+/mXM
972 973 >#property indicator_chart_window >の記述を消してmt4/expertsに設置 これの意味がわからないのですが・・・ ご教授ください。
横から。 記述を消すのはインジではなくEAとして挙動させるため。分かりやすく何すれば良いかというとその行を消せ、と。 設定位置の問題は、通常experts/indicatorsフォルダにインジのファイルなら入っているんだが、EAはその一つ上の階層のexpertsフォルダにおいてあげないとMT4側で認識しない。 ちなみに、確かに上にあるのはEAで表示したいって言う要望を叶えるコードだけど、取引部分は書かれてないから。(そんな要求は無かったし)
for文をdouble型で回したら、"<="の判定が正しくならないんだな。 "<="じゃなくて、"<"の結果になる。while文でも同じ結果だった。 double型で回しても"<="の判定で処理する方法はないかな?
983 :
972 :2013/05/14(火) 15:18:10.41 ID:XJuURqsq
>>979 たしかに発注命令は記述してないです。
横からありがとう そのとおりでございます。
>>981 レスありがとうございます。
for文の継続判定時のカウンタ値を
DoubleToStr(Digitsの値)すると正常(意図した動作)になりました。
問題は解決したのですが、
原因が不明だったため、カウント値及びカウンタ比較値を
981のPrintの確認方法(少数点4桁以上表示、X倍)で確認してみたのですが、
意図した値であり、不一致にはならない値でした。
ちょっと気持ち悪いです・・・。
for文のカウンター更新部の加算値が少数点5桁の値(0.00001)なのが何か悪さをしていたのかな?
カウンタには整数変数を使うのが常識。
>>985 ,986
レスありがとうございます。
>>985 そうみたいですね。
for文double型で調べてみると、
他の言語でも異常が発生するのがあるみたいでした。
比較時の値をint型にした、方法も検討したんですが、
処理量が増え、汚いコードになってしまうので、却下しました。
もう少し検討してみます。
>>986 原因分かりました。
少数点位置15桁目にゴミが発生していました。
必要なのは通貨ペアのDigital値の少数点桁数までなので、
DoubleToStrで対処、または、比較時の値をint型の方法を検討してみます。
ありがとうございました。
.25から50pp毎にラインを引きたいのですが、自動で引いてくれるインジはありますか? Grid Builderというのはあったのですが、これだと00からの50pp毎になってしまいます ご存知の方がいましたらご教示ください
>>988 >ObjectCreate("Grid"+I, OBJ_HLINE, 0, Time[1], I/Divisor + 25*Point);
>>989 すみません
初心者なもので全く意味が分りませんorz
>>990 ソースコードを書き換えろって言いたいんじゃないかなぁ?<意味
拾ってきたGrid Builderの70行目を
>>989 のように書き換えてくれ。
書き換えるというか「 + 25*Point」と書き足すだけ。
誰か新スレ頼む。
>>992 やってみましたが上手くいきません
もしかしたら+25ではなく+250でしょうか?
ん、そうか。無責任だがそのコードをいじるだけなら壊れるもんじゃないから 色々触ってみて書き換えてみて。というか現状どう変わった? 全く変わっていないならコンパイルが出来ていない、とかかな。
>>992 +250にしたら上手くいきました!
本当にありがとうございました
ume
埋まる
DAT落ちに
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。