【MT4/5】MetaTrader初心者専用28【ゆとり隔離スレ】
3 初心者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.同じインディケーターを同じウインドウに表示したい。
A.共存させたいインディケーターを同じウインドウにドラッグ&ドロップ、
設定を変えて表示させる。
Q.ほかの業者なんかで取引をしているのですが、チャートだけMT4使うことできる?
A.ほとんどがそんな使い方でしたが、最近乗り換える人が増えているようです。
Q.MetaEditorでコンパイルするやり方がわかりません
A.MetaEditorのツールバーのcompileで出来る
面倒だったらファイルを保存して、MT4を再起動
4 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これで、チャートを右クリ>定型チャートで好みのチャートを一発で呼び出せる。
5 Q.〜ってインジケーターはどこにあるの?
A.
ttp://www.abysse.co.jp/mt4/ 名前と画像から検索できる
http://www.forex-tsd.com/ ここでググるもよし。
http://www.mql4.com/ でググるもよし
人気どころは「外為男」内でググったほうが早いかも。(URLは控える)
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 :-)
Q.ゆとりスレなのに・・・
A.「MetaTraderのための」ゆとりスレです。
「パソコン初心者」「2ちゃんねる初心者」のスレではありません。
Q.Vista、Windows7で動かないのですが?
A.以下を試してみてください。(本スレテンプレより)
1 [コンピュータ]を右クリック。[プロパティ]を選択
2 [システムの詳細設定]を選択
3 [詳細設定]タブをクリック
4 [パフォーマンス]の[設定]をクリック
5 [データ実行防止]タブをクリック
6 「重要なWindowsプログラムおよびサービスについてのみ有効にする」をオンにする
7 okをクリック
8 OSを再起動
※ Vista の場合、 C:\Program Files 以外の場所にインストールするのが便利です。
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のフォルダをバックアップ。
これで大体もとの環境を作ることが出来る
7 ▼各デモサーバのIP
すでに変更されているものもあります。補完をお願いします。
MetaQuotes-Demo demo.metaquotes.net:443
ActivTrades 87.119.205.71:443
Alpari-Demo 217.74.44.32
212.65.93.12
Alpari-UK 84.45.118.35:443
AVA FX 16.93.169.220:443 (要AVAからMT4 DL)
Broco(Water House Capital) 216.93.180.133:443
EuroOrient 208.96.16.237
FIBO Group 84.19.184.154:443
Fortune-capital
FXBEST 213.152.151.220:2000
FXDirectDealer mts06.fxdd.com:443
FX-Invest 98.173.4.28:443
GrandCapital LLC 208.101.37.188:443
Gimex-NEXTT 212.12.60.156:443
GCI 213.232.103.144
InterbankFX-Demo 66.114.120.22:443
LiteForex 209.160.72.90:443
MIG-Demo 66.235.184.206:443
MoneyRain-Server 80.94.84.43
MWHeadway.com 209.61.194.19:443
Northfinance demo.fxteam.ru:443
NWBroker 193.125.192.190:443
ODL-MT4 Demo - ODL Securities 62.189.82.162:443
One World Capital 216.93.181.201:443
Orion-DEMO 66.36.240.247:443
STS Finance 87.120.42.14:443
Tradeco 209.61.194.31:443
Ukrsotsban 212.109.44.23:443
Varchev Finance Ltd 213.16.33.131:443
Velosity4x.com 207.228.252.28:443
207.228.252.27:443
Wega Trade 62.149.27.61:443
WSD Financial (NZ) Limited 210.55.141.74:443
Windsor Brokers-Demo 217.27.32.243:443
XTrade 217.8.185.218:443
X-Traders demo.xtb.pl
ここがよくまとまっています (でも、古いです...)
ttp://d.hatena.ne.jp/fai_fx/20090723/1248448353
8 ▼サーバータイム別のIP 補完ヨロ。※サマータイムを採用している業者もあるので、要注意です。 [GMT+0] Admiral Markets Ltd. 69.64.43.37:443 FastBrokersFX 66.151.194.152 Interbank FX 66.114.120.22:443 North Finance demo.fxteam.ru:443 208.96.16.237 Velocity4x ODL 62.189.82.162:443 (繋がらないので注意) 213.38.148.25:443 (繋がらないので注意) [GMT+1] MetaQuotes demo.metaquotes.net:443 Alpari 217.74.44.32 Alpari-UK 212.187.233.32 Alpari-US 208.122.38.251:443 Broco(Water House Capital) 216.93.180.133:443 (繋がらないので注意) FIBO Group 217.16.27.150:443 MIG 80.83.53.150:443 Century Intervest 202.157.169.103:443 SpotTrader 75.127.250.108:443 X-Trade Brokers 217.8.185.218:443 [GMT+2] FXDirectDealer mts06.fxdd.com:443 Forex Gen 70.84.233.90:443 EuroForex Development SNC Investments
9 ▼サーバの設定の仕方 MetaTrader 4のメニューバーで ツール → オプション → サーバ サーバ(S)のところに上記のIPアドレスを入れる。 ファイル → デモ口座の申請 「貴社からのニュースレター受取りに同意します」にチェック、 Scanボタンを押してアクセス状態を確認する。 アクセスでき、Ping返答時間の短いものを選ぶ。 もう一度ログインし直す。 他にも業者がありますので探してみましょう。 ▼サーバのIPを調べる方法 MT4のフォルダーをクリックして、configという名のフォルダーを開く。 C:\Program Files\MetaTrader 4\config 使用しているデモサーバーの名前がついたファイルを 右クリックして、「プログラムから開く」でメモ帳を選択。 多くの文字が文字化けしているが、3行目に数字の羅列がある。 この数字がデモサーバのIPとなる。 テンプレートに記載されていないIPアドレス、 またテンプレートには記載されているがテンプレートのIPアドレスが古いと思われる場合、 スレに報告してくれるとテンプレートが充実します。
ここまでテンプレ
>>1 乙!このスレってテンプレ長くて立てるの苦労するよなw
てか、前スレの1です。スレ番修正ありがとうございましたorz
13 :
Trader@Live! :2011/09/30(金) 14:02:26.77 ID:QlFmO4KY
14 :
Trader@Live! :2011/09/30(金) 15:18:28.51 ID:nJuk0rb9
macd+のダウンロード先を教えてください
「毎時○分(マイナス可)より○○分おきにアラートを鳴らすを繰り返す」というインジ 「毎日○時(マイナス可)より○○時間おきにアラートを鳴らすを繰り返す」というインジ を作成してください お願いします
ユーロドル、データが何故か抜けている期間があったので 自分て手入力で入れました 4時間足のデータを埋めたので、それより短い足はダメなのでしょうが 長い日足とかは自動で4時間足から計算して埋めてくれないのでしょうか?
18 :
Trader@Live! :2011/09/30(金) 20:56:21.50 ID:Wd2DCgHa
FXDDのMT4使ってる人います? 今動かなくないですか?
ノ 動いてないみたいね
>>17 > 長い日足とかは自動で4時間足から計算して埋めてくれないのでしょうか?
>>5 > Q.このスレでよく出てくるインジケーター
> ・Period_Converter_Opt
21 :
BOT :2011/09/30(金) 22:02:30.11 ID:7Onn5PqB
FXDDだめぽ
有料でいいから信頼性の高いレートを配信してくれる業者ないんでしょうか?
FXDD動き出したけど窓開きまくり。 開いた部分のレートを埋める方法ありますか?
24 :
Trader@Live! :2011/09/30(金) 23:34:08.54 ID:Hqs/sFf8
fxddの他でオススメの会社ないですか?小数点第三位まで出てるやつで
日本の業者で、日足5本のところないの???
init()内で、SetIndexStyle(0, DRAW_LINE, EMPTY, 1, Red); とやったインジを チャートにインジを乗っけたままコンパイルすると、initしてるはずなのにラインが黒になってしまいます。 #property indicator_color1 Red を追加した場合は、ラインは赤になるんですが仕様ですか?
>>26 感触だと、インジをリコンパイルするとターミナル側ではリロードされる。
でも、インデックスバッファ関連は微妙に再初期化されない印象。
仕様だと諦めて、削除とリロードしたほうがいいみたい。
俺は定型チャート読み込みでリロードしている。
他、インジ開発ネタはインジスレにどうぞ。
fxddひでえな 過去のチャート6月と7月がぶっこ抜かれてる わざとやってんのかこれ?
日足5本のためにFXDDにしようと思ったんだがFXDDはサーバが微妙なのか 結局いっちゃんえぇやつはどれやねん
CFDスレ既に、メタトレ話題から脱線気味。 本来交わらない話題なのよね。分離独立おめでとう。
>> 29 前スレでバックテストで土日足を無視するコードがあったよ。 たぶん、どのプロバイダでも土日足が出てしまう事があるようだね。 サマータイムとか、標準時間とか、サーバーテストとか。 たぶんそんな理由かと思う。
バックテストでたまにずっとエラー138(クローズのとき)が出続けるのですが、 バックテストなのにrequoteとかあるんでしょうか? 原因はなんなのでしょう?
>>32 値動きが激しくて、BTでも約定しなかったと判断したとか。
BTであってもなくても原因がなんであれ、クローズしてないんだから再クローズしないとダメじゃん。
チャートからPageUpで遡って過去データをダウンロードする時は90日ぐらいで 約3ヶ月分ぐらいの過去データがダウンロードできるとどこかで見たのですが、 いつもこの直接チャートを遡って過去データを取得する時はなぜか約2ヶ月分の 60日分ぐらいしかダウンロードできません。 3ヶ月分ダウンロードするにはなにか特別な設定法とかあるんでしょうか?
>>34 ブローカーがサーバに保存しているデータがその期間だけってことだったら、ダウンロードできない。
オプションのチャートのバーの設定値が小さすぎてもダウンロードできない。
>>35 オプションのチャートのバーの設定値は小さすぎないように変更しました。
けどブローカーがサーバに保存しているデータの期間が限定されてて
すべてのブローカーで3ヶ月分ダウンロードすることが
かならずしも可能というわけではないんたですね。
一応Alpariで試したんですが約2ヶ月分ぐらいしかダウンロードできませんでした。
Alpariとかだったらちゃんと3ヶ月分ダウンロードできると思ったのですが・・
37 :
Trader@Live! :2011/10/02(日) 13:56:08.54 ID:ZvNvoXUT
39 :
Trader@Live! :2011/10/02(日) 15:02:29.63 ID:ZvNvoXUT
すみません、かえってみにくかったですね。 ありがとうございます! 恥ずかしながらマルチタイムフレームという言葉を初めて知りました。 教えていただいて感謝しております。
質問させてください。 MT4Track以外のMT4間ポジションコピーツールで、動作が安定しているものはありますか? 国内、海外どちらのツールでもいいのであったら教えてください。 よろしくお願いします。
>>41 フリーなのは前スレにレスったけど、安定しているかどうか知らない。
ログイン情報からサーバーを削除できませんか?
*.srv ファイルを削除するとどうなるのかな?
あのMT4を2種類使っていて 1つのMT4@に入っているインジをもうひとつのMT4Aでも使いたいのですが どういう手順でやったらいいですか? 元のプログラムみたいなのは取ってありません
>>46 experts/indicators/フォルダにある使いたい*.ex4をコピーすればOK。
>>47 そう思って見ても
experts/indicators/フォルダ
に使いたいファイルが見当たらない
他の場所に保存してあることはないですよね?
「毎時アラート」
#property indicator_chart_window
extern bool alert_on=true;
extern int min=0;
int start()
{
if(alert_on==1 && Minute()==min){Alert(min);alert_on=0;}
if(Minute()==min+1){alert_on=1;}
return(0);
}
これなのだけど、どうやって新たに組み込めばいいですか??
Custom Indicatorsで作成でやってみても
元のにはあった「パラメーターの入力」で設定するところがない
んー、エスパーするとファイル名を勘違いしてるだけでは。
>>49 ファイルの中身を一つ一つ開いて確かめたけど上記のようなプログラムのはなかった
難しい…
>>50 *.mq4(ソース)ファイルは無くて*.ex4(コンパイル後のバイナリ)だけあるんでないの?
だからコピーしたいインジの名前.ex4ってファイルをもってけばいいんだよ。
>>51 ありがとう
でもその「毎時アラート」って名前の*.ex4がMT4@のexperts/indicators/フォルダになくて困ってる
そのインジのファイル名が違うんでないの? チャートのインジのリスト(チャート上でCtrl-Iで出てくるダイアログボックス) にその名前である? あるいはインジではなくスクリプトやEAだったりするのだったらまた場所が違う。
>>53 > チャートのインジのリスト(チャート上でCtrl-Iで出てくるダイアログボックス)
> にその名前である?
ある
> あるいはインジではなくスクリプトやEAだったりするのだったらまた場所が違う。
半年以上前にこんなようなスレで作ってもらった
>>48 なのだが…
ID:9w76iYNQの優しさ辛抱強さに感動した;;
>>54 あるんならexperts/indicators/の下にあるはずなので見てる場所が違うに3カノッサ。
Vista以降のOSで、 Program Files 以下に MT4 を入れていると 互換性ファイル として別の場所にあることもある・・・
C:\Program Files\MetaTrader 4\experts\indicators
元のMT4のここ↑にはないですね…
日本語名だからとか関係ないと思うけど
PCは以前から今もずっとVista
>>48 のプログラムをMT4Aに普通に新たに組み込めればいいのだけど
やり方は忘れてしまった
>>58 あぁ、
>>57 の言う通り、その下に書き込んだファイルは別の場所にいってるん
やね...
ということで %LOCALAPPDATA%\VirtualStore\Program Files の下にあるはずかな。
>>59 %LOCALAPPDATA%\VirtualStore\Program Files の下に「毎時アラート」 ありました!
でもそれをコピーはできてもやっぱり元の時のように「パラメーターの入力」がなくなってる
(アラートが毎時「何分」かを設定)
パラメーターは取りあえずよいとして どうもありがとう!
62 :
Trader@Live! :2011/10/03(月) 18:54:28.94 ID:N3yrL/78
メタトレーダーの移動平均線の表示期間の上限は4000くらいだと思うのですが、それをもっと長いスパン可能にする方法はありますか? インディケータ集で探しているのですがなかなか見つかりません。 もしそのようなインディケータがあれば教えていただきたいです。
計算が遅すぎてまともに使えないんじゃないかな
64 :
Trader@Live! :2011/10/03(月) 19:14:16.60 ID:N3yrL/78
>>63 やっぱり重くなっちゃいますかね…
より実勢の動きに近付けて検証しようと、1分足で過去1週間の移動平均(7200)を表示させよう考えていたのですが…
前スレ990と同じ質問なんですが、複数通貨ペアの相関行列を右下あたりに表示するインジってありませんか?
>>66 それ、experts/indicators/Moving Averages.mq4 と同じもの
MT4ってメモリリークみたいな、起動しっぱなしだとどんどん重くなる現象とかあるのん?
>>69 俺は FOREX.com×2、FXCMJ×1 の3つを起動させてる1週間に一度パソを再起動するから
重くなるのは気付かんな。
>>67 どんなのを期待しているか判らないから、とりあえず"MT4 Multicurrency Correlation"をキーワードにして画像をググってみたら?
チラ見した限りでは無さそうだけど?
>>62 MTFを使えばいいんじゃない?
1分足で7200なら、5分足で1440
週足のときは月足始値を取得したいのですが、以下の方法で大丈夫でしょうか。 ちょっと自信がありません。 int p; if(Period()<=PERIOD_H4) p=PERIOD_D1; else if(Period()==PERIOD_D1) p=PERIOD_W1; else if(Period()==PERIOD_W1) p=PERIOD_MN1; int i=5; datetime t = MathFloor(Time[i]/86400)*86400; double op = iOpen(NULL,p,iBarShift(NULL,p,t,true)); //表示用 t=iTime(NULL,p,iBarShift(NULL,p,t,true)); Comment("t=",t," ",TimeYear(t),"年",TimeMonth(t),"月",TimeDay(t),"日",TimeHour(t),"時 始=",op);
>>75 訂正:4時間足以下のときは日足始値、日足のときは週足始値、
週足のときは月足始値を取得したいのですが
>>75 問題ないと思うけど、「datetime t = MathFloor(Time[i]/86400)*86400;」って必要?
int i = 5; datetime t = Time[i];
double op = iOpen(NULL, p, iBarShift(NULL, p, t, true));
これだけでもちゃんと動いてるように見えるんだが・・・・・・落とし穴がある?
if〜の行は
static int period_list[3] = { PERIOD_D1, PERIOD_W1, PERIOD_MN1, PERIOD_MN1 };
int p = period_list[(Period() / PERIOD_D1) & 3];
とか書くこともできるけど、可読性が酷いんでお勧めはしないw
添字3じゃないや、period_list[4]だったorz
>>77 ありがとうございます
他人のコードにそんな表現があったので使ったのですが、でもTime[i]だけでも大丈夫そうです
質問追加なんですけど、
>>75 で
日足チャートでは日付が日曜に、週足チャートでは日付が○月1日に(○月1日が日曜だとしても)、
表示されるのは仕方ないですか?始値はちゃんと表示されてるようですが・・・
80 :
Trader@Live! :2011/10/04(火) 09:29:41.29 ID:5QmC0k6Z
過去に同じ質問あったかもしれませんが、MT4は分割決済できないのでしょうか? 何か方法あったら教えてもらえますでしょうか?
分割決済?
>>80 クローズ関数で分割して決済したいlot分を決済するコードでためしてみれば?
EAでしたことないが裁量で分割して決済ならしたことあるけど
83 :
Trader@Live! :2011/10/04(火) 10:03:43.70 ID:5QmC0k6Z
言葉足らずですみません。 例えば77円でドル円をショートした場合 これを76.5で半分利食い、残りを76.1で利食うということは可能でしょうか? 決済画面を見ると成行きでは数量の指定可能ですが、指値では数量の選択ができないです。 私の理解が不足しているだけかもしれませんが教えてもらえますでしょうか。
成り行きしかできない仕様です
85 :
Trader@Live! :2011/10/04(火) 10:24:14.00 ID:5QmC0k6Z
どうもありがとうございます。 やはり指値では分割決済できないようですね。 そうなるとあらかじめ分割でエントリーする以外方法なさそうですね。
>>85 やったことないけどスクリプトかEAでクローズ関数つかって希望の値段になったら成り行き分割決済するコード書いてみれば?
分割決済機能付きのEAがあるみたいだし、できないことはないのではないかな?
87 :
Trader@Live! :2011/10/04(火) 10:39:18.76 ID:5QmC0k6Z
>>86 なるほど、分割決済機能付きのEAがあるんですね。
MT4は今まで見るだけで取引で使用してなかったので分からないことが多いですw
これから少しずつ勉強したいと思います。
>>79 恐ろしく面倒臭いぞ?
まず週足のオープンはブローカーによって日曜夜のとこと月曜朝のとこがある。
同じようにクローズは金曜夜のとこと土曜朝のとこがある。
てことは、単純に土曜だから日曜だからで刎ねちゃうと上手くいかない。
次に、10/31(土)にとっての正しい月足のオープンは10/01だけど、11/01(土)にとって
の正しいは月足のオープンは11/03ってことになる。
てことは、単純に直近の月曜日にズラすだけでは上手くいかない。
俺なら表示は気にしないで無視する。
っで、datetime tにはTime[0]のみを設定するようにする。
これなら何も手を加える必要がない。
何らかの事情、例えばfor(int i = 0; i < ???; i++) { Time[i]で手繰りたいからTime[0]に
固定できないって場合は
iOpen(NULL, PERIOD_D1, iBarShift(NULL, PERIOD_D1, Time[i], true));でチェックして
0が返ってきたら単純にcontinue;でそのTime[i]は処理しないようにする。
安直だけど、実使用上はあんまり問題なさそうに思えるがどうだろう?
89 :
Trader@Live! :2011/10/04(火) 11:06:57.31 ID:D9G9HAmK
【最新・時事通信社】 ■■ギリシャに対する80億ユーロ(約8100億円)の融資を月内に承認する方向で一致■■ ■■ギリシャに対する80億ユーロ(約8100億円)の融資を月内に承認する方向で一致■■ ■■ユンケル議長(ルクセンブルク首相)は「ギリシャのデフォルト(債務不履行)の可能性は全くない」と強調■■ 【ブリュッセル時事】2011年10月4日(火)08時46分
90 :
Trader@Live! :2011/10/04(火) 20:58:38.76 ID:eGMujgxe
EAに使用したいのですが RSIの移動平均線(5分足) ストキャ(5.3.3)の移動平均線(5分足) の計算式はどのように記述したらいいのでしょうか? よろしくお願いします。
91 :
Trader@Live! :2011/10/04(火) 22:06:12.95 ID:/2HomP86
初心者です。ご教示くださいませ。 HKDJPYをMT4にて表示させたいのですが、新規チャートで HKDJPYがありません。どうにかチャートだけでも分析したいと 思っています。ご教示の程、よろしくお願いいたします。
>>90 double iRSI(string symbol, int timeframe, int period, int applied_price, int shift)
Calculates the Relative strength index and returns its value.
RSI(相対力指数)を計算して、その値を返します。
if(iRSI(NULL,0,14,PRICE_CLOSE,0)>iRSI(NULL,0,14,PRICE_CLOSE,1)) return(0);
double iStochastic(string symbol, int timeframe, int %Kperiod, int %Dperiod, int slowing, int method, int price_field, int mode, int shift)
Calculates the Stochastic oscillator and returns its value.
ストキャスティックス オシレーターを計算して、その値を返します。
if(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0)>iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0))
return(0);
>>91 その業者がHKDJPYを扱ってないから、出しようがない。
業者(サーバー)を変えるしかない。
93 :
Trader@Live! :2011/10/04(火) 23:06:56.56 ID:/2HomP86
92様 さっそくのレスありがとうございます。 ggって見たところ、なかなかMT4のデモ業者で HKDJPYを扱っているところが見つからないのですが、 どこかお勧め(鯖安定等で)のデモ業者はありますでしょうか? もしお勧めなどございましたら、ご推薦願います。よろしくお願いいたします。
95 :
Trader@Live! :2011/10/04(火) 23:11:52.08 ID:eGMujgxe
>>92 早速ありがとうございました。
それで組んでみたいと思います。
お忙しい所申し訳ありませんでした。
ありがとうございました。
96 :
Trader@Live! :2011/10/04(火) 23:15:58.05 ID:ZV2Waqvv
移動平均かい離率のインジケータで「kairi.mq4」を使っているのですが、乖離率を移動平均化できるインジケータってありませんか? もしご存知でしたら教えていただけるとありがたいです。
>>96 kairiを表示しているサブウィンドウに「罫線分析ツール」の「Moving Average」をドロップし、
パラメータタブの「適用価格」を「First Indicator's Data」にする。
98 :
Trader@Live! :2011/10/04(火) 23:33:53.23 ID:ZV2Waqvv
>>97 !!
こんなことができるのですね!
教えていただきありがとうございます!
99 :
Trader@Live! :2011/10/04(火) 23:43:09.48 ID:/2HomP86
>>94 様
たびたびありがとうございます。Roboforexの鯖?を探して
いるところですが、中々見つからなく・・・
実はチャートを見たいが為に、アルパリ口座を開設して、
http://alpari-forex.com/en/swaps_history/HKDJPY/ にあるとおりHKDJPYは取り扱いがあるはずですが、何故か
MT4の新規チャートで一覧に出てこないのですよね・・・
アルパリで出てきたらそれが一番早いのですが・・・デモの鯖を
色々入れてみたのですが、中々できずに苦労をしています;;
MT5でないとダメだとかそういうのあるのでしょうか!?
初心者でしてご迷惑おかけします^^;
>>99 RoboForexからMT4をDLしてインスコする。
インスコすれば
>>9 の手順でIPが判るから、それを普段使っているMT4に設定する。
設定が終わったら、ここにIPアドレスを報告して、インスコしたのはアンインスコするなり、放置するなり、使うなり自由にする。
>>88 ややこしいですね。必要なのは始値なのでアドバイス通りやってみたいと思います。
ありがとうございました。
102 :
Trader@Live! :2011/10/05(水) 02:10:18.18 ID:V31Qw3tR
最近PCをリカバリし、MT4を入れなおしたところ、MT4での新規発注、決済が出来なくなってしまいました。 今まで持っていたポジションを右クリックしても、決済の選択肢が出ていなく、チャート上で右クリックしても新規発注の選択肢が出てきません。(Expert Advisorsの上に今まであった気がするのですが、今はなにも表示されていません) EAも稼動させようとしたとろこ、チャート右上のアイコンがニコニコにはなるのですが、実際注文は出されていませんでした。 MT4はFXPROとTrading pointの2つで試したところ、2口座とも同じ状況でした。 どなたか原因がわかるかたいませんでしょうか、お願いします。
あのさ、MT4月曜日から全く動かなくなっちゃったんだけど、ODL繋がらない。 唯一そこしかdemoなくて、チャート表示されなくて困ってるんだが、 ODL demoの他の人調子はどうですか? 小数点第2位表示の業者のデモがODLだったので気に入ってたんですが。。。 困った
>>103 ODLは FXCMに吸収されましたので、デモ鯖は停止しましたってことはないの?
>>104 そういうことなんですか?
他ODLdemoユーザー情報求む。
本気で動かないから
106 :
Trader@Live! :2011/10/05(水) 13:06:28.53 ID:jQQLnWSC
>>92 すいません・・・
double iRSI(string symbol, int timeframe, int period, int applied_price, int shift)
Calculates the Relative strength index and returns its value.
RSI(相対力指数)を計算して、その値を返します。
if(iRSI(NULL,0,14,PRICE_CLOSE,0)>iRSI(NULL,0,14,PRICE_CLOSE,1)) return(0);
double iStochastic(string symbol, int timeframe, int %Kperiod, int %Dperiod, int slowing, int method, int price_field, int mode, int shift)
Calculates the Stochastic oscillator and returns its value.
ストキャスティックス オシレーターを計算して、その値を返します。
if(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0)>iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0))
return(0);
コピペですぐ使えるように具体的に教えてもらえませんでしょうか?
すいません未熟もんで・・・。
107 :
41 :2011/10/05(水) 15:08:24.69 ID:vlG0mua+
>>42-43 回答ありがとうございます。
安定性やレスポンスの速さを考えてMultiTerminal Proを購入したいと思います。
ODL死亡という結論かもう。 では、ドル円とかクロス円:小数点第2位表示のサーバー業者、 MT4で表示できるとこあるかな? 今はもう全部小数点第3位までかね? 第3位表示マジいやなんだ・・・
>>106 > コピペですぐ使えるように具体的に教えてもらえませんでしょうか?
はて、計算式の記述じゃなかったの?
具体的と言われてもテレパシストでは無いんで、具体的にどういう風に使いたいか分からないよ。
とりあえず、引用したこれ↓を加工して試してみれば?
> if(iRSI(NULL,0,14,PRICE_CLOSE,0)>iRSI(NULL,0,14,PRICE_CLOSE,1)) return(0);
> if(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0)>iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0))
> return(0);
オフラインチャートを使えば2桁化できるけれど、めんどくさい<ドル円三桁
1つの口座で複数EAを走らせてるのですが レポートの保存時にEA別にエクスポートすることは可能でしょうか?
112 :
Trader@Live! :2011/10/06(木) 00:04:29.12 ID:2CPdJSDw
テスト時の 再生ボタン と 一時停止ボタンのショートカットキーとか ありますか?
>>72 まさに72みたいなインジです。有料なんですか・・・。
探していただきありがとうございました。
>>112 PAUSE って書いてあるキーは押した事ある?
116 :
Trader@Live! :2011/10/06(木) 10:22:02.43 ID:C9SSMvzZ
>>109 すいません
if(iRSI(NULL,0,14,PRICE_CLOSE,0)>iRSI(NULL,0,14,PRICE_CLOSE,1)) return(0);
これがRSIの移動平均線なのでしょうか?
ターミナルウィンドウでスワップについ受け取っているのかてお教え願います。 仮に今朝、ABC/CDFという通貨ペアでスワップが0から200に表示が変わった円口座の場合, 受け取った金額はどのように計算したらよろしいでしょうか? チャートの動きが早すぎて、ロールオーバー時に残高を目で追えませんでした。 恐れ入りますがよろしくお願いいたします。
>>117 の例ではイメージが沸きづらいと思いますので、例えを変えたいと思います。
EURGBPで0.1ロットあたりスワップポイント/ロング1.00の円口座では、
ロング0.1ロット時に受け取れるスワップ金利はいくらでしょうか?
EURを1.00倍してからJPYに変換するのか、GBPを1.00倍してからJPYに変換なのか、
それとも全く方法が違うのかすら分かりません。
よろしくお願いいたします。
MT4で経済指標の時間がチャートに出るインジ教えてください
>>118 明日の朝実験すればいいのでは?
ロールオーバー前のポジと資金状況を全部メモってから、
ロールオーバー後に決済して、じっくり見ればわかるでしょ。
EAを某VPSの SWVPS に引っ越したら、勝手にDLLを削除されてしまいます。 削除されないようにする方法をわかる方がいましたら教えてください。 初心者らしくプロパティを隠しにしようとしたけど、一瞬で消されます
>>116 iRSI()の値から移動平均を求めたいなら、今度はiMAOnArray()を調べてみな。
125 :
Trader@Live! :2011/10/06(木) 22:50:43.96 ID:fQXfPGGO
ダウを導入したいのですがbrocoがscanされません。今のサーバーではダウらしきチャートは あるのですがこのチャートだけ動いてるときと動かないときがあります。これはそんなものなのでしょうか
126 :
Trader@Live! :2011/10/06(木) 23:19:54.08 ID:fMO76+IM
>>125 行った手順を詳しく。
当方、Broco-Demoユーザですが、DAW(DJIA30)動いています。
128 :
Trader@Live! :2011/10/07(金) 01:42:53.29 ID:3BNWj1vU
>>126 216.93.180.133:443 こちらのアドレスを手順通りに入れてみたのですが
デモ口座申請の時に特に反応がないのです。テンプレでも作動していないと
表記されているのでアドレスが変わったのかと思いました。私はALRARIを使用しているのですが
こちらではDJIAは見れないみたいです。(DJIは見れます)
129 :
Trader@Live! :2011/10/07(金) 02:03:18.45 ID:CfzGZ3Z7
>>128 随分と前にBrocoのIPはコチラに変わったっす
87.239.186.63:443
130 :
Trader@Live! :2011/10/07(金) 09:12:38.54 ID:bOWb4+xs
最近会社のpcにぶち込んだMT4が立ち上がるのに2-3分かかるんだけど どこの履歴かフォルダー消せば早くなるんでしょうか?
ODLのサーバー使っているんだけど最近数秒止まる事が多い で、FOREX.comのサーバーに変えたんだけど最初快適だったのに1週間で同じように飛び始めた みんな同じ現象おこってる?自分だけならPCの問題かな?
132 :
Trader@Live! :2011/10/07(金) 11:20:09.96 ID:VEdcZNAB
>>131 何かよっぽど重いインジとか入れてるからでは。
オプションでバーの数を減らして改善するならそれが原因。
134 :
Trader@Live! :2011/10/07(金) 15:00:14.20 ID:OSc+8lXR
始めたばかりでとりあえず1分に1回ランダムに売り買いするのを作ってみたのですが strategy testをしても1回も売り買いしてくれません どうすればよいのでしょうか? extern int StopLoss = 15; extern int TakeProfit = 15; int start() { if(Time[0]%60 != 0) { return(0); } MathSrand(TimeLocal()); if(MathRand()%2 == 0) { OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,NULL,0,0,Blue); } else { OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,NULL,0,0,Red); } }
>>134 使ってる値が想定どおりかPrint()して確かめる。
136 :
Trader@Live! :2011/10/07(金) 16:13:18.36 ID:OSc+8lXR
>>135 確かめましたが値は想定通りでした
OrderSend error 130
というのが出てます
138 :
Trader@Live! :2011/10/07(金) 16:40:37.34 ID:OSc+8lXR
>>137 それは読んだのですが意味がいまいち……
注文価格が適切じゃないってことはわかったのですがAskやBidでは駄目ならどうすればよいのでしょうか?
パンローリングの『iCustom(アイカスタム)で変幻自在のメタトレーダー』っていう本を呼んでEA作ろうとしてるんですけど、 豊嶋の実践プログラミングとは随分違った感じのプログラムになります。 実践の方で挫折した俺でも、なんとなく書けてるっぽいのです。なんとなくチープなプログラムです。 これって何か不都合はあるんですか?
>>138 読んでないだろw
注文価格は合ってる。ストップがMarketInfo(MODE_STOPLEVEL)離れてないのが原因。
とりあえず、StopLoss=150、TakeProfit=150にすれば動くんじゃね。
141 :
Trader@Live! :2011/10/07(金) 16:46:55.95 ID:OSc+8lXR
>>140 動きませんでした
念のため500000000まで上げてみましたがやはり駄目です
>>142 Expert Parametersボタンを押して出てくるダイアログの値を確認したか?
143 :
Trader@Live! :2011/10/07(金) 16:59:12.39 ID:OSc+8lXR
パンから豊嶋本以外のメタトレあったんだ。 本屋みてこよう。 MQLはそんな難しいものじゃないと思うが、多少なり他のプログラム経験あった方がいい。 経験なく、豊嶋本やらその他の本だけで作ると、本を越えるまで非常に時間かかる。 勝てるEAのロジックは単純なものだと思うが、単純なプログラムでは勝てないと思う。
なんかよさげなフィルターありませんか?
すいません、教えてください。 さっきダウンロードしていろいろいじってるんですが、10分足は作れたのですが この10分足を5分ずらしたものを作成する方法はありますでしょうか?? たとえば10:05スタートなどの足がみたいのですが、、、。 お願いします。
>>147 複数通貨の発注ができないのと[0]が使えない以外に制限はないと思うけど。
>>139 不都合を感じる瞬間まで、不都合はないw
冗談みたいなレスだけど、これマジな話。
一目の三役そろってるときを表示してくれるやつってありますか
過去チャート生成の為、ヒストリカルデータをFXDDからダウンロードしてインポートしようとしました。 しかし、 ツール→History Centerからデータをインポート。 左のツリーから通貨ペア・時間軸を選択し、インポート。 FXDDからダウンロードしたヒストリカルデータを指定する、 のところでZIPから解凍したヒストリカルデータのフォルダの中にあるはずの hstファイルがなぜかなくてデータを指定してインポートの完了ができません。 MT4を通さずにその解凍したヒストリカルデータのフォルダを開くと ちゃんとhstファイルがあるのですが、MT4経由だとファイルがなくて空です。 なにか解決法などあったら教えてください。
拡張子hstを指定してないとか
MathLog 関数について教えてください、この関数は引数xの自然対数の底を返すんだけど、常用対数の底とは別もんですよね?
自然対数の底はe、で常用対数の底は10
157 :
Trader@Live! :2011/10/08(土) 18:59:14.74 ID:AanMpFJy
OrderCloseをするためにはOrderSelectをする必要があって OrderSelectをするためにはチケット番号が必要で チケット番号を知るにはOrderSelectをする必要があって OrderSelectをするためにはチケット番号が……あれ?←今ここ 誰か助けて
forで回してやればいい for (int pos_0 = OrdersTotal() - 1; pos_0 >= 0; pos_0--) { if(OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES)){ if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) { } } こんな風にね
ほぉ・・
for だけに ほぉ・・ と言っているのか。。
161 :
Trader@Live! :2011/10/08(土) 19:50:43.07 ID:AanMpFJy
>>162 バックテスト中に使うとは?
まさかVisible modeにドロップした場合の話?
それなら時刻関係でまた制限があったんじゃないかな。
148はEAから呼んだ場合の話。
extern int StartTime =0200;//トレード開始時刻 extern int EndTime =0900;//トレード終了時刻 //時間設定 int Jikoku=0; int Ji = Hour()*100 + Minute(); if(Ji>=StartTime && Ji<EndTime) Jikoku=0; //Jikoku=1; else Jikoku=1; //Jikoku=0; > あと、Hour()*100の*100って何ですか?? 既に説明した。だからこのスレで十分
165 :
Trader@Live! :2011/10/09(日) 09:50:11.94 ID:d6EOv5pF
>164 ありがとうございました ただ extern int StartTime =0200;//トレード開始時刻 extern int EndTime =0900;//トレード終了時刻 ではなく extern int StartTime=0900;//トレード開始時刻 extern int EndTime =0200;//トレード終了時刻 >2600 で稼動させたいのですが 教えて頂いたのでも、24時を越えてトレード出来ません。 よろしくお願いします。
MQL の関数についての質問です。 Time 関数で取得したdatetime 型の値を、yyyy.mm.dd hh:miこのような、フォーマットで、できれば 文字型に変換してくれるような関数があれば教えてください。
>>166 > MQL の関数についての質問です。
> Time 関数で取得したdatetime 型の値を、yyyy.mm.dd hh:miこのような、フォーマットで、できれば
> 文字型に変換してくれるような関数があれば教えてください。
>
string TimeToStr( ... );
MT4のEAで勝ちまくり、て人いますか?
>>163 説明不足ですいません。visible modeで使いたい時の話でした。教えていただきありがとうございます。
いないだろ
>>165 > 開始と終了時間を逆に入力しろという事ですね。
そう、発想の転換だけで解決出来る話し。
> 324 名前:Trader@Live![sage] 投稿日:2011/10/09(日) 09:33:30.73 ID:PKxfrHo0
> 9:00〜24:00と0:00〜2:00を許可したらいいんじゃね?
> 要はStartTimeとEndTimeのセットを2つ用意する。
> 325 名前:Trader@Live![] 投稿日:2011/10/09(日) 09:34:00.96 ID:WrSYQxxR
>
>>322 > 日付の情報で判定一つ増やせばいいだけじゃないの?
そんな面倒なこと、しなくていいんだよ。
AlpariのMT4で最新の抜かしてbuild220から後のでどれかほしいんですが、 どこかダウンロードできるところありますか?
>>169 ドロップされたインジはEAの時間で動いてるわけじゃないので
TimeCurrent()とか使ってると思った通りには動かない。
あと、[0]の足も完成されたものが参照されるので[0]を使う印字のシグナルは
すごくよく見えるようになるなw
>167thx
それからもう一つお願いします。 Indicator をバックテストに使うと、サブウィンドウの枠は表示されているんですがチャートが表示されませんログを見ると 「〜unknown subwindow number -1 for ObjectCreate function」このようなメッセージが出ています、検索してもそれらしきものがヒットしません Visual mode のチェックも入れているのですが・・・・仕様なのでしょうか?
178 :
Trader@Live! :2011/10/09(日) 13:30:33.42 ID:d6EOv5pF
>>171 師匠ありがとうございました。
師匠もうひとつお願いします。
ここを見ろを見たのですが・・・汗
例えば・・・
マジックナンバー 0001 買いポジション
リミット 50PIP
ストップ 25PIP
の場合
約定後、+20PIPまで到達した場合
ストップ値の25PIPを0(買値)に変更させたい場合は
どのようにEAを作ればいいのでしょうか?
出来れば具体的に書いて頂けませんでしょうか?
師匠よろしくお願いします。
平均足の色が変わったらalertやメールで知らせてくれるインジはありますでしょうか? 色が変わった瞬間ではなく、その時間足が確定後に知らせてくれるやつが欲しいのですが
>>178 例えば00-EA-Breakout_v107.mq4のorderTrail()関数を見てごらん。
double profit = Bid - OrderOpenPrice();
if (profit >= TrailTake * point) {
double sl = Bid - MathMax(TrailStop * point, stopLevel);
if (sl > OrderStopLoss() + point) {
double op = OrderOpenPrice();
double tp = OrderTakeProfit();
Print("Long Modify, Bid= ", Bid, ", old sl= ", OrderStopLoss(), ", new sl= ", sl);
OrderModify(OrderTicket(), op, digits(sl), digits(tp), 0, Magenta);
}
}
EA作るなら、フリーのEAを出来るだけ集めてそのコードを読むのが勉強になるよ。
言い忘れ。
例えばで出した
>>180 は、OrderModify()の後にエラー処理が無いから注意。
エラー処理は必要だよ。
182 :
Trader@Live! :2011/10/09(日) 15:01:10.60 ID:d6EOv5pF
>>180 ありがとうございます。
でも・・・・・・
こう書いていいんだかわから〜ん(汗w
教えて下さい!
しらん。 俺は俺のEAを作る。 アンタはアンタのEAを作れ。
>>177 それはそのインジの問題。あるいは使い方の問題。
内部でWindowOnDropped()を使ってると思うが、これがいまいち役に立たないんだな。
>>184 Thxです、いろいろやっていたら、こんなことがありました
バックテストのするのにMT4のネットワーク接続オフにして、おこなったらサブウィンドウの
チャートが出ないわ、一日分の時間足のデータ計算するのに64分もかかるわ、死ぬまでバックテストをやっても間に合わないから、
一旦串を外して、オンラインにしてバックテストではなく、Indicator を実行したら数十分で終わりました?
その後串を挿し直し、ネットワークオフでやっても同じような時間でおわりましたた。
なんで?
さぁ。 使ってるインジの問題じゃね?
どうみても串が悪いな。
188 :
Trader@Live! :2011/10/09(日) 18:59:28.56 ID:WrSYQxxR
>>185 が言いたいのはローカル内での処理のはずなのに
なぜ回線や串が影響するんだってことだよな。
口座情報でも取得しようとしてるんじゃないの?
>>185 です
皆さんthxです。廻りくどい説明でm(__)m
>>188 さんの仰せの通りで、ローカルのテストになんで、回線や串が影響するんだって話なんです。
因みに使っているMT4はODLからDLしたものなんですが・・・・・・?
>>189 EAのバックテストだよね?
そのEAか使ってるインジが、外部と通信してるんじゃない?
191 :
Trader@Live! :2011/10/09(日) 19:26:57.20 ID:WrSYQxxR
外部って・・・ どことしてるんだろう、何か怖いな。 情報垂れ流してたりして。
>>190 >EAのバックテストだよね?
そうです。ただ、EAに外部と通信するコードは無いと思います・・・・・orz
>>191 パケットアナライザで確認しましたが、それは無いと思います。
情報の垂れ流しはないにしても、 ライセンスサーバと通信するような仕組みになってたりとか。。。ないかw
>>193 tcp/ip 80で通信された日には・・・・ログも一般のhttpプロトコルのものしか残ってないしな・・・・orz
MT4自体は定期的に codebase 見に行ってるとは思う。 ナヴィゲータウィンドウに 471 more.. のように出るわけだし。
>>194 パケットアナライザ使ってるなら問題ないだろ。
MT4について教えていただきたいです。 使用しているチャートとまったく同じ物を追加したいですが、 一度テンプレートをつくって、 新しいチャートに適用させるくらいしか思いつかないのです。 他にもっといい方法はありますでしょうか?
MT4からだとそれ以外にないな。
>>165 bool IsTradeTime(datetime time, int start, int end)
{
int now = time % 86400 / 3600 * 100 + time % 3600 / 60;
return (now + (now < start) * 2400 < end);
}
if (IsTradeTime(Time[0], StartTime, EndTime))
{
OrderSend(〜
}
>>121 質問前に3日くらい試したのですが、
チャートの動きが早すぎて、ロールオーバー時に残高を目で追えませんでした。
他のスレでも聞いてみます。ありがとうございました。
ウォンドルのチャートを見たいのですが、MT4でも見ることは可能ですか? もし可能ならば方法を教えていただけるとありがたいです。
>>199 > return (now + (now < start) * 2400 < end);
間違えてないか?
例えばトレード時間内の1:00AMならtrueを期待するが、これの答えはなんになる?
>>202 bool IsTradeTime(datetime time, int start, int end)
{
int now = time % 86400 / 3600 * 100 + time % 3600 / 60;
return (now + 2400 < end || (start <= now && now < end));
}
とりあえず、デバッグしてみた。
204 :
Trader@Live! :2011/10/10(月) 05:33:05.19 ID:GEZXl8lk
週末に市場が休みになるときにはポジションを閉じたいのですが、 何処の国の時間にすればよいのでしょうか?
bool IsTradeTime(datetime time, int start, int end)
{
int now = time % 86400 / 3600 * 100 + time % 3600 / 60;
return ((now - start + 2400) % 2400 < end - start);
}
こっちのが効率よかった。
>>204 ブローカーによってクローズ時間違うから、自分が使ってるブローカーに
合わせて固定値で指定するのが手軽だと思う。
夏時間を採用してるブローカーだとズレる可能性があるから、少し手前に
設定しとく方が安全じゃね?
どんなブローカーでも、夏時間云々も関係なく、とにかくキッチリ動くよう
に書こうとすると意外と長くなる。
>>205 > return ((now - start + 2400) % 2400 < end - start);
この式では、永久に真になることはないよ。
(end=200, start=900の場合、end - startは常に-700)
return (start < now && now < end + (end < start) * 2400);
>>206 そこはIsTradeTime(Time[0], 0900, 2600)で呼んでくれよ。
てか、もう面倒だからベタでいいやって気がしてきた('A`)
bool IsTradeTime(datetime time, int start, int end)
{
int now = TimeHour(time) * 100 + TimeMinute(time);
end %= 2400;
if (start < end)
return (start <= now && now < end);
else
return (start <= now || now < end);
}
1行で書くならこうかな? return ((now - start + 2400) % 2400 < (end - start + 2400) % 2400);
>>208 そういう事?
普通26:00とは書かないし、判りづらいな。
>>165 > extern int EndTime =0200;//トレード終了時刻 >2600
> で稼動させたいのですが
元も0200だし、
>>207 で終了。
>>210 >>207 はstart < nowが通らないと自動的にfalseになるから
IsTradeTime(D'08:00', 2200, 1000)が通らなくね?
MT4って重いEAでバックテストするとエラーが出たりするんでしょうか? 3万行のEAを作ってバックテストしてみたらcannnot open errorが出ました。 このEAのトレード可能スプレッドを0にして、長いトレード判定を通らせないようにしたら 普通にバックテストできました(3万行のまま)。もちろんトレード回数は0ですが…。 せっかく作ったのに使えなかったら勿体無いです…。
>>212 少なくとも出たエラーを正確に書いてもらわないとなんとも言えない。
だれか、拾ってきたEAを改造してくれないかな〜? 自力でカウントダウン方式に対応させるのが精一杯でした。 しかも、たまにSL TPが入らない事があります。(困った) やりたい事は、 各曜日ごとに、 1、新規ポジションをとる時間帯の指定 2、ポジションを強制決済する時間の指定 3、指標発表前の n分前に、ポジションがあれば強制決済する。(FFcal等使って) 4、指標発表の前、X分と、発表後Y分の間、EAをポジら無いようにする。(FFcal等使って) 上記フィルターをつければ使えそうな感じです。 たぶん、このEAは通称、壁か不細工を模倣して作った物ではないかと思います。 全然違うかもしれません。
>>211 > (end < start) * 2400
あぁ、そういう事か。確かに。
>>215 これがもし商用EAの割れ物だったら問題があるので、
「やってやるよ!」という人が、捨てアド晒してくれたら
ダウンロードリンク送るか、なにかします
>>218 お前が著作者の許可を取っていないなら問題がある。
商用かどうかは関係ない。
>>218 とりあえず見てみないと始まらない
ea_customアット55mail.jp
指標カレンダーなんて便利なものあるのか。 全部手動で入力してた・・・。
>>219 そうですね。
もしやるなら、自力でこっそりやるべきですよね。
当分手動で入り切りしながら、勉強して改造したいと思います。
今の所(2ヶ月半くらいですが)リアル口座でまあまあ利益が出ているので
このまま続けて行きたいと思います。
失礼しました。
>>223 メール確認してみて。
コメントはメールでお願いします。
225 :
Trader@Live! :2011/10/10(月) 19:02:15.51 ID:1BW6cfXL
>>211 >>210 ありがとうございます!(感謝)
でも・・・
初心者なので更に教えて下さい(汗
コピペで
bool IsTradeTime(datetime time, int start, int end)
{
int now = TimeHour(time) * 100 + TimeMinute(time);
end %= 2400;
if (start < end)
return (start <= now && now < end);
else
return (start <= now || now < end);
}
しても、Compile出来ずエラーになるのですが
どうやればいいのでしょうか??
よろしくお願いします。
>>225 {
■■int now = 〜
↑ここに見えないけど全角スペースが入ってるから半角スペースかタブで
置き換えればい。エディタに置き換えの機能あるから、それ使うと楽。
228 :
Trader@Live! :2011/10/10(月) 23:54:26.31 ID:1BW6cfXL
お二人ともありがとうございます。 全角を消しても・・・ bool Is TradeTimeのTの前でエラー出ます。。。 現在下記の感じで使用しているのですが どう追加していけまいいのでしょうか? extern int StartTime = 0900;//トレード開始時刻 extern int EndTime = 2400;//トレード終了時刻 //スタート関数 int start() { //トレード可否 if(IsTradeAllowed()==false) return(0); //時間設定 int Jikoku=0; int Ji = Hour()*100 + Minute(); if(Ji>=StartTime && Ji<EndTime) Jikoku=1; else Jikoku=0; if(Jikoku==0) { ClosePos(MAGIC); return(0); }
>>228 extern int StartTime = 0900;
extern int EndTime = 2400;
bool IsTradeTime(datetime time, int start, int end)
{
int now = time % 86400 / 3600 * 100 + time % 3600 / 60;
return ((now - start + 2400) % 2400 < (end - start + 2400) % 2400);
}
int start()
{
if (!IsTradeAllowed()) return (0);
if (!IsTradeTime(Time[0], StartTime, EndTime))
{
ClosePos(MAGIC);
return (0);
}
}
そのままコピペすれ
>>227 次からそうする。てか、専ブラだとインデント消えないのか、知らなかった。
てかてか、その手の整形機能をMetaEditorが標準で持っててほしかったorz
現在はStylerが標準装備されてる
>>230 JaneStyleだと、IDとかに触れると空白入りで見えるし、そこからコピペ可。
>>231 Build406の話し? 402には見当たらないけど?
>>232 ExtMapBuffer1にその時の状態を保存すれば、iCustom()から読み取れる様になるよ。
動かしてないけど、結果的に6通りの判断がある様だから、こんな感じ。
if (num > 0 && num < 10) {
ExtMapBuffer1[i] = 1.0;
textVar = num;
ObjectCreate(""+i, OBJ_TEXT, 0, Time[i+1],Low[i+1]-5*Point );
ObjectSetText(""+i, ""+DoubleToStr(num,0), 10, "Arial", Red);
}
if (num == 9) {
ExtMapBuffer1[i] = 2.0;
ObjectCreate(""+i, OBJ_TEXT, 0, Time[i+1],Low[i+1]-5*Point );
ObjectSetText(""+i, ""+DoubleToStr(num,0), 16, "Arial", Red);
} else if((Close[i+1]<Close[i+5])&& num>=10) {
ExtMapBuffer1[i] = 3.0;
ObjectCreate(""+i, OBJ_TEXT, 0, Time[i+1],Low[i+1]-5*Point );
ObjectSetText(""+i, ""+DoubleToStr(num,0), 10, "Arial", Orange);
}
if(Close[i+1]>Close[i+5]) num1 = num1 + 1;
else num1 = 0;
if (num1 > 0 && num1 < 10) {
ExtMapBuffer1[i] = -1.0;
textVar = num1;
ObjectCreate(""+i, OBJ_TEXT, 0, Time[i+1],High[i+1]+10*Point );
ObjectSetText(""+i, ""+DoubleToStr(num1,0), 10, "Arial", RoyalBlue);
}
if (num1 == 9) {
ExtMapBuffer1[i] = -2.0;
ObjectCreate(""+i, OBJ_TEXT, 0, Time[i+1],High[i+1]+10*Point );
ObjectSetText(""+i, ""+DoubleToStr(num1,0), 16, "Arial", RoyalBlue);
} else if((Close[i+1]>Close[i+5])&& num1>=10) {
ExtMapBuffer1[i] = -3.0;
ObjectCreate(""+i, OBJ_TEXT, 0, Time[i+1],High[i+1]+10*Point );
ObjectSetText(""+i, ""+DoubleToStr(num1,0), 10, "Arial", LightSkyBlue);
}
EA化したら開発スレにBT結果のレポしてくれると嬉しいな。
235 :
Trader@Live! :2011/10/11(火) 10:23:32.39 ID:jmaGFhZ6
>>229 無事に動きました〜。
ほんとありがとうございます。
儲かったらご馳走させて下さいw
またよろしくお願いいたします。
今までデモ口座でチャートだけ使ってきたんだが、ある日突然使えなくなった。 MT4を起動しても、右下の接続状況に「無効な口座」と出る。何回かログインを試みたら無効な口座から「common error 」と変わった。なにこれ?どうやったらまた使えるようになるの?
237 :
Trader@Live! :2011/10/11(火) 12:06:27.20 ID:ZIZ22OOq
ブローカーによって、 有効期間があるところがあったはずだよ。 新規にデモアカウント作ればいいよ。(MT4からできるし)
238 :
Trader@Live! :2011/10/11(火) 16:30:47.32 ID:8vDKIw+g
サブウィンドウの番号はどうやって取得出来るんですか? ウィンドウ関数にないですよね?
あるよ。
チャートの一番始めの場所にすぐ移動できる方法とかないでしょうか?
>>239 WindowBarsPerChart
WindowExpertName
WindowFind
WindowFirstVisibleBar
WindowHandle
WindowIsVisible
WindowOnDropped
WindowPriceMax
WindowPriceMin
WindowPriceOnDropped
WindowRedraw
WindowScreenShot
WindowTimeOnDropped
WindowsTotal
WindowXOnDropped
WindowYOnDropped
どれですか?
244 :
232 :2011/10/11(火) 18:07:16.70 ID:6jO0E/K6
>>234 ありがとうございます。
なるべく早めに完成させて報告したいと思います。
またよろしくお願いします。
FXDD使ってるんですが、MT4のversionは少し前は200番台だったのが なんで急に400番台になったんでしょうか?
#property indicator_separate_window int window = WindowFind(Indicator_Name); string ID=Indicator_Name; if(ObjectFind(ID) == -1) { ObjectCreate(ID, OBJ_LABEL, window, 0, 0); ObjectSet(ID, OBJPROP_CORNER, 0); } ObjectSetText(ID, sym, font_size); 今こんな感じでやってるんですけど、このインジを2つ同じチャートに入れると 2つ目のインジはオブジェクト作ってくれなくて、2つ目のインジが1つ目のインジのオブジェクトを変更してるような動きになるんですが WindowFindで解決出来ますかね・・・1つ目のインジを削除しても番号が変わらないサブウィンドウの番号があれば解決出来ます。
>>245 MT4 の開発を終了するために、
MQ社がサーバ他のツールも含めて区切りのいい番号にそろえたのが400だったから。
>>246 bool success = ObjectCreate(...);
if (!success) { /* 別の名前で作成 */ }
手元のMT4プログラミング本に載っていなくて、 ぐぐっても見つけられなかったので質問させてください。 配列を宣言する時に要素に値を代入する時は、 int a[10] = {1,2,3,1,2,3,1,2,3,1} のように記述すればいいと見たのですが、 2次元配列や3次元配列で同じように値を代入するには、 どのように記述すればいいのでしょうか。 よろしくお願いします。
>>250 int a[4][4] = { 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4 };
http://docs.mql4.com/basis/variables/initialization
>>251 素早い回答有難うございました! とても助かりました。
>>249 オブジェクトはラベルで、数値を加工したデータをラベルにセットしてるんですけど
クリエイト出来なかったら別名で作成すると、ラベルに数値が重なっていって真っ黒になりませんか?
理想としては string ID=StringConcatenate(Indicator_Name, サブウィンドウ番号);
とやれたら良いと思うんですけど。。。無知ですいません。
#property indicator_separate_window string Indicator_Name="hoge"; int init() { IndicatorShortName(Indicator_Name); return(0); } int start() { static bool flg=false; if(!flg) Print("win_id= ", WindowFind(indiName)); flg=true; return(0); } そもそも、これを複数のチャートにそれぞれ入れても全部「win_id= 1」になるのは何でなんですか? どうして上手く動くんでしょうか。
>>254 名前が同じだから最初のがヒットしてる。
#property indicator_separate_window
string Indicator_Name="hoge";
int init() {
IndicatorShortName(Indicator_Name);
return(0);
}
int start() {
static bool flg=false;
int win_id = WindowFind(Indicator_Name);
if(!flg) Print("win_id= ", win_id);
flg=true;
string ID = Indicator_Name;
if(ObjectFind(ID) == -1) ObjectCreate(ID, OBJ_LABEL, win_id, 0, 0);
static double count;
ObjectSetText(ID, DoubleToStr(count,0), 9,"",White);
count++;
return(0);
}
>>255 これを複数のチャートに一つずつ入れてみると、各チャートにラベルは作られてるのに
全て「win_id= 1」と表示されるのはおかしいと思うんですけど。。。
名前が同じだから最初のがヒットするのであればラベルは各チャートに作られないのではないですか?
>>257 最初のサブウィンドウにしか表示されないけど。
>>258 言ってる意味が分かりました。WindowFind()はチャート上のウィンドウの番号なんですね。
勘違いしてました。
>>246 も解決できそうです。ありがとうございました。
260 :
232 :2011/10/11(火) 22:11:00.12 ID:6jO0E/K6
>>256 早速DLさせていただき確認しました。
1500 - counted_bar←気が付きませんでした^^;
感謝します。
チャートの指定の日にち、時刻の場所にいっきに飛べる方法あるみたいですが、どうやればできるんですか?
>>261 F1→ユーザインターフェイス→ファーストナビゲーション
ニューラルネットや機械学習を搭載したEAで、こちらで好きなインプットを指定できるものってありますか?
JPN_Time_SubとJPN_Time_SubZeroを入れてるんですが JPN_Time_Subは時間がずれていてJPN_Time_SubZeroは表示されない事が多いのですが 何か日本時間を表示するものでいいのはありませんか?
>>264 UseLocalPCTimeをfalseにして
Time_differenceで時差調整
ブロコにつないだらドル円1分足がヒゲだらけで竹串みたいな表示になってるんですが、 何かおかしいんでしょうか?縦軸も値幅より広いようだし…
268 :
Trader@Live! :2011/10/12(水) 21:53:27.46 ID:JQ3CXTQ5
EAでMACDを組み込みたいのですが iMA(NULL,PERIOD_M5,EMA_Fast_Period,0,MODE_EMA,PRICE_CLOSE,1); 3分足のM3はどうやって作ればいいのでしょうか?
270 :
Trader@Live! :2011/10/12(水) 22:04:38.18 ID:iwDQ2B26
>>268 「iMA」ってMACDじゃなくて、
移動平均線の関数でしょ。
MT4にない"足"はほしい足未満のデータから
自分で計算して作らないとないだろ。
っで、その○○足のデータでテクニカルの計算する必要がある。
>>270 そうだね。
でも、M1のデータを二個飛ばししながら計算してもいいかも。
272 :
Trader@Live! :2011/10/13(木) 00:15:57.98 ID:xbN/VGst
>>271 飛ばして?
それだとただ2分間のデータをもらしてるだけだから意味ないでしょ。
3分間ごとに始値と終値だけを取得するならいいけど。
3分経つまでの経過値、高値、安値がとれないよ。
int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE) double stoplossでAsk-25*Pointを表すときはどのような状態なのでしょうか?
274 :
Trader@Live! :2011/10/13(木) 00:33:29.58 ID:xbN/VGst
>>273 Ask値より2.5pips低い値に逆指値
276 :
Trader@Live! :2011/10/13(木) 02:00:18.90 ID:xbN/VGst
>>275 でも、それだと1本目のバーの
未確定中の終値が取得できないよね?
2本目以降の確定したものしか使わないなら問題ないだろうけど。
期間を3倍にしたM1のMACDでなんでだめなの?
278 :
Trader@Live! :2011/10/13(木) 02:17:27.43 ID:xbN/VGst
M3のiMACD(12,26,9)が使いたいならM1のiMACD(12*3,26*3,9*3)でなんでだめなのかと。
280 :
Trader@Live! :2011/10/13(木) 02:36:28.38 ID:xbN/VGst
>>279 指摘なのか単なる疑問で聞いてるのかしらないけど。
チャート(M3)のMACD(12,26,9)と
チャート(M1)のMACD(12*3,26*3,9*3)が一緒っていってるのか?
そう思うなら、
チャート(M5)のMACD(12,26,9)と
チャート(M1)のMACD(60,130,45)で実際にためしてみれば。
282 :
Trader@Live! :2011/10/13(木) 03:45:43.42 ID:xbN/VGst
>>281 もしかしてだけど0時またいだから・・・
俺のこと268だと思ってる?
俺270なんだけど。
俺も新規にレスもらって誰に返してるのかわからないんだけどね。
本題にもどるが、
倍率調整すれば近い値になっているが、
元値や計算期間が違うから微妙にシグナルのタイミングもずれるでしょうし。
まぁ、それをイイと見るかダメと見るかはその人がどう使うかによるだろうね。
>>282 一緒じゃないと言うんだからお前にとってどこがどう違うのかを説明してくれよ。
284 :
Trader@Live! :2011/10/13(木) 04:32:26.46 ID:xbN/VGst
>>283 普通に俺に聞いているのね。
MACDの期間の調整で客観的に見れば、
同じような結果になるだけで、
通常の計算による値とは違うでしょ。
っで、違う計算方法でも同じような結果が出るのであれば、
それを代用または応用として使いたければ使えばいいし、
さっきも言ったように使う人によってイイとみるかダメとみるかは違うだろ。
ちなみに俺は一度もダメっていってないんけどな。
突然、なぜダメなんだと聞かれ、
説明してくれよとなぜ言われなきゃならんのだ。
MT5っていつになったら出回るの?
>>283 横レス
MACDは内部の計算にEMAを使っているから。
SMAなら各足の値は同じ比重なので、単純に期間を3倍にしても値は(ほぼ)一致する。
EMAだと、M3の3EMAの3足前に比重は1/3*2/3*2/3=0.148148148
だけど、M1の9EMAの9足前に比重は1/9*8/9*8/9*8/9*8/9*8/9*8/9*8/9*8/9*8/9=0.038493268
期間が同じだけど重み付けが違うから、得られる答えも異なる。
一個多かった orz > だけど、M1の9EMAの9足前の比重は1/9*8/9*8/9*8/9*8/9*8/9*8/9*8/9*8/9=0.043304927 に訂正。
根本的に間違えとる orz > EMAだと、M3の3EMAの3足前の比重は2/4*2/4*2/4 > だけど、M1の9EMAの9足前の比重は2/10*8/10*8/10*8/10*8/10*8/10*8/10*8/10*8/10 に訂正。はずい
>>284 そう思うなら試してみろとかイイと見るかダメと見るかはどう使うかによる
とか、思わせぶりな言い方しといてそれか。
>>288 つまり大して違わないともいえる。
FXTF MT4のデモ口座を始めて10日ほどの超初心者です。 簡単なEAを作ってM1でプログラムの検証をやっているのでが、 売買のシグナルが中抜けを起こします。 例えば、 buy→sell→buy→(sell→buy→sell)→buy→sell カッコ内が中抜けを起こした部分です。 何故、このような現象が起こるのでしょうか?
>>290 使ってるシグナルが後出しだから。
Visual modeで見ればわかると思うよ。
292 :
Trader@Live! :2011/10/13(木) 15:05:02.55 ID:I7ZEFr+S
すごいな。なんでこんなにエスパーが多いの? 尊敬する。
>>291 ありがとうございます。
実は、デモ口座でライブ取引をしていてこのような現象が起こるのですが・・・
>>293 後出しシグナルならデモだろうがライブだろうがテストだろうが同じ。
>>291 ,
>>294 ストラテジーテスターをVisual modeでやってみると、やはり中抜けしてました。
2つの移動平均線がクロスオーバーまたはクロスアンダーした時にシグナルを
出しているのですが、なぜ、後出しシグナルになるのでしょうか?
298 :
Trader@Live! :2011/10/13(木) 20:04:34.52 ID:DOFoHXGg
で、結果的にM3のMACDは可能なんでしょうか??
300 :
質問です :2011/10/13(木) 20:23:56.14 ID:TVCUx4kT
MTのバックテストをしても、エントリーや決済をプログラム売買している訳ではない。 それでも意味あると思う?
>>298 1分足から擬似M3を生成してEMAを求めてMACDの描画スタイルで
図化するだけだから可能。
>>289 > つまり大して違わないともいえる。
MACDの中身を知らないの?
MT4ってまだインスコしたことないんだけど、 インターネット回線はPHSぐらい(150kbps)のへぼいのを 臨時的に使っても大丈夫でしょうか?
使っても大丈夫
305 :
Trader@Live! :2011/10/14(金) 08:39:21.61 ID:x+xjdCy6
各通貨ごとの建玉の総量を一目でわかるようにしたいんですが、何か良い方法をご存知の方教えてください。 MT4のターミナルを別窓で開く方法ってありますか?
>>305 iExposure.mq4 ってインジでみれたはず
307 :
Trader@Live! :2011/10/14(金) 09:08:22.22 ID:x+xjdCy6
出来ました!本当にありがとうございました(´∀`)
308 :
Trader@Live! :2011/10/14(金) 11:42:51.77 ID:sXZrshQJ
賢者様教えてください。 MT4で全ポジ決済できるEAなりスクプリトみたいのありますか? MagicCloseやKyouseiLossCut、CloseAllを試しましたがどれも順々に決済していきます。 これでは、時間がかかりすぎて使えません。 業者がやっている一瞬で強制LCみたいのがあれば教えて下さい。
>>308 ポジの数だけMT4を起動する。
それぞれのMT4が担当のポジを決済する。
これが一番高速です。
310 :
Trader@Live! :2011/10/14(金) 11:50:54.31 ID:A1wkycX1
ボリバンタッチでアラート鳴るインジ教えてください ググッたけどリンク切ればっかでした
NINAっていうよさそうなインジがあり、 過去チャートで見るためcbarsの数値を変更したのですが 矢印の位置が変わってしまいます。 例えば8000本を10000本に変えたら、 7000本辺り前でも結構位置が変わっています。 コード見てもリペイントなのかよく分からないのですが、 このインジケーターはリペイントするタイプなんでしょうか?
だれかNINAがリペイントするタイプのインジなのか教えてクリ・・
そのNINAって女は知らんが、 設定を変えたら再計算するんじゃないの?
りぺいんとしまくるよ
317 :
310 :2011/10/14(金) 19:36:24.81 ID:46usMKAc
MT4に最初からついているフィボナッチ・リトレースメントについてなのですが これのフィボナッチ・レベルのデフォルトの設定を自分の設定に変更できますかね?
お勧めはどこですか? Broco使ってみたんだがオジエンが無いんだ・・
グラフは邪魔なので、数値だけチャートの左上あたりに表示してくれる RSI、WPR、CCIってないでしょうか? もしあれば、マルチタイムフレーム対応で
321 :
Trader@Live! :2011/10/15(土) 04:18:23.85 ID:Pwhkzbus
brocoサバ死んだ?
新米です。よろしくお願いします。 以下のコードでOrderClose Error 138が出ます。 どこが間違っているのでしょうか? for(i=0; i<OrdersTotal(); i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break; if(OrderMagicNumber() != 123 || OrderSymbol() != Symbol()) continue; if(OrderType()==OP_BUY) if(SaiTakane_Ts == 0) SaiTakane_Ts = OrderOpenPrice(); if(SaiTakane_Ts != 0 && SaiTakane_Ts < Close[1]) SaiTakane_Ts = Close[1]; if(SaiTakane_Ts - TrailingStopNehaba >= Close[1]) { OrderClose(OrderTicket(),lots,Bid,Slippage,Indigo); break; } if(OrderType()==OP_SELL) if(SaiYasune_Ts == 0) SaiYasune_Ts = OrderOpenPrice(); if(SaiYasune_Ts != 0 && SaiYasune_Ts > Close[1]) SaiYasune_Ts = Close[1]; if(SaiYasune_Ts + TrailingStopNehaba <= Close[1]) { OrderClose(OrderTicket(),lots,Ask,Slippage,Maroon); break; } }
>>322 バックテストの話?それとも実際の取引?
138はリクォートだったような気がするけど。
>>323 バックテストです。
テスターの操作履歴に出るのですが...
>>324 BTでREQUOTEが出るかなぁ?
まず、NormalizeDouble()しとこうよ。
OrderClose(OrderTicket(),lots,NormalizeDouble(Bid,Digits),Slippage,Indigo);
OrderClose(OrderTicket(),lots,NormalizeDouble(Ask,Digits),Slippage,Maroon);
それでもダメならエラーが出たらSleep()で待って、RefreshRates()して再びOrderClose()してみたら?
>>325 新米です。
回答ありがとうございます。
次のように書き換えましたがダメでした。長くなってすいません。
for(i=0; i<OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false)
break;
if(OrderMagicNumber() != 123 || OrderSymbol() != Symbol())
continue;
if(OrderType()==OP_BUY)
if(SaiTakane_Ts == 0)
SaiTakane_Ts = OrderOpenPrice();
if(SaiTakane_Ts != 0 && SaiTakane_Ts < Close[1])
SaiTakane_Ts = Close[1];
if(SaiTakane_Ts - TrailingStopNehaba >= Close[1])
{
Sleep(10000);
RefreshRates();
OrderClose(OrderTicket(),lots,NormalizeDouble(Bid,Digits),Slippage,Indigo);
error=GetLastError();
Print("エラー : ",error);
Sleep(10000);
RefreshRates();
break;
}
if(OrderType()==OP_SELL)
if(SaiYasune_Ts == 0)
SaiYasune_Ts = OrderOpenPrice();
if(SaiYasune_Ts != 0 && SaiYasune_Ts > Close[1])
SaiYasune_Ts = Close[1];
if(SaiYasune_Ts + TrailingStopNehaba <= Close[1])
{
Sleep(10000);
RefreshRates();
OrderClose(OrderTicket(),lots,NormalizeDouble(Ask,Digits),Slippage,Maroon);
error=GetLastError();
Print("エラー : ",error);
break;
}
}
ただし、バックテストでは、トレイリングストップが思惑通り
機能しているので、来週からフォワードテストしてみようと思います。
ありがとうございました。
327 :
Trader@Live! :2011/10/15(土) 18:44:28.65 ID:mlLz5P55
>>326 スリップかSL/TPのPIPが狭くなってません?
そこの業者のPIPS制限にかかってるんじゃ?
試しに広げてTESTしてみたら?
328 :
Trader@Live! :2011/10/15(土) 19:04:32.89 ID:mlLz5P55
諸先輩方また教えて下さい! EAを稼動させて、普通はプログラム通りのサインが出て注文すると思うのですが EA稼動後、売買サインが出てもGO!せず 例えば、2連敗したらGO!するというプログラムを追加したいのですが可能でしょうか?? 2連敗するまでEA君はチャンス(売買ポイント)が来てもじっと待機状態すると言う事です。 (2連敗の所は0〜10とか自由に変えられると嬉しいです)
>>326 デバッグしてないけど、こんな感じ
#include <stderror.mqh>
for(i=0; i<OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false)
break;
if(OrderMagicNumber() != 123 || OrderSymbol() != Symbol())
continue;
if(OrderType()==OP_BUY)
if(SaiTakane_Ts == 0)
SaiTakane_Ts = OrderOpenPrice();
if(SaiTakane_Ts != 0 && SaiTakane_Ts < Close[1])
SaiTakane_Ts = Close[1];
if(SaiTakane_Ts - TrailingStopNehaba >= Close[1]) {
// Sleep(10000);
// RefreshRates();
OrderClose(OrderTicket(),lots,NormalizeDouble(Bid,Digits),Slippage,Indigo);
error=GetLastError();
switch (error) {
case ERR_NO_ERROR: //- Success
break;
case ERR_REQUOTE: //- Retry Error
Print("ERR_REQUOTE : ",error);
for (int j=0; j<4; j++) {
Sleep(10000);
RefreshRates();
OrderClose(OrderTicket(),lots,NormalizeDouble(Bid,Digits),Slippage,Indigo);
}
continue; //← これでいいんだっけ? しらんw (無責任モードw)
case ERR_SERVER_BUSY:
case ERR_BROKER_BUSY:
case ERR_TRADE_CONTEXT_BUSY:
case ERR_OFF_QUOTES:
case ERR_NO_CONNECTION:
case ERR_INVALID_PRICE:
break;
//- Fatal Unknown Error
case ERR_NO_RESULT:
default:
Print( "Unknown Error - " + Err );
break;
}
break;
}
>>329 > for (int j=0; j<4; j++) {
for()でなく、while()が正解か…orz
331 :
タイラー :2011/10/16(日) 02:36:32.96 ID:nD5Yi8V/
>>328 ソースを直接いじれるんなら(要するにmq4ファイルがあるなら)可能。
注文を出してる部分をifで囲って、連敗count>=2なら売買する、みたいな。
あとはelse内でその時注文したかったプライスデータを保持して、
クローズシステムの所で勝ち負け判断させて連敗countを+したりする。
332 :
Trader@Live! :2011/10/16(日) 03:16:06.22 ID:HwSsDR39
>>331 ありがとうございます。
具体的にはどのように書けばいいのでしょうか??
例えば
//マジックナンバー
#define MAGIC 0001
//パラメーター
extern double Lots = 0.1;//ロット数
extern int Slip = 3;//許容スリップ
extern int K_Period = 5;//ストキャス%Kの計算期間
extern int D_Period = 3;//ストキャス%Dの計算期間
extern int SD_Period = 3;//ストキャス%SDの計算期間
extern int SL = 25;//PIPS
extern int TP = 50;//PIPS
//スタート関数
int start()
{
//トレード可否
if(IsTradeAllowed()==false) return(0);
//ポジション数の確認
int Pos = 0;
for(int i=0; i<OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS) == false) break;
if(OrderSymbol() != Symbol() || OrderMagicNumber() != MAGIC) continue;
{
if(OrderType() == OP_BUY || OrderType() == OP_SELL) Pos++;//現在のポジション数
}
}
//ストキャスの計算
double Stochas_Main1 = iStochastic(NULL,0,K_Period,D_Period,SD_Period,MODE_SMA,0,MODE_MAIN,1);
double Stochas_Main2 = iStochastic(NULL,0,K_Period,D_Period,SD_Period,MODE_SMA,0,MODE_MAIN,2);
double Stochas_Signal1 = iStochastic(NULL,0,K_Period,D_Period,SD_Period,MODE_SMA,0,MODE_SIGNAL,1);
double Stochas_Signal2 = iStochastic(NULL,0,K_Period,D_Period,SD_Period,MODE_SMA,0,MODE_SIGNAL,2);
//買いシグナル
if(Pos==0 && Stochas_Main1<30 && Stochas_Main2<=Stochas_Signal2 && Stochas_Main1>Stochas_Signal1)
{
int ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,Ask-SL*Point,Ask+TP*Point,"",MAGIC,Blue);
}
//売りシグナル
if(Pos==0 && Stochas_Main1>70 && Stochas_Main2>=Stochas_Signal2 && Stochas_Main1<Stochas_Signal1)
{
ticket = OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,Bid+SL*Point,Bid-TP*Point,"",MAGIC,Red);
}
return(0);
}
すいませんよろしくお願いいたします。
333 :
タイラー :2011/10/16(日) 03:38:33.11 ID:nD5Yi8V/
あー、発注時にTP/SL入れるタイプの方か。俺は全くその方法使わないからなぁ… 日曜時間あったらうちのブログの記事としてソースサンプル上げます。
334 :
Trader@Live! :2011/10/16(日) 03:44:01.96 ID:HwSsDR39
>
>>333 お忙しい所申し訳ありません。
よろしくお願いいたします。
335 :
タイラー :2011/10/16(日) 07:11:24.24 ID:nD5Yi8V/
336 :
タイラー :2011/10/16(日) 07:13:22.84 ID:nD5Yi8V/
あー、BidとかAskとか宣言してるので、 バックテストうまくいかないと思う。 デモのフォワードかなんかで試してください。
ProやironのMT4で元から入ってるスクリプトが動かないんですけど なにが問題なのか分かりますか?
338 :
Trader@Live! :2011/10/16(日) 10:58:10.17 ID:9A//ln53
>>336 タイラーさんありがとうございました。
バックテストでは上手くいかないのですが
どうすれば可能になりますでしょうか?
あと、
int init()
{
//----
if(Digits % 2 == 0) //桁数チェック
{
}
else
{
Slip = Slip * 10;//許容スリップ
SL = SL * 10;//PIPS
TP = TP * 10;//PIPS
}
//----
return(0);
}
の部分は、2連敗するまで待機している間の
売買時(実際にはスル〜)のスリップを加味していると言う事でしょうか??
お忙しい所申し訳ありませんが、よろしくお願いいたします。
339 :
タイラー :2011/10/16(日) 11:17:33.58 ID:nD5Yi8V/
>>338 携帯からなので簡潔に。(rep2通してるので多分ID同じだけど)
init内の処理は、下3/5桁鯖のときに対応させてるだけです。
ネット上のデータで構いませんので、もう少し勉強をお勧めします^^;
バックテストは多分出来ないので試しに明日にでもフォワードテストしてみてください。
リアル鯖でやるんでしたら、Alert等に注文部分周りを書き換えるなりして下さい。
そういえば最近、ナスダックマンみないね。どこいった?
341 :
タイラー :2011/10/16(日) 15:17:59.56 ID:nD5Yi8V/
>>338 >>335 のページに追記しておいた。試した所バックテスト出来ます。
本番環境では最初のほうでいいと思われ。
投資は自己責任で。
342 :
Trader@Live! :2011/10/16(日) 16:39:01.83 ID:9A//ln53
>>341 タイラーさんありがとうございます。
バックTESTで
symbol name for MarketInfo function must be a string
とエラーになってしまうのですが、どうすればよろしいでしょうか?
ちなみに、EURUSDでテスト中です。
度々申し訳ありませんです。
>>342 MarketInfo(NULL,MODE_SPREAD) を使ってるとを
MarketInfo(Symbol(),MODE_SPREAD) に変えてみたらそのエラーは解消されるかもしれない
>>329 ,
>>330 様 新米です。
色々お気遣いありがとうございました。
連絡が遅くなり申し訳ございません。
お陰様で問題解決しました。
以下の通りです。
if(OrderType()==OP_BUY)
if(SaiTakane_Ts == 0)
SaiTakane_Ts = OrderOpenPrice();
if(SaiTakane_Ts != 0 && SaiTakane_Ts < Close[1])
SaiTakane_Ts = Close[1];
if(SaiTakane_Ts - TrailingStopNehaba >= Close[1])
OrderClose(OrderTicket(),lots,NormalizeDouble(Bid,Digits),Slippage,Indigo);
//Print("エラー : ",GetLastError());
break;
if(OrderType()==OP_SELL)
if(SaiYasune_Ts == 0)
SaiYasune_Ts = OrderOpenPrice();
if(SaiYasune_Ts != 0 && SaiYasune_Ts > Close[1])
SaiYasune_Ts = Close[1];
if(SaiYasune_Ts + TrailingStopNehaba <= Close[1])
Sleep(10000);
RefreshRates();
OrderClose(OrderTicket(),lots,NormalizeDouble(Ask,Digits),Slippage,Maroon);
//Print("エラー : ",GetLastError());
これで、エラーは出なくなりました。
345 :
タイラー :2011/10/16(日) 21:54:10.29 ID:nD5Yi8V/
>>342-343 おや、すみません。フォローありがとうございます。
こちらの環境ではNULLで通ったのですが、
Symbol()の方がいいんですね!
教えるつもりが一つ教わりましたw
346 :
タイラー :2011/10/16(日) 22:10:06.16 ID:nD5Yi8V/
>>342 一応修正版置いといたけど、
これくらいならCtrl+Hで置き換えるだけなので
ご自身で作業可能かと思われます。
2つのEAで共通の変数を使って情報を行き来させたいのですが、 別々のEAで同じ名前のグローバル変数を使うってことはできるのでしょうか。 試してみようと思ったのですが市場開いてないので動かせません…。 知っている方いらっしゃったらお願いします。
できますよ
351 :
タイラー :2011/10/17(月) 00:45:21.19 ID:Jx9tVE5u
>>134 以前デモ口座で試した事があるけど、どのロジックもHPで紹介されているような結果には
なりませんでした。
バックテストでもダメっぽいです。
もしかしたら、パラメータを弄れば変わるのかもしれませんが、項目数が多く大変そうです。
少し自分なりにパラメータを弄ってみましたが、良い結果にはたどり着けませんでした。
スプレッドや、テストしたタイミング、いろいろな条件により結果は変わると思いますが
私には利益が出るロジックとは思えませんでした。
今はどうか分かりませんが、良い結果が出るようなら報告お願いします。
誤爆スマソ
これまで約半年間のテスト期間を終えて、本日よりようやく ライブにて取引を開始しました。 その矢先に注文の値がデモと違うことに気付き急遽取引停止。 例えば、デモだと作成したEAで77.0のL、76.5のストップと 50pipsで登録されますが、これをそのままライブに設置すると 77.0のL、72.0のストップとなり500pipsになります。 これは単純にPointの値がデモとライブで違うと言うことで しょうか?その場合、Pointの値を同じにすることは可能で しょうか?
初めまして。 先日MT4を導入し、Heiken_Ashi_Smoothed_alert.mq4を使用しているのですが、 どうしても携帯にメールを転送することが出来ません。 初心者なりに調べ、設定は SMTPサーバー:smtp.mail.yahoo.co.jp:587 SMTPログインID:Yahoo! JAPAN ID SMTPパスワード:Yahoo! JAPAN ID パスワード 発信元:Yahoo!メールアドレス 送信先:携帯メールアドレス としています。 何度Testボタンをクリックしても、携帯にメールが届きません。 試にMELONというフリーソフトもダウンロードして設定してみたのですが、 やはり届かないようです。 どんな情報でも構いませんので、アドバイスいただけますと幸いです。 どうぞよろしくお願いいたします。
Super+signal+v3all を使っているんですが、strong buyとsellとでアラームの 鳴り分けできませんか?もしくは、他にそういうツールないでしょうか
358 :
タイラー :2011/10/17(月) 11:27:55.04 ID:Jx9tVE5u
おはよっす。
>>355 デモが下3桁でリアルが下2桁ってこと?珍しいね。
とりあえず標準で下3桁でやってたっぽいのでこうかな?
init内でもstart内でもいいけどTPやSLに入れる値を変数にして
下のような処理で桁調整するよろし。
if(Digits % 2 == 0) //桁数チェック
{//下二桁の場合
//ここで変数の設定値を割る10する。
}
else
{//下3桁の場合
//今のまま
}
>>356 どんな情報でも構わないなら、「gmail MT4」で検索して
一番上に出る(と思う)faiさんの情報を参照してください。
>>357 アラートで出る音はalert.wavからは変えられないと思うので
alert.wavを頭0.5秒くらい無音にして、
buyとsellそれぞれのアラート行のすぐ下にPlaySoundで音を設定すれば
多分alert.wavを中断して設定した音がなる、んじゃないかな?
>>355 Pointの値がデモとリアルで違うの?どこの業者?
init()の中でPointの値をPrintしてみては?
360 :
355 :2011/10/17(月) 11:33:09.18 ID:6ahn/f+q
>>358 ご回答ありがとうございます。
やっぱり、自分で少数点の桁数を制御するしか無さそうですね。
同じ業者(FOREX.com)なのに何で変わるんだろうか…。
全注文値にはPoint定数を掛けてるので、init内でライブ口座と
判断したら、割る10をしてみます。
ありがとうございます。
>>360 init内でライブ口座を判別するんじゃなくDigitsの桁数調べて分岐すべし
>>356 まず、他のアドレスに届くかどうかを調べる。届くなら携帯側の設定の問題。
>>360 Forex.com JPじゃなくて?
JPならデモとリアルは同じ下2桁だと思うけどな。(proスプ申請すれば下3桁も使える)
>>358 >>362 レスありがとうございます。
あの後、Yahoo!メールのPOP設定を変更したら、
TESTメールは届くようになりました。
しかし、Heiken_Ashi_Smoothed_alert.mq4から
ShortやLongのタイミングでポップが出てくるように
メールも届くと思いきや、やはりそのメールは届きません。
MT4側で何か設定するところがありましたら、ご教示ください。
よろしくお願いいたします。
>>363 そのインジはメールを送信するようにはできてないね。
そのインジ名+メールでググってみれば。
365 :
355 :2011/10/17(月) 15:32:37.97 ID:bqE7HZU2
>>361 了解です。本日帰宅してさっそく作成してみます!
>>362 確かにJPですね。
PRO申請したかは自分でもハッキリしてないので再度確認してみます。
回答ありがとうございます。
366 :
Trader@Live! :2011/10/17(月) 23:51:33.80 ID:0PtJtKEO
バッファ8個くらい使ってる印字を軽くするコツってないですか?
>>366 バッファを8個使っているから重い訳ではないと思うよ。
たぶん、for()文が無駄に回っているんだと思う。
368 :
355 :2011/10/18(火) 00:08:58.73 ID:1wOmAhGB
>>361 ,362
無事桁数を調整することが出来ました!
ありがとうございます。
>>366 オプションの最大バー数を減らせば結構軽くなるとおもう
370 :
Trader@Live! :2011/10/18(火) 07:26:50.75 ID:XyJMEW32
連続する複数のマジックナンバーを振るヘッジEAを使っているのですが、 ポジションを一部クローズする際に、一定の範囲のマジックナンバーのみ 指定して一括クローズするようなスクリプトは作れますか? オールクローズとか、マジックナンバー1つを指定、というのは見つけた のですが、複数のマジックナンバーで可能なのかどうかが分かりません。
371 :
タイラー :2011/10/18(火) 10:27:23.26 ID:nnqGa+gU
for(int i = MAGICクローズしたいのスタート; i <= MAGICクローズしたいのEND;i++) { //クローズ処理 } MAGICが連番していて、その中の範囲で決済させたいならこんな感じ?
372 :
357 :2011/10/18(火) 10:41:19.61 ID:xLBzGNZg
>>358 ありがとうございます。休日に調べて試してみます。
>>370 休日に調べてみて。
extern int startMagicNumber = 10;
extern int endMagicNumber = 90;
int start()
{
int total = OrdersTotal();
for(int i=total-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
int type = OrderType();
bool result = false;
if(OrderMagicNumber()<startMagicNumber || OrderMagicNumber()>endMagicNumber ) continue;
switch(type)
{
//Close opened long positions
case OP_BUY : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
break;
//Close opened short positions
case OP_SELL : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red );
break;
//Close pending orders
case OP_BUYLIMIT :
case OP_BUYSTOP :
case OP_SELLLIMIT :
case OP_SELLSTOP : result = OrderDelete( OrderTicket() );
}
if(result == false)
{
Alert("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );
Sleep(3000);
}
}
return(0);
}
>>364 レスありがとうございます。
仰る通りググったら、プログラム変更のやり方を見つけることが出来、
無事メールが届くようになりました。
本当にありがとうございました。
375 :
Trader@Live! :2011/10/18(火) 18:01:26.86 ID:3Ih0f2l+
FXDDDの入金ボーナスが来た御方様に質問です。 口座履歴にボーナス反映が出るそうですが、何と表示されているんですか?
376 :
Trader@Live! :2011/10/18(火) 19:25:47.79 ID:XyJMEW32
>>371 >>373 ありがとうございます。
373を丸々コピペしてスクリプトファイルを作りましたが、実行すると
外部パラの指定なしでいきなり走ってしまいました。
何が問題なのでしょうか?
>>376 先頭に一行追加してくだせ
#property show_inputs
378 :
Trader@Live! :2011/10/18(火) 19:49:18.88 ID:XyJMEW32
>>377 超初心者ですみません。
無事できました、ありがとうございます。
折を見てリアル口座で試し撃ちしてみます。
>>375 balance Bonus OctoberBonusRewards
380 :
Trader@Live! :2011/10/18(火) 20:03:47.76 ID:3Ih0f2l+
381 :
Trader@Live! :2011/10/18(火) 23:06:58.97 ID:3Ih0f2l+
EAやインジケーターのパラメーター入力の画面の枠を上下に伸ばすインジケーターをどこかで見たんですが場所わかりませんか? 画面が小さいの見にくいです。。。。。。。
384 :
タイラー :2011/10/19(水) 05:58:13.57 ID:8U5Jb4qw
まったく、しょうg(違)その2人には歯がたたないなぁ…。 まぁ俺の位置づけは簡単なことを処理するだけの底辺コテ、って感じで。 むしろ名無しさんから有益なレスを吸収する受信者サイドかもしれん。
月曜からフォワードテストやってます。 昨日エラーが出て売買が成立しませんでした。 ターミナルの操作履歴には以下のようなメッセージが出ています。 2011.10.18 18:00:13 TradeDispatcher: trade context is busy 2011.10.18 18:00:13 'xxxxxxxxx': order sell 1.00 EURUSD opening at 1.36761 sl: 1.38561 tp: 0.00000 failed [Trade context is busy] これって、原因は何なんでしょうか?
>>385 MT4が他のEAからの要求を処理中で忙しかったので、処理できませんでした。
>>386 ありがとうございます。
豊嶋先生の「FXメタトレーダー入門」に書かれてあるように、
if(Volume[0]>1 || IsTradeAllowed()==false)
return(0);
上記の一文をプログラムの中に書いてあるので、この場合
IsTradeAllowed()==true であっと思うですが...
テストの状況は、1つのEAで6通貨同時にやっていて、
この時刻に別の1通貨ペアもシグナルが出ていて、こちらは
正常にエントリーしています。
解決策はないのでしょうか?
Volume[0] < 1 じゃなくて?
389 :
Trader@Live! :2011/10/19(水) 11:15:57.46 ID:IhyXxdqa
チャネルを判定するインジケータか、判別式ありますか? 人の視覚に頼るものだから難しいですかね?
BTLM のことか?
391 :
Trader@Live! :2011/10/19(水) 12:48:16.75 ID:IhyXxdqa
BTLMを検索するとfai様のブログが出てきた。 単純な数式では無理だなぁ。
wine + MT5の環境で開発されている方は、いらっしゃいませんか。 私はUbuntuでその環境を試してみたのですが、 起動はするのですが、最適化ができません。 なぜか、CPUがconectしてくれないのです。 どなたか、解決策を教えていただけないでしょうか。
393 :
タイラー :2011/10/19(水) 17:06:30.03 ID:QNgGAW49
394 :
Trader@Live! :2011/10/19(水) 19:56:11.24 ID:4jLlw/8w
なかなかFXDDの入金ボーナスが来ない人いませんか?
395 :
392 :2011/10/20(木) 00:33:47.31 ID:p1yd5KU+
>>393 さん
わかりました。誘導ありがとうございました。
クロス円が下3桁鯖で過去データの取れる業者でオススメはありますか? GMTは問いません。InterbankFXってところのデモ開いたら、 過去データが全く取れないしチャートを閉じてる期間があると その期間分チャートが飛ぶというとんでも仕様でしたorz
すみません、教えてください。 私はプログラマーじゃありません。なので聞きたいのですが、 オプション > エキスパートアドバイザー のなかの 「DLLの使用を許可する」にチェックをいれた場合、どんなメリットがあるのか 想像できません。 例えば、どのような事ができるのでしょうか。 (度々質問してすみません。)
>>397 文字通りDLLを使用できる。
DLLが何者かはWin32 DLLでググってみると分かるよ。
399 :
Trader@Live! :2011/10/20(木) 12:59:43.30 ID:Q+GkNfpK
ダウ先みたくてbrocoにしてみたんだけどユロドルの桁が少なくてやりにくいです ダウ先みれてユロドルの桁が6桁で動くサーバーお分かりでしたら教えて欲しいです
400 :
Trader@Live! :2011/10/20(木) 15:12:18.38 ID:HQpk7FjG
401 :
Trader@Live! :2011/10/20(木) 16:23:47.59 ID:Q+GkNfpK
了解
MT4のチャート上に突然価格が表示されるようになりました。 上昇や下落の開始ポイントの価格が表示されていて、 特に設定した覚えはないので、 原因を調べるために全ての分析ツールを削除しましたが、 元々あったラインチャートのみとなっても、 未だ価格は表示され続けています。 原因をご教示いただけませんでしょうか? よろしくお願いいたします。
>>402 インジを削除しても、そのインジが描画した文字等が削除されるとは限らない
>>402 historyフォルダの中のファイルを全部消して再起動してみては?
>>402 Ctrl+B を押してみると何か出るかな?
>>403-405 Ctrl+Bで何となくそれらしいものがあったので、
思い切って削除してみたら、無事消えました!
ライン名はArrowとなっていたのですが、
一体何だったのでしょうか。。。
何はともあれ、無事消えて一安心です。
本当にありがとうございました!
407 :
へぼ :2011/10/20(木) 22:17:07.30 ID:f8dVdMyh
初心者です。FXDDでデモ口座ではできるのに、トレードフィナンシャルのデモ口座を申請しようとしたら、登録iDとパスワードの画面でずっと登録中のままで動きません。 どうしたら完了になるのでしょうか? 素人すぎてわか りません。どなたかよろしくお願いします。
バックテストを行うとき、通貨ペアを指定すると、その通貨のテストが行われるのですが 他の通貨に同じテストを行う場合、手動で一旦終了してから、通貨ペアを変更して、同じ事を 実行するのですが、この通貨ペアの選択を行う関数とか、指定の方法があれば教えてください
お邪魔します。 MT4はチャート枠の外の各通貨の価格表示とかのフォントサイズの 変更はできないのでしょうか?
tplの書式を解説してあるサイトや書籍があったら教えて下さいm(__)m
>>412 解説するほど難しいものではないだろう?
使えるねっとのVPSを契約し、いざVPSでMT4を開いてみたら、 自分が通常使用しているMT4の設定とは異なり、初期設定となっていました。 MT4が使用出来る業者の口座は持っていないので、 現在使用しているMT4はODLのフリーデモソフトです。 チャートに色々入っているインジケーターや定型チャートを VPSでも同じように使用したいのですが、 設定のやり方をご教示ください。 よろしくお願いいたします。
SteadyWinnerの性能UPをしたくニュースフィルターの追加などを考えましたが、動作がうまくいか ないので、設定画面に年 月 日の項目を表示・入力してその年月日にはトレードしないという仕 組みを作りたいと思い、まずは年月日を狙い撃ちすべく下記のコードを追加してみました所、設定 した日にち以降の同年度のトレードをしなくなりました・・・ if ((Year() == 2011) && (Month() == 12) && (Day() == 1)) { mmMessage = "no trade day "; mmMessageColor = Silver; if (!NotTradeday) { dLots = 0; mmMessage = mmMessage + "SW will not open new orders"; } else { dLots = 0; mmMessage = mmMessage + "SW will open new TestLot orders only"; } } 上記の場合だと2011年の12月1日以降31日までトレードしなくなります orz 指定した2011年12月1日のトレードだけを停止したいのですが・・・ ご指導宜しくお願い致します m(_ _)m
>>416 この場合2012/01/01以降は通常通りにトレードを再開するの?
odlのMT4が突然値が動かなくなった。 パ二くってます どうしたらよいでしょうか?
>>416 > if (!NotTradeday) {
1. 2011年12月1日だと判定したif文の中に、トレード日用のコードがあるのはおかしい。
2. NotTradeday変数をセットし忘れてないか?
3. なんで未来をBT出来たんだい?
421 :
416 :2011/10/21(金) 19:09:24.02 ID:Z1GUsZzK
>>416 レスありがとうございます!
1.と2.についてですがヘッダ部分に
extern bool NotTradeday = true;
は入れてます。
そもそも全くの初心者でして・・・とんちんかんな事を言ってましたらすみません(汗
3.は例えばの話でした(汗 実際には過去の日付を入力してます。
どのような記述をしたら良いのか全くわかりません。。。
ご指導宜しくお願い致します m(_ _)m m(_ _)m m(_ _)m
>>417 レスありがとうございます!
はい。再開します。
422 :
416 :2011/10/21(金) 19:15:45.58 ID:Z1GUsZzK
アンカー間違えてましたorz
訂正します。。。
>>419 レスありがとうございます!
1.と2.についてですがヘッダ部分に
extern bool NotTradeday = true;
は入れてます。
そもそも全くの初心者でして・・・とんちんかんな事を言ってましたらすみません(汗
3.は例えばの話でした(汗 実際には過去の日付を入力してます。
どのような記述をしたら良いのか全くわかりません。。。
ご指導宜しくお願い致します m(_ _)m m(_ _)m m(_ _)m
>>417 レスありがとうございます!
はい。再開します。
>>422 >はい。再開します。
俺のエスパったロジックじゃなかったわw 分からんので次の人ヨロ!
想像したのはdLotsがグローバルかstatic変数でオーダー可否のトリガーになっている。
12/01に「0」変更後元の値に戻していないケース。
トレード再開するんじゃ違うっぽい・・・
時間足を変更したときにパラメータが初期設定にもどるのですが これはどこがわるいのですか?
>>424 init() 関数の中で初期化している部分があるのだろうかね。
>>420 ツンデレ乙
削除してからインストールでOKでした。
念のため明日心療内科に行ってきます
ダウが見たくてブロコを使っているのですが ドル円が75.78円などというありえない数字をつけています どうすれば正常な82円に戻りますか??
>>427 まずは注視すること、そして行き過ぎた変動には断固とした入金で対応するといいです。
わろた
ブロコって異常値があるんだ、と思って自分のチャートを見てみたら。。。ドル円いつの間にw
431 :
Trader@Live! :2011/10/22(土) 01:07:48.59 ID:qcTgDADt
元のMT4のフォルダをコピーして、 新たに環境を使ったのですが、 メールボックスのデータが読み込まれていませんでした。 読み込み元のデータは指定のmailboxフォルダにいれてあります。 また、メール表示以外の機能は問題ありません。 どのたか表示方法がわかる人はいませんでしょうか。 お願いいたします。
>>431 正しいログインIDとパスワードでログインすればみれるよ!
そのパスワードがメールに書かれていたら諦めるしかないけど。
うん(´・ω・`)そうなんだ。すまない。 メールは環境を新しくすると引き継げないんだ。 どうしても見たいなら、OSのシステム復元機能で戻るといいね。
434 :
Trader@Live! :2011/10/22(土) 06:30:42.70 ID:qcTgDADt
>>432 そうなんですか。ありがとうございます。
ちなみに複数の場合は全部のアカウントでログインしないと
対象のメールは見れないでいいんでしょうか?
元の環境を確認してみます。
エリオット波動の予想を描くインジってありますか? Wolf.mq4をエディタで色々やってみたけど挫折しそうです
自己解決しました
437 :
Trader@Live! :2011/10/22(土) 08:29:49.00 ID:qcTgDADt
>>432 正しいID、パスワードでログインしても
ログインは成功して機能は問題ないですが、
やはり、メール情報を読み込むことができませんでした。
>>433 新環境への引継ぎできないんですか・・・・
mailboxフォルダのデータを直接開いても、
特殊なファイルのため見れませんでした。
旧環境で検証してみたことなんですが、
MT4インストール先のディレクトリのコピーを
旧環境で複製した場合でもメールデータは見ることができませんでした。
元のディレクトリ名を別に変えて、
コピーしたものを元のディレクトリ名と同じにして起動した場合は
ログインなしでも見ることができました。
(新環境では無理でした。)
メールを受信した環境でしか開けないように
どこかに認証用の情報があるのかと思い、
レジストリ内を検索してみましたが該当するものはありませんでした。
もしかしたら、mailboxフォルダのデータがテキストファイルじゃないので、
こちらに何らかの情報が入っているのかもしれません。
新環境へのメールの引継ぎはできないみたいです。
昨日のドル円の76円を一気に割ったのって、MT4でリアルに表示された? 俺のはODLデモで、数秒止まってた。 急激な動きの時はたまに止まるんだけど、ODLデモ以外では普通に瞬時に反応するのかな? マシンはi5で非力ではないし、インジもMA1本でM1チャートです。 ほかの人のMT4の具合を教えてほしいです。
>>438 Forex.com リアル口座 は普通に反応してました
>>439 さっそくありがとうございます。
forex.comのMT4をちょっと入れてみます〜
教えてください MT4標準のADXって、窓の上下幅の25%、50%、75%でレベルラインが表示されるけど、 カスタムインジケータで同じことってどうすればいい?
442 :
441 :2011/10/22(土) 15:39:43.99 ID:mP1pvbTv
補足 カスタムインジケータで同じような機能を持たせるには どのようなプログラムを組んだらいいの? という質問です
>>442 SetLevelValue(0,100);
>>443 >>444 回答ありがとう。
その方法だと、レベルラインの数値を絶対値として設定できるけど、
上限と下限の間の何%といった設定はできなくね?
例えば、下限は0に固定するとして、上限が100のときは50に、
値動きによって上限が200に上がったときは100が、50%のレベルになるけど、
そういうレベルの設定のしかたがわからんす。
標準のADXがそうなっているけど、カスタムでは再現できないのかな?
>>445 start(){
SetLevelValue(0,上限*0.5);
}
こんなカタチでは無理なんかな
>>446 ありがとう!できました!
double max = WindowPriceMax(1);
SetLevelValue(0, max/2);
標準のADXてどれのこと? 自動で線なんて出ないと思うけど。
お尋ねします. ポジションがない場合,または売りポジションを持っている場合 って,条件式は,どう書けばいいのでしょうか?
お願いします。 ゆとり質問ですが、インストール初期の状態で最初から入っているEA MACD Sampleや、Moving Averaggeを起動してStrategy Tester(バックテスト) を実行しようとしたのですが無反応です。何もウィンドウが出ません。 サンプルのEAは飾りなのでしょうか?
何か間違っているんだろうな。普通に動くはず。
>>449 MACD Sampleや、Moving Averaggeをみるのがいいんでね?
>>450 テスト期間のヒストリカルデータはダウンロード済み?
ログには何か記録されていない?
時間足やデポジット変えてもだめ??
お願いします。 brocoMT4でダウ先やダウ現物、DAX、WTI先、金先で参考にしながらトレードしてたんですけど 今朝、PCの調子がおかしくなり強制終了しました。 再立ち上げする際に勝手にDISKCHECKしてました。そのあと、brocoを立ち上げると 設定していたチャートがすべてなくなり、インストール直後の画面状態になり、 それまで作っていたチャートすべて消えていました。 それならば、もう一度初めから作り直すしかないと思って新規チャートを開けると チャート種類が異常に少なくダウ先もWTIもなくなっていました。 PCのことはほとんど素人なので困っています。 不思議なのはいくつかインジをDLしたものは星マークの中にあります。 何がどうなったのかまったくわかりません。 どうすればいいか教えてくださるととても助かるのですが…
>>452 ありがとう
id変わったけど449です
これでなんとかなりそうです
灯台元暮しとはこのことだわ
>>451 ,453
ありがとう。バックテストのウィンドウはメニューから一度呼び出したら
何故か次回からはチャートからも呼び出せるようになりました。バグ?
そしてヒストリーデータが空っぽだったので(チャートには最初から
出ていたので問題ないと思っていたのですが・・・)ダウンロードしました。
そして再試行しましたが結果は、ダウンロードする前と後とで同じで
ログがエラーでまくりで、グラフも無し、トレード回数も0でした。
エラーは、Error opening SELL order :131
OrderSend error 131
このふたつが沢山出ます。
>>454 チャートの「組」として保存してるなら
ファイル→チャートの組表示から呼び出せそうな気もする
あとは気配値のあたりを右クリックして全通貨ペアを表示で出てくるでしょ
>>456 OrderSend error 131 でぐぐると、ロット数に問題があるというエラーみたいだね。
最小ロットが 0.1 からの業者に 0.01 ロットの注文をだしているのかな?
>>457 早速ありがとうございます。
組として保存というのはしてませんでしたが、
おかげさまでチャートが出ましたので初めから作り直します。
よろしければ、もうひとつお願いします。
実は別のPCにもbrocoを入れてるのですが、
こちらは「表示中の罫線分析ツール」を触ろうとしてクリックすると100%フリーズします。
アンインストールしてもう一度入れ直してもやはりフリーズします。
何が原因なのでしょうか?厚かましくて申し訳ありません。
PCの問題でしょうか
>>459 低スペPCを使ってて、大量のインジを入れてるなら
処理が追いつかなくてハングしてるかもしれないけど
ツール→オプション→チャートタブでヒストリー内の最大バー数とか
チャートの最大バー数を減らしてみると軽くなるかも
日足4本値は「名前をつけて保存」でエクセルに書き出せますが、 日足メイン・チャートに表示してあるインジの値はエクセルに書き出すことはできますか? また、メインチャートではなくサブウィンドウに表示してあるインジの値はどうでしょうか?
>>460 ありがとうございます。やってみましたが、結果は同じでした。
スペック自体はフリーズするPCの方が高いと思うのですが、
あの…本当に初心者的質問で申し訳ないんですが、
brocoのアンインストールが完全にできてないように思うのですが
普通にコントロールパネル→プログラムのアンインストールでいいですよね。
そのPCにはFXDDやAlpariなども一応落としているのですが関係あるのでしょうか
初心者すぎる質問で申し訳ありません
>>458 どうやら最小ロット数は1ということが判明し、4回までのトレードはおこわなれましたが
それ以降は何をやってもエラーコード131の羅列です。
テストしたEAはデフォルトで入っているMoving Average
テストした資産は50000ドルでパラメータはデフォルトから、Lotを1に変更し
MaximumRiskを0.02から0.05に変更。
資産はほとんど減ってないのに4回のトレードをしただけであとはずっとエラー。
意味不明で頭が痛いですorz
連投すみません。 FXCMジャパンのMT4デモ口座なのですが、Live口座は0.01ロットからと 書いてあるのにデモ口座は手動で取引しようとしても1.0〜8.0ロットしか 選べません。これがMT4でのエラー頻発につながっているのでしょうか。
最小ロットの他にロットステップと言う概念があってだな、 最小ロットが 1 でもロットステップが 0.1 なら 1 1.1 1.2 のようなオーダーができる。
466 :
Trader@Live! :2011/10/23(日) 07:34:56.03 ID:4FsVfAeJ
バックテスト時、足の描写を一瞬で終わるのではなく、レートの変動に合わせて上下に描いた後 次の足に移るようにするには、どこをいじればいいの?
ヴィジュアルモードだよね? まぁ、MT4のヴィジュアルモード自体が仮想的な値動きなんだけど、 ヴィジュアルモードの右のスライダ調整でなんとかなる話ではなく? 32より小さくすれば上下に動いているのを確認できると思うが… 俺のエスパ力ではこの程度の返信しかできない。
>>465 手動でも自動でも1以上でステップも1でしか買えないです>FXCMジャパンデモ
それはいいんですが、何故4回取引したら以降はずっとエラーなんだろう・・・
ODLのMT4と、history dataを使って、自作のEAでバックテストやっているのですが、このデータってAsk/Bid は考慮されるんでしょうか?
え?俺の部屋も冬は12度くらいだが・・・・
471 :
Trader@Live! :2011/10/23(日) 20:06:04.49 ID:Ql7e8oqR
MT4てメモリ関係ありますか?
使い方によるね。 基本的には軽いよ。
>>469 考慮されているが最新のスプレッドになる
固定したいなら方法がいくつかあるから検索してみな
ヒストリはBidだけだがテストではスプレッドが考慮される仕組みになっている。 休日とかはスプが特大になったままだが。
そのための SpreadChanger 。
477 :
Trader@Live! :2011/10/23(日) 23:43:46.36 ID:63zTZjd/
今日気付いたんだが、ネットからMT4のインディケータのダウンロ−ドや保存が できなくなった。画面の下に「ダウンロードできませんでした」のメッセージ が現れる。セキュリティーソフトやファイアウォールをオフにしてもだめ。 PCはVista、W.7の別のPCでは、このような不具合はない。Vistaを使っている方 で同じような症状はありませんか?解決策あれば教えてください。 ソースプログラムをMetaEditorにコピペして、なんとかしのいでいますが、不便 を感じています。
>>477 ブラウザを変える。ちょろめ、きつね、おぺら…
479 :
Trader@Live! :2011/10/24(月) 01:08:26.94 ID:RUlxVAhR
ストラテジーテストのグラフの青線と緑線って何が違うの?
複数枚ポジを持つと緑線がでる、というところまでは知っているけど その時の損益が実際にはどっちなのか…と言われるとよく知らない。 緑が含み損益、なのかな?
481 :
Trader@Live! :2011/10/24(月) 07:34:24.82 ID:xLM8qDvQ
1ヶ月くらい前からMT4の起動が遅くなったんだけどオレのだけ? 10秒くらいかかるようになった versionのupdateしてからだと思う インジも増やしてないんだけどなー
新規インスコしてアップデートしてからインジとかEAとかテンプレとかを取り込めばどうだろうか? 誰かチャレンジ1年生になってくれ
>>481 アップデート後に多くの人が言っているけど、
最新にアップデートすると以前より重くなったり、止まったりするようになった。
484 :
Trader@Live! :2011/10/24(月) 08:56:08.84 ID:UjrSVu/b
>> 477 不具合の理由がやっと分かったので、報告します。 原因は、Internet Explorer 9へのバージョンアップでした。 元のIE8に戻したら、不具合はなくなりました。 それにしてもMicrosoftもいい加減なところがあるなあ。
>>483 やっぱそうなんだー
2つMT4使ってんだけどね、
メタトレーダーの公式サイトからDLしてインストしたものと、
もう一つはFXproのサイトからDLしたもの。
FXproの方は問題無いんだよなぁ、1〜2秒で起動する。
>>745 そのEAによる。
やってみないと分からない。
デコンパイルできるものなら多分出来る。
>>745 そのEAによる。
やってみないと分からない。
デコンパイルできるものなら多分出来る。
2度もスレ違いな書き込みをするなんてw
489 :
Trader@Live! :2011/10/24(月) 11:49:49.18 ID:UjrSVu/b
>>485 インジ、Template、Prifileを多用すると遅くなるみたいだ。
orionfxだけはまじクソだからやめとけよ
TEST
TEST
TEST
tes
?
496 :
Trader@Live! :2011/10/24(月) 14:55:56.71 ID:RUlxVAhR
>>480 なるほど
ついでにもう一つ質問
テストする期間ってどのくらいあれば信頼できる?
久々に起動させたら昔開いてたチャートが動かずに 新しい通貨でチャート開いてもWaiting for updateから動かない… どうしたらいいですか?
今気づいた 無効な口座なってる… 登録してきますsorry
499 :
Trader@Live! :2011/10/24(月) 15:41:50.35 ID:o0BSBUIm
今月初めからGC_CONTだけ出来高が少ない値動きになり SI_CONTやオイルやダウ先とかは動いているのに ゴールドだけとうとう全く値動きのないチャートになりました。 これは私だけでしょうか?
500 :
Trader@Live! :2011/10/24(月) 22:31:29.90 ID:6FYKvTJs
知ね
>>499 どこのブローカで何時間足で・・・
とかの情報無いのに分かる訳ないだろwww
502 :
480 :2011/10/25(火) 05:16:45.00 ID:vsrvYnk8
>>496 EAがスキャかスイングかetcによって違うと思うけど、
リーマン・ショック以前のデータは要らないと個人的には考える。
俺のスイングシステムは直近の過去6ヶ月分しかみてない。
まー勝てていないので間違った例かもしれないが。
6ヶ月はちょっと無理があるんじゃないかなあ。 2007年以前のデータはボラティリティが小さくて、スキャには向かない印象がある。 それでもテストは2005年からやってるんだけどねw
おれも2008年以降の結果を重要視してるよ 一応1999年からのもチェックするようにしてるけど、 多くのEAがその辺から成績が変わってくる 一貫して利益を上げれるようなEAを目指してるけど 今のところ2つしかできてない
日足5本 かつ 日本時間am5:00からはじまる(メタ上で0:00)サーバー 探してるんですけどみつからないですぅ><
そうなんですかぁ><
>>501 ブローカー抜けてましたね。スイマセン
BROCOです。足はどの足でも横ばい状態になっています。
509 :
Trader@Live! :2011/10/25(火) 23:07:29.77 ID:IKwNySLW
以前FXDDのデモ口座を使ってました。 夜に一回は必ずと言っていい程、回線が途切れてリロードする羽目になり スキャ中にかなりきつい思いをしたんですが デモ口座だったらどこで開設してもこんなもんなんでしょうか?
カスタムインジケーターを少し改造したらEAになったりするんですかね?
デモサーバは低スペックなのでその傾向はあるね。 10万円ぐらいいれてリアル口座開くだけでもかなり安定
ドル円、高値更新したんだけど、こういう時にファンファーレならすヤツ有ります?
アラーム設定すればok
ちゃんとファンファーレもWAV形式でSOUNDファイルにぶち込んどけよ
517 :
232 :2011/10/26(水) 02:38:14.75 ID:TBoiC2jO
質問です トレイリングストップは、あらかじめSLを設定していなくても 有効になりますか? 有効になるとしたら一番最初はストップ0の位置からですか?
>>511 なったりするよ。
でも、それで勝てるとは限らない。
520 :
Trader@Live! :2011/10/26(水) 08:44:58.85 ID:w6dlzPbS
文字と数字が入ってるCSVファイルの数字だけを配列に入れようとしてますが mql4 attempt to read binary data from a CSV file こういうエラーが出ます。どういう意味ですか?
すいません解決しました。
>>517 >>232 に
>iCustom関数を用いれば作成できていました。
ってあるけど過去に作ったやつが正常に動作していたか疑わしいレベル。
厳しいようだけど変数の使い方とかMACD Sampleとかをよく理解した方がいいと思う。
まずはiCustomを使いたいのかEA内にロジックを取り込ませたいのかはっきりさせる
ところから考えるべき。
>>518 MT4のトレイリングストップは、利食いになるまで機能しません。
たとえば50Pipsに設定したら、
建値から50Pips以上有利に動いて始めて機能します。
1分間で10p以上増減があったらアラートが鳴る、とかそういうEAありますかね
オーダーの発注で"LibOrderReliable"っていうライブラリ使ってるんですが
クローズ時のTicketの指定がうまくできません・・・
http://www.abysse.co.jp/mt4/indicators/LibOrderReliable.mq4 Ticket=OrderSendReliable(,,MAGIC,,); で発注して
OrderCloseRealiable(Ticket,,,,); で決済したいのですが
無効なパラメーターエラーになってしまいます
OrderSelect(Ticket,SELECT_BY_POS);
OrderCloseRealiable(OrderTicket(),,,,);
だと決済はされるのですが、同じMT4上で稼働させているほかのEAのポジションまで
決済されてしまうようです・・・
ちなみにint Ticket;の宣言はスタート関数内でおこなっているのですが
冒頭で宣言すると、ポジション取った直後に決済というよくわからない現象がおきてしまいます。
どうしたらTicketのポジションだけが決済させらるか教えていただけませんでしょうか?
>>525 スペルミスがありましたが単なる書き込みミスです・・・すみません
誤)Realiable → Reliable
>>524 EAというかカスタムインジケータだね
売買のサインを出す際にアラートを出すカスタムインジケータは
幾らでもあるから、貴方の言う単純なロジックのものも探せばあるかも
知れませんが、作るのも簡単なのではないかと。
ファイル名にAlertが付くカスタムインジケーターを探して改造とか。
Pointで行き詰まってきた・・・というか、混乱してきた・・・。 ODLとか少数以下が3桁/5桁だからPointも0.001とか0.00001ですよね? ダウンロードしたEAでよくあるのが # StopLoss=10 # sl=Ask-StopLoss*Point という感じなんですが、これってそのままじゃダメってことでよいのかな? # Ask-StopLoss*Point*10 こうしないといけないんですよね??? つーことは、slippageとかも全て*10しないとだめ・・だよね??? あ〜〜、ODLだからOrderSendのstoploss,takeprofitやらを修正して、 さらにおかしいとこ修正してたら混乱してきたよう・・・。 バカなおいらにご教授くださいm(_ _)m
530 :
Trader@Live! :2011/10/26(水) 18:20:50.55 ID:6+Cuzi+k
>>529 なぜに10をかける?
最初のでいいのでは?
StopLoss を 100に設定すれば済む話だろ。
>530 え〜、そうなの?? USD/JPYの場合、1pips=0.01円ですよね? # StopLoss=10 ※よくこういう指定があるけど、意味的には10pipsの意味になってると思われる。 # sl=Ask-StopLoss*Point これに値をいれて計算すると、 (Ask=80.000、StopLoss=10、Point=0.001) #80.000-10*0.001=79.990 ってなるから、1pipsでストップおいちゃうのではないかと・・・。
533 :
Trader@Live! :2011/10/26(水) 18:52:10.34 ID:6+Cuzi+k
>>532 ん?
10pipsで注文通したたいけど、
# StopLoss=10
だと1pipsになるからプログラムの計算式変えないと
っていってるのか?
何のために変数にしてあるんだよ。
531の言ってるように変数の値変えればいいじゃん。
>>532 int point = Point * MathPow(10, Digits & 1);とでもしとけ
>>517 その手の丸ごとな質問は金曜日に投下するのがコツだw
週末に暇があったら見てみるよ。
>531,533,534 ありがと。 Pointの考え方が不安になったので、間違ってないよね?という確認がしたかっただけでした。 意図がわかりにくくてすませんでした。
537 :
Trader@Live! :2011/10/26(水) 23:11:40.76 ID:jEJMdfnd
int start() { int limit = Bars-IndicatorCounted(); for(int i=limit-1; i>0; i--) { double ma01 = 0; int atrperiod = 0; { atrperiod = 5; for(int k=atrperiod; k>=0; k--) { ma01 = ma01+MathAbs(-iMA(NULL,0,7,0,0,0,i+k)+iMA(NULL,0,7,0,0,0,i+k-1)); } Buf0[i] = ma01/atrperiod; Buf1[i] = teisu*atrperiod/ma01; } } return(0); } コンパイル時にエラーはでないんですが、 チャートに挿入してもなにも表示されません。 何が悪いんでしょうか・・・。
>>537 一部だけソース載っけられても解析できないだろjk
>>537 > Buf0[i] = ma01/atrperiod;
> Buf1[i] = teisu*atrperiod/ma01;
この二つを画面上に表示するおまじないが抜けている。
indicatorsフォルダの標準インジのソースを読むべし。
541 :
Trader@Live! :2011/10/27(木) 02:01:46.21 ID:D923Cbcx
すみません、教えていただけないでしょうか? 売買条件を満たしたらすぐに売買するのではなく、 次の足の始値でロング/ショート するようにするのはどうしたら良いでしょうか?
542 :
Trader@Live! :2011/10/27(木) 02:17:38.20 ID:kWnqJSup
543 :
232 :2011/10/27(木) 03:38:15.91 ID:ZGYsjkKB
>>522 そうですね、少なくとも理解はできていなかったです。
>>535 そうしていただけると助かります。
>>541 売買条件を決定する際に使用するローソク足を
確定したローソク足にすればいいのではないでしょうか?
iCustom関数なら()内の最後を1にすればそうなると思います。
自信はないので先輩方…
544 :
Trader@Live! :2011/10/27(木) 06:54:35.45 ID:in/E36gH
すみません、全文をきちんと書くべきでした #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Red #property indicator_color2 Blue double Buf0[]; double Buf1[]; extern double teisu = 100; int init() { SetIndexBuffer(0,Buf0); SetIndexBuffer(1,Buf1); return(0); } int start() { int limit = Bars-IndicatorCounted(); for(int i=limit-1; i>0; i--) { double ma01 = 0; int atrperiod = 0; { atrperiod = 5; for(int k=atrperiod; k>=0; k--) { ma01 = ma01+MathAbs(-iMA(NULL,0,7,0,0,0,i+k)+iMA(NULL,0,7,0,0,0,i+k-1)); } Buf0[i] = ma01/atrperiod; Buf1[i] = teisu*atrperiod/ma01; } } return(0); } Buf1[i]=ma01; ならちゃんと表示されるのになぜteisu*atrperiod/ma01にしたら表示されないのか…。 どなたか教えていただけませんでしょうか。
>>545 自信はないが…-iMA(NULL,0,7,0,0,0,i+k)=iMA(NULL,0,7,0,0,0,i+k-1)
の時に0で割ってない?ログに0 divide errorと出ていれば。。。
>>545 表示はされるけど、値が変なのね。
> Buf0[i] = ma01/atrperiod;
> Buf1[i] = teisu*atrperiod/ma01;
> なぜteisu*atrperiod/ma01にしたら表示されないのか…。
Buf1[i]の計算結果はゼロに近い筈で、一緒に表示するのが無理。
別窓の下に青い線が横一直線で表示されてないかい?
setindexstyleは?
アドバイスありがとうございます。 ma01はきちんと意図した値になってます。 ですが、ma01で割るとデータウィンドウ上だとBuf0Buf1ともにブランクに、セパレートウィンドウ上も空欄・右側のスケールは9000000みたいになります。
>>549 うそをつくなよ。
ターミナルウィンドウの Experts タブをみれば、 zero divide と出ているじゃないか。
これは、ゼロで割り算してるからエラーだって意味なんだよ。
Buf1[i] = teisu*atrperiod/ma01;
↓
if(ma01 != 0.0) Buf1[i] = teisu*atrperiod/ma01;
こんな風に一行改造して、ゼロ割を防いでみろや。ゴラァ
ありがとうございます! バッチリできました!
MT4で手動でエントリーしたのですが 決済ができなくなってしまいました。 さっきまで出来てたのに、決済の黄色いボタンがグレーアウトしています。 なぜでしょう?どうやったらなおりますか?
↑あれ・・・急にできるようになった なんでだろう
初めまして。 現在MT4で使用しているインジケーターをリモートデスクトップで接続した VPSのMT4でも同じように使用したいと思い、サイトからインジケーターをダウンロードしましたが、 何故かmq4ファイルのものはすべて黄色のビックリマークのアイコンになってしまい、 表示することが出来ません。 インジケーターのフォルダには入れているので、カスタムインジケーターを見ても、 mq4ファイルのインジケーターは表示されていません。 同ファイルは元のPCでは問題なく使用出来ています。 アドバイスよろしくお願いいたします。
どの業者のMT4でも、6月11日〜9月23日までの期間だけ EURUSD1分足がダウンロードできないんですが、どうしてでしょうか? 6月11日以前の1分足は問題なく落とせるのに、業者やサーバーにかかわらず この約三ヶ月の期間だけ落とせないのは・・・原因が全く分かりません・・・
>>554 コンパイル。分からなかったらMT4を再起動。
質問だけど、Extern宣言したカスタムインジケータの変数は、 他のEAから参照できるんですよね?
//+------------------------------------------------------------------+ //| MAATR.mq4 | //| T.Takahashi | //| | //+------------------------------------------------------------------+ #property copyright "T.Takahashi" #property link "" #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Red #property indicator_color2 Blue double Buf0[]; double Buf1[]; int atrperiod01 = 0; int init() { SetIndexBuffer(0,Buf0); SetIndexBuffer(1,Buf1); return(0); } int start() { if(atrperiod01==0) atrperiod01 = 1; int limit = Bars-IndicatorCounted(); if(IndicatorCounted()<30) { for(int p=limit-8; p>Bars-30; p--) { double ma01 = ma01+MathAbs(-iMA(NULL,0,7,0,0,0,p)+iMA(NULL,0,7,0,0,0,p-1));//maの期間をどうするかは要検討 } double maatr01 = ma01/20; atrperiod01 = NormalizeDouble(20/(ma01*100),0); } else { for(int i=Bars-30; i>0; i--) { double ma02 = 0; for(int k=atrperiod01; k>0; k--) { ma02 = ma02+MathAbs(-iMA(NULL,0,7,0,0,0,i+k)+iMA(NULL,0,7,0,0,0,i+k-1)); } Buf0[i] = ma02/atrperiod01; //if(ma02!=0) atrperiod01 = atrperiod01/ma02; } } return(0); } たびたびすみません、先日のアドバイスを受けて期間変動型ATRをつくりました。 ですが、最後のコメントアウト部分をコメントアウトしないようにすると、 インジを挿入したときにフリーズしてしまいます。 なんででしょうか・・・。
>>558 MQLはちょっと独特でした、勘違いしていました。
調べたら、GlobalVariable系の関数でアクセスするグローバル変数なら可能みたいですね。
>>559 おそら
> Buf0[i] = ma02/atrperiod01;
これの計算で例外発生?
>>561 あるいはatrperiod01がとんでもなく大きな値となり、ループを延々と回っている。
あるいは、変な参照が起きてフリーズとか。
ところで
>>559 は開発スレで話題になった可変MAと同じ発想?
そっちが興味深い。
atrperiod01を割り続けたら、いつかは0になるよな。
MT4は難しいなぁ 5個のEAを使って合計9個の通貨ペアをフォワードテストしてみたんだけど、 if(Volume[0]<=1 && IsTradeAllowed()==true) これだけでは、どうしてもオーダーが通らない時があるんだよな。 試行錯誤の末に、最後の挑戦と思って MyOrderSend関数とMyOrderclose関数を使ってフォワードテストやりかけてるんだけど、 これでダメならメタ諦めるわ orz...
>>564 Volumeは1づつ増えるとは限らないよ。
時間足の始まりをトリガにしたいならTime[0]が変わったかどうかをチェック
すればいい。
前から疑問だったんだが、VolumeとかTICKVALUEて何の値?つか何に使うの?
Volume は tick の更新回数。激しく取引されているかどうかの目安になるのだ。 TICKVALUE は、1pipsがいくらになるのか換算する際に使うのかな。
>>565 アドバイスありがとう。
ID変わったけど
>>564 です。
俺、トレードシグナル使って今んとこ売買してんだけど,
やり始めた頃、ライブ取引になると、Tick by Tickのデータの処理がどうしてもうまく出来なかったことが
あったわ。もし不具合が出ても、もう少し頑張ってみるわ。
FX○×のスプレッドに魅かれたのがメタを始めるそもそもきっかけ。
スプッレッド如何では並みの売買システムでも特上に変身するからね。
苦労するわ。
バーの終値が、20日MAより低い(高い)が連続して14日続く場合の条件を考えています。 で、思いつくまま下のような関数を作りました。 forループで過去14日分のバーの終値とma20を調べ、その二つを比べてカウントしてます。 ただ、これだと1ティック毎に14日分を調べて、カウントしている状態で、バックテスト時の時間も相当かかります。 プログラム的にも、不恰好だと思っています。同じ結果で、もっとスマートなプログラムはありますでしょうか? 詳しい方ご教授をよろしくお願いいたします。 //フィルター関数 extern int filterperiod = 14; extern int MAPeriod = 20; int FilterSignal(int signal) { int ret =0; int counter1 = 0; int counter2 = 0; //価格が20日移動平均以下が続く場合買いポジション用意。売りはその反対。 for (int i=0; i<filterperiod; i++) { double ma20 = iMA(NULL,0,MAPeriod,0,MODE_SMA,PRICE_CLOSE,i); if(ma20 > Close[i]) { counter1 += 1; } if(ma20 < Close[i]) { counter2 += 1; } } if (counter1 == filterperiod && signal>0) { ret = 1; } else if (counter2 == filterperiod && signal<0) { ret = -1; } return(ret); }
>>571 インデックスバッファを1つ確保して、その日までの越えてる数を入れる。
(現在足での処理は前足の値に+1するか0にするだけ)
>>572 さん
ありがとうございました。ちょっとチャレンジしてみます。
(もし躓いたら、また伺うかもしれません。)
>>573 > ただ、これだと1ティック毎に14日分を調べて、
とりあえず、それはこれで防止。
//フィルター関数
extern int filterperiod = 14;
extern int MAPeriod = 20;
int FilterSignal(int signal)
{
static datetime beforeTime = 0;
if (beforeTime != Time[0]) {
beforeTime = Time[0];
} else if (beforeTime != 0)
return(0);
int ret =0;
int counter1 = 0;
int counter2 = 0;
土日は鯖が繋がらなくなった気がする common errorでうんともすんとも言わない みなさんはどうですか?
576 :
Trader@Live! :2011/10/29(土) 11:56:51.77 ID:Ysc0jjfB
メンテでもしてるんじゃないの。
えっ? 本気で言ってるのか
578 :
Trader@Live! :2011/10/29(土) 12:03:21.29 ID:Ysc0jjfB
土日はお休みだけどね。
579 :
Trader@Live! :2011/10/29(土) 12:09:33.62 ID:AgSa2yqV
odlが今日から旧バージョンってなるんですがどうすればいいですか?
捨てなさい。
メインチャート画面、右上隅に文字表示を表示するコードを教えて下さい
>>576 waiting for updateと中心に大きく表示されてチャート自体が表示されないんですよね
hstファイルはあるんですけど
>>579 今やってみたが、Build409の話だろ。
Build406で激遅になった起動時間が元に戻る。
いや、むしろ早くなった気さえする。
406を入れてしまった人はアップデートした方が幸せになれる。
>>581 方法1: Comment文を使う
void Display_Info( string sState )
{
Comment("Are you happy? - ", Symbol(),
"\n Forex Account Server: ", AccountServer(),
"\n Free margin: ", AccountFreeMargin(),
"\n AccountBalance: ", AccountBalance(),
"\n AccountEquity: ", AccountEquity(),
"\n Account margin: ", AccountMargin(),
"\n Account profit: ", AccountProfit(),
"\n State: ", sState,
"\n");
}
方法2: オブジェクトを使う
#define SHORT_NAME "Oops"
#define FONT "Arial"
void PutDisp( int i, string sDisp )
{
string sName = SHORT_NAME + "Info" + i;
ObjectCreate( sName, OBJ_LABEL,0,0,0);
ObjectSetText(sName, sDisp, 9, FONT, White);
ObjectSet ( sName, OBJPROP_CORNER, 0);
ObjectSet ( sName, OBJPROP_XDISTANCE, 20);
ObjectSet ( sName, OBJPROP_YDISTANCE, 16 * i);
}
int init()
{
//-- Display Info ----------------------
PutDisp ( 1, "Koreha testdesu" );
PutDisp ( 2, "Konnna kannji" );
return (0);
}
>>584 thxです
表示される座標が左上隅では無くて、右上隅に表示したい場合、どのパラメータを調整したらいいのでしょうか?
ググるのですが、ヒットしません・・・orz
>>585 おっと、すまん。それなら、
> ObjectSet ( sName, OBJPROP_CORNER, 0);
をObjectSet ( sName, OBJPROP_CORNER, 1);にする。
0が左上、1が右上の指定だよん。
>>585 ObjectSet ( sName, OBJPROP_CORNER, 0); の 0 を 1,2,3 適当にかえる
かふった・・・orz
それと、右寄せが嫌なら、 > ObjectSet ( sName, OBJPROP_XDISTANCE, 20); これをObjectSet ( sName, OBJPROP_XDISTANCE, 800);とかにする。 長い文字を書くと右に消えるだろうけど。
おまけ。インジを消したら表示した文字も消す方法。 void DeleteObject() { for (int i=ObjectsTotal(); i>=0; i--) { string ObjName = ObjectName(i); if ( StringSubstr(ObjName,0,4) == SHORT_NAME ) { //頭の4文字が一致したらそれは消す ObjectDelete(ObjName); } } } int deinit() { DeleteObject(); return (0); }
皆さん、ありがとう御座いました感謝します。 それから、もう一点教えて欲しいことがあります バックテストを行なっているのですが、close at stopのため大きな損出が出てしまうのですが、close at stopを回避できるような 手段とか、パラメータは無いでしょうか?
>>591 ちょっとズルだけど、IsTesting( )関数でBT中かどうかを判定し、現在の時刻がTimeLocal( )に近づいたらポジらないのでどぉ?
証拠金を手入力でたくさんいれておく
亀レスすいません。
>>572 さん。
ありがとうございます。インデックスバッファは時系列配列のことだと思いますが、
時系列配列を作るには、SetIndexBuffer()関数の設置が必要だと、、
カスタムインディケーターの場合は初期化関数のinit()に、SetIndexBuffer()に入れるのは判りますが、
EAの場合は、スタート関数 start()の中にSetIndexBuffer()を入れればよろしいのでしょうか?
時系列配列を使ったEAを作ったことないもので。。すいません。そんなレベルからです。
>>574 さん
ありがとうございます。バーが出来たとき以外は関数は無視するおまじないですね。
これは他にもいろいろと便利かも。
595 :
Trader@Live! :2011/10/29(土) 22:53:46.14 ID:JFm+8Av3
MACDのクロスで色変わる印字あったと思うんですが どなたか知りませんか?
>>594 EAならインデックスバッファ関連は使えないの。
なので配列を使って、新しい足が出る度にArrayCopy()しないとダメ。
ただ、配列にはMAとの差を入れておけば、ArrayMinimum(), ArrayMaximum()で一発で判定出来るので、高速化は期待出来る。
>>596 さん
ありがとうございます。インデックスバッファはEAでは使えないのですね。
普通の配列でチャレンジしてみます。たびたびありがとうございました。
>>595 さん
色はかわらないけど、クロスを教えてくれるのなら、これ。
18_28Cross.mq4
>>597 よく考えれば配列を用意する必要もないじゃん。
なぜって、前13回分はその前に計算したのだから、その結果を覚えておけばいいだけ。
デバッグしてないけど、こんな感じ。
//フィルター関数
extern int filterperiod = 14;
extern int MAPeriod = 20;
static datetime beforeTime = 0;
int FilterSignal(int signal, int i)
{
if (beforeTime != Time[0]) {
beforeTime = Time[0];
} else if (beforeTime != 0)
return(0);
int ret =0;
static int counter1 = 0;
static int counter2 = 0;
//価格が20日移動平均以下が続く場合買いポジション用意。売りはその反対。
double ma20 = iMA(NULL,0,MAPeriod,0,MODE_SMA,PRICE_CLOSE,i);
if (ma20>Close[i]) counter1++;
else counter1 = 0;
if (ma20<Close[i]) counter2++;
else counter1 = 0;
if (counter1 >= filterperiod && signal>0) {
ret = 1;
} else if (counter2 >= filterperiod && signal<0) {
ret = -1;
}
return(ret);
}
int init()
{
for (int i=filterperiod; i>=0; i--)
beforeTime = 0;
int j = FilterSignal( 0, i ); //起動時に先に14回分回しておく
return (0);
}
EAを作って一分足のバックテストを行なっているのですが、一本の時間足の中で(同じ時刻)複数の売り買いをしてしまいます。 ポジションチェックは行なっているのですが、原因がわかりません、同じ経験のバグをしたことがある方がおられたら アドバイス。または、回避できるアイデアがあれば、教えてもらえないでしょうか。 // オーダーチェック(ポジションなどのデータ) CurrentPosition=-1; for(cnt=0;cnt < OrdersTotal();cnt++){ OrderSelect(cnt,SELECT_BY_POS); if(OrderSymbol() == Symbol()) CurrentPosition=cnt; } //買いポジションをとる Ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, Ask+50*Point , "Buy", 10, 0, LightSkyBlue); if(Ticket <0) { Print("OrderSend failed with error #",GetLastError()); return(0); } //買い仕舞い OrderClose(OrderTicket(),OrderLots(),Bid,3,Green); //売りポジションをとる Ticket = OrderSend(Symbol(), OP_SELL, lots, Bid, 3, 0, Bid-50*Point, "Sell", 20, 0, Orange); if(Ticket <0) { Print("OrderSend failed with error #",GetLastError()); return(0); } //売り手仕舞い OrderClose(OrderTicket(),OrderLots(),Ask,3,Green);
>>599 ところでこれ、OrderSend()したら即座にOrderClose()してて何しようとしているの?
無意味なんだけど、単なるお試し?
Build409にしたけど起動遅いの治ってねー
>>600 >>601 解決といいますか、やはりチョンボをしていました、手仕舞いのところの、手仕舞い条件の
コードをコメントアウトしてしまっていて、ポジションをもったら、即手仕舞いという処理になっていたのが原因でした・・・orz
>>601 一部抜粋だったので、ポイントだけ書いてしましました、混乱させてスマソ
それから、もう一つお願いします。
//買い仕舞い
OrderClose(OrderTicket(),OrderLots(),Bid,3,Green);
//売り手仕舞い
OrderClose(OrderTicket(),OrderLots(),Ask,3,Green);
この書き方は問題ないと思うのですが、もしこれらのAskとBidを逆にしたらどうなるのでしょうか?
>>602 そうなんだ。アップデートせずに今の402を維持するかな。
>>603 > もしこれらのAskとBidを逆にしたらどうなるのでしょうか?
どうなるのか、試してみれば?
頭に
#include <stderror.mqh>
#include <stdlib.mqh>
を追加して、
>>603 > Print("OrderSend failed with error #",GetLastError());
を
Print( "OrderSend failed with error #", GetLastError(),
" Err=", ErrorDescription(GetLastError()) );
に書き換えればエラーの説明もプリントされる様になるから、それでどんなエラーが出るのか見るのも一興。
>>604 >どうなるのか、試してみれば?
やって見ました、聖杯が誕生しましたwww
OrderClose error 138
ERR_REQUOTE:価格の再提示
意味はわからないけど、ダメな書き方には違いなさそうです。
ぽよよ〜〜ん
MT4の効果音、変だよねw
アニオタだけど、アニメから適当な音声拾い上げて alert.wav置き換えてる。
610 :
Trader@Live! :2011/10/30(日) 18:37:29.71 ID:xK7TNb4Q
WebのサイトからMT4のインジ(mq4)をダウンロードして、使わせて頂いて いたが、IE9にバージョンアップした途端、ダウンロードや保存ができなくなった。 IE8に戻すしか手はないのでしょうか?
他のブラウザつかう
まーなwwwww
615 :
イベリコ :2011/10/30(日) 23:29:13.62 ID:+8FJpX6v
>>610 ダウンロード先を一回、デスクトップにしてみな。
アップデートでかなり起動早くなったね
617 :
ブルーローズ対ペプシマン :2011/10/31(月) 00:41:37.76 ID:Is4fn9xH
>>593 さん。亀レスすいません。
static変数が肝ですね。あまり意図的にstatic変数を使ったことなかったので勉強になります。
カウントの仕組みも配列使わずにシンプルに組み立てることできました。ありがとうございました。
ここからは経過の報告。
ただ、フィルター関数はこれでよいのですが。ちょっと困った事が。。
このEAのオーダーまでの流れは、
エントリーシグナル発信→フィルター関数で濾過。濾過されたシグナルのみ実際にオーダー。
という流れになっています。
でエントリーシグナルを発信した時にあのおまじないが、
if (beforeTime != Time[0]) {
beforeTime = Time[0];
} else if (beforeTime != 0)
return(0);
フィルター関数を止めてしまって実際にエントリーまでたどり着けていません。
(バーが出来たとき以外は関数が動かないので。)
それで、
A エントリートリガー発信後、フィルターでエントリーを濾過する型。
でなく、
B フィルターを設置して、エントリートリガーを待つ型。
の形のプログラムに作り変えようと思います。
Bの場合は、フィルター用のフラグとか用意しなければならず、面倒になりそうですが。。。
普通は、Aで作ってるのですかね、Bでつくってるのですかね。
主要の通貨(米ドル、ユーロ、円、ポンド、豪ドル、フランなど)の強さが一目でわかる インジケーターってないでしょうか?
621 :
Trader@Live! :2011/10/31(月) 09:48:58.88 ID:evI4mxJY
MT4起動してなくてもストップやリミットは機能するよね?
おはぎゃあああ 10万ドルショートしてたら介入で34万円損失かよ トレール設定してたけどPC落としてた ・・・でもデモだからいいやw
∧_∧ ( ・'A・ ) 一斉決済てどーやんの? ( ∪ ∪ と__)__)
スクリプトのCLOSEALLって入ってねーか?
∧_∧ ( ・'A・ ) できた ( ∪ ∪ マジにできて消すつもりのないポジが と__)__)
∧_∧ ( ・'A・ ) あれだな間違えたな ( ∪ ∪ 選択した複数のポジを一斉決済できるようにするに と__)__) どうしたらいいですか?だな
∧_∧ ( ・'A・ ) おっと、脱字だな ( ∪ ∪ 選択した複数のポジを一斉決済できる と__)__) ようにするにはどうしたらいいですか?だな
1時間足からperiod converterを使って 6時間足を作ったんですが、MACDが動きません (数字が0のまま、2つのラインが寝てる状態) ストキャスティクスは動きます どういった原因が考えられますでしょうか?
ごるあ!!!! ナスダックメンでてこいやあああ!!!! スレが盛り上がらんだろ!!
MT4は同一口座に多重ログインできるなんて今日初めて知ったのですが, 実際MT4を使って複数のEAをライブで運用されてる方はこの方法で取引 されているのでしょうか? 文系人間の俺としてはやるだけのことはやったつもりですが,単体の MT4ではどうしてもオーダーが一部抜けてしまいます.
>>630 プロセス間の同期が必要。「Win32 API ミューテックス」でググるよし。
>>617 俺は
>>593 ではないけど。
> 普通は、Aで作ってるのですかね、Bでつくってるのですかね。
それはCだね。
C: フィルターが計算しなくても、前の計算結果を常に返せば問題解決。
またまたデバッグしてないけど、こんな感じ。
int FilterSignal(int signal, int i)
{
static int ret =0;
if (beforeTime != Time[0]) {
beforeTime = Time[0];
} else if (beforeTime != 0)
return(ret);
static int counter1 = 0;
633 :
598 :2011/10/31(月) 19:37:18.33 ID:hU+HUYRm
北区
>>617 ごめん、
>>632 はバグってる orz
> } else if (beforeTime != 0)
> return(ret);
これではダメだね。こうでないと、
int FilterSignal(int signal, int i)
{
static int ret =0;
if (beforeTime != Time[0]) {
beforeTime = Time[0];
} else if (beforeTime != 0) {
if (ret== 1 && signal>0)
return( 1);
if (ret==-1 && signal<0)
return(-1);
return(0);
}
static int counter1 = 0;
横スレごめん。
>>617 俺は基本的にAで作ってるよ。
最初の頃は、Bでやってたけど、自然な日本語ルールをそのままプログラムに落とすとBになっちゃうだよね。するとフラグたてたり、立てなかったり、複雑になる。
今はほとんどAの形。
たぶん、誰もが通る道かも。
>>635 それ、途中でBarsが増えたらうまく動かないよね。
>>636 さぁ、そんなケースにならない様に書いているから、考えたこと無いな。
基本tickに追従する書き方はせず、新しい足が出た時にのみ処理させてるし。
あっと、アップしたインジは試作品だから、
>>574 みたいな止めは入れてない(汗
いや、MT4の都合だからならない様にとかできないと思うけど。 まぁ読み直せばいいだけだからインジならそう問題にはならないが。
え、そんなケースはないよね。
途中で Bars が増えるケースというのは、この2ケースかな? (A) 新規チャートを開く→ 2048本分のデータが表示される。→ユーザがチャートを過去にスクロールする→過去のBars が追加ダウンロードされる。 (B) MT4の接続が切れる→切れている間に サーバでBars が増える → MT4が再接続する →最新の未ダウンロードの Bars が追加される。
>>638 言っている事が判らないな。
EAにしても見えているのはレートのコピー。
それは再びstart()が呼ばれるか、明示的にRefreshRates()しないと更新されない事は知っているよね?
642 :
ブルーローズ対ペプシマン :2011/11/01(火) 00:08:42.67 ID:6fxJVjb1
>>633 さん
ありがとうございます。
static便利ですね!! もっと積極的にstatic使っていきます。
ところで、フラグ状態がわけわからめになるのは何度もあって、自前でステートマシン図に
近い事を書いてはいました。でもステートマシンという言葉は知らなかったです。
>>643 … いえす …
>>642 どもども。ステートマシンは覚えておいて損は無いですよ。
例の物から骨格だけ貼っておきます。
iStateが現在の状態。iNxStateが次の状態で、途中のif文で次のステートを決定。
決定したステートにはswitch文で入る構造です。
何が便利か? そのステート中では「もし、その他のステートだったらどうする?」等を考えなくても済むんです。
#define stArizona 0 // init state
#define stTucson 1 // range state
#define stFlagstaff 2
#define stPhenix 3 // trand state
#define stYuma 4
int iState = stArizona,
iNxState;
int start()
{
switch (iState) {
case stTucson:
if ( ( dFasterMA1 > dSlowerMA1
iNxState = stFlagstaff;
} else if (IsPhenixExt(i,62) == -1) {
iNxState= stPhenix;
} else if (IsPhenixExt(i,62) == 1) {
iNxState= stPhenix;
} else
iNxState = stTucson;
break;
case stFlagstaff:
case stArizona:
if (IsPhenixExt(i,14) == -1) {
iNxState= stPhenix;
} else if (IsPhenixExt(i,14) == 1) {
iNxState= stPhenix;
} else
iNxState= stFlagstaff;
break;
default:
iNxState = stArizona;
break;
}
iState = iNxState;
}
あ〜ら、フェニックスの判定強化をやって、トゥーソン→フェニックスへのダイレクトパスを設けたことがバレバレやん(汗
まぁ誰も気にしてないから心配すんな。
>>631 thx
Win32 API ミューテックス ??
ググって見ましたが、何やら訳が分かりませんでした。
どこのブローカもログに"old version of server"が出始めたんだけど、 さてどのブローカの問い合わせしようかw
649 :
けん :2011/11/01(火) 11:44:45.18 ID:NRTncUXb
私も昨日まで使えてたMT4が現在「old version of server」とログに出力され回線が接続できない状態になっています。
ブロコのサーバにつないでいるのですが、数秒遅れてるみたいです 他にダウ見られるサーバありませんか?
652 :
けん :2011/11/01(火) 12:25:03.37 ID:NRTncUXb
そうなんですか。私はForexです。現在も接続できていません。問い合わせありがとうございます。
エントリーと同時に約定価格から±何pipsで利食いと損切りの決済ができる注文方法のEAを作ることは可能でしょうか?
>>653 おそらく、エントリ → ±数pipsのSL/TPを自動で設定
をやってくれるEAと作れるかという意味だと思うんだけど、できるよ。
スクリプトでも出来るから、ぐぐれば落ちてるかもしれない。
EAですが、日付が変わったらポジションをクローズさせる方法がわかりません。 だれか教えて下さい。
質問なのですが 口座開かずにダウ先物・日経が見れて、レートが小数点第3まで表示されるサーバーって ありませんでしょうか?
>>655 今が何日かはTimeDay(TimeCurrent())で取れる。
>>654 ありがとうございます
探してるんですがなかなか見つかりませんね
EA系はほとんどが英語や記号表記なので日本語で探しても出てこないのでしょうか
>>657 ありがとうございます。
プログラミング知識が無いので、コードを教えてくれませんか?
うpデートおkでやっても立ち上げるたびにうpデート聞いてくるんだけど 何回うpデートすればいいのですかぁ><
無限に繰り返すしかない。
>>659 コードを教えてもプログラミング知識が、無ければ組み込めないのでは?
>>657 を頂いて、
static int beforeDay = 0;
if (beforeDay != TimeDay(TimeCurrent()) {
beforeDay = TimeDay(TimeCurrent());
// ここに全クローズ処理のコードを入れる
}
全クローズ処理は過去スレにコードがあったから、それを探してくれ。
AlpariUKサーバーには繋がってるんですが接続すると右下にcommon errorと出て繋がりません。 何回も試してるのですが、一向に・・・orz 皆さん繋がりますか? ダウ先物とユーロ株価が見れる&小数点第3まで見れるのがAlpariUKしか知らないのですが デモ口座でそういったサーバー他に知ってる人いましたら教えてください。 連投すいません。
MT4って一括決済できないんですか?
できないので、スクリプト動かしてやるしかない
>>663 探せば山ほどあると思うが、とりあえずFxProでどうよ?
old version of serverか DataCenter connecting failed[2]が返ってくるな 外人がサポートに連絡したら「1,2日使えねーから」と言われたと海外掲示板で見た 原因すらわかってない可能性もあるな
>>667 ほとんどのブローカーで同じエラーが出てるね。なんじゃろ?
ロシア人の陰謀か?w
ぽよ〜ん
>>669 なにそれ?
FXDDとFXTFとForex.com使ってるけどどれも問題なく動いてるよ?
デモサーバーだけなんじゃね?
ネスト綺麗に整列させる方法ってある?
EA作ってバリバリやろうと口座開いたり本買ったりしてから半年たったが放置したままだ… 裁量でコツコツドカンやるたびにやらなきゃと思うもののなかなか… かといって既製のはいやなんだよなあ
alternative ichimokuって普通の一目均衡表と何が違うの?
>>660 Win7系のOSつかっているからじゃね?
UACの関連でアップデートファイルが正常に反映されてないとか、その類が原因かと思うけど
対処方は
>>5 に書いてある
MT4を起動してると数時間に1度広告サイトが3つくらい開かれるんですけど普通ですか?
MT4で通貨ペアの表示が灰色になって取引ができない通貨があるのですが・・ ポジションを持ってるのにCloseできないので困っています
>>681 ブローカー側が取引不可に設定してるんだよ。
ブローカーに電話するしかない
ぼよよよ〜ん
>>682 数時間したら直ってた。まあそんなこともあるか。重要なとこだったらキレるけど・・
MT4でEA化する際に、他のインジの値を使いたいときは、その使いたいインジのソースを組み込めばいいのですが そうすると、プログラムがでかくなりすぎて、可読性が悪くなります、MT5なら専用クラスを作成すればいいのでしょうが MT4で何とかする方法はありませんか、DLLやライブラリィのように、使う手段は無いのでしょうか?
>>680 ないわー。ウィルスとか疑うべき。
まぁ業者名聞かないとなんとも言えないんだけどさ。
ちょっと連絡にお借りします。 とんとんさんへ。もしここかブログ見てたら、 連絡頂ければ対応を継続しますのでご連絡ください。 操作履歴さえ見ればなんでうまく動いてないかわかるかなぁと思ったので。 ちょっと最近お仕事の方が忙しかったりして 間が開いてしまいもうしわけありません。
690 :
Trader@Live! :2011/11/04(金) 09:20:58.18 ID:0XQveEWk
教えてください。 EAを作成しているのですが、複数の注文を発行する際、Ordersend関数にマジックナンバーという、引数がありますが 1ポジションに一つのマジックナンバーを指定してしてやらなければダメなのでしょうか?
>>690 その必要はなし。
だいたい、EA毎にマジックナンバーを変えることが多いかな。
1つのEAで複数のマジックナンバーを使うEAもある。
692 :
Trader@Live! :2011/11/04(金) 11:37:03.03 ID:7EQoW2Ud
教えてください。 いくらチャートを 削除しても起動すると、また新規に出来てるのは、 どこか設定でもあるのかなあ
>>692 もし、Vista以降のOSを使っていて、互換性フォルダの問題だったら
Cドライブ直下にフォルダを作ってそこに MT4をインストールするといいよ。
694 :
Trader@Live! :2011/11/04(金) 13:11:35.69 ID:7EQoW2Ud
ありがとうございます W7なんですが かと、言って今またインストールするのが 大変なんで、かなり気になるように なったらトライしてみます
>>691 レスthxです。わかりました。あと一つお願いします
バックテストをするときに、売買価格、損切り、利食いする価格を代入する、BTという構造体があるようなのですが、どなたかそれについて、解説してある
サイトなどご存じないでしょうか?
翻訳たのむ・・・
>>695 画面キャプチャしてスクリーンショットをアップロードするといいんじゃないかな。
>>696 、わかりにくくてすみません
あるインジで
int BT.iBuySell[_Nbt];
このような記述を見ました、このBTって構造体のように見えるのですが違うのでしょうか?
もし認識が違っていたら、解説をお願いします。
>>698 構造体ではありません。ただ、変数名に ピリオドを使ってあるだけです。
>>699 Thxです
今、自分も気付きました、MQLってこんな文法もありなんですねwww
自分はC/C++の開発が長かったので、MQL言語はとても理解しやすいのですがいくらなんでもここまで、
シンタックスシュガーといいますか、便利というか・・・・・便利ですねorz
すっきりしました、ありがとう^^
正直、「C/C++の開発が長かった」とは、とても思えんな。
MQL4では意味が割り当てられてない記号は大概(てか、俺が知る限りだと全て) ID文字列として利用できる。だから、bool ?;とかいう奇天烈な変数名もアリw ちなみに、#define 0test test0はコンパイルエラーにならない。 けど、0testはどんな場面でも一切利用できないイミフw
変数名は日本語でつけると分かりやすいぞ。 int すっとぷろす = 10;
2バイト文字は2バイト目がアスキー記号とぶち当たると困ったことになるだろ? って思ったけど、少なくともメタエディタ上に限れば入力した瞬間に文字化けし ちゃうからコンパイル前に使えない文字は判断できるな。 まあ日本語の変数名とかみつけたら、そのコードは問答無用で廃棄するけどw
RSI-TC_NEWというインジケータはご存知のかたが多いとおもいますが これのMTF版のインジケータをみかけたかたいますでしょうか?
>>702 Cで言えばプリプロセッサで定義してるだけだから当然そうでも何もおかしくない。
>>703 日本語も対応してるのか、ロシアやるな。
そんな風に考えていた時期が俺にもありました。
>>706 なるほどね、プリプロセッサといえば
#ifdef INDICATOR
インジケーターとしての動作
#endif /* end of INDICATOR */
それ以外はEAとしての動作
こんなのが定義できればいいよね^^
>>698 > あるインジで
> int BT.iBuySell[_Nbt];
あるインジってなんじゃと思えば、Arizona_Rules_4_v0.4.mq4の事かぁ。
どもども、DLありがとうございます。
インジネタはインジ開発スレでいいよ。枯れ木も山の賑わいだしw
んでそれは、関連する配列が複数あって、本来なら構造体を使いたかったんだけどMQLに無い。
無いけどドットが使えるのは知ってたから、それ風にしてみただけ。
>>709 こちらこそ、DLさせて頂きありがとうです
712 :
Trader@Live! :2011/11/04(金) 23:02:22.32 ID:jL7u3gPP
インジケータやEAのパラメータを変更する枠を拡大する方法ありませんか? 小さくてスクロールが大変です。。。 確か縦に伸ばす方法があったような? 教えてください、、、、
通常の注文方法で注文すると無効とよく表示されるが、スクリプトで注文すると100%注文が通る気がする。 スクリプト経由でいつも注文したほうがいいんですかね?
715 :
ブルーローズ対ペプシマン :2011/11/05(土) 02:12:53.56 ID:gGikeNGC
現在の価格Close[0]から近いきりのいい価格、例えばUSDJPYなら78.89→79.00 EURUSDなら、1.2723→1.2700 を基準ラインにして 上下の価格値でエントリーのサインを出す関数を考えています。(その後フィルターでサインは選別されます。) 具体的に例をいいますと、USDJPYのClose[0]値が77.82ででありましたら、そこから近い「きりのよい価格」78.00を基準のラインとします。 変数は「point00」としました。 78.00から、上下に所定のマージン「pointmargin」5pip分と「pointmargin*2」10pip分の領域内に Close[0]値があればエントリーのサインがでます。 78.05〜78.10 内にClose[0]値がある。→売りサイン発生 ret=-1 77.95〜77.90 内にClose[0]値がある。→買いサイン発生 ret=1 で下のような関数を考えました。 でやっぱりきちんと動きません。orz ******************* int init() //きりのいい値段を調べる準備 { if (Digits <= 3) { x1 = 1; x2 = 1; } else { x1 = 100; x2 = 0.01; } } // エントリー関数 extern double pointmargin = 5; int EntrySignal(int magic) { double pos = MyCurrentOrders(MY_OPENPOS, magic); int i = Close[0] * x1; double point00_b = i * x2; double point00_a = (i + 1) * x2; static double point00 = 0; //現在値から近いほうのきりのいい値段を調べる if(point00_a - Close[0] < Close[0] - point00_b) point00 = point00_a; else point00 = point00_b; int ret = 0; // 買いシグナル if(pos <= 0 && Close[0] <= point00 - pointmargin * Point && Close[0] >= point00 - pointmargin * Point *2) ret = 1; // 売りシグナル if(pos >= 0 && Close[0] >= point00 + pointmargin * Point && Close[0] <= point00 + pointmargin * Point *2) ret = -1; return(ret); } ******************* おかしいのは、次の部分です。 if(pos <= 0 && Close[0] <= point00 - pointmargin * Point && Close[0] >= point00 - pointmargin * Point *2) ret = 1; if(pos >= 0 && Close[0] >= point00 + pointmargin * Point && Close[0] <= point00 + pointmargin * Point *2) ret = -1; 調べてみますと、何故か「pointmargin * Point」「pointmargin * Point *2 」も同じ値になるようで、変数の型であるdoubleを疑ったり、 定数のPointを疑ったりしているのですが、やっぱりわかりません。(FXDDでテストしているので5桁表示の問題かもしれません。) お分かりになるかたいらっしゃいますか? どうぞお助けください。
あ、追伸。 おかしいというのは、範囲外でサインが出てしまうのです。 78.05〜78.10 内にClose[0]値がある。→売りサイン発生 ret=-1 77.95〜77.90 内にClose[0]値がある。→買いサイン発生 ret=1 の例だと、78円あたりで買いサインがでたりと、、。
>>714 スキャ系EAで80%の注文が弾かれるぜ?
今まで0%だったのにある日突然、マークされる。
まあこうなると業者引越しになる。
MACDの0,DRAW_HISTOGRAMをDRAW_LINEにかえたのコンパイルしようとしたら「アクセスを拒否されました」とでます。どうして拒否されるのでしょうか?
>>715 コードはめちゃくちゃ過ぎて追う気がしないので、一般論で。。。
Close[0]の所に77.82とか直値を入れて、Printで計算結果を出力しては修正する、
という作業を繰り返すべきでしょう。
あと、「近いきりのいい価格」とかをごちゃごちゃ計算してるみたいだが、
ちゃんと、四捨五入用の計算を関数化してみるべきでしょう。
MathPow()で桁を合わせ、MathCeil(),MathFloor()等で切り捨て切り上げすれば、できるでしょう。
ってところかね。
スキャ系EAってどういう基準で判断されるの?エントリー頻度?ピピ数?
平均保有時間
722 :
633 :2011/11/05(土) 09:32:16.86 ID:lHPNguIn
>>715 > 何故か「pointmargin * Point」「pointmargin * Point *2 」も同じ値になるよう
試して見たけど、同じ値にはなってないみたい。
修正したけど…(定数でも明示的に".0"を付けて、それが実数であると示すのが安全だよ)
// エントリー関数
extern double pointmargin = 5.0;
int EntrySignal(int magic)
{
double x1, x2;
if (Digits <= 3) {
x1 = 1.0;
x2 = 1.0;
} else {
x1 = 100.0;
x2 = 0.01;
}
// double pos = MyCurrentOrders(MY_OPENPOS, magic);
int i = Close[0] * x1;
double point00_b = i * x2;
double point00_a = (i + 1.0) * x2;
static double point00 = 0.0;
//現在値から近いほうのきりのいい値段を調べる
if (point00_a-Close[0] < Close[0]-point00_b)
point00 = point00_a;
else point00 = point00_b;
int ret = 0;
// 買いシグナル
Print ( "1: ", point00 - pointmargin * Point );
Print ( "2: ", point00 - 2.0 * pointmargin * Point );
double dMargin1 = point00 - pointmargin * Point );
double dMargin2 = point00 - 2.0 * pointmargin * Point );
/*
if(pos <= 0
&& Close[0] <= dMargin1
&& Close[0] >= dMargin2) ret = 1;
// 売りシグナル
if(pos >= 0
&& Close[0] >= dMargin1
&& Close[0] <= dMargin2) ret = -1;
*/
return(ret);
}
実行結果:
2011.11.05 09:19:40 *** USDJPYfxf.,M30: 2: 77.9
2011.11.05 09:19:40 *** USDJPYfxf.,M30: 1: 77.95
>>716 > おかしいというのは、範囲外でサインが出てしまうのです。
問題なさげ…
2011.11.05 09:45:44 *** USDJPYfxf.,M30: 4: 78.1
2011.11.05 09:45:44 *** USDJPYfxf.,M30: 3: 78.05
2011.11.05 09:45:44 *** USDJPYfxf.,M30: 2: 77.9
2011.11.05 09:45:44 *** USDJPYfxf.,M30: 1: 77.95
// 買いシグナル
Print ( "1: ", point00 - pointmargin * Point );
Print ( "2: ", point00 - 2.0 * pointmargin * Point );
Print ( "3: ", point00 + pointmargin * Point );
Print ( "4: ", point00 + 2.0 * pointmargin * Point );
double dMargin1 = point00 - pointmargin * Point;
double dMargin2 = point00 - 2.0 * pointmargin * Point;
double dMargin3 = point00 + pointmargin * Point;
double dMargin4 = point00 + 2.0 * pointmargin * Point;
/*
if(pos <= 0
&& Close[0] <= dMargin1 // 78.22 77.95
&& Close[0] >= dMargin2) ret = 1; // 78.22 77.9
// 売りシグナル
if(pos >= 0
&& Close[0] >= dMargin3 // 78.05
&& Close[0] <= dMargin4) ret = -1; // 78.1
*/
>>719 さん
ありがとうございます。見苦しいソース失礼しました。
確かに、きりのいい値を出す関数を別につくった方がいいですね。
>>723 さん
検証までしていただいて、ありがとうございます。
問題ないですかぁ?今出先で携帯からなので検証できませんが帰ったらもう一度やり直してみます。
新たなソースまで。ありがとうございました。
ストラテジーテスターでskip toで一気に指定した期間全表示させた時 終了日ではなく開始日の所から見られるようにできませんか?
JPN_Time_SubZeroというインジで日本時間を表示しているのですが 今日みたいな休日にMT4立ち上げると、1時間ずれちゃってます。 これ直す方法とか、こっちのインジに変更したほうがいいよ!みたいなのってありますか? 初心者専用スレって見て来たのですが、敷居が高そうでビビッテます;;
>>721 ありがとうございます
じゃあ中身をスイングに書き換えて数日おきに使い分ければ無問題ですね!
wti見れるいい鯖おせーて
>>725 終わってからチャート上でhome押してみ。
ちょっと教えてください インジケーターバッファ(配列)に格納しないで ある定数である条件になったら、 矢印サインを出すことって出来るのでしょうか?
731 :
730 :2011/11/05(土) 20:45:33.72 ID:OGzaAyw+
あとインジケーターバッファー(配列)に対して、 値を入れるのは、現状の[0]にあたいを入れていけば バー更新する事に、勝手にずれていって、保持してくれる と考えて良いのでしょうか? 例えば配列: sigbuf[]を定義して、 int start() { a= (移動平均がクロスしたら1しなければ0 ); sigbuf[0] =a; } 現状のバーで、クロスしたと仮定した場合、a=1で 、sigbuf[0]に1が入る。 時間が切り替わって、バーが更新されたら クロスしないとする。、そのときはa=0 、sigbuf[0]に0が入る。 ただしsigbuf[1]を参照すると、1が入っている。 こういう理解でよろしいのでしょうか??
>>731 SetIndexBufferしてない配列は新しい足が出来たとき配列の要素を勝手にシフトしてくれることはしないよ
バックテストでopenchartを開いたときに指定したインジケーターで開くようにしたいんですけど どのようにしたらいいんでしょうか。 「定型チャート」で保存しておいてopenchart後に開くと売買記録まで前回保存した状態にされてしまいます。
同じ時系列で、複数のポジションを持たない、大雑把に書くとこんな感じで書けると思うのですが 同時に複数のポジションを持つ場合どのように書いたら良いでしょうか? int CurrentPosition, cnt; int start() { int Ticket; // オーダーチェック CurrentPosition=-1; for(cnt=0;cnt < OrdersTotal();cnt++){ OrderSelect(cnt,SELECT_BY_POS); if(OrderSymbol() == Symbol()) CurrentPosition=cnt; } if(CurrentPosition == -1) { if(買い条件成立) Ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, Ask+50*Point, "Buy", 0, 0, Blue); if(売り条件成立) Ticket = OrderSend(Symbol(), OP_SELL, lots, Ask, 3, 0, Ask-50*Point, "Sell", 0, 0, Red); } else { if(買い決済条件成立) 買い決済; if(売り決済条件成立) 売り決済; } }
>>730 やり方次第で出来るよ。でも、配列に入れたほうが簡単な場合もある。
その時次第かな。
>>734 Visual modeをオンにして、スタートさせたらすぐストップ。
見たいインジを設定して、それをEAと同じ名前で定型チャートに保存する。
>>735 基本的には、OrderSend()をズラズラ書けばいいだけだよ。
>>738 さん
ありがとうございます、注文方法に誤記がありました、正しくは、下記のように注文する際に利食い値、損切り値を決定して
教えていただいた通りに、OrderSend()でオーダーを出すとします。さて、
この場合、ティックが変わる毎に(start関数が呼ばれる度に)全てのオーダーの中から、利食い値、損切り値に
達したものを処理をするようにすればいいのでしょうか?
ticket = OrderSend(Symbol(), OP_BUY, 1, Ask, 3, Ask - (stoploss*Point), Ask + (takeprofit*Point), Method[iMethod] + "Buy",0 , 0, Green);
Print("Buy\n");
ticket = OrderSend(Symbol(), OP_SELL, 1, Bid, 3, Bid + (stoploss*Point), Bid - (takeprofit*Point), Method[iMethod] + "Sell",0 , 0, Red);
>>739 うんにゃ? なんか話しが食い違っている気がする…。
> 全てのオーダーの中から、利食い値、損切り値に達したものを処理をするようにすればいいのでしょうか?
「達したもの」の何を「処理」しようとしているんでしょ。
処理しなくても、達すれば業者側で決済されるのですが??
>>740 さん
そうなんですか・・・・慣れないものでorz
オーダーを出す際に、利食い値、損切り値をした場合、何ももしなくてもいいんですね、と言うことは、
オーダーのチェックもやらなくてもいいんですよね?
>>742 完全放置プレイでOK。つかそれFXならどのツールでもそうよ。
>>741 そんな感じのEAを作ったことあるけど、今どこにあるかも覚えてないってことは。。。そんなもんだなw
ちなみにチャート右上にレートの数字を大きく表示しといて、
きりの良い数字に近づいたら赤くなるってインジとか作ったことあるw
744 :
729 :2011/11/06(日) 00:21:34.86 ID:Qrci+25l
>>732 何度も?うちの環境で試した感じでは、
「Visual modeにチェックを入れてバックテスト開始」
↓
「Skip toを押して処理を早く終わらせる」
↓
「終了後に、現れたチャートを選択状態にしてHOMEキーを押す」
で、チャートの始まりまで飛ぶんだけどなぁ。
>>742 そうなんだけど、裁量では利益が出たらSLを同値撤退に変更したり、トレールしたりするのでは?
>>178-181 にOrderModify()の話があるから、参考になるかも。
それと、業者によってはOrderSend()と共にTP/SLを設定出来ず、OrderSend()したら即座にOrderModify()でTP/SLを設定しないといけない場合もあるよ。
723さん、先ずはお詫びを、、。同じ検証をさせていただきました。USDJPYにおいては問題なかったです。 USDJPYを例に出しながら、USDJPYは正常でした。すいません、、。 問題はEURUSDにおきました。というか円がらみの5桁のみ正常のようです。 それで、さらに以下の内容を出力してみてテストしてみました。(ちなみにFXDDでテストしてます。) Print ( "1: ", point00 - pointmargin * Point ); Print ( "2: ", point00 - 2.0 * pointmargin * Point ); Print ( "3: ", point00 + pointmargin * Point ); Print ( "4: ", point00 + 2.0 * pointmargin * Point ); Print ("a: ",point00); Print ("b: ",pointmargin); Print ("c: ",Point); Print ("d: ",point00 - pointmargin * Point); Print ("e: ",point00 - pointmargin * Point *2.0); Print ("f: ",point00 - (pointmargin + pointmargin) * Point); Print ("g: ",point00 - 1.0 * Point); Print ("h: ",pointmargin * Point); Print ("i: ",pointmargin * Point *2); USDJPY (EURJPYも同じ結果) 00:56:02 2011.11.01 00:42 00CountryT04 USDJPY,H1: 1: 77.995 00:56:02 2011.11.01 00:42 00CountryT04 USDJPY,H1: 2: 77.99 00:56:02 2011.11.01 00:42 00CountryT04 USDJPY,H1: 3: 78.005 00:56:02 2011.11.01 00:42 00CountryT04 USDJPY,H1: 4: 78.01 00:56:02 2011.11.01 00:42 00CountryT04 USDJPY,H1: a: 78 00:56:02 2011.11.01 00:42 00CountryT04 USDJPY,H1: b: 5 00:56:02 2011.11.01 00:42 00CountryT04 USDJPY,H1: c: 0.001 00:56:02 2011.11.01 00:42 00CountryT04 USDJPY,H1: d: 77.995 00:56:02 2011.11.01 00:42 00CountryT04 USDJPY,H1: e: 77.99 00:56:02 2011.11.01 00:42 00CountryT04 USDJPY,H1: f: 77.99 00:56:02 2011.11.01 00:42 00CountryT04 USDJPY,H1: g: 77.999 00:56:02 2011.11.01 00:42 00CountryT04 USDJPY,H1: h: 0.005 00:56:02 2011.11.01 00:42 00CountryT04 USDJPY,H1: i: 0.01 EURUSD (GBPUSDも同じ結果) 何かがおかしい 00:51:30 2011.11.01 00:05 00CountryT04 EURUSD,M15: 1: 1.39 00:51:30 2011.11.01 00:05 00CountryT04 EURUSD,M15: 2: 1.3899 00:51:30 2011.11.01 00:05 00CountryT04 EURUSD,M15: 3: 1.3901 00:51:30 2011.11.01 00:05 00CountryT04 EURUSD,M15: 4: 1.3901 00:51:30 2011.11.01 00:05 00CountryT04 EURUSD,M15: a: 1.39 00:51:30 2011.11.01 00:05 00CountryT04 EURUSD,M15: b: 5 00:51:30 2011.11.01 00:05 00CountryT04 EURUSD,M15: c: 0 00:51:30 2011.11.01 00:05 00CountryT04 EURUSD,M15: d: 1.39 00:51:30 2011.11.01 00:05 00CountryT04 EURUSD,M15: e: 1.3899 00:51:30 2011.11.01 00:05 00CountryT04 EURUSD,M15: f: 1.3899 00:51:30 2011.11.01 00:05 00CountryT04 EURUSD,M15: g: 1.39 00:51:30 2011.11.01 00:05 00CountryT04 EURUSD,M15: h: 0.0001 00:51:30 2011.11.01 00:05 00CountryT04 EURUSD,M15: i: 0.0001
そして、point00 = 0.0 のまま、(変数へ新たに代入せず)でテストすると。 USDJPY 00:07:04 2011.11.01 00:47 00CountryT04 USDJPY,H1: 1: -0.005 00:07:04 2011.11.01 00:47 00CountryT04 USDJPY,H1: 2: -0.01 00:07:04 2011.11.01 00:47 00CountryT04 USDJPY,H1: 3: 0.005 00:07:04 2011.11.01 00:47 00CountryT04 USDJPY,H1: 4: 0.01 00:07:04 2011.11.01 00:47 00CountryT04 USDJPY,H1: a: 0 00:07:04 2011.11.01 00:47 00CountryT04 USDJPY,H1: b: 5 00:07:04 2011.11.01 00:47 00CountryT04 USDJPY,H1: c: 0.001 00:07:04 2011.11.01 00:47 00CountryT04 USDJPY,H1: d: -0.005 00:07:04 2011.11.01 00:47 00CountryT04 USDJPY,H1: e: -0.01 00:07:04 2011.11.01 00:47 00CountryT04 USDJPY,H1: f: -0.01 00:07:04 2011.11.01 00:47 00CountryT04 USDJPY,H1: g: -0.001 00:07:04 2011.11.01 00:47 00CountryT04 USDJPY,H1: h: 0.005 00:07:04 2011.11.01 00:47 00CountryT04 USDJPY,H1: i: 0.01 EURUSD 何これ??? 00:11:27 2011.11.01 00:18 00CountryT04 EURUSD,M15: 1: -0.0001 00:11:27 2011.11.01 00:18 00CountryT04 EURUSD,M15: 2: -0.0001 00:11:27 2011.11.01 00:18 00CountryT04 EURUSD,M15: 3: 0.0001 00:11:27 2011.11.01 00:18 00CountryT04 EURUSD,M15: 4: 0.0001 00:11:27 2011.11.01 00:18 00CountryT04 EURUSD,M15: a: 0 00:11:27 2011.11.01 00:18 00CountryT04 EURUSD,M15: b: 5 00:11:27 2011.11.01 00:18 00CountryT04 EURUSD,M15: c: 0 00:11:27 2011.11.01 00:18 00CountryT04 EURUSD,M15: d: -0.0001 00:11:27 2011.11.01 00:18 00CountryT04 EURUSD,M15: e: -0.0001 00:11:27 2011.11.01 00:18 00CountryT04 EURUSD,M15: f: -0.0001 00:11:27 2011.11.01 00:18 00CountryT04 EURUSD,M15: g: -0 00:11:27 2011.11.01 00:18 00CountryT04 EURUSD,M15: h: 0.0001 00:11:27 2011.11.01 00:18 00CountryT04 EURUSD,M15: i: 0.0001 5桁通貨の対応と00への変換を兼ねたここを疑ったのですが、、 int init() { if (Digits <= 3) { x1 = 1; x2 = 1; } else { x1 = 100; x2 = 0.01; } } コメントアウトしても変わらずでした。 g (point00 - 1.0 * Point): -0 マイナス0というのも?? です。 今日の検証はここまで。でも、テストの方法を考えていただいた723さんには感謝です。 本当にありがとうございました。
>>741 さん。
どうぞ、どうぞ試してください。
出来たら、期間限定でアップしようかなと思ってます。
でもあまりに、PFが良すぎたらあげないかも(笑
>>746 Print("raw point=",Point);
Print("DTS point=",DoubleToStr(Point,5));
Print する時は、DoubleToStr 使おうね。
>>737 ありがとうございます。
ちょっと迷いましたが出来ました!
チャートソフトを作りたいのですが MT4からレートを取得して描画するには、どういう言語でどうやれば良いですか? DDEでリアルタイムのレートを取得する方法は分かりますが過去レートを取得したいです。
>>746 レス全部追わずに回答すると、double型は小数点4桁までだからじゃない?
JAVAで出来そう。スレ汚し失礼しました。
指定したMAにローソクが近づいたらアラートを鳴らすにはどうやったらいいですか?
>>743 さん。ありがとうございます。
もう一つ教えていただきたいのですが、宜しくお願いします。
バックテストで、OrderSend error 130 が発生します。ググると、逆指値の価格と市場価格が近すぎる、斯く斯く然々のことが書いてあるのですが
多分stoploss値、profit値の設定の見直しが必要だと思うのですが、適切な値を設定するのには、どのようにしたらいいのでしょうか?
>>756 >743ではないけれどHINT、俺は使ったこと無いけど。
ストップロス値と価格の最低差はMakertInfo()関数にMODE_STOPLEVEL変数を付けることで得られる。
>>756 例のものを着々とEA化しているんですね。
うかうかしていられないなw
>>757 では「ヒゲの先がMAの何pips以内だったら」で大丈夫ですか?
アラートなってすぐではなくMA付近に近づいたら監視に切り替えたいので若干の猶予が欲しいので
761 :
760 :2011/11/06(日) 10:49:54.87 ID:Hjeq/UiP
あ、pips数を調節できるならそれに越した事はないですがそうでなければ5pips程でお願いs増す
>>760-761 それなら簡単、これでいいんじゃね?
extern double APPROCH = 5.0;
if (daFast[i] < High[i]+APPROCH) {
} else if (daFast[i] > Low[i]-APPROCH) {
あと、
>>757 はtickを無視するから、そこは好きに加工してちょ。
ブルーローズさんって前、ここでプログラムを教わりながら最後に出来たEAを公開した人? コテ名もあれだし。
条件が甘すぎる oz if ( daFast[i] < High[i]+APPROCH && daFast[i] > High[i] && daFast[i] > Open[i] ) { } else if ( daFast[i] > Low[i]-APPROCH && daFast[i] < Low[i] && daFast[i] < Open[i]) { かな。
牛角とブルーローズ(笑)
コテと言えばマダオってどうなったんだ?
マダオは 退場したらしいよ
どこかバグっていて、一本のローソクに複数回の売買ができてしまいますwww 同じ一本のローソクの中で 売り注文→買い決済 OK 買い注文→売り決済 OK 買い注文→買い注文・・・買い注文 NG 売り注文→売り注文・・・売り注文 NG 何処か良いサンプルまたは、実装するためのアルゴリを教えてもらえませんか m(__)m
>>771 お世話になります、割愛していますが、こんな感じです
int nBarnum = 0;
int tick;
int Order(int nOtype)
{
if(nBarnum != Bars) {
if(nOtype == OP_BUY)
tick = OrderSend(Symbol(), OP_BUY, lots, Ask, 3, Ask-(30*Point), Ask+(50*Point) , "BUY",0 ,0 , Blue);
if(nOType == OP_SELL)
tick = OrderSend(Symbol(), OP_SELL, lots, Bid, 3, Bid+(30*Point), Bid-(50*Point) , "SELL",0 ,0 , Red);
}
return tick;
}
start()
{
int result;
if(条件)
result = Order(OP_BUY)
else
result = Order(OP_SELL)
}
失礼しました、こっちです int nBarnum = 0; int tick; int Order(int nOtype) { if(nBarnum != Bars) { if(nOtype == OP_BUY) { tick = OrderSend(Symbol(), OP_BUY, lots, Ask, 3, Ask-(30*Point), Ask+(50*Point) , "BUY",0 ,0 , Blue); nBarnum=Bars; } if(nOType == OP_SELL) { tick = OrderSend(Symbol(), OP_SELL, lots, Bid, 3, Bid+(30*Point), Bid-(50*Point) , "SELL",0 ,0 , Red); nBarnum=Bars; } } return tick; } start() { int result; if(条件) result = Order(OP_BUY) else result = Order(OP_SELL) }
>>773 インジケーターを作らないから忘れちゃったんだけど
おれはBarsは使わない
注文した時のtime[0]を保存しといて前回注文した時と同じ足か調べてる
nBarnumの変わりに日付を使うってことね
そういえば、まだおっていたね。 MQL始めて、すぐにリアルマネーを突っ込んでいたから、退場早いだろうなとは思っていた。
>>774 どうもです、うまくいっていませんが、少し疑問です
time[0]を使っても、Barsを使っても
売り注文→買い決済 OK
買い注文→売り決済 OK
この決済が出来なくないでしょうか?
そもそも、不思議に思うのは、一本のローソクに、大量の売買が生じる理由は何何でしょうか?
>>778 ソースをみるかぎりSLとTPをいれてるのだから
決済はなにも考えなくてもいいのでは?業者が勝手にする
で、start関数は1本の足の中で何回もよばれるよ
780 :
Trader@Live! :2011/11/06(日) 16:40:34.93 ID:Sfl3ug9B
パスカルの三角形ってあの、パスカルの法則の人?
ごめんなさい。誤爆。恥ずかしいゎ。
チャート開始が朝4時か5時ぐらいのMT4鯖ないですか?
ありません!
帰宅。
なんか盛り上がっていた?
>>749 さん
そうした方がいいのか。もう一度検証してみます。ありがとう。
>>752 さん
>double型は小数点4桁までだからじゃない?
それは知らなかった。ありがとうございます。
それが原因かしらん。
>>775 さん
>どうする? 辞めといたほうがいいかなって。
ん、何を?と思ったけど、自分が掲示板に載せたソースの事でしたら、載せた時点で
それはもうみなさんの共有物だと思いますので、煮るなり焼くなり(笑)ご自由に
していただいて結構でし。
(僕じゃない人が書いたものは、ちょっと解らないので、、なんとも言えませんが、、)
こんな風に使われて逆にちょっと嬉しいです。
ところで、画像みると、EURUSDでキチンと価格処理されていますね。Forex.comだと問題ないのかあ。
>>763 さん
Oh!
コテは教えて頂ける方が気づくように付けています。
EAが出来たら外しますので、その、ウザイと思われたら、申し訳ないですがNGに入れてください。
よろしくお願いします。
>>777 さん
まだおさんが登場された頃に、自分もMT4勉強はじめたので。寂しい限りです。
ブルーローズさん。おかえりー。むしろコテは続けて欲しいかな。と思ったぐらいでした。
>>784 >>double型は小数点4桁までだからじゃない?
>それは知らなかった。ありがとうございます。
double型は小数点4桁って嘘だよ。嘘というより勘違いなんだろうけど。
double a=MathSqrt(2);
Comment(DoubleToStr(a,8));
とすれば小数4桁以降も表示される。
一般的な(一昔前の?)言語のdouble型と同じはず。
昔のFPUの仕様と同じだったけど、詳細はぐぐれば解るでしょう。
リファレンスにもあるかな。
788 :
481 :2011/11/07(月) 07:56:36.59 ID:4eBOhI4O
今updateしてやっと起動が元通りに治ったよ version: 4.00 Build 409です。
ところで水平線、フィボナッチとか引いたままで別のテンプレートに変えれないのかな? いつも引き直してるんだよね、面倒くさくてこの作業が。
久しぶり北。なんか、ゆとりスレなのに、ゆとりってないなw
今日からJPN_Time_SubZeroの設定を変えなきゃダメだなと思ったら時刻が合っていた。 自動で合うんですかね?それとも前は間違えてたとか・・・
>>792 平日は、ローカルPCとサーバタイムの時刻から自動調整するみたいです。
あ、そうなんですか。便利だな。よかった。
TimeZoneのズレの直し方が分からない
796 :
Trader@Live! :2011/11/07(月) 12:16:54.15 ID:lzQ7DpKU
MT4をVPS上で動かすことに成功したのですがリモートデスクトップが 10分程度で切断されてしまい、その都度パスワードを入れてMT4の稼動を 確認しなければいけません>< どこかにタイムアウトの設定時間を変更できる箇所があるのでしょうか? WIN7 64bid IE9環境です。
alpari us の調子が急に悪くなった。 新規にデモ口座の申請してもすぐに無効な口座になる
まじめにWebサイトから ダミーだけどちゃんと届くメールアドレスで デモ口座を申し込まないとダメな業者もあるよ。
いままで一カ月おきにふつうにデモ口座申請していけてたのに。 MT4、5つくらい導入してるのに一斉にダメになった。 いままた新規にデモ口座申請して動いてルけど、たぶんしばらくするとすぐに 無効になると思う。
801 :
Trader@Live! :2011/11/07(月) 15:05:56.88 ID:8JiC6E9c
MT5でインジの表示変更をしたいのですが 通常チャートの下に表示されるインジをチャート内の下方部分に挿入させて表示させる事は可能でしょうか?
Forex.comのMT4でユロルの手動新規注文しようとしたら 右クリックで注文メニューが出ません。 よく見たら左の通貨ベア一覧のいくつかグレー反転しておりそのグレーペアだけ注文が出来ません。 これはサーバーの原因なんでしょうか? 指標時に出ないときはあったけど、昼間でしかも特定のペアだけ、これを書いてる間もまだ直ってないなんて。
803 :
Trader@Live! :2011/11/07(月) 16:50:30.18 ID:lzQ7DpKU
今朝から、今年の1月から今日までのチャートが表示されなくなったのは俺だけですか?
805 :
Trader@Live! :2011/11/07(月) 20:25:32.40 ID:9Gdl7nxg
質問です 関数に入っていないインジケーターをicustomで読み込むのは時間がかかるので EA内で計算するようにしたいのですが、計算が複雑なのでこれを解読して、 さらにEAの中で使えるようにロジックを作り変えるのは非常に難しいです EA内に移すときのコツやよいやり方があれば教えてください
インジケータの移動平均線の色を変える場合 #property indicator_color1 Yellow だとおもいますが、 EAで移動平均線の色を変えるには、何処のparameter を変更したらいいですか
>>805 1. init(), start()はfoo_init(), foo_start()とかのユニークな名前にする。
2. extern付きの変数は、foo_start()の引数にする。
3. その他、名前がぶつかるものは全部頭にfoo_を付ける。
4. #propertyは消す
5. IndexBufferは自前の配列に返る。かつ、foo_start()の冒頭で足毎に一つづつズレる様にする。
インジによっては他にも作業が必要だろうけど、大筋はこんなトコ。
ポーティングできないってことは、そのインジのロジックを理解してないってことなわけで ブラックボックスのインジを前提にシステム組むのはサイコロ振ってるのと変わんないw
>>807 ありがとうございます
今はzigzagをやっているのですが、IndicatorCountedや
そのあたりで躓いているのですが、基本的には
>>807 でいけるんですね
また取り組んでみます
MTFなボリンジャーバンドで、偏差1+偏差2をいっぺんに表示できるインジないですか? 偏差2だけ、とかなら沢山あるんですが
>>806 ですが
MQLでEAの移動平均の色を変える方法を教えてください
>>811 EAで移動平均をどうやって表示してるの?かによるね
MT5でインジをダウンロードしてもロードできないんだが 最初から入ってるインジの場合、一つのインジごとに二つのファイルが保存されてるみたいだが、MT4もMT5も、 どのサイトからダウンロードしても一つのファイルしか保存されていない なんかやり方間違ってる?
MT5を使う事が…
>>812 thx
EAでこう使っていますが、赤色しか出ないんだよね
int start()
{
iMA(NULL,0,20,0,MODE_SMA,PRICE_CLOSE,0);
return (0);
}
>>809 IndicatorCounted()は、一般的には無視して1000本前からの固定でOK。
ZigZagの場合は全て処理したかしていないかのフラグにも使っているので、
int counted_bars;
int zz_init()
{
counted_bars=Bars;
}
int zz_start()
{
int i; //, counted_bars = IndicatorCounted();
int limit,counterZ,whatlookfor;
int shift,back,lasthighpos,lastlowpos;
こんな感じにすればEA内で動くかも…
(何処かにcounted_barsを更新するコードが必要だなぁ〜)
819 :
ブルーローズ対ペプシマン :2011/11/07(月) 23:21:16.52 ID:y8P4sAOi
亀レスすいません。
>>784 さん
サンプルインジケータありがとうございます。
バックテストの結果を表示するですね。(そこかよっ)
画像載せて頂いたときにも説明されたんだけど、よくわかってなくて(笑)
こういうの作りたいです!!
インジってテクニカルを載せるものって思ってましたので、もし、こういうのができたら。
あれもできるし、あれをつかってああすることもできるじゃないですか。(笑)
なんだか、やるべき事はEA作りでなくて、インジ作りのような気がしてきました。
いや、その前にやっぱりプログラムを。。
>>787 さん。
下4桁の表示というのは、PrintやCommentのときのみなのですね。
今日の検証で、DoubleToStr()使ってわかりました。勉強になります。ありがとうございました。
自分のシグナルバグについては、ずっと検証していますが原因がよくわかっていません。
EURUSDだけなのか、5桁表示に問題あるのかもだんだん判らなくなってしまいました。
終わってないけど、EAを公開してみなさんのお助けを借りようかしらん。(どうしよう。)
>>815 それ全然表示になっていない。ってかEAにはビジュアルの考えは
ないので、EA変更で色を変更できるという考えがそもそも間違い。
EA名.tplかtester.tplで定型チャートを利用するしかないよ。
>>819 > 自分のシグナルバグについては、ずっと検証していますが原因がよくわかっていません。
あのサンプルでもダメですか? おかしいなぁ。
> インジってテクニカルを載せるものって思ってましたので、もし、こういうのができたら。
元々のアイデアは、ダブルオーさんのEAです。
最初見た時には、EAなのに随分とグラフィカルなEAだなとしか思わなかったのですが、
あれは戦略の検証の為に出しているんだと最近気がつきました。
そう考えれば、MT4のStrategy TesterはTesterであって、Strategy Debuggerでは無いなと。
それにSL,TPにひっかかった場合、TPなのかSLなのか見分け難い。
見分け難いから何処のツメが甘いのか、掌握しずらい。
それならインジ上に自分で出したほうが、ルールの検証がしやすいなと。
EA上に表示する様にしてもいいんですけど、ルールの検証にEAはちょっと重い。
インジならコンパイルボタンを押すだけで結果が見えるw
>>813 .mq4ファイルと.ex4ファイルというのがあってだな…
(MT5なら.mq5かもしれんが)
要するにコンパイルしろ、と。分からなければMTを再起動。
>>817 ありがとうございます、レス遅くなってすみません
丁寧な返信に感謝します
聞いてばかりでもいけないのでまた自分で頑張ってみますが、
もしまた分らなくなったらまた来ます
ありがとうございます
ブルーローズさんは化ける気がする。
ある時間帯のデータだけエクセルに出力する方法ないでしょうか.
全部エクスポートしてエクセルでフィルタした方が早くね?
825じゃないが、エクセルのバージョンによっては6万5千行程度しか 読み込めないからなぁ。。。でもいい案は浮かばないや。
そんときはOpenOffice系の最新だと1048576行まで行けるからとりあえずそっちで処理かな
830 :
Trader@Live! :2011/11/08(火) 22:05:14.58 ID:hMj+HrhW
質問です。Mouteki Demark trend newに出てくる横のラインとその数字って、 どういう意味があるのでしょう? ラインには実線と破線がありますよね。 サポートやレジスタンスとなる価格ってことでしょうか? なんなく、「実線とその価格は直近の最も重要なサポート(レジスタンス)価格 を示す」ような気がするのですが…。違うのかな? もし違うとしたら、 じゃあ、破線はなに? ご教示よろしくお願いします。
チャート一気にスクロールする方法教えてください いまはマウスホイールくるくるしてスクロールしてます
>>831 チャートにカーソルを置いて、エンターキーを押します。
入力する行が出てきますので、そこに「2011/11/08」と入力して
エンターキーを押します。
>>832 ,833
教えてくれてありがとうございます
キーボード使えばよかったんですね
初心者丸出しで恥ずかしいです
FXDD_Malta のデモ鯖使ってるんだが、EUR/JPYの6/11〜9/21のデータが ごっそり抜けててドモならず。 ヒストリカル読み込んでも、変わらんし。
いつも亀レスすいません。
>>821 さん。
>> 自分のシグナルバグについては、ずっと検証していますが原因がよくわかっていません。
>あのサンプルでもダメですか? おかしいなぁ。
解決しました。実に恥ずい凡ミスでした。orz。
頂いたサンプルを5桁通貨対応に変更しようと思って、ふっと気づきました。
この自分のEAの該当関数、自体が5桁対応していなかったです。
なんじゃそりゃっていう落ちでした。
他のorder用関数内では、既に5桁対応していましたので対応済みのつもりでいたのです。
それでおかしいな、おかしいなとログをみたり、なんども計算しなおしたりと、
よくわからん状態だったのですが、ほんと身近で単純なミスでした。
ちなみに、5桁通貨のEURUSDではPoint値が0.00001ですので、
int mult=1;
if(Digits == 3 || Digits == 5) mult = 10;
を関数に入れて、この関数内の全てのPointを以下のように
Point → Point*mult
変更して、解決しました。
821さんはじめ、他の方々ご教授ありがとうございました。
ところで、
頂いたBT-PF_Func_sampleも同じように、EntrySignal関数内のPointを変更させていただきましたが、
他の関数にもPointが使われているようですね。
自分には、全部Pointを修正していいのか、わからない状態なのです。
EntrySignal関数内は見覚えあるコードなので、修正していいかわかるのですが。。
というのも、先の修正だけだとPFの値が異常に高すぎて、喜んで良いのか、罠なのか(笑)悩みどころです。
ヒントありましたら教えてください。
自分のEAも、もう少しで終わりそうです。いまのところPFは1以下ですがorz..
ただ00値には何かがあるな。と感じます。
このEA作り終わったら、BT-PF_Func_sampleを解析したいです。ふっふっふっ
838 :
827 :2011/11/09(水) 11:05:28.14 ID:zZHjq4wZ
>>829 ほー。ソース量それだけで簡単に書けちゃうもんだね。
そもそもヒストリーセンター以外の方法でアウトプットする発想がなかったw
ただ、初心者だとexternの所の値になんて入れればいいか分からなさそう。
>>821 さん ブルーローズさん
すいません。ひとつ伺います。
00値に、エッジがある理由がわかりません。
ブルーローズさんが作ろうとするEA や821さんが作った、インジケータにはどんな戦略が隠されているのでしょうか?
教えられる範囲内でいいですので、教えていただけますでしょうか?
MT4でSDIでチャートを分離出来る業者てないの? そもそも出来ないの?
最近がっぽり利益がでますねぇ
ForexのMT4で、昨日あたりからEA から注文すると、 エラー130、invalid stopsがでるんだが、同じ人いる? slやtpは大きくしてもダメだった
sl=tp=0 でもダメなのか?
>>843 スマソ
0ならできた。ググったら成り行き注文とsl,tp指定は同時にできないんだな。バックテストは通るのに。
845 :
825 :2011/11/09(水) 17:45:15.29 ID:XvXnB0aj
>>826-829 ありがとうございます
outputindicators.mq4は
extern datetime StartTime = **;
のように書き換えてドラッグドロップするだけでどこかに出力されるんでしょうか。
島崎トーソン君 おまいはメタの底無し沼にハマった俺を助け上げてくれ、また、 Volume[0]<=0 && IsTradeAllowed==true の呪縛からも解放してくれた。 おまいの書いた「iCustomで変幻自在のメタトレーダー」のおかげだ。 1メタで9通貨ペア同時に動かしてもほぼ完璧に動くようになったわ。感謝するぜ、アリガトよ...
847 :
イベリコ :2011/11/09(水) 18:59:26.26 ID:GpcDwg7a
__ / 〉__ \ `Y´  ̄ く_/ `く~ 〉 . . `l } いいってことよ。 { ( l l ) ノ / ヽ ィ´/ じ¬ r‐一'´└′ └′
豊島本苦痛すぎる ラジアンの解説とかなめてんのか 組み込みテクニカル指標を延々取り上げたり一部改変しただけのコードを全部再掲したり
MQLで関数ポインタってどうやればいいですか? switchとかifでやると、長くなっていやなんですが
>>848 それしか無いから仕方ないけれど皆で絶賛するほどの本じゃないよな。
>>849 そういうところをすっきり書きたいならMT5使ったほうがいいんじゃないかな。
>>849 MQL5なら普通にポインタ使える
MQL4なら頭をひねればポインタのような振る舞いにしてできないこともない
MT4のデモ鯖って、気づくと切れてたりする。 確か、更新がある一定の時間されないとアラートが出るインジがあったような気がするんだが。 ググってもわからん。誰か教えてくれないか。
ダブルオー氏が作りそうなインジだな
>>853 00-Scr-RateUpdateWatcherでググると幸せになる
>>854 おしい!スクリプトでした
>>836 アップを躊躇して相談した理由が判ってもらえたかとw
> 罠なのか(笑)悩みどころです。ヒントありましたら教えてください。
>>839 > 教えられる範囲内でいいですので、教えていただけますでしょうか?
そうそう、罠ですよ罠w
えっと、あまり使われない用語だけど、「ピラミディング エフェクトが発生した」が的を得ていると思ふ。
平たく言えば「ピラミディングに成功した」かな。
コードを見てもらえば明らかだけど、意図した訳でなくたまたまそうなっただけだけどw
ここから先をどう分析し;どう活かすかは、あとは個人のセンスってことでヨロ。
>>855 おおサンクス。幸せになったよ。
そうだなスクリプトだよな、切断して更新されてないのにインジじゃ駄目だわ。
にしても、改めて00の凄さを実感するよ。
>>839 さん
>00値に、エッジがある理由がわかりません。
856さんも答えておりますが、私からも。
00値など、きりの良い値は多くのプレーヤーの注目する値で、
そして00値前後に多くのストップやリミットが仕掛けられていると考えられており、
実際00値でトレンドが変わる事が多いというのをどっかの本で見かけて、
それをネタに私のEAは作っています。
残念ながら、、私のEAは六年間のEURUSDでPF0.8でした。orz...
もう少しで作成が終わって、公開したいんだが、多分誰も欲しがらない。。
>どう活かすかは、あとは個人のセンスってことでヨロ。
ですよねえ〜(笑)
>>856 さん
ほんとにいろいろと、ありがとうございました。おかげで山場を越えました。
いい勉強させていただきました。とくにあのインジはいろんな意味でいいわあ。
またコテ名を変えてここに教わりにくるかもしれません。
そのときは、どうぞ宜しくです。
>>858 > とくにあのインジはいろんな意味でいいわあ。
インジではなくインクルードファイルなんですけどね。
アップしたのにはバグがあって、以下の様にここにスプを加味しないと正しく無かったです。
(売った後の決済は"買い"ですから、Ask値で判断すべきだった)
(例のサンプルも、結果が少し下がります)
int BT_Trace( int iBar )
{
if (BT.iBuySell[i] == -1) // Sell: (Bid to Ask)
if ( BT.daSL_Bin[i] < High[iBar+1]+SPREAD*Point ) { // Stoploss
iWon = -1;
} else if ( BT.daTP_Bin[i] > Low[iBar+1] +SPREAD*Point ) { // Takeprofit
iWon = 1;
それと、やはり先人がいてこんなのがあるのに気がつきました。
StrategySim_1.0.mq4
http://codebase.mql4.com/source/21980 私のがインクルードファイルで下からのアプローチ。こっちはiCustom()で呼び出す上からのアプローチの違いですね。
ドルインデックスのチャート表示可能なデモサーバってどこかありますか? 可能だったBrocoはもうサーバが廃止されてるようですし
861 :
Trader@Live! :2011/11/10(木) 08:37:30.73 ID:CiTk77yl
>>860 昨日、ここで幸せにしてもらったので、俺も幸せがえし。
Broco 87.239.186.63443
863 :
Trader@Live! :2011/11/10(木) 20:34:18.27 ID:ZUfscpQA
MT4の過去データをダウンロードしても、ネットにアクセスしてないと、 検証はできないのですか?
新たに、バーが増えた時だけ、処理を実行するEAを下記のように考えました。しかし バックテストを行うと、IndicatorCounted()が-1しか返さないため、処理が一度も行われません 考え方が悪いのでしょうか?それとも、このようなバックテストは行えないのでしょうか? int start() { int limit = 0; //---- The number of the candlestick charts which are not changing int counted_bars = IndicatorCounted(); //---- check for possible errors if (counted_bars < 0) return(-1); //---- the last counted bar will be recounted if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; if(!limit) { //処理 Print("limit"); } }
>>865 ありがとうです。
参考にして、改造を行い、バックテストを行ったらうまくいきました。
ところで、
>>864 のコードがうまく動かない理由は、何処にあるのか、ご存知の方がおられたら解説お願いします?
へえ、IndicatorCounted()をEAで使うと-1が戻ってくるんだ。 だから0未満の場合-1で抜けるコードがサンプルにあるんだ、なるほど。
>>866 IndicatorCounted() は、EA からは使えないってこと。
>>863 検証…、オフラインでもチャートを見てチェックは出来るし、BTも出来るよ。
871 :
Trader@Live! :2011/11/11(金) 11:44:34.30 ID:iLSlr6sI
キャンドルが出来た時間(GMT)を取得するコマンドおしえてください
どなたかFXproのMT4サーバーIP教えて下さい。 お願いしますm(_ _)m 調べても情報古いのか繋がらないのです・・・orz
あーうまく行かない コードをいじらないと理解できないが理解してないとコードがいじれない
自己解決しました。サーバーのsrvファイルコピーでいけました。
分析ツールのVolumeって出来高だよね? その業者の中での出来高って認識でいいのかな
罫線分析ツールと、CustomIndicaterの違いはなに、カスタムだから自分で作れるって事? 同じ名前のものは、デフォルトでプロパティとか、計算式とか全部同じ?
STS止まってない?
>>875 tick が更新された回数。いわゆる出来高ではない。
879 :
Trader@Live! :2011/11/11(金) 16:32:50.41 ID:hGJx8+z6
V4.0 Build409 起動後にしばらく放置して、チャートの上でマウス左クリックすると落ちる そんなこと他の人ではありませんか?
お尋ねします。 メタは、一度終了して再起動すると蓄積した内部変数がリセットされてしまいますが、 対処法としては、内部変数を外部変数にして、再起動の度に手動で入力するという 方法はあると思うのですが,非常に面倒です。実際メタでライブ取引されている方は、 どのように対処されているのでしょうか?
>>880 内部変数をオブジェクトとしてチャート上に保存しておけばいいんじゃない?
882 :
Trader@Live! :2011/11/11(金) 17:05:46.84 ID:KKTNCfw1
mt4でイタリア国債等の利回りが見れる業者ってないんでしょうか?
>>881 内部変数 オブジェクト チャートでググったら参考になりそうなところが有りました。
いろいろ試してみます。
ありがとうございます。
884 :
Trader@Live! :2011/11/11(金) 17:48:47.04 ID:1gJAfpWg
チャートにDDした時には表示されないのに コンパイルするとちゃんと表示されます 何が悪いのかわかりますか? また時間足を移動させると色が初期値に戻ります
885 :
884 :2011/11/11(金) 18:03:10.14 ID:1gJAfpWg
>>884 >初期値に戻る
init()内のSet*で幅や色を設定してはいけない
SetIndexStyle(0, DRAW_HISTOGRAM, STYLE_SOLID, 2, indicator_color1);
↓
SetIndexStyle(0, DRAW_HISTOGRAM, STYLE_SOLID);
>>871 チャート上なら足にマウスカーソルを当てると下部に表示される。
MQLで時間を取得するのはTime[]だけど、GMTに変換したいならJPN_Time_SubZero.mq4のソースを見るべし。
>>873 俺はソースを自分好みに整形しながら読んでる。
整形すると理解しやすいし、手で編集しながら読むと眺めるだけより理解が早いよ。
>>876 そうだよ。MT4に組み込まれているのが罫線分析ツールで、MQL言語で自分で書いたりDLしてインスコするのがカスタムインジケータ。
見る限り、同名のものは結果が同じだね。
891 :
Trader@Live! :2011/11/12(土) 19:03:41.85 ID:ETH8/nhG
バグが利益を呼ぶこともある
ボタン一発で分足データを書き出したいので、↓のをスクリプトに登録して実行したのですが ところどころ抜けがでてしまいます。(ファイルを開くと14:38の次の行が14:36などとなっている) サーバーが悪くてデータが取得できなかったのかなとも思いましたが、行ごとごっそり抜けてる となると書き方が悪いのだろうと・・・ どういうようにすればいいか教えてください。 int start() { int handle; string FileName = Symbol() + ".csv"; string StrMonth, StrDay, StrHour, StrMinute; datetime T; handle = FileOpen( FileName, FILE_CSV|FILE_WRITE, ","); if ( handle > 0) { FileWrite( handle, ",Open,High,Low,Close"); for( int i = 0; i < 400; i++) { T = Time[ i] + 3600 * ( GMT - 1); if ( TimeMonth( T) < 10) { StrMonth = "0" + TimeMonth( T); } else { StrMonth = TimeMonth( T); } if ( TimeDay( T) < 10) { StrDay = "0" + TimeDay( T); } else { StrDay = TimeDay( T); } if ( TimeHour( T) < 10) { StrHour = "0" + TimeHour( T); } else { StrHour = TimeHour( T); } if ( TimeMinute( T) < 10) { StrMinute = "0" + TimeMinute( T); } else { StrMinute = TimeMinute( T); } FileWrite( handle, TimeYear( T) + "/" + StrMonth + "/" + StrDay + " " + StrHour + ":" + StrMinute, DoubleToStr( Open[ i], 3), DoubleToStr( High[ i], 3), DoubleToStr( Low[ i], 3), DoubleToStr( Close[ i], 3)); } } FileClose( handle);
>>894 たぶん、本当に足が抜けているんだと思う。
if (Time[j+1]+60!=Time[j]) FileWrite();
ってなチェックコードを入れたらどうかな?
896 :
Trader@Live! :2011/11/12(土) 22:44:53.69 ID:ETH8/nhG
>>892 返信ありがとうございます!
ちょっと試してみたんですが、出力されずに困ってます。
これはMT4の新規のcostom indicatorでコンパイルすればMT4の中のfileにエクセルが生成されるって解釈でいいんですか??
Ku-chart_Z76 (1).mq4 しかダウソできなかったので、↑のURLの呼び出し先indicatorを
Ku-chart_Z76.mq4 からKu-chart_Z76 (1).mq4 に変えましたがダメでした
>>896 sccripts フォルダにいれたのかね?
ログにはエラーでてんかね?
900 :
Trader@Live! :2011/11/13(日) 00:06:15.77 ID:eNjV1155
>>897 >>898 どうもです。
Scriptsでやってみるとファイル生成できましたが値が全部同じになっちゃったのでコメで質問してみました。
>>899 OrderSelect(ticket,SELECT_BY_POS);//ポジションの選択
ここにticket変数使ってはダメでは?
>>900 Ku-chart_Z76.mq4の計算に必要な各通貨ペアのヒストリカルデータはダウンロードされてる?
というか、Ku-chartは正しく表示されたん?
903 :
899 :2011/11/13(日) 00:46:36.27 ID:KH9Pj8Us
>>903 > 使用してはいけない構成になっているということでしょうか?
そう、そのページは間違えています。
> OrderSelect(ticket,SELECT_BY_POS);//ポジションの選択
チケット番号でセレクトする場合はSELECT_BY_POSではなく、SELECT_BY_TICKETで無ければダメ。
次に
>>899 さんの間違えは、売りと買いを繋げたために、ticket変数に正しい値が入っているか怪しい。
最初のfor()文が怪しいけど、チャチャっと手直しするとこんな感じ。
いつもの様にデバッグしてないけど。
for (i = 0; i < OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true) {
if(OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber) {
if (OrderType() == OP_BUY) {
buyTicket = OrderTicket();
if(MA_SS1>MA_LS1&&MA_SS0<=MA_LS0) {
OrderClose(OrderTicket(),OrderLots(),Bid,3,Blue);
}
} else if (OrderType() == OP_SELL) {
sellTicket = OrderTicket();
if(MA_SS1<MA_LS1&&MA_SS0>=MA_LS0) {
OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
}
}
}
}
}
//売買条件==========================================================
//買い条件==========================================================
if (buyTicket == -1) { // ←ポジションが無いならば
if (MA_SS1<MA_LS1&&MA_SS0>=MA_LS0) {
// 買い注文を発注する-------------------------------
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, SlipPage,
Ask-StopLoss*Point,Ask+Profit*Point, NULL, MagicNumber, 0, Blue);
}
}
if( sellTicket == -1) { // ←ポジションが無いならば
//売り条件==================================================
if(MA_SS1>MA_LS1&&MA_SS0<=MA_LS0) {
// 売り注文を発注する-----------------------------------
ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, SlipPage,
Bid+StopLoss*Point,Bid-Profit*Point, NULL, MagicNumber,0 , Red);
}
}
折角for()回してオーダーしたポジを選択しているのだから、そのついでにクローズさせればいいやん。
906 :
Trader@Live! :2011/11/13(日) 02:06:06.09 ID:eNjV1155
>>902 Ku-chartはしっかり表示されてると思います!
直近7日間で各通貨のギザギザなライン7本が+5,-5で固定されて動いてて、
毎日0時にリセットされて全部の通貨が0を起点に再計算されてるので。
907 :
Trader@Live! :2011/11/13(日) 07:31:14.76 ID:fCCDXz7t
mt4一括決済できなにのだが。教えてエロイ人( ゜Θ゜)
アラートウインドウが行方不明になってしまったのですが、どこに行ったのでしょうか?
>>909 俺の横で寝てるよ。
返してほしければ、インストールフォルダ\config\terminal.iniをテキストエディタで
開いてAlertWindow*=\d+の値を0にして再起動しろ。
15分おきにアラームを鳴らしたいのですが、どうすればいいですか?
ホームセンター行って、キッチンタイマー買ってくるとか
mt4で鳴らしたいですお
915 :
899 :2011/11/13(日) 17:33:10.54 ID:KH9Pj8Us
>>904 >>905 なんとか動きました。
変数の格納で間違っていると自己解決できない;;
助かりました、ありがとう。
反復1000間隔15minで2回目以降なんで鳴らないのん?
調べても分からないお・・・ホームセンター行ってきますお
Bid > 0.1 で常に鳴る条件にしたら、くり返し鳴ったけどなぁ
デフォルトではどこの国の時間軸で動作しているんでしょうか? 4時間足を見ていて、ローソク足の完成する時間が知りたいです。 ググっても、日本時間表示としかでないんで困ってます。 通過ペアでもちがうのでしょうか? ちなみにユーロドルが知りたいです。
これからMTを始めるゆとりは、4と5どっちを使うべきですかね?
さっそくありがとうございます。 日本の業者なので日本時間と思いましたが、違うと感じたので、 検索方法を変えMT4 ブローカー とググったら私が使っているFXCMjapanはGMTとの事でした。 GMTを表示するガジェット探そうと思います。 それ以外か良いガジェット使っている方はいらっしゃいますか?
>>923 > 新値足の始値と終値が取得できません。
見たけど、そもそもインディケータとEAの違いを理解していない風に見える…。
925 :
923 :2011/11/13(日) 23:01:09.89 ID:bayy7J3n
続き EA_Sample.mq4がEA本体(expertsの下) MyLib.mq4はlibrariesフォルダに MyLib.mqhはincludeフォルダに入れてください。 新値足の始値と終値を取得したいのですが、以下のメッセージが出るばかりです。 2011.11.13 20:53:242011.11.01 00:00 00-ShinNeAshi: loaded successfully
926 :
894 :2011/11/13(日) 23:03:01.36 ID:3OykxkUK
>>895 レスありがとうございます。
まずはチェックしてログか何かに記録しておくってことですか。さっそくやってみます。
もし抜けがある場合、これはすでにチャート上で抜けているということなのでしょうか?
>>924 すみません。
初心者なもので。
EAからインディケータの取得値を参照することはできないのですか?
>>926 うん、抜けていると思う。
前に、通貨ペア間でどの位差異があるのかM1で調べたことがあったんだけど、結構抜けてて驚いた。
それが、
>>892 の「(インデックスが全ての通貨ペアで同じことを期待しててダメ)」に繋がる。
>>927 >>923 さんのサンプルはインジケータそのもの。そのインジケータそのものを
> EA_Sample.mq4がEA本体(expertsの下)
そこに置いてもMT4に拒絶されるよ。
インジケータをEAから使う場合、普通はiCustom()でインジケータを参照するよ。
ここら辺(
>>139 >>232 >>234 >>256 >>522 >>805 >>807 >>846 )読んで、iCustom()の使い方を学ぶ事を薦める。
>>928 すみません。
以下の通りにiCustomでプログラムしましたが、だめでした。
int limit = Bars - IndicatorCounted();
for(int i=limit-1;i>=0;i--){
vOpen[i] = iCustom(symbol, 0, "00-ShinNeAshi", 0, i);
vClose[i] = iCustom(symbol, 0, "00-ShinNeAshi", 1, i);
}
同じように以下のメッセージが出るばかりです。 2011.11.13 20:53:242011.11.01 00:00 00-ShinNeAshi: loaded successfully
>>929 もう一度だけ言うけど、
>>923 さんは「そもそもインディケータとEAの違いを理解していない」。
iCustom >>以前に<< そっちのお勉強が必要だよ。
そうだなぁ〜。
サンプルEAの「experts/MACD Sample.mq4」があるけど、この中のiMACD()をiCustom()に置き換える練習すれば?
>>929 一言で回答することも可能なんだけど・・・・・・回りくどくいこうw
まず変数の値を1個ずつ出力してどこが?どうして?の順番で調べてみるよし。
出力方法は色々あるけど、PrintなりAlertなりが手軽だと思う。
ホントはAssert*とかDebug*みたいな関数群をライブラリ化して持っとくといい
んだけどね。
>>929 double x = iCustom(NULL, 0, "00-ShinNeAshi", 0, 0);
Print("x=",x);
まずはこの辺りから確認だね。
"00-ShinNeAshi" を他のインジに変えてみれば iCustom が正しく使えているか分かるかも
>>931-933 やり方はわかりました。
ですが、この新値足の計算が複雑すぎて理解するのにそうとう時間が
かかりそうです。
とりあえず、今日はここまでにして寝ます。
FOREX.com 今チャートが止まったままなんですが・・・私だけ?
>>936 なんでだろ・・・開始と同時にロングポジ決済したかったわ><
サポートに電話してる最中に動き出したw
俺も止まってる
Broco止まってる??
941 :
Trader@Live! :2011/11/14(月) 07:56:07.91 ID:uVZ+Z/qw
broco以外でダウ先見れるとこ誰か教えてください!
やっと動いたわ
943 :
Trader@Live! :2011/11/14(月) 08:09:14.08 ID:VoDz68UD
forex.com MT4 ずーっと動かない 動いた人いる?
普通に動いてるけど
foerx.com、リアル口座は動きだしたけど デモは止まったまま。 試しに止まってるところの価格ででエントリーしてみたw
相場の急変動を音で知らせてくれるインジってないでしょうか? たとえば1分足で20P動いたら、というような
947 :
Trader@Live! :2011/11/14(月) 08:31:36.70 ID:gMAi6Met
Brocoは冬時間だと月曜は朝8時スタートだよ
止まってるぞ!!!
止まってる厨はデモかリアルか書けよボケ
950 :
Trader@Live! :2011/11/14(月) 09:11:58.89 ID:gMAi6Met
>>948 冬時間だと08:29から2分くらい止まるのだっていつものことだ。
夏時間だと09:29からだったけど
デモ、9:05から動き出した
952 :
Trader@Live! :2011/11/14(月) 09:24:52.07 ID:eandDlA0
MT−5,土曜日より「アップデート待機中」のままだorz ブロコのデモ
MajorFXのデモ あいかわらず止まっています。
チャートの上の方や下の方を見るにはどうすればいいですか?
955 :
Trader@Live! :2011/11/14(月) 17:46:31.56 ID:x2pKIRrc
?? 目線を変えれば見れます。
あの画面外のもっとむこうがわのそのあの
右の価格のところをクリックしながら上下に動かす…か?
>>910 遅くなりましたが無事帰って来ました。
もう離さないよアラートウインドウタソ…(´Д`;)
うるさくても隅にぶち込んだりしないよ…
thxxx\(^o^)/
10分足を00分始まりではなく05分始まりで形成する方法はありますか? クリックのオプションで使いたいと考えています。 どうかご教授願います。
964 ありがとうございます。 今日は夜勤で携帯からの投稿なので明日帰ったらさっそくやってみます。
MT4で ・水平配置でチャートを二つ開いて、一方を左右にスクロールすると、もう一方のチャーも連動してスクロール。 ・クロスカーソルを使った場合、同時に両方のチャートで使える。 以上。このようなことはできませんか?
>>966 DLL必須になるしピタっと合わせるのは難しい気もするけど・・・・・・
連携させたい2つのウィンドウにそれぞれサブクラスを登録して、一方に届いたマウス
ホイールやらキーボードやらのメッセージを他方へリダイレクトする手はある。
DefSubclassProcで直接それぞれのWindowProc呼べるのかはちょっとよく分かんな
いけど、問題あるならsendmessageしてもいいと思うし?激しくズレそうだがw
クロスカーソル云々はどういう動作を期待してるのかちょっと分かんない。
>>967 Thxです。なるほどWin32api での実装が必要ですね、クロスカーソルはまず、
上下のチャートを跨いでクロスカーソルが表示できること
カーソルの当たっている位置のそれぞれの値が表示できること
このようなことが出来ればいいのですが。
>>968 ウィンドウ上にカーソルがあるかのようなメッセージを従属側のウィンドウへ
送ってやることで、MT4自身が描画してくれるようなら
>>967 と同じような方法
でなんとかなりそうだけど・・・・・
(;´Д`)ゆとり隔離スレとは思えないレベルの応酬が続いててついていけないお
気にしなくていいんじゃね 回答する方もされる方もその能力があるともかぎらん 解る所だけ眺めてればいい
次スレ立ててくるわ
>>960 ロスカット維持率100%ってそんなもん?
って俺が使ってるヒロセも100%だった。そんなもんか
Heiken Ashi Smoothedをサブウィンドウに表示できるインジはありませんか? 色だけでもいいんですが。
>>978 コードの最初の方のindicator_chart_windowのchartをseparateに書き換えれ!
>>979 Smoothedはないですかね?
>>980 そこだけ変更すると、変な表示になってしまって直し方がわかりませんでした…
>>981 あー確かにそれじゃダメだな、すまん
つーかぐぐればすぐ見つかるからガンガレ。インジ集のサイト知ってて損はないし
983 :
Trader@Live! :2011/11/15(火) 20:58:25.26 ID:CTnZL6Bi
ZIGZAGの転換点にレート表示 出来るようになりませんか
985 :
Trader@Live! :2011/11/16(水) 07:11:12.35 ID:U0dvQ4rC
>>984 そうです
できればダウンロードできるとこ
教えてください。
>>985 > できればダウンロードできるとこ
うん? 無いよ。
10分で手を加えたから、あるのは家のPCの中だけ。
ZigZagはリペイントするから、
>>984 みたくゴミが残る。
これを直すのはなんだか面倒そうで、お遊びで作ったからここまで。
今夜アップするけど、文句言わんでくれw
987 :
Trader@Live! :2011/11/16(水) 08:56:24.81 ID:U0dvQ4rC
988 :
981 :2011/11/16(水) 09:09:32.69 ID:5Qp0VhL3
>>982 すみません。散々探しても見つからないので、教えてください。
>>981 > そこだけ変更すると、変な表示になってしまって
どんな風に変?
今電車の中でソースしか見れないけど、IndexBuffer使っているから表示はされる筈…
991 :
Trader@Live! :2011/11/16(水) 19:39:38.90 ID:UnTyuyPK
>>990 MT4のヒストグラムの表示方法が
チャートウィンドウとサポートウィンドウで違うからそうなるはず。
描画方法変えないと。
992 :
989 :2011/11/16(水) 20:53:57.13 ID:jD+yT76c
993 :
990 :2011/11/16(水) 20:58:45.81 ID:5Qp0VhL3
995 :
990 :2011/11/17(木) 00:11:41.07 ID:uHVz2dhi
すまんがテンプレは任せた。ノシ
(´・ω・`)ほんとごめん
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。