【MT4/5】MetaTrader初心者専用23【ゆとり隔離スレ】
1 :
Trader@Live! :
2010/12/01(水) 09:35:36 ID:tARg+9oa
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で動かないのですが?
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アドレスが古いと思われる場合、 スレに報告してくれるとテンプレートが充実します。
11 :
Trader@Live! :2010/12/01(水) 10:06:43 ID:tARg+9oa
テンプレ以上。 何か抜けありましたら補完よろm(_ _)m
12 :
【末吉】 :2010/12/01(水) 13:43:45 ID:g+IWr3Pp
乙
>>5 >Q.Vistaで動かないのですが?
これにWindows7も加えておく方がいい
すいません自動で一日に3回画面のキャプチャーを取るインジケーターを作っています。 WindowScreenShot(filename,width,height,0,-1,1); で画像のキャプチャーの保存自体は成功しているのですが、 画面に表示されたインジケーターが一部表示されません。 一部というのは indicator_chart_window つまりwindow番号0に表示するものは移ってますが、 indicator_separate_window window番号1以上の物が、 枠は表示されるのに中は空欄という状況です。 この画面キャプチャーインジケーターはindicator_chart_windowで作成しているます。 対処法がお分かりの方は教えて下さい。
>>14 インジケータで作らないで、EAで作るのはどうですか?
16 :
Trader@Live! :2010/12/02(木) 14:20:46 ID:nlGZ/hsE
ゆとりじゃない方で聞いてみたら?
17 :
14 :2010/12/02(木) 19:46:16 ID:9UiA+ixh
とりあえず最初の宣言で indicator_separate_windowで作成したら表示されたので 完全に分かるまではこれでやっていきます。 ありがとうございました。
インジケータをチャートに張り付ける順番が関係あるのではないか
19 :
14 :2010/12/02(木) 21:13:50 ID:9UiA+ixh
一番最後にキャプチャーインジケーター入れたんですけどね。 あとキャプチャーの直前に再描画の関数も入れてる。
20 :
Trader@Live! :2010/12/02(木) 21:52:56 ID:xZzjqP21
チャートを印刷しようとおもってるんだけど、印刷プレビューと、実際の印刷違って困った! グラフの横軸が短くなって、縦に長いグラフになっちゃう。判る人います?
縦横印刷買えるだけじゃダメ?
brocoで日経先物CME表示していたのですが、更新されなくなっていて見れません。 他業者のサーバーで日経先物CMEが出せるところありますか?
23 :
Trader@Live! :2010/12/03(金) 00:44:37 ID:+68AjI7T
>>22 「日経先物CME」なんていうシンボル名のチャートは無い
正しく伝えて
RSIが30以下になった時にセパレートウインドウの背景色を赤くしたいのですが、 どんなコードを入れればよいのでしょうか? ご教授よろしくおねがいいたします。
24です ObjectCreate("box", OBJ_RECTANGLE, 1, 0, 0, TimeCurrent(), 100); ObjectSet("box", OBJPROP_COLOR, Orange); ObjectSet("box", OBJPROP_BACK, FALSE); こんな感じで長方形を書いているのですが、時間軸のセットがおかしいのか棒になってします^^;
ODLで日経先物(Ni225)表示していますが、二週間ほど前から 10時スタートになってるようです。 Demo口座でなければ9時から表示されるでしょうか?
>>25 ObjectSet("box", OBJPROP_BACK, FALSE);
↓
ObjectSet("box", OBJPROP_BACK, TRUE);
でどうですか?
>>27 さん
お返事ありがとうございます
>>25 のソースではオレンジ色のラインの四角がかかれるだけみたいです(汗
OBJ_RECTANGLEでは塗りつぶしできないみたいなので、他の手を考えなければです。。。
全く思いつかない・・・orz
TimeCurrent() ではなくて、Time[0] は?
____ / \ /\ キリッ . / (ー) (ー)\ / ⌒(__人__)⌒ \ <「日経先物CME」なんていうシンボル名のチャートは無い | |r┬-| | 正しく伝えて \ `ー'´ / ノ \ /´ ヽ | l \ ヽ -一''''''"〜〜``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
____ /_ノ ヽ、_\ ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ <だっておwww /⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒) | / / / |r┬-| | (⌒)/ / / // | :::::::::::(⌒) | | | / ゝ :::::::::::/ | ノ | | | \ / ) / ヽ / `ー'´ ヽ / / | | l||l 从人 l||l l||l 从人 l||l バ ヽ -一''''''"〜〜``'ー--、 -一'''''''ー-、 ン ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) バ ン
質問が二つあります。よろしくお願いします。 1,Broco(Water House Capital) 216.93.180.133:443をサーバー欄に入れて デモ口座の申請をしても繋がりません。IPのみを入れてみてもダメです。 何か間違ってますでしょうか? 2.サーバーにいっぱい入れてみたんですがごちゃごちゃして見づらいです。 要らないサーバーをデモ口座の申請の画面から消す方法はありませんでしょうか?
1、87.239.184.73:443じゃないかな? 2、configフォルダのsrvファイルを削除
34 :
27 :2010/12/04(土) 13:39:19 ID:5ZRjlTOl
>>28 おっしゃる通り、
>>25 のソースではオレンジ色のラインの四角が描かれるだけですが、
OBJPROP_BACKをtrueにすることで、四角の中を塗りつぶせませんか?
自分の環境では出来たんですけど・・・。
質問させてください ある時間になったら注文を出せる機能はMT4にありますか? EAじゃないと無理ですか?
36 :
Trader@Live! :2010/12/04(土) 19:42:52 ID:cHxzHFWu
EAじゃないと無理ですね
そうですか・・・
38 :
Trader@Live! :2010/12/04(土) 20:45:19 ID:kY6e6SjS
どいつもこいつもMT4みたいで、試しにリアル口座開いてみたが、 期待を裏切られた感じ、俺はディールブックの方が良いと思う。 所詮共産圏の産物、ただ、プログラミング出来るなら別かもしれない、 俺は出来無い。 しかし、プログラム不使用なら、ディールブックの方が使いやすい。 ディールブックは発注プログラムなどは別れていないし、チャート画面も見やすい。 以上初心者意見ですが。
39 :
Trader@Live! :2010/12/04(土) 20:47:05 ID:kY6e6SjS
>>38 です、
発注プログラムでなくて、口座管理ソフトかな、失礼。
40 :
Trader@Live! :2010/12/04(土) 22:16:52 ID:sEPRHK9z
SQ4でEAを作りたいです。 1分足なのですが、現在描画中の1分足のデータがほしいのですが 1分たたないと、1分足が完成しないので見るのは無理ですか? リアルタイムデータ的なものを取得できないのでしょうか? 移動平均の傾きを調べるにも計算しかないでしょうか? これから勉強しようと思っていますが教えてください
41 :
Trader@Live! :2010/12/04(土) 22:17:56 ID:sEPRHK9z
>40 MQ4の間違いでしたー
>>40 勉強した上で質問してくださいね
※ゆっくり勉強していってね!
MT4のカスタムインジケーターは入れる数に制限があるみたいだけど、 増やす方法あったら教えて下さい。
44 :
Trader@Live! :2010/12/05(日) 02:24:11 ID:SZKoRMCx
>>40 結論:できるどちらも簡単 本を読め
移動平均の傾きは2点の大小を調べるでもわかる
機械の制御はだいたい2種類の動作に分けられる
ここにAとBのコップが2っつあったとして、Aに水が一杯はいっていてBはカラ。
AからBに水を移す場合、
@ スイッチ(条件を満たしたら)が入ったら一気に移す
A スイッチ(条件を満たす)が入るまで徐々に移す
EAも同じで@がIF構文AがFOR構文の基本は2種類の組み合わせ。
EAの基本的な構造は
@変数を宣言する
Aその変数を使って(代入させる形で)現在の状況を調べる
B現在の状況が作戦の条件に一致するか調べ、スイッチを入れる、または入れない
Cスイッチが入れば、売買したり、利確や損切り、音鳴らしたりする
D@に戻る
この@〜Dの動作をティックごと、値が動くたびに超高速で繰り返してるだけ。
2〜3週間ぐらいで最初のEAはできるんでないか?そんな難しく考えなくてもいいと思う。
利益がでるかどうかは資金管理を含めた売買戦略のほうが重要だと思う。
集中力を機械にまかせ、感情を排除するのは大きな戦力だと思う
45 :
Trader@Live! :2010/12/05(日) 10:00:16 ID:YnFn9CCo
>>44 なんとかやってみます。 ありがとうございました!
>>44 知ったかぶりばかりで、まともな答えの出ないスレで唯一の参考になるレスだな
あなたみたいな人ばかりだといいけど
自分も人に教わったことあるくせに、ちょっとかじった程度の奴が上から目線で初心者を情弱扱いするよね
ま〜た、はじまったwww
49 :
28 :2010/12/06(月) 11:32:38 ID:4iZ5Qz8J
>>29 、
>>34 さん
お返事ありがとうございました。
OBJPROP_BACKをtrueでできました!!ありがとうございます。
もう一つ教えていただきたいのですが、チャートを左にシフトした時に塗りつぶせない部分がでてきます。
(TimeCurrent()でやっているので当然ですが)
このTimeCurrent()より右側を指定する方法はありますでしょうか?
単に 時間をプラスしたらいいんじゃない? TimeCurrent()+ 10*60*Period() みたいに秒を足す。
>>50 さん
おおお! できました!
どうもありがとうございます。
週末悩んだあげく、サイズの大きな文字を書いて並べてみたんですw
いまいちシックリこなかったので、助かりました。 皆さんありがとうございます。
52 :
[―{}@{}@{}-] FX情報商材MT4EA :2010/12/06(月) 13:54:54 ID:MCAmXXt1
h
54 :
Trader@Live! :2010/12/07(火) 15:34:48 ID:gSrCNDaq
55 :
Trader@Live! :2010/12/07(火) 19:06:42 ID:w+8hYZWP
>>1-54 宣伝ばかりになってなんか少し寂しいですね。
とりあえず、25日までにChristmas企画として私がMT4で自作EA作りますので、要求定義あります?
あればどーぞ。
>>55 口座縛り無しで設定なしで1日中取引してくれるやつ
57 :
Christmas :2010/12/07(火) 22:37:06 ID:w+8hYZWP
>>54 //---- Draw the indicator
for(i = 0; i < Limit; i++)
{
PlusVI[i] = SumPlusVM[i] / SumTR[i];
MinusVI[i] = SumMinusVM[i] / SumTR[i];
}
static int warned = 0;
if (warned != Bars) {
//ティックでアラートを出したいなら2を1へ1を0へ変更
if ((PlusVI[2] - MinusVI[2]) * (PlusVI[1] - MinusVI[1]) < 0) {
warned = Bars;
Alert("");
}
}
//----
return(0);
サブウィンドウで、インジケータの現在値をウィンドウ右横に表示したいんです。 出来れば現在値の水準線もサブウィンドウに表示したいのですが、可能でしょうか?
>>59 ObjectCreateで水平線を引いてやればできるんじゃね?
>>60 自己流で既存のRSIを改造して(といっても3行追加しただけですが)、表示できるようになりました。
ただ水平線と現在値の色が別々に出来ないのが、ちょっとだけ不満かな。
ありがとうございました。
63 :
54 :2010/12/08(水) 17:57:25 ID:Vq0J0oei
>>58 ありがとうございます!
お礼ってほどではないんですが、この緑と赤のクロスしたときにぽじるの結構使えます。
すいませんが、チャートに直近高安値を表示させるインジ教えて下さいまし
Mismatched charts errors が消えません。 ヒストリーデータをインポートしなおしても 違うヒストリーデータをインポートしても駄目でした。 PCの問題でしょうか? そういうEAってことでしょうか?
基本的な質問で申し訳ないですが for文の中で変数宣言したらループ毎に変数領域が確保される処理が行われるのですか? for文の外で変数宣言した方が良い?変数a自体はfor文の中だけで使われます。 後、変数aのアドレス値を知るにはどうすれば良いですか? int a; for(int i=0; i<10; i++) { int a; }
69 :
66 :2010/12/09(木) 18:17:12 ID:wd7hxWxl
>>67 MT4を終了し、ヒストリカルデータを全削除する。
MT4を起動し、オフラインのまま、FXDDの一分足をインポートする。
この一分足データだけから、他の時間足を生成しておく。
テスト前に必ず一度オンラインにする。
>>68 その挙動は実際にプログラムを動かせばわかるんじゃない?
アドレスは分からないと思う
>>68 アドレスは取れないよ。DLLに渡したいなら配列でかな。
領域確保処理は多分されると思うけどそれより寿命を気にした方がいいんでは。
>>68 自分が想定したいい方の可能性と悪い方の可能性を挙げてみる
大概悪い方の挙動が正解に近い
>>68 MQL4にはポインタも参照もないよ。だからMQL4内でアドレス値を知ることもできない。
MQL4外にはみ出して構わないなら、DLL内の関数に参照渡しするという方法はあるかも?
あまり意味はないと思うが・・・・・・
int a;
for (int i = 0; i < 10; i++) {
a++;
int b;
b++;
}
Print("int a == ", a, "/int b == ", b);
結果:int a == 10/int b == 10
どっちで書いても答え同じになるな。ってことは、関数呼び出しの時点で全ての変数は
(スタック上に)確保されてるってことなんだろう。
個人的にはなんか微妙に気持ち悪い挙動なんだけど、そういう仕様みたいだね。
この仕様って普通なのかな?MQL4が特殊?
誰かいますかね。 デモ鯖で接続先はbrocoです。今日の朝くらいからのダウ先のチャートの表示に不具合が発生してます。 ロウソク足のヒゲの表示とかがバグってるようなのですが直し方が分りません。 ヒストリーのフォルダのとこを削除して、再起動してみたのですが 直りません。 まさか、ykr同士で壮絶な殴り合いしてるって訳でもないと思うので、 broco接続の方、同じ症状の方いませんか?
77 :
Trader@Live! :2010/12/09(木) 20:17:02 ID:mBrM/nZG
>>76 自分の所でもなってる。
今日はダウ先だけど、金先や原油先でも時々なる。
なんかキャンペーンでもやってるのかな。
ダウ先が急に落ちるように見えるから驚くよね。
今のところ11350くらいに安値が落ちているところは
ヒストリーデータから個別に削除している。
めんどいけどね
>>74 MQL4では
>>68 のコードは二番目のaで既に宣言済とか言われるんじゃなかったかな。
変数のスコープは関数レベルで区切られていて、制御文レベルでは区切られていないという……
ちなみにMQL5では制御文レベルで区切られるようになった。
まあ、クラスを導入したので、スコープに厳しくなったって感じかな。
>>77 自分だけじゃないのが分っただけでもうれしい情報ゲソ
所詮デモだし、ケソ先の上げ下げみてFXで勝てるわけでもないし
修正されるの待つしかなさそうですね
>>69 ファイルが添付されてないのは気づいてたんですが。。。
ありがとうございます。勉強になりました。
>>74 スコープ関係ないのか。
C言語じゃありえないなそれw
>>81 エレガントなコーディングをしてたのに
なんも関係なかったとは
ブロコで日経先物が12月限(NIZO)しか表示されない。 3月限(NIHO)はいつ出て来るの?
THV4のPIVOTラインが、一般のラインとずれており また、R4まであるんですが・・・このPIVOTは使えるんでしょうか? 皆が見ているPIVOTでないと意味がないと思うのですが。
米国債の先物を見れる鯖を教えてくださいな
>>83 へ警告
次宣伝したら運営にspamrとして通報します。
>>86 皆がみているか?なんて、どうやって確かめられるんだ?
90 :
Trader@Live! :2010/12/11(土) 08:13:58 ID:PEJ+BgZS
>>90 なんだそれ。日本語か?
また頭悪そうなブログだな。
>>90 中身なさすぎてテラワロスw
MqlStrのlenに文字列長入ってないって気付いた時くらい爆笑させてもらったわw
てか、DllSampleのProcessStringArrayっておかしくね?
if(arr[i].len<len1+len2) continue;
//---- final processing
strcat(arr[i].string,arr[i+1].string);
arr[i].lenが常時0だとすると、このif文はlen1 + len2が0の時以外は成立してコンティニュされる。
そうすると、strcatが実行されるのはstr1 + str2が0の時だけって何の意味が?
本来はarr[i].lenに文字列長が入ってるべきなんじゃないだろうか?
Brocoで、日経平均先物 「NI_CONT」を表示しているのですが、 MSQ前の10280からチャートが動きません。 対処方法はありますでしょうか? 一応NIH1でも見ることは可能ですがチャートデータが少ないので困っています
95 :
Trader@Live! :2010/12/13(月) 13:55:45 ID:jalLoq2W
>>94 限月切り替わりで、今晩の欧米市場が始まってから
ようやくチャートが更新されるかもしれませんな
>>95 なるほど
一晩待ってみます ありがとうございます
97 :
Trader@Live! :2010/12/13(月) 18:24:11 ID:11y84HKb
ODLのデモチャートデータがポコポコ欠損していて不便なのですが、 121とか他社のMT4だと過去データ保存状態違うのでしょうか? どこも一緒ですか?
業者によって違いますよ
どこかMTのスレよんでて、ばい〜ん がら アラート入れたんスが、ばい〜ん と ガラ の意味教えてください。先輩方。(`ェ´)
ばい〜ん → 上昇 ガラ → 下降
ガラ=ナイアガラの滝のように落ちること
どもども勉強になりまっす。^ρ^ さっき、トラリピイフダンEAいれたんで、後日結果ご報告したいと思います。
微妙にスレ違いかもしれませんが質問させてください。
forex tester
http://www.forextester.jp/download.html に入っているインジケーターのpivot pointと同じインジケーターはMT4用で存在しているのでしょうか?
色々拾ってきましたがどれもこれも違います。
ユーロドルではforextesterのpivotpointが結構機能しているようなのでどうしてもMT4にも表示させたいです。
ハイテクイケメンMT4使いの方、どうかご教授下さい。
>>103 forex testerのpivot計算式を書き出したら回答がくると思うよ
forex testerのインジソースから嫁とかどこまで人まかせなんだよ
>>103 testerはforexiteのデータを使っているので
そのままダウンロードして使っているなら、GMT+1のはず。
だからMT4のインジの設定もGMT+1にすると同じになる。
それかalpariUKのMT4でやるとか。
106 :
Trader@Live! :2010/12/14(火) 00:06:51 ID:9GEfjtBC
上限下限値を自動でひろげてくれるEAてありませんか
>>38 ディールブックでひどいめに遭った
指値決済やめて成行決済したら後で決済の指値注文が「新規約定」していた
ポジをクローズしても決済注文が自動キャンセルされないのだ
そしてものすごく間の悪いポジが建った
カスタマーデスクに聞いたら「気をつけてくださいね」とのたまう
毎日ポジションが値洗いされるから
現在のポジの含損・含益が一目でわからない
これらは不親切でやってるのではなくそういう思想で作られているのだ
まさしく唯我独尊
ディールブックはFX界のβ方式だ
>>107 決済の注文の処理はお前のミスだろw。決済は反対売買でポジを閉じるんだから、
何もおかしいことはない。そもそも仕様を確認もせずにポジってる時点でry
最近は107みたいなバカの為にポジに注文を連結させるような方式を取ってて、
ポジが消えると付属してる注文も勝手に消える仕様のとこが多いから
超初心者だと誤解しやすいかもすれん。
ポジの合算はたしかに不便ではある、あとなんとなく気持ち的にナンピンしやすいような感覚がある。
ディールブックの欠点は、自作プログラム関係の情報がMTの1000分の1しかないことと
トレンドラインの時間経過によるズレ、チャート更新によるオリジナル設定の一部初期化だな。
コレさえなければ神。あと、MT4対応業者よりも若干マシな会社ってことも一応利点か。
MT4は信頼のおける業者が無いってのが致命的なんだよなー。結局自作でEAとかつくっても
オナニーで終わってしまう・・・
ドル円の1分足データをHistory CenterからDLしたんですが、 チャートが所々で2週間分抜けていたり、1か月分歯抜けになったりしています。。 他にもポン円やユロドルの15分足データでも同じような症状が出ます。 これは何が原因で、どうすれば解決するんでしょうか?
親の鯖が悪いんじゃね? 接続先を変えてみるとか
111 :
Trader@Live! :2010/12/16(木) 00:04:36 ID:89JIvdVm
ODLのMT4入れてるんですが、121のMT4入れても大丈夫ですか? 同名ファイルが衝突して不具合とかなりますか?
>>110 ありがとう。やっぱり鯖ですか・・。
ちょっと色々試してみます。
mt4でチャート右クリックで”ライン等一覧”を選んでも、ダイアログボックスが出てこなくなってしまったんだが・・ Escキーで復帰できるけど、フリーズ状態、任意の場所クリックしてもチンチン音が鳴るだけ OSWin7 2画面 マジ困ってるんでエロイ人解決策教えて下さい
>>113 ダイアログの見つからないMT4をアクティブウインドウにした状態で
Alt+Space+M を押してから矢印キー押すと移動できるかも、
矢印キー押した後ならマウス動かせばダイアログがついてくるかも
自分はXPなので7は違うかもしれませんが
>>114 レスありがとうございます。
試してみましたが、状況変わらず、ダイヤログボックスは消えたままです。
ググってみても、同じ症状になった人が居るようですが、解決策は見つかりませんでした・・
116 :
Trader@Live! :2010/12/16(木) 02:47:04 ID:xSGOg2mg
〉〉
>>115 ダイヤログボックスが出ないんじゃなくて
出てるけど座標が狂っててどっか画面外に行っちゃってるんじゃないの?
一度configフォルダのterminal.ini開いて
ObjectsLeft、ObjectsTop、ObjectsRight、ObjectsBottom
の項目削除して起動してみたら
今日の日付は、TIME_DATEで取得できますが、 これを元に明日を表現する書式はどうなりますか? いろいろ考えたけど、エラーばかりなので・・・。
エスパーするとこうかな。 datetime now = TimeCurrent(); datetime tomorrow = now + 86400;
あ、あとこうか。 Print("tomorrow= ", TimeDay(tomorrow));
強制的に時間足を1分!とか5分!とかに切り替える関数ってありますか?
>>119 レス、あんがとね。
だどん、時間じゃなくて日付だけほしいんだわ。
エスパー魔美。 datetime now = TimeCurrent(); datetime tomorrow = now + 86400; Print("now= ", TimeToStr(now, TIME_DATE)); Print("tomorrow= ", TimeToStr(tomorrow, TIME_DATE));
そんな難しいことせんでも日付だけなら、これでいいんでない? Print("Day = ", Day()); Print("Day+1 = ", Day()+1);
31日はどうするんだ。
だな。32日になるw
まだスクリプト組むレベルではないのですが、発注する時に、逆指値を15ポイント、トレイリングストップも15ポイントに指定(もち指値なし)を、デフォルトで組み込む機能は設定出来るのでしょうか?
MQL5の質問です、OBJ_FIBOTIMESでレベルを3にした場合 レベル3自体の時間を取得するにはどうすればいいですか? 教えてください
132 :
111 :2010/12/17(金) 16:09:20 ID:jj7TGxOE
誰か…
不安なら別フォルダにインストールすればいい
>>111 確かODLと公式のMT4使ってたけど、問題なかった
ただ鯖が違えばヒストリーも別フォルダになる
知ってる違いと言えばアイコン、あとsageた方がいんじゃね
有難うございます。やってみます 質問があったことが分かるように、新規はageと習いましたが…
>>83 ここ、インドや涅槃にタダで落ちてる奴そのままとか、無料EAに金額付けて売ってたり、
dllが必要なのに「dllなしで動作するように改造済みです」とかほざいたりするし、
正規品とあまりにも動作が違いすぎる偽物とか、糞みたいな代物ばかりなので
要注意な
少なくとも海外製は、円高で正規品安いから正規品買った方がいいぞ。
和製のpdf5万とかの糞みたいな商材は、ここでOK。
買う価値があるか疑問だが。
あ
225miniの表示の仕方ってどうやるの? それとイブニングの表示も。 全通貨ペアを表示してみたけど、それっぽいのない。 お願いします
>>139 業者とは? デモ口座申請したサーバのこと?
brocoでとりあえず全通貨ペア表示で見てみたけどなかった。
ラージイブニング、mini、miniイブニングが表示の仕方を教えてください。
ODLのMT4、今朝6時くらいから止まったのですが、メンテ時間どこのページに書いているかわかりません どなたか教えてください・・・
土日はずっととまるよODL
むしろ土日動くところを教えてほしい。
146 :
Trader@Live! :2010/12/18(土) 12:37:36 ID:7oc6W5UL
sendmail関数はバックテスト(Strategy Tester)では機能しないのでしょうか? ソース中にalert()と並べて試してみました。 結果、こちらは機能している事は確認できたのでコード上は通っている筈なのですが… 尚、メールの送信設定が間違えているという初歩的なミスということはありません。 普段は、sendmail()は機能しています。 ご存知の方いらっしゃれば、ご回答の程宜しくお願いします。
機能しませんよ
>>146 リファレンスには書いてないけど
ERR_FUNC_NOT_ALLOWED_IN_TESTING
がかえるね。
一目の雲を表示してるとローソク足が見難いから 雲を無表示にする方法ってないですか?
あるお(^ω^)
色をNONEにしろ。
153 :
Trader@Live! :2010/12/18(土) 13:41:25 ID:7oc6W5UL
>>146 さん
>>147 さん
早速の返答ありがとうございました!
(書き込む事もドキドキしてしまいました)
154 :
Trader@Live! :2010/12/18(土) 13:43:17 ID:7oc6W5UL
156 :
Trader@Live! :2010/12/18(土) 20:53:36 ID:Hfn1r2RF
>>146 ShellExecuteExWin32 WindowsAPI叩いて、外部コマンドラインで動くsendmail使ってみたら?
>>143 う・・・普通の土日の話でした。
7時前まで動いていると思ってたんですが、最近週末のクローズまで張ってなくて忘れていただけかも・・・
>>157 ODLはFXCMに買収されてGMT+1に変わったんだよ。
っと、クローズ時間そのものには関係ないけど、今は6時クローズだね。
FXCMと同じなら、夏時間+1、冬時間+0だわな。
MT4を使わずにあえてMT5を使うメリットありますか?
MT5の方が利益がでやすい
へー
165 :
Trader@Live! :2010/12/19(日) 16:38:06 ID:3pz+kWxA
>162さん MT5は最適化やBTがマルチコア対応マルチPC対応です。
何台ものPCを使って最適化ができるから、利益を出せる設定をみつけやすくなるわけだ
MT4の土曜のクローズが22:00、月曜のオープンが0:00のサーバーはどこでしょうか? よろしくお願い致します。
169 :
FX情報商材MT4EA :2010/12/20(月) 15:47:52 ID:bBYEEFDJ
>>169 ここ、インドや涅槃にタダで落ちてる奴そのままとか、無料EAに金額付けて売ってたり、
dllが必要なのに「dllなしで動作するように改造済みです」とかほざいたりするし、
正規品とあまりにも動作が違いすぎる偽物とか、糞みたいな代物ばかりなので
要注意な
少なくとも海外製は、円高で正規品安いから正規品買った方がいいぞ。
和製のpdf5万とかの糞みたいな商材は、ここでOK。
買う価値があるか疑問だが。
BroCoのMT5でダウ先が動かなくなったんだけど、FXとか現物は 動いているんですが、どうしたらまた動くのでしょう? 基本的なことですまん、教えて優しい人。
>>171 続き
いったん削除して、DLやり直し、名前、メルアド変えたけど
動かない。
MT4もDLしてやってみたが、こっちは表示される種類が
少なく、やはりダウ先が見られない。
誰かおそえて〜
ありぃ めっけた。 すまん...。
MT4を起動すると、自分が追加したチャート以外に削除したペアのチャートウィンドウが毎回表示されるんだけど、 前回終了時の画面から開始するのってどうやったらいいの? 毎回不要なチャートを消す作業に疲れた
>>174 Cドライブ直下に MT4 と言うフォルダを作ってインストールしてみそ
MT4でバックテストをマルチコアのCPUできちんと分散して処理するってできないものなのかな? なんかCPUの各コアの50%くらいを使ってるだけで100%とかにはならないものなの?
あれ、MT4自体マルチコア対応だっけ?
各コアの100%を使ったらどうなると思ってるんだろ。
複数のMT4を同時に起動してテストするしかねぇ
>>174 DefaultにSaveすれば解決お。
ストキャスティックスオシレーターの price fieldっていうのはclose/closeのほうが一般的に使われているやつでしょうか。
>>175 >>180 助言サンクス
Dドライブにインストし直したら正常に動いた
"C:\Program Files (x86)"以下に格納した状態でファイルを弄ると、
セキュリティー警告が出てうるさかったけど、それも無くなったよ
やっと快適なMT4生活を送れる
質問があります 逆張りのeaを短時間チャート(5分とか・・・)で使用した際に、あまり重要ではないと思われている指標や突発的なガラに巻き込まれて ロスカットになった際に、強制的に3〜4時間ポジションを取らない(相場が落ち着くまで)ように設定をするにはどうしたらいいでしょうか? eaの基本的な構成は、付属のサンプルmacdを逆張りしているような感じの設定です 分かる方回答よろしくお願いします。
質問です。最新バージョンへのアップグレードはどうすればいいのでしょうか? 操作履歴タブのメッセージ欄にbuild 229が使えますよと表示されているのですが アップグレードの仕方がわかりません。 業者のページから新たにダウンロードしてインストールしなおすわけではないですよね?
100個の定数のうち1番大きい定数というのはどう表現すればいいでしょうか?
>>185 100個のバラバラのデータから一番大きい数を抽出する方法を質問してるのですか?
もしそうであればクイックソートでデータを並べ替えてみてはどうでしょう?
>>187 そんな関数があるんですね。というかソートする関数も用意されているみたいですね。
190 :
Trader@Live! :2010/12/24(金) 12:04:21 ID:txzdX/oD
自動売買実行時は、PCを起動しっぱなしにしなければいけないのでしょうか? それとも、ロジックをサーバに保管し、PCは起動しなくてもよいのでしょうか?
起動しっぱなしじゃないとだめ。 >それとも、ロジックをサーバに保管し、PCは起動しなくてもよいのでしょうか? こういうのに近いことをしたい場合はVPSという別の場所で24時間稼動してる レンタルサーバー上のWindowsで運用するといいみたい。
192 :
190 :2010/12/24(金) 12:23:03 ID:txzdX/oD
素早い的確な回答をありがとうございます。 レンタルサーバというのを検討してみます。
すごく初歩的な質問ですいません。 マジックナンバーは同一MT4内のEAのみ重複してはいけないのでしょうか? それとも同一PC内で同時起動している全てのMT4のEAで重複しないように設定する必要があるのでしょうか?
一目の雲表示すると、雲全体が点線状になってチャートが凄く見難いけど 雲の枠だけ囲って、中は透明にする方法とか インジで見易い一目ってないですか?
>>196 雲は使えるから表示したいんだよ、でも表示するとチャートが見難い
一目のインジってデフォで装備されている以外はないの?
199 :
Trader@Live! :2010/12/25(土) 10:09:43 ID:xtHDYFKb
フィボピボインジを入れましたが、週末仕込みをしたいです。 今週分数値確定して翌週分を表示させるにはどうすればいいですか? 業者はフォレックスコムです。
AndroidでMT4って使えますか? PCではテクニカル2つを同時表示して(1分足、5分足)スキャしてます。 PCと同じことが出来れば是非購入したいのですが・・・ よろしくお願いします。
>>195 一目なんてネット上にごろごろ転がってるぞ
カスタムインジの中にあるIchimokuは使ってみた?
>>195 チャート→プロパティ→全般で「チャートを前面に表示」にチェック入れると
ローソク足がインジケータの上に描かれるから見やすくなるよ。
203 :
Trader@Live! :2010/12/26(日) 11:33:48 ID:n9jmUmLj
#property copyright "Copyright (c) 2009, fai"
#property link "
http://d.hatena.ne.jp/fai_fx/ "
#property indicator_chart_window
#define TICKET 0
#define ORDERTYPE 1
#define OPENPRICE 2
#define STOPLOSS 3
#define TAKEPROFIT 4
初心者でしうませんがここにる#ってどういう意味ですか?
詳しくはしらんが、C言語でいうプリプロセッサの判別用に 頭に#付けてるんじゃなかったっけか プリプロセッサは検索したら一杯見つかるから自分で調べようね
205 :
Trader@Live! :2010/12/26(日) 11:45:50 ID:n5r13YTi
SetIndexBufferのように、Barsの数により可変にできる配列変数を定義 したいのですが、C言語のMALLOCのようなことはできるのでしょうか? SetIndexBufferは8個?が最大のようで他に定義したいためです。
206 :
Trader@Live! :2010/12/26(日) 11:51:36 ID:n9jmUmLj
前の時間即の始値と終値にある程度近づいたら アラームが鳴るってEAどっかにないかな?
>>206 時間即ってなんぞな?
たぶん時間足のことだと思うけど、「ある程度」はなんかパラメータにするとして
それぐらいならそんなに難しいコーディングじゃないでしょ
208 :
Trader@Live! :2010/12/26(日) 12:29:35 ID:n5r13YTi
>205 ARRAY関数でサイズ変更できました
現在4xpのライブ口座を使用しているんですが、鯖落ちがたまに起こり困っています。 回線が切れにくい業者を教えて下さい。
日足=にっそく と読む人がいるのは知っていたけど、 時間足=じかんそく だったのかw
212 :
Trader@Live! :2010/12/26(日) 16:11:48 ID:n5r13YTi
>>211 ありがとうございます。
判断する為の変数は数十種類は必要なので、関数にしとくと便利ですね。
213 :
Trader@Live! :2010/12/27(月) 01:26:51 ID:2ZtU0jTQ
MT4に標準でついているMACDのインジゲータってヒストグラムのバーの形に なってんだけど。これってただのMACDですよね。 いわゆる、MACDヒストグラム(MACDとシグナルの差)じゃないですよね。 あああ、言っている意味わかるかな?
だからどうした。
215 :
Trader@Live! :2010/12/27(月) 01:39:40 ID:2ZtU0jTQ
何故にヒストグラム(棒グラフ)なのに、MACDヒストグラムでなく、MACDなのかって悩んだ。 MACDだったら線グラフでいいじゃないかと。
ヒストグラムにも変えられますよっていう例示をしてるだけ。 池沼と韓国人はラインに変えられなくてファビョる
217 :
タイラー :2010/12/27(月) 01:47:58 ID:NVCHoTsT
>>206 に無責任プレゼント。多分動く。
AlertなりPlaySoundなり書き換えて使ってくれ。五月蝿いと思うが。
下3桁鯖ならPipsは10倍した値を入れてくれ、自動判別とかめんどいわ、眠いし。
BidではなくClose[0]を使ってるのはバックテストで値を所得出来なかったから。。。
extern int Pips = 3;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
if ((Close[1] - Pips * Point) <= Close[0] && (Close[1] + Pips * Point) >= Close[0])
{
Comment("前の足の終値から" , Pips , "ピピ以内");
}
else if ((Open[1] - Pips * Point) <= Close[0] && (Open[1] + Pips * Point) >= Close[0])
{
Comment("前の足の始値から" , Pips , "ピピ以内");
}
else
{
Comment("");
}
//----
return(0);
}
//+------------------------------------------------------------------+
>>213 元々、ヒストグラムはグラフの描き方の種類のことだ。
MACDとシグナルの差をヒストグラムで描いただけで、説明を端折って
誰かが時々「このMACDヒストグラムは・・・・」と書いてしまうんだな。
結果、一部の人がMACDヒストグラムという固有名のインジケータが
存在すると勘違いしてしまうわけ。
fxproが動かないんですが、8時から動くのでしょうか
>>218 あれ?MACDヒストグラムという固有のインジケータはありますよ。
MACDラインとシグナルラインの差をヒストグラム表示します。
MACDほど有名じゃないけど。
>>220 >MACDほど有名じゃないけど。
MT4ではこのインジをOsMA(Oscillator MAcd)という名前で呼んでます。
本来こういうネーミングにしないといかんわけです。
データウィンドウの左上に テクニカル名が表示されますが表示しない方法ってありますか? プロパティの4本値を表示にチェックを外してもADXは表示されてしまいます。
SetIndexLabel でNULL を指定するとかかな?
>>223 ありがとう
中身を書き換える作戦になりますか
Setindexlabel 行を探して考えてみます
Optimizationの時間設定で、たとえばブローカー時間の23時〜1時をテストしたい時は スタート23、ストップ1でいいんでしょうか?(スタートより小さな数字がストップに入ってもOK?)
さすがにEAによって違う・・w
デフォルトのUWC-Demo.comってサーバー、、24日の足が無いよ!! いつも使ってるのに。。。 過去データが充実していて日足五本のおすすめサーバー教えてください。
228 :
Trader@Live! :2010/12/27(月) 18:34:19 ID:jnBnQUGE
7fx 豪ドル円 12月になってからスワップ付いてなかったけど 昨日 1ヶ月分一気に付いてた
クリスマスプレゼント?w
230 :
Trader@Live! :2010/12/29(水) 04:45:41 ID:tEv+8KvV
ロット数2で成行買い注文が成立してから、1ロットずつ決済指値を指定して決済をすることは可能でしょうか? どなたかおわかりになる方が居らっしゃいましたらアドバイスよろしくお願いします。
Alpariukでログインできなくなりました 理由がわかり編ません。 違う業者に乗り換える場合ログインとかパスは業者に問い合わせないとだめなんでしょうか?
233 :
Trader@Live! :2010/12/29(水) 20:34:19 ID:y3O6OWhh
どなたかすいません・・ セブンインベスターズのMT4からDDEで出力出来ません・・ MT4付属のサンプルエクセルファイルも機能せず、エラーとなってしまいます。 解決策頂けませんか?
>>233 MT4起動して、コントロールの右のWindowsキー押しながらE押しっぱでどう?
MT4のオプションのサーバータブにある[DDEサーバーを有効にする]がチェック入っていないとか? エクセル開いたときにマクロ警告が出ると思うけど(バージョンによってことなる)、それが有効にしていないとか?
236 :
Trader@Live! :2010/12/30(木) 14:42:42 ID:t7ZHbwet
>>233 です・・
>>234 >>235 さんありがとうございます。
DDEサーバーは有効にチェック入れてます、マクロはすべて有効にしています。
業者さんへ再質問してみます。
n
インジケーターの値をストキャス化したサンプルどなたか知りませんか たとえば移動平均線の値をストキャスティクス%Kにしたものを
239 :
Trader@Live! :2010/12/31(金) 14:16:18 ID:MnfjOuPu
EAでのバックテストで、iCustumを使用すればチャート上に売買ポイントを 自動表示できるのでしょうか? その場合、iCustumで別窓にインジケータを表示する仕様でも売買ポイントを 表示できるのでしょうか? 参考になるアドレスがあれば教えてください。
今日の晩御飯は何食べたらいい?
年越しソバ
>>239 EAのソースがあるならオーダー系関数の引数を見直すのが先。
ソースがないなら・・・・・・どうすりゃいいんだろうな?
フォワードなら売買履歴を描画するEAを同時稼働する手もあるけど
インディケーターからオーダー系の関数って呼べるんだっけ?
243 :
Trader@Live! :2010/12/31(金) 20:13:43 ID:MnfjOuPu
>>242 ありがとうございます。
EAはあるので、実験してみればたぶんわかると思います。
インジケーターからオーダーできる=EA内でインジケーターも表示できる
ということでしょうか?
これも試せばわかるかもしれません。動作が不安定になる等の障害は
わかりませんが・・・
>>243 紅白つまんなくて試してみたw
結論から言うと問題なく呼べる。
for (int i = 0; i < OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) continue;
if (OrderCloseTime() == 0 && OrderType() < 2) {
//オープンポジション
Alert("OPEN PRICE[", OrderOpenPrice(), "]");
}
}
for (int j = 0; j < OrdersHistoryTotal(); j++) {
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY) == false) continue;
if (OrderCloseTime() != 0 && !IsProcessed(OrderTicket())) {
//クローズドポジション
Alert("CLOSED PRICE[", OrderClosePrice(), "]");
}
}
チャート上への描画はまあお好みでw
余談だが、予めEAのBT用テンプレートを作っとけばインジを毎回ポトペタする
手間が省けるよ。
余談のついでに、BTでは無視して構わないけど、実運用時にEAのバッティング (オーダー系関数のスレッドの奪い合い)を心配するなら、トレード用MT4と監視 用MT4を単純に分けちゃえばいいよ。
246 :
Trader@Live! :2011/01/01(土) 11:30:43 ID:hHC3elNp
>>245 ありがとうございます。
うまくいけば、数種の通貨ペアで同時に動くことになると思います。
口座が同じだと、オーダーのタイミングでキャンセルされる場合が
あるかもしれません。
発注中はLOCKがかかるのか、かかっていた場合検知できるようになって
いるか調べてみます。
あけおめことよろ
今年のFX運 1日あたりの儲け わたしの持っている株の値上がり幅
249 :
Trader@Live! :2011/01/02(日) 10:41:12 ID:XjxDjTru
MQLについて何も知らないんだけど、これってちょっと見た感じ Excelの関数みたいに感じる部分があったんだけどどう? Excelの関数ならまあ使いこなしてるつもりだからなんとかなるかな
>>249 VBSでもJavaScriptでもPerlでもPHPでも、何かしらの経験があれば
日本語リファレンスとグーグルでなんとかなるよ。
出来ることが限られる=言語仕様がコンパクト=直ぐ覚えられる
先輩方、EAの動作について質問です。 PCが二台あり、同じMT4の環境にします。(ログ、ヒストリーファイルには誤差があります。) 片方のPCだけMT4を起動し、EAがポジションを取った状態でシャットダウンします。 その後、もう一方のPCで同じEAを起動した場合、決済等の動作は正常に行われるのでしょうか?
>>251 そのEA次第。
大概は問題ないんじゃね?って思うけど、ソースないと断言するのは無理。
Balance of Power のインジ、どこかにないですか?
254 :
Trader@Live! :2011/01/02(日) 18:22:40 ID:7QfJCSVd
EAで運用するのに、スプレッドの大小で結果が雲泥の差になると思いました。 特に、回数が多くて薄利だとどうしようもありません。 それで、スプレッドが小さく信頼できる業者で良いところがあれば教えてください。 MT4を利用する場合に、業者により大きくスプレッドが異なるかどうかは よく知りません。
>>254 InstaForex がスプレッド小さいし利用者も徐々に増えてる。
ボリンジャーバンドの2σ±100pipを越えた時に売買すると言うEAのプログラムは、 どうやったら作れますか? たとえば if(iHigh(NULL,0,0)>iBands(NULL,0,25,2,0,PRICE_HIGH,MODE_UPPER,0)) これに何を付け加えたら良いのでしょうか?
if(iHigh(NULL,0,0)>iBands(NULL,0,25,2,0,PRICE_HIGH,MODE_UPPER,0)+100*Point) かな
258 :
Trader@Live! :2011/01/02(日) 19:36:32 ID:7QfJCSVd
>>257 一番最後に付けるんですか。
UPPERの後に付けてました。ありがとうございます。
今でも豊嶋先生の著書にあるように Vistaの場合、MT4はユーザーフォルダーの下に インストールしたほうがいいんでしょうか? それとも、改善されていて 今では普通にProgram Files にインストールで O.K.なのでしょうか? ご教授下さい。
>>261 Windows XPにアップグレードしたほうがいいですよ。
Vista要らない子
Super Signal v3dを使っているのですが、sellの時 buyの時の音を 違うものにするのは可能でしょうか? 分かる方いらっしゃいましたら、どうか書き方教えてください。
>>263 可能だと思うけど、ソースがないから分からん
265 :
263 :2011/01/03(月) 10:48:24 ID:c2lRDmXV
>>265 void doAlert(string doWhat)のdoWhatが"strong sell"か"strong buy"かで条件分岐して
if (alertsSound) PlaySound("alert2.wav");で鳴らすwavファイルを差し替えればいい。
267 :
263 :2011/01/03(月) 11:22:12 ID:c2lRDmXV
>>266 早速ありがとうございます。
でも・・・すみません「"strong sell"か"strong buy"かで条件分岐」を
どこを、どう書き換えたら良いのか悩んでいます。
お手数ですが再度ご教授お願いできますか?
268 :
Trader@Live! :2011/01/03(月) 11:25:57 ID:JxFzziwt
リアルタイムデバッガはないので、設計時をうまく組まないと後でバグとりに 時間がかかりますね。バックテストでは決済時のタイミングが再現できず クローズ時間になるので、自分でソフト内でバックテストできるようにすれば 便利な点があると思いました。 周期や通貨ペアでかなり勝率に差がでるのですが、最低75%くらいはないと スプレッド料で厳しい気がしました。実際に優秀なEAではどれくらいの勝率 があげられるのでしょう?(1日最低3回は取引し、また1回のスプレッド 損失を除いた純益が4PIP以上という条件で)
269 :
263 :2011/01/03(月) 11:27:07 ID:c2lRDmXV
何度も恐れ入ります。 message = StringConcatenate(Symbol()," at ", TimePeriod, " Super signal : ",doWhat); ここのdoWhatを「"strong sell"」と直せば良いのでしょうか? (音の変更は理解しています)
>>269 if (alertsSound) PlaySound("alert2.wav");
を
if (alertsSound){
if(doWhat=="strong sell"){
PlaySound("売り音声.wav");
}else{
PlaySound("買い音声.wav");
}
}
>>267 if (alertsSound) PlaySound("alert2.wav");
を
if (alertsSound) PlaySound(doWhat + ".wav");
にして、"strong sell.wav"と"strong buy.wav"を用意すればいいんじゃね?
みんな優しいね。
>>271 のやり方おもしろい。でも質問者がファイル名を変更できるかどうか疑問が残るw
273 :
263 :2011/01/03(月) 12:08:38 ID:c2lRDmXV
皆様ありがとうございます。
>>270 さんのを記載してやってみたのですが、チャートに反映してくれず
悪戦苦闘しております。(保存・コンパイル・MT4再起動してるのですが)
何がいけないのでしょうか?(泣)
>>271 さんのは難しそうです・・・すみません
>>273 音が鳴らないということなら
もう一度最初から
if (alertsSound) PlaySound("alert2.wav");
を
if (alertsSound){
if(doWhat=="strong sell"){
PlaySound("alert2.wav");
}else{
PlaySound("alert.wav");
}
}
に。
パンドラの箱を開けてしまった
275 :
263 :2011/01/03(月) 12:31:53 ID:c2lRDmXV
>>274 すみません音が出ないのではなく、チャートに表示されないのです。
記載(誤字)は、何回も見直しましたが間違いないようです。
さっき書き忘れました・・・コンパイルするとエラー?(進入禁止マークみたいな)
【'\end_of_program' - ending bracket '}' expected】と出ます。
>>275 それコンパイルエラーね。
if文の括弧がどこか間違えてる。
このプログラムはなぜ買いのポジションを持つ事が出来ないのでしょうか? longのみでバックテストするとエラーになります。 //ポジション数の確認 int MAGIC = 777; 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++; } } //もしバンドの3σを越えたら if(Pos==0 && (iHigh(NULL,0,0)>iBands(NULL,0,25,3,0,PRICE_CLOSE,MODE_UPPER,0))) { OrderSend(Symbol(),OP_SELL,0.2,Bid,3,Bid+(50*Point),Bid-(100*Point),"SELL",777,0,Blue); if(Pos==0&& (iLow(NULL,0,0)<iBands(NULL,0,25,3,0,PRICE_CLOSE,MODE_LOWER,0))) { OrderSend(Symbol(),OP_BUY,0.2,Ask,3,Ask-(50*Point),Ask+(100*Point),"BUY",777,0,Blue); }} //---- //---- return(0); }
>>275 カッコ開くとカッコ閉じるの数が合ってないんだな
では、また最初から
if (alertsSound) PlaySound("alert2.wav");
を
if (alertsSound) if(doWhat=="strong sell") PlaySound("alert2.wav");else PlaySound("alert.wav");
でどうだっ
>>277 ifの中にifがあるんじゃないかな
売り条件が成立したときだけ
買い条件を調べるになってない(つまり成立するわけがない)
>>277 とりあえずインデントを整理してみた。
//もしバンドの3σを越えたら
if(Pos==0 && (iHigh(NULL,0,0)>iBands(NULL,0,25,3,0,PRICE_CLOSE,MODE_UPPER,0)))
{
OrderSend(Symbol(),OP_SELL,0.2,Bid,3,Bid+(50*Point),Bid-(100*Point),"SELL",777,0,Blue);
if(Pos==0&& (iLow(NULL,0,0)<iBands(NULL,0,25,3,0,PRICE_CLOSE,MODE_LOWER,0)))
{
OrderSend(Symbol(),OP_BUY,0.2,Ask,3,Ask-(50*Point),Ask+(100*Point),"BUY",777,0,Blue);
}
}
↑の部分カッコの位置を↓のように変更すれば動くんじゃない?全角スペース入ってるからコピペする場合は半角スペースに変換してコンパイルね。
//もしバンドの3σを越えたら
if(Pos==0 && (iHigh(NULL,0,0)>iBands(NULL,0,25,3,0,PRICE_CLOSE,MODE_UPPER,0)))
{
OrderSend(Symbol(),OP_SELL,0.2,Bid,3,Bid+(50*Point),Bid-(100*Point),"SELL",777,0,Blue);
}
if(Pos==0&& (iLow(NULL,0,0)<iBands(NULL,0,25,3,0,PRICE_CLOSE,MODE_LOWER,0)))
{
OrderSend(Symbol(),OP_BUY,0.2,Ask,3,Ask-(50*Point),Ask+(100*Point),"BUY",777,0,Blue);
}
281 :
263 :2011/01/03(月) 13:06:47 ID:c2lRDmXV
>>278 コンパイルエラーなくなりました!
今まだ動きが無いので音がでるかわかりませんが、後ほど報告させて頂きます。
ひとまず、どうもありがとうございました!
>>279 おお!出来ました!
ありがとうございました。
なんだか今年はみんなやさしいな 為替の神様が見てるといいなw
人に何かを与えておくと、 どこかから何かが返ってくるから。
285 :
263 :2011/01/03(月) 13:23:17 ID:c2lRDmXV
度々恐れ入ります。
>>278 さんの書き方でいけました!!!
この件ずっと前からネットで調べても分からなくて悩んでおりました。
FnZdi+20さま・・・根気強くご教授くださって本当に感謝しております。
誠にありがとうございました。
このスレで与えて 相場から得る と考えるとみんな幸せ
287 :
Trader@Live! :2011/01/03(月) 18:25:58 ID:JxFzziwt
MT4で最近、EAを組み始めました。C言語等の経験はあるのでいろいろ試行錯誤 しています。 1年分くらいのバックテストをEURUSD,USDJPNとスプレッドの 小さめのものでやっと、勝率67-70%くらい純益で、年間前者が2000PIP 、後者が650PIPくらいが今のところやっと言う感じです。 エントリーポイントと決済ポイントは、有利にならないように気を配っています。 結局、安定的な箇所を探し、不利な条件をいかに排除するかが重要な気がしました。 平均値2種の傾きのインジケータを作り、そのようなポイントを検知していますが いまいちです。 もし、ボリンジャーや平均足の安定的なポイントを探すのに有効な指標や方法が ありましたら教えてください。
MT4でデモ取引中です ふたつ質問させてください。 デフォルトで設定されている数量、1.00って1枚ですか?10枚ですか? それと通貨がJPYで、-86.01と出ている場合には86円01銭という事ですか?
>>288 業者による。1=10枚が多いと思うけど。。
あ、デモです
MT4のデフォルトのデモです
MT4のデフォルトのデモはランダムに10数社の業者から選ばれるので、特定できないよ^^;
>>292 そうでしたか・・・有難うございます
入門書を見てみると1=10枚と書いてあるのですが
デモで、
初期金額:100000.00(100万円)
ユーロ円を108.69でロングして現在108.73の状態で
損益をみると、+49.03となっています
これって(誤差はありそうだけど)+49円03銭の事だよなぁ・・・
という事は1=1枚なのかと
説明が下手ですみません
単位はドルっぽいけど、1=1枚かもね
>>293 日本の会社のデモでなければ
だいたいドル口座だけどな
ロットはだいたい
0.01が1000通貨だな
296 :
293 :2011/01/04(火) 01:47:56 ID:uvHrI4eZ
>>294 1枚みたいですね
まだ始めたばかりなのでもう少しやってみます
>>295 MT4は公式サイトからDLして通貨をJPYにしてやっています
298 :
Trader@Live! :2011/01/04(火) 02:53:29 ID:G2DBZ5es
Alpariデモが頻繁(週1くらい)にアカウント無効になるんだけど チャート開いてるだけで、EA動かしてない(売買してない)からなのか?
>>299 EA動かしててもアカウント凍結されたよ。
名前とか住所とか実在しそうな名前使ってるけど、
酷い時は1日で凍結させられた。
凍結させられる基準がよくわからん。
>>299 インジしか表示させてないAlpari NZで何ヶ月か経ってるけどアカ無効になってないよ。
メアドは捨てアドでいいから実在のを登録した方がいいよ
アカウント無効ってどうやったら分かるんですか? チャートが年末から動かなくなったんですけどアカウント無効になったからですかね
デモ口座申請したら動きました 凍結だったのかな
存在しないメアドで登録してた 次回から捨てアドにしよう
よかったでつね(^ω^)
307 :
Trader@Live! :2011/01/04(火) 16:14:57 ID:a9YeoIKW
エディターで日本語書くと文字が 左に90度傾いてるんですがどうしたらいいでしょうか?
フォント変えなさいよ><
310 :
Trader@Live! :2011/01/04(火) 16:39:38 ID:a9YeoIKW
>>308 すいません
フォントのとこで縦横を調整できるところがみつからないのですが・・
違う。フォント自体が傾いてるから、 別な傾いてないフォントに変える。 windowsの基本的FAQ
>>310 MetaEditorのTool−OptionsのFontで頭に@とか付いてるフォント使ってるんじゃないの?
313 :
Trader@Live! :2011/01/04(火) 17:32:23 ID:a9YeoIKW
>>312 ご指摘の通りでした
解決しました。ありがとうございます
314 :
Trader@Live! :2011/01/05(水) 11:32:07 ID:YI1JTJhT
>>312 フォントの頭に@マークが付いているのはどういう意味でしょうか?
海外のmq4でたまに見ようとすると文字化けして
いくら修正しても直らないことあった。皆さんはそういう経験ありませんか?
vista 32ビット です。 Build 225から Build 229へのバージョンアップ なんだけど 何度やっても229にならないんだよね。起動の度にバージョンアップ画面出てくるし XPは無事バージョンアップなったのだけど
>>316 ProgramFilesの配下にインストールしていない?
もしそうであれば、UACの解除をしてみたらいい
できればProgramFiles以外にインストールしたほうがいい
318 :
Trader@Live! :2011/01/05(水) 15:33:39 ID:YI1JTJhT
例えば時間足にインジ使ってシグナルを表示させて シグナルが出ているバー位置のまま日足に切り替えても 見れるようにすることは可能でしょうか? 可能であればどのような工夫をすべきかアドバイスお願いします
そのシグナルの判定が時間足でも日足でも同様に計算されるなら可能
普通でていないか? インジケータのプロパティに表示選択ってあるが、 全ての時間足に表示をチェック(デフォルト)していれば多分問題はでないはず
>>318 deinit()で指標配列の中身を退避して、init()で再読み込みする。
start()で再読み込みした配列を現在の時間枠に合わせて調整する。
>>317 全部やってます。
けどダメなんです。
起動の度にバージョンアップ要求されてウザイっす。。
バージョンアップのファイルを削除しようかな〜
>>322 XPでバージョンアップに成功したんなら、そのフォルダから terminal.exe こぴぺすればええんや
324 :
Trader@Live! :2011/01/05(水) 16:24:50 ID:YI1JTJhT
>>319 321さん ありがとうございます。
ちゃんと書けば可能なんですね。ものすごい良い解説されていますが
今の私の知識ではすぐに理解は難しそうです。できましたら
簡単なコードで構いませんので書いて頂けないでしょうか?
>>320 さん
やりたいことはマルチタイムフレームの矢印版みたいなことです。普通のコードで
日足に切り替えても、日足のデータを元に再計算されて違う結果に
なってしまうと思います
>>323 あなた天才です^^ バッチリ成功しました^^ ありがとうございます(^^)v
>>324 > やりたいことはマルチタイムフレームの矢印版みたいなことです。普通のコードで
> 日足に切り替えても、日足のデータを元に再計算されて違う結果に
> なってしまうと思います
最初からどの足で動かしても時間足で計算するようにすればいいんでは?
>>324 ちょっと厳しいけど、感じたことをそのまま書きますね。
あなたの目的は何でしょう?相場で儲けることなのか、プログラミングの習得なのか。
儲けることが目的なら、プログラミングは忘れたほうがよくないですか?
一流のプログラマなら勝てるって世界でもないので、努力するならプログラミング以外
の方向で努力したほうが効率的かと。人には能力以前に向き不向きがあります。
329 :
Trader@Live! :2011/01/05(水) 17:33:53 ID:YI1JTJhT
>>327 真面目に質問したつもりでいましたがそんなに的外れな質問だとは
思いませんでした。すいません
もちろん相場で利益を出すのが最終目的で、今現在作ってみたものを
日足全体でどのタイミングトレードされているのか視覚で感じて次に
つなげていこうと思ったのですが・・・
入門書にはやり方書いてあるから、入門書買え。 普通の人はそんな機能使わないけどね。 システムを重く不安定にするだけだし、 それを勉強する時間がもったいないから。
四苦八苦で何とか作ったのですが バックテストでエラーがでます。 何故でしょうか? int start() { //ポジション数の確認 int MAGIC = 777; 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++; } } { // HLバンドの計算 double HH2 = iCustom(NULL, 0, "HLBand", 20, 1, 2); double LL2 = iCustom(NULL, 0, "HLBand", 10, 2, 2); { // 買いシグナル if(Pos== 0 && Close[2] <= HH2 && Close[1] > HH2) { OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask+80*Point,Ask-20*Point,"buy",MAGIC,0,Red); } } { // 売りシグナル if(Pos== 0 && Close[2] >= LL2 && Close[1] < LL2) { OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid-80*Point,Bid+20*Point,"sell",MAGIC,0,Blue); } } }} return(0);
質問です。 今までclose(0)を基準にトレーリングストップを行うEAを使用していたのですが、 ブローカーからシグナルを出す頻度が多すぎるとの苦情が来ました。 そこで、頻度を減らすべく前日の終値close(1)を使用してストップを調整することにしたのですが、 ポジションを開く時間は日中であるため、ストップ位置にズレが生じてしまいます。 例えば、200pipsでトレールする場合、 その日の内に価格が大幅に下がったところで買いポジションを開くと、 最初にask-200pipsの位置にストップを置いても、前日の終値-200pipsの位置に修正されるので askからかなり近い位置にストップがきてしまいます。 なのでポジションを開いてから1日以上後にストップを修正するよう設定したいのですが、 条件式の書き方が分かりません。分かる方いましたら教えてください。 また、他にもっと良い方法があれば教えてもらえないでしょうか?
>>332 まずこれが大量に
TestGenerator: unmatched data error (volume limit 92 at 2011.01.05 18:30 exceeded)
とどめにこれです
TestGenerator: write file error
335 :
Trader@Live! :2011/01/05(水) 19:16:46 ID:6HdCLw4N
RSIの#property indicator_levelcolorの色を1本づつ変えたいです。 30は赤、50は青、70は緑のように。 どうやったらいいのでしょうか?
>>334 ヒストリーデータの整合性がとれてないってことじゃないかな
この場合は出来高がおかしい
>>333 なんでそんな方法をとるのか?というのはおいといて。
今の時間からオープンした時間を引いて
86400(24*60*60=一日)をこえてたらトレーリングすればいいのでは?
3600にしたら1時間だし
600にしたら10分だし
これではダメ?
>>336 と言う事は…
どうすべきなんでしょうか汗
理解不十分ですいません
340 :
Trader@Live! :2011/01/05(水) 19:56:01 ID:YI1JTJhT
>>ブローカーからシグナルを出す頻度が多すぎるとの苦情が来ました。 EAを使うと業者からこんなクレーム来るんですね。
>>338 1分足の5本分の出来高データが
0:01 10
0:02 10
0:03 10
0:04 10
0:05 10
だったとして、5分足の出来高データが
0:05 40
だったらおかしいよね?ってエラーなのです。
1分足の5本分の出来高データを足し合わせたら、50になってしまい、
5分足の出来高データ 40 を超えてしまうということ。
対処方法は、
(1) MT4 を終了する。
(2) *.hst ファイルを探して全削除する。(1分足データは残しても構わない)
(3) 1分足データをインポートする。
(4) PeriodConverter_All.mq4 みたいなので、他の時間足データを作る。
こうすれば、作成された5分足の出来高は 50 になっているので問題が起きない。
>>333 聞いたことないけど。
問題ないならどこの業者か教えてほしい
>>337 なるほど。
if(TimeCurrent() > OrderOpenTime() + 86400)
を加えれば良いのですね。ありがとうございました。
>>342 業者はFxProです。
理由はリクエストが多すぎてサーバーに負担がかかるからだとか。
modifyが多いのに取引自体は少ない(1トレードあたりの保有期間が数週間)ので
嫌な客だと思われてるのかもしれません。
345 :
Trader@Live! :2011/01/05(水) 20:39:07 ID:tlhs5fvY
メタエディタでプログラムを右クリック→コピーすると MT4が機能停止してしまうんですが、解決法ってありますか?
>>344 FxProってホームページにEA・スキャ歓迎とか書いてあるのになw
>>345 IMEを2007じゃなくて古いのに変える。ググると出てくるよ
>>344 Tick更新のたびにmodify してないよね
だったら、5分に1回 modify するようにした方が良いのではと思っただけ。
だいたいトレーリングストップをつけるときは Aぴぴプラスになったら、BぴぴづつSLを動かす とかいう感じにしてるな 怒られたことはないw
素人のEAだとトレーリングストップの価格が変わっていないのに 同じ価格のまま modify を繰り返して怒られた話しを聞いた事もある・・・
何度もすいません。 バックテストをしていたらパソコンの容量が激減しました。 ヒストリーフォルダを空にしたのですが何故か判る方いますか?
>>354 っ expertsのバックアップを取って再インストール
>>354 テスト時に生成されるキャッシュデータを消す
>>354 testerの中のhistoryを消せばいい
>>353 なるほど、そういう場合ね
それってエラーでるよね?
あ、エラー処理してないとわからないか・・・。
>>355 >>357 親切にありがとうございます。
>>356 ありがとうございます。
一番簡単そうなので行いたいのですが
それは何処のフォルダにに保存されているのでしょうか?
キャッシュフォルダ分かりました。 が、なにも入っていないので再インストールしてみます。
361 :
Trader@Live! :2011/01/06(木) 03:07:18 ID:0gb+Q0ho
自作したインジ、EAのトレード場所がずれている場所がありますが、 これはデータによるものなので多少のズレがあってもしようがないという ことでしょうか。それとも、移動平均線を取り入れているので 計算開始の場所をちゃんと指定してかったのが原因で値がズレて しまったと考えるべきでしょうか?
>>361 Visual modeで動かせば理解できると思うよ。
>>360 フォルダーのサイズを1個づつチェックして大きいフォルダーを調べればいいんじゃないのか。
毎回インストールしてたら手間掛りすぎでしょよ
>>335 これ確かできなかったと思うよ。
HLineで代用するくらいしかないんじゃないかなぁ。
昨日から動かし始めた初AEが買い発動したーーー! こんなすっ高値で買って大丈夫か?
初AE を信じなさい。
>>365 ヽ|/
/ ̄ ̄ ̄`ヽ、
/ ヽ
/ \,, ,,/ |
| (●) (●)||| |
| / ̄⌒ ̄ヽ U.| ・・・・・・・・ゴクリ。
| | .l~ ̄~ヽ | |
|U ヽ  ̄~ ̄ ノ |
|  ̄ ̄ ̄ |
AEなら大丈夫かと・・
369 :
365 :2011/01/06(木) 10:55:14 ID:btx9A27Y
うあ、EAだった。素ではずかしい(ノエ`*)
370 :
Trader@Live! :2011/01/06(木) 11:03:45 ID:uqP9/dmy
AlpariUKの申し込みを考えています。 資金の安全性は確保されていると書いてありますが、倒産した場合でも 大丈夫なのでしょうか? あとデモ口座でスプレッドを見ていてEURUSDなど1.0-1.2PIPの 時がありますが、これは実際の取引でも反映され約定可能なのでしょうか? 他の紹介ページ等でスプレッドは1.6PIP〜とみたんで気になりました。
372 :
Trader@Live! :2011/01/06(木) 12:52:39 ID:uqP9/dmy
>>371 ありがとうございます。
海外居住者しかだめになったみたいですね。
373 :
Trader@Live! :2011/01/06(木) 15:54:37 ID:uqP9/dmy
あと、カリネックスバイキングとForexProは前者が、低スプレッド、低手数料 後者がDEMOで見る限り、低スプレッド(AlpariUKよりは悪いですが)のようです。 これらも含めて、お勧めがあれば教えてください。
InstaForex が最強。
375 :
Trader@Live! :2011/01/06(木) 16:27:20 ID:uqP9/dmy
>>374 ありがとうございます。調べてみます。
InstaForexはCashBackForexも使用可能でしょうか?
なにか制限等があれば教えてください。
>>373 ForexPro→FxProも間違いでした。
376 :
Trader@Live! :2011/01/06(木) 16:32:24 ID:uqP9/dmy
>>373 カリネックスバイキングはMT4が使用できないそうです><
調べてみるなら、まあ何も言わない。 その方が自分のためになる。
379 :
Trader@Live! :2011/01/06(木) 17:59:24 ID:uqP9/dmy
>>378 1Pipfixってスプレッドがほとんどないんですね。
安全で口座開設できれば・・・
海外のほうが進んでいて日本もスプレッドがなくなっていくのかな。
381 :
Trader@Live! :2011/01/06(木) 18:52:44 ID:uqP9/dmy
FXCMだけはやめておきなさい。
日本時間の表示のしかたがよく分かりません
384 :
Trader@Live! :2011/01/06(木) 20:35:00 ID:uqP9/dmy
あー。自分で調べるといったから、口挟まないでおいたが 調べる能力がなかったか。 Instaは、一応ロシア金融庁の認可を受けている業者だが、 アメリカ連邦銀行から名指しでscam認定されている。 この板の海外業者スレを参照。 それでもいいというなら、止められないが。 FXCMはいい業者ではないが、とりあえず初心者の最初のステップとしてはお勧め。 本当はFXDDの方がいいのだが、ここに口座を開くときは ある程度のことを知って、調べつくしてからでないと取り返しが付かなくなる。 マルタ金融庁の法律により、一度口座開設したら5年休眠口座にしないと閉鎖できない。
とうとう初心者スレにも海外の話題が出始めたか これはもう時間の問題かもね
FPAでにScam。 だけど遊びでレバ1000で一撃離脱なら問題なかったよ
詐欺の基本は、相手に信用されること。 500ドル〜1000ドルぐらい預けてきた客には、適当に遊ばせて儲けさせる。 当然、出金もスムーズに行う。 お客は、すぐにそのブローカーを信用する。 scam認定されているのは嘘だと思いこむ。 そして本気で遊ぼうと、10万ドル預けてきたところで、ガッと負けさせる。 出金も難癖つけてたらい回しして応じない。
まあ、分かってるなら良いんじゃない。 InstaとかFXDD使う人なら分かっていなきゃだめなわけで。
それでお薦め業者は・・
MIG
海外のフォーラムで外人がどこの業者使ってるか 自分の目で見てくるといいと思うよ
395 :
Trader@Live! :2011/01/07(金) 00:06:03 ID:XGH4+gNf
396 :
Trader@Live! :2011/01/07(金) 00:59:04 ID:XGH4+gNf
>>385 とりあえず、ECNの業者をメインに調べてみます
397 :
Trader@Live! :2011/01/07(金) 01:53:03 ID:XGH4+gNf
>>396 ECNでAPBGのMT4をダウンロードしてみたら、流動性が見えないくらい早く
スプレッドも狭く、3サーバーの値を一度に表示?していて好きなのを
選べるみたい。 パナマというのがひっかかるけど。
最低入金額が高いのかな。なんかシステムが開発用APIまであって
すごそうな気がする。情報持っている人がいたらお願いします。
http://apbg.com/FOREX/Forex.aspx
398 :
Trader@Live! :2011/01/07(金) 04:26:47 ID:Wo2dOlMZ
構築したものによってはPCに負担がかかって良くないという 聞きますが、具体的にはどういった計算、処理がパソコンにとって 高負担となるのでしょうか? また、現在windows7を利用してますが見た感じCPUの使用率が30%程度。 OSがCPUの使用率を上げているだけとも思いますが、 MT4単体でどれぐらいの使用率となっているか調べる方法はありますか?
SWVPSでFXOpenECNのライブ口座にログイン出来ないんですが同じような経験された方いらっしゃいますか? (デモ口座ではログイン出来る)
400 :
Trader@Live! :2011/01/07(金) 10:16:46 ID:XGH4+gNf
>>398 普通に最小の処理数をこころがけて、組めばMT4自体はかなり軽いソフト
だと思います。
処理待ちで回数のあるループ処理があるとき、sleep関数で処理を他に
まわしてやれば負荷は軽減されます。
あと、カスタムインジケータを使用した時それ自体が重いつくりだと
どうしようもありません。
カスタムインジケータの返り値が複数個必要なとき同じカスタム
インジケータを何個か並べないとならないようですが、これだと
その個数分カスタムインジケータを使用したのと同じになるのでは
ないでしょうか?(これは推測ですが、おそらくコンパイラでそれを
吸収できる仕様にはなっていないのでは)
ですので、複雑な処理を行わせ指標等を大量に使うにはカスタム
インジケータの機能を自作して組み込まないと重くなると思います。
この点を最初から気にしていたので、複数の平均線・標準偏差等は自作して
組み込んでいます。
MT4の影響をみるには、CPU使用率を見るときに多くのグラフとインジ
ケータを走らせて見れば目安にはなります。
401 :
Trader@Live! :2011/01/07(金) 12:18:51 ID:XGH4+gNf
FXCMもMT4サーバーと本サーバーとの同期遅れから、下記のエラーが発生 する場合があり、数十万円も損失がでたとか・・・ Auto Account Sync with FXCM そもそも、スピードが命の取引で何時間もたって価格がわかるとか システム自体が成立しないように思われるが・・・ 日本の常識!=海外の常識
FXCM,ODLは絶対に使うな。 これ、日本の常識。
403 :
Trader@Live! :2011/01/07(金) 12:33:12 ID:XGH4+gNf
FxProがいいかな? CBFは、割り当てのサーバーが悪いものにされることがあるらしい。 ここは、スプレッドが狭いし、すべりにくいそうな。 送金とかも安く、デモとライブの挙動が同じっぽいらしい。 ただECNでないので、操作があるのかな。どうかな?
FxProもスキャおkってうたってるけど実際は・・w 糞ブローカーですよ
405 :
Trader@Live! :2011/01/07(金) 13:19:00 ID:Wo2dOlMZ
>>400 さん ありがとうございます
内容としてはカスタム関数を使って呼び出すより、そういった関数群を1個のインジケータに
自作関数として自分で作った方が処理が軽くなるということでしょうか?
今のところそういった作業は面倒なので頻繁にカスタム関数に頼っている状態です。
これからどんどん条件を複雑にしていった場合には処理が重くなる可能性が考えられますね。
最新のパソコンを使っているのでそこそこの性能はあると思いますが、CPU使用率の
最大値を何%以下に抑えるべきだと思いますか
ゆとりへのアドバイス: 1.先ずググれ。 2.次に自分で試せ。 3.それでも駄目なら初めて書き込め。 4.sageろ。 5.ダラダラ長げえ。簡潔にしろ。 6.内容が違うからといって、同じゆとりレベルの質問を、あちこちのスレに同時に書き込むな。
407 :
Trader@Live! :2011/01/07(金) 14:16:43 ID:XGH4+gNf
>>400 カスタム関数でオプション毎(例えば終値ベース、初値ベース)で
結果が必要なとき、同じプログラム内で関数行を2行書かないとなりません。
これを一回で、双方が出力できるようにすれば半分に近い処理数になる場合
があります。
%については、70%以下にはするほうがいいと思いますがはっきりした
ことはわかりません。
あと、1CHARTの最大バー数は初期値がかなり大きいので減らしたほうが
少し軽くなるのではと思いました。(これは必要足数により変わります
、私の場合は重くないので変更したことはないですが)
PCの性能が最近はかなりいいので、よほど粗悪なインジケータ処理が
なければ大丈夫だとは思います。私の場合は、最後のBARだけインジケータの
適用価格をCLOSEにせずOPENで計算したかったこともありひとつにまとめました。
>>406 に追加。
7.同じゆとりレベルからの解答レスしか無かった場合、誤った内容が含まれていると覚悟しろ。
>>5.ダラダラ長げえ。簡潔にしろ。 STP/ECNでお薦めの業者を3行で
411 :
Trader@Live! :2011/01/07(金) 21:40:35 ID:VmM0MrKG
トレード本にMT4のex4ファイルが付いていたんですが インジケーターの表示色が気に入らないので修正したいです。 mq4ファイルじゃないとMetaEditorで編集できないようなのですが、 ex4ファイルからmq4ファイルに変換することはできないのでしょうか?
>>411 できる。5-6万くらいでツールが売られてる。買え!
>>411 できる
ツール買え。$700くらい。
もしくは俺が$100で売ってやっても良いけど。
414 :
Trader@Live! :2011/01/07(金) 21:47:01 ID:VmM0MrKG
まあ、ゆとり隔離スレだし、いいか。
色変更ってインジケータの設定の色の設定では変更出来なかった?
417 :
Trader@Live! :2011/01/07(金) 23:52:57 ID:XGH4+gNf
>>411 逆コンパイルしてくれる海外サイトがあるよ。
HP上でソースを吐き出してくれる。
418 :
Trader@Live! :2011/01/08(土) 00:16:13 ID:QAEVmZ30
419 :
Trader@Live! :2011/01/09(日) 08:50:55 ID:YflWR8Cu
計算を始めさせる時間を指定したいんだけどどうしたら出来るの? 例えば移動平均の計算を1月5日の5時から始めるように指定したい
421 :
Trader@Live! :2011/01/09(日) 10:29:46 ID:b6rmwPsA
>>419 時間差=現在−目的時刻
位置=時間差÷BAR1本の時間
>>418 持ち逃げサイトの可能性有り
ここ試しにEX4ファイル送ってみたけど、全然返信無い
>>755 そもそも正規版の公式結果が当てにならない
>>748 そもそも元のEAの殆どがパクリ、そのパクリ元も殆どパクリ
元はグランビルとかボリンジャーに行き着くよ
本間宗久かなw
>>419 ヒント(っていうか、答えかも知れないけどw)です。
例えば、
int index = iBarShift(Symbol(), Period(), D'2011.01.05 05:00');
と書くと、2011年1月5日5時のバーの位置が取得出来ます。
後は、わかりますよね?w
426 :
Trader@Live! :2011/01/09(日) 15:46:35 ID:YflWR8Cu
>>424 その後が分からないから質問しました
位置の取得方法は最初から知ってる
427 :
Trader@Live! :2011/01/09(日) 16:12:26 ID:YflWR8Cu
今やってみて出来ました int start(){ int index = iBarShift(Symbol(), Period(), D'2011.01.06 05:00'); int counted_bars =IndicatorCounted(); int limit = Bars - counted_bars; if(limit == Bars)limit = index; for(int i = limit-1;i>=0;i--){ Buf[i]= iMA(NULL,0,MAPeriod,0,MODE_EMA,PRICE_CLOSE,i); } return(0); }
それでは、 1月5日の5時より前のデータも使っているんじゃない?
ホントだ…やっぱり分かりません どうしたら出来るんですか?
空の配列を用意する。 計算したい期間の価格データを格納する。 iMAOnArray を使って平均を計算する。 基本はこんな感じ。
431 :
Trader@Live! :2011/01/09(日) 18:12:03 ID:b6rmwPsA
単純移動平均のMAPeriod期間分の価格データがないと 計算できないんじゃ・・・ 1月5日の単純移動平均値は (1月5日−MAPeridi)〜1月5日までの平均値
EA用にWindowsのVPSを探してるのですが、どこかおすすめはありますか?
>>432 JForexにポーティングして一般的なVPSを利用する。
Windowsに限定すると選択肢狭くなりすぎてVPS使うメリットが薄くなる。
MT4専用(or 対応)を謳うサービスはEA盗られる可能性があるから避けるが吉。
int start() { int index = iBarShift(Symbol(), Period(), D'2011.01.06 05:00'); //現在からindexまでの価格データの格納 int array[];//空の配列 for(int i= index;i>=0;i--){ array[i] = i; } //計算 for(int a =index;a>=0;i--){ Buf[a]=iMAOnArray(array,0,MAPeriod,0,MODE_EMA,i); } return(0); } 出来ないしフリーズする…答え教えてください
int array[];//空の配列 ArrayResize(array,index+1);// 領域確保しないと格納できないよん for(int i= index;i>=0;i--){ array[i] = Close[i];//終値を格納 } //計算 //for(int a =index;a>=0;i--){ // iをデクリメントしても意味ないじょ for(int a =index;a>=0;a--){ Buf[a]=iMAOnArray(array,0,MAPeriod,0,MODE_EMA,i); }
Buf[a]=iMAOnArray(array,0,MAPeriod,0,MODE_EMA,a);// ここも i じゃなくてa
直したけど描画しないよ
それはSetIndexBufferしてないからだろ?
>>439 ちゃんとしてるよ
SetIndexBuffer(0,Buf);
YflWR8Cu ↑教えを受ける身でありながら、ずいぶんと態度でかいな まず正しい質問の仕方と日本語から勉強した方がいいんじゃないのかね?
えっなんでいきなり説教
>>441 それは既に最初の方でわかっているから、
まともな方法を教えてやらないわけでしょ。
static double PseudoBuffer[]; int init() { ArraySetAsSeries(PseudoBuffer, true); } int start() { ArrayResize(PseudoBuffer, Bars); } 描画には使えないが、指標配列に準じた挙動になるから バッファ不足の時にちょっとだけ便利な小技。
まともな方法を教えないのかまともな方法が分からないから教えられないのか分からないですけど もう質問しても解答が返ってこないような雰囲気なんで質問辞めときます
質問するときは回答してくれる人に不快な思いをさせないことが大事なんだね。 上の方のレスで得られる知識を組み合わせれば 完成できるからがんばってね。
447 :
Trader@Live! :2011/01/10(月) 02:10:54 ID:MXQR+d2/
一般的にはスタート関数をint start()と表現するのが一般的かと思いますが、 void start()と表現するのを時々見かけますが、特別にそうされたには きっと何か違いがあると思いますが、いかがでしょうか? また、return(0),returnは基本的に関数終了というような意味合いで よろしいでしょうか?
腹減ったな。
449 :
Trader@Live! :2011/01/10(月) 07:13:52 ID:ZviPTrlB
MT4動かないんですけど、月曜の朝は動くの遅いんですか?
>>427 for(int i = limit-1;i>=0;i--){
Buf[i]= iMA(NULL,0,MAPeriod,0,MODE_EMA,PRICE_CLOSE,i);
}
じゃなくて
for(int i = limit-MAPeriod+1;i>=0;i--){
Buf[i]= iMA(NULL,0,MAPeriod,0,MODE_EMA,PRICE_CLOSE,i);
}
とiの初期値変えるだけでいいんじゃ・・・
452 :
Trader@Live! :2011/01/10(月) 12:02:29 ID:pVw6GUDV
単純移動平均だから、区間を足して割るだけ。 1月5日の単純移動平均を10日間で計算するためには 1月5日の10日前からの値がないと計算できない・・・ ちなみに、バッファだけ増設するには下記でもいける ArrayResize(BufStatusSave,Bars); nCountedBars=IndicatorCounted(); i=Bars-BandsPeriod-1; if(nCountedBars>BandsPeriod){ i=Bars-nCountedBars; BufReAlloc(BufStatusSave,i,nCountedBars); void BufReAlloc(int &Buf[],int NewBarCnt,int IndicaterCnt){ if(NewBarCnt>1 && IndicaterCnt!=0){ for(int j=Bars-NewBarCnt-1;j>=0;j--){ Buf[j+NewBarCnt-1]=Buf[j]; } } }
454 :
Trader@Live! :2011/01/10(月) 17:40:36 ID:asuvtoNb
alpari ukが動かないのですが 何時からですか?
動いてますよ@クラシック口座
456 :
454 :2011/01/10(月) 18:15:31 ID:asuvtoNb
>455 いえ、こちらはデモ口座なので動いてなくてもまぁいいんですけどね 朝から0/0kbでゼンゼンデーターが流れてきません・・・
457 :
Trader@Live! :2011/01/10(月) 18:56:44 ID:0dm2Hx5e
自分のトレードが下手すぎて この駄目さを有効に使えないかと考えて 自分が手動で成行売買する際に、過去10回の勝率を算出 勝率40%以下の時には手動注文の逆を自動エントリ。 この時点で自分には、実際の注文はわからない状態。 こんなアホみたいなシステムにしたら、勝率がかなり上がったwwww
ワロタw
どなたかヒストリカルボラティリティに標準偏差を組み合わせたインジを持っている方いませんか?
alpari日本撤退らしいけど、mt4 UKのデモ鯖とかも使えなくなるの?
JPドメインからのアクセスを拒否することは有り得るけれど、 イギリス在住のイギリス人がたまたま日本に滞在中にUK鯖にアクセスできないと 問題だろうから、拒否されるとは考えにくいな。
基本、日本語サポートがなくなると思うの・・ Alpari撤退の裏でメシウマ業者がいて、あとは想像にお任せする。
バットティックは言えば対応してくれるよ〜とか、余計なこと触れ回った奴が原因かもな。 金は落とさず手間ばかり掛かる日本人うぜーってなった可能性がある。 今後、どこの業者がいい?とか聞き回る奴が増えそうだけど、匿名掲示板でほんの僅 かばかりの自己顕示欲を満たすためにペラペラ喋るのは止めような。 強欲の群れはイナゴのように大群で押し寄せて迷惑を撒き散らす。 実際の原因はともかく、水場を失いたくないなら、余計なことは言わないのが一番。 お勧め業者を聞いてくる奴にはODLとでも答えときゃいいんだよw
新しい足が出来たらtrueを返す関数なんですけどスマートな方法ありますか? 今は下記の様にしてるんですが bool IsNewBar(){ static datetime last_check_time[9]; int idx; if(Period() == PERIOD_M1) idx = 0; if(Period() == PERIOD_M5) idx = 1; if(Period() == PERIOD_M15) idx = 2; if(Period() == PERIOD_M30) idx = 3; if(Period() == PERIOD_H1) idx = 4; if(Period() == PERIOD_H4) idx = 5; if(Period() == PERIOD_D1) idx = 6; if(Period() == PERIOD_W1) idx = 7; if(Period() == PERIOD_MN1) idx = 8; bool res = false; if(last_check_time[idx] != Time[0]){ last_check_time[idx] = Time[0]; res = true; } return(res); }
bool IsNewBar() { static int prev; if (prev == bars) return (false); prev = bars; return (true); } ではダメの?
1発目の判定でtrue返すのが拙ければ、if (prev != 0 && prev == bars) return (false); とかすればいいけど、毎回このprev != 0が実行されるのは無駄なような?
>>466 チャートの時間足を変えたときに足の本数が同じじゃなければ そっちの方が良いですね
足の本数が同じになることはないんですかね?
>>468 時間足を変えるとインジはリロード(deinit()→init())されるよ。
だから足の本数が同じになる可能性については考える必要がなくて
1発目の判定をどう扱うか?だけが問題。
試してないけど、init()内で正しいBarsが取得できるなら
static int prevBarsをグローバル変数で宣言して、init()内で
prevBars = Barsしとく手もある。
>>469 IsNewBar関数はライブラリにあるんですけど
時間足変えてinitされても、ライブラリのstatic変数が0にならないんですが
こういう場合はどうしたらいいんでしょうか
バーの本数を使うとややこしい。 ・チャート設定でバーの表示/保存本数を制限していて最大本数に達した場合の挙動 ・新しいバーが出来たのではなく、古い側のバーが追加でダウンロードされただけの場合の挙動 この2つを考慮すればOKだけど、素直に Time[0] を使った方が分かりやすいんじゃないかな。
>>470 それこそinit()内で初期化してやればよくね?
>>471 なるほど、それは考えてなかったorz
bool IsNewBar() {
static datetime prev;
if (prev == Time[0]) return (false);
prev = Time[0]; return (true);
}
こういうことかな?
てか、ライブラリ内のstatic変数はリロードされても再初期化されないのか・・・・・・ この副作用を利用すると、時間足が切り替えられた際に持ち越ししたいデータを ライブラリ内のstatic変数に保存しとけば、deinit()で退避、init()で復帰とかする 手間を省けるな。何かの機会に使えそうな予感。
>>472 それだと今が16時台のとき1H足から4H足に切り替えてもfalseが返ってくるような・・・
あとinit()内でライブラリを初期化って具体的にどうするんですか?
長々と質問ばかりですみません
Time[0] に加えて Period() 喪チェックか。
>>474 ライブラリ用のinit()関数(InitlibHoge())を用意しといてインジ内のinit()から呼ぶとか?
>>475 意外と面倒くさいなorz
もちっと考えてみる。
>>474 いや待て、切り替え直後はfalseで良くね?何か拙いんだっけ?
>>478 15時台のときに1H足と4H足切り替えていた状態で
4H足表示中に16時台になって(新しい足出来て) その後に1H足に切り替えても新しい足はありませんってなっちゃうと思うんですよ
480 :
sage :2011/01/11(火) 17:37:28 ID:U3lvVOE4
時間足もstaticしとけばいいんでない? 時間足が変われば無条件更新で、あとはTIMEで
>>480 その通りにすることで上手くいきました
どうもありがとうございました
ググっても詳しく説明されているサイトがなかったので質問させてください オプションの、ヒストリー内のバーの最大数と、チャート表示バーの最大数はどう違うのでしょうか? 名前からして、ツールのヒストリーセンター内のデータ数が前者、チャート画面のデータ数が後者ということですか?
MACDの0のラインタッチでアラート鳴るインジってないですか? なかなか見つからなくて作るスキルもないので
484 :
Trader@Live! :2011/01/13(木) 07:47:18 ID:1i8DWCQQ
いま0.4枚ポジってるんだが、 0.1枚づつ違うTP決済逆指値を指定することできる? 0.4枚まとめて同じTP決済逆指値しかできない 誰か詳しい方教えてください。
>>484 > いま0.4枚ポジってるんだが、
> 0.1枚づつ違うTP決済逆指値を指定することできる?
> 0.4枚まとめて同じTP決済逆指値しかできない
> 誰か詳しい方教えてください。
1つのぽじに1つのTPシカ設定できません。
ぽじを取るときに、0.1+0.1+0.1+0.1 の4ぽじ取れば可能
486 :
484 :2011/01/13(木) 09:31:58 ID:1i8DWCQQ
487 :
Trader@Live! :2011/01/13(木) 11:23:59 ID:mz1o3i51
なんかヒストリカルデータがちょくちょくおかしい。少数点間違ってたり歯抜けになってたり‥。 どうすれば直るの?ヒストリカルセンターでダウンロードを何回もやればいいの?
>>487 基本的には治らない
FXDDなら1分足を公式からダウンロードすれば、そういった問題はなくなるとは思うが
>>365 で、結果はどうよ?
初売買は儲かった?
490 :
◆0IgpZfFqd2 :2011/01/13(木) 15:21:50 ID:cak27RB7
>>487 1)ヒストリカルセンターで対象通貨の全データを消す
2)ヒストリカルセンターを閉じて、チャート上で右クリックして更新
3)ヒストリカルセンターを再度開く
4)ヒストリカルセンターの対象通貨を選んで一番最新のデータを編集
5)日付を1970/01/01 とでもする
6)ヒストリカルセンターを閉じて、チャート上で右クリックして更新
7)ヒストリカルセンターの対象通貨を選んで一番最後の1970/01/01のデータを削除
491 :
Trader@Live! :2011/01/13(木) 15:54:04 ID:mz1o3i51
>>490 その手順を試してみたが歯抜けデータのままだった。
ちょっと左下のダウンロードボタンクリックしたら歯抜けデータが埋まった。
そしてチャートにも反映された。しかしチャート切り替えて元に戻すと?いつの間にか同じ所
が歯抜けになっている。折角データ埋めたのに消える、謎だ。どうなってるんだ?
なぜデータ消えるのだ。
493 :
Trader@Live! :2011/01/13(木) 16:30:43 ID:mz1o3i51
>>492 いろいろどうもです。
1回終了させてからやったら歯抜け埋まりました。なんだったんだろう‥?
ちなみに金と原油と出来ればTNOTEのヒストリカルほしいのだけど2001年から取れるところある?
BROCOだと昔のデータないんだよね。やっぱないかなぁ。
EAで実際に取引した結果とバックテストで異なる(ポジってない)所が あるんだけどどういうこと? たとえば移動平均線はリアルタイム数値は無く、結果のみ参照してるんでしょうか。
>>494 まあEAの造りしだいってとこだね、たとえば未確定のバーの数値を使ってると、
条件が成立してポジってしまうけど、バーの確定時には条件不成立になったりするので
バックテストでポジらないところでポジってしまうなんてことも当たり前に起きる
他には、リアルと、ヒストリーのデーターは全く同じわけじゃないってのもある
実際のトレード ・MT4に届いた実際のTickの動きによってトレードされる ・注文エラー(拒否)はしばしば起こる バックテスト ・1分足内部で仮想的に作り出したTickの動きでトレードされる ・注文エラーは原則おこらない ヒストリカルデータには1分足が記録されていても、その1分足のデータは 必ずしもリアルタイムに受信されていたとは限らないのだ。
>>496 えらく、あっさり否定されちゃったけどw
EA内では4本値も移動平均も現在の値(未完成のバーの値)を扱える
扱える以上は、プログラマーがどう組んだかが分からない物を
どうしてそれは無いと言い切れるのか、面白い人だねw
>>498 否定されてるのは、まあEAの造りしだいってところかと。
どんなに頑張ってもBTとリアルが一緒にはなることはないとおも
>>496 なぜ、そんなにはっきりとないって言い切れるんだい?
それなりの根拠を示してくれないかな
今日、AlpariUKのデモでGBPUSDの1分足で、自作の少し重い自作のインジケータ付の EAを走らせたら20分くらい1分足バーが抜けたんだけどもこれは、重くなって飛んだということかな? 確認したらAlpariNZのデモでは抜けてなかった。 この時、同EAを6個のチャートで3通貨ペアで走行させたんだけども。 このような抜けが起こるとしたら、監視して回避しないとならないのかな。 PCスペックは十分だけど、他の重いソフトは走っていた。 ファイルにリアルデータを落としていたので、それを見たらチャートには 描画できていない部分が数分間だけども記録されていた。
start関数について、これはTICK毎に呼び出されると思うけど、関数から 抜け出すまでに時間がかかった場合、次のTICKが起こり再突入することは あるかな? その場合は(中にまだいます)FLAGを入れて判断することになるのかな?
>>502 EAとインジケータではスレッドの使われ方が異なるので事情が違いますが、
EAに限定すると、1Tick目に start 関数が呼び出され、
start関数が実行中の間に 2Tick目がくるとそのTick は無視されます。
>>509 ありがとうございます。
インジケータでは、どのような挙動になるのでしょうか?
不明瞭な点で、EAとインジケータの違いについて、EAはインジケータの部分が
なく、売買関数が実装されているもので、インジケータはその逆と思って
います。しかし、双方混合しても動作は行える。これは正しいでしょうか?
>>504 インジケータでは全てのTickが順番に処理されるので、
処理中に次のTickがくるほど重い処理をさせているとMT4が固まるんじゃなかったかな?
EAは独立したスレッドで動く。インジはMT4のスレッドで動く。 DLL書いてプロセスアタッチ/デタッチ、スレッドアタッチ/デタッチを監視してみるとよく分かる。 てか、MT4はインジをチャートに落とすとプロセスアタッチが発火するけど、インジをチャート 上から取り除いてもデダッチが発火しないから困る('A`)
>>506 ,507
ありがとうございます。
インジの場合は処理落ちが許されないので、待機するんですね。
EAの場合は、HIGH、LOWでも経過がわかるのでそれほど
シビアでないわけですね。
DLLについては、VisualStudioで開発して使用できるようですが
MQL4のコンパイラより計算もだいぶ早くなりますかね?
指標計算部だけ、DLLにしとけば早くなるでしょうか?
実験したらすぐわかりそうですが。
HTMLでホームページビルダーとかよくありますが、 MQLでもカスタムインジケータービルダーとかあったりしますか?
インジケータが組めるのかは知りませんが EAビルダーというのをHPで見たことがあります。細かいところは 組めないので、役にたたないのではと思いました。
>>508 山ほどループ回した時にどうか?とかは分かんない(測定したことがない)。
ただ、そもそも論として、山ほどループを回すロジックは本質的に頭悪い。
大概の場合、膨大なループ回数が発生するのは初回起動時(または時間足を切り替えた直後)
なわけだから、未処理の足が既定数より多いならチャート上に表示されてる範囲、または0から
既定数までで一旦処理を打ち切ってstart()からreturn()すればいい。
その上で、2回目以降に最新の足と未処理の足を既定数ずつ処理していけば重くはならない。
ロジック的に多少複雑にはなるけど、DLL内に処理を移すよりは楽なはず。
>>511 なるほどありがとうございます。
未処理の足だけ処理はしていますが、実稼動時の読み込み時に
必要数だけ読み込むのはしていませんでした。
簡単にできそうでやったほうがいいですね。
実稼動時にも、内部でループ処理のある移動平均だけでも
5回計算させているので簡単な計算部分だけDLLにしたらどうかと
思いました。TICK毎の処理だと、スピードがあるほうが有利ですね。
eaで配列を使うにはどうしたらいいですか。 値が0になってしまいます…
ArrayResize してないんじゃ?
517 :
Trader@Live! :2011/01/16(日) 17:11:13 ID:p2ka7Dql
MT4に時間足の追加について教えてください。 MT4で8時間足を表示したいのですが。調べた結果 「Period_Converter_Opt.mq4」 というインジを見つけました。 それでMT4に加えたのですが、8時間足で画面が固定してしまいます。 一度8時間足で表示して同じ画面で他の時間足も見たいのですが それはできないのでしょうか?
無理。
519 :
Trader@Live! :2011/01/16(日) 17:33:15 ID:p2ka7Dql
>>518 無理なんですね。
ありがとうございました。
デフォで入ってるMAやボリバンのインジは 表示させた時のパラやラインの色が記憶されてるけど カスタムで入れたインジのパラやラインのカラーを記憶させる方法ってある?
>>520 extern変数とSetIndexStyle()の省略可能引数は保存される。
ただし後者に関しては、init()内で#property indicator_*を明示的に引数として与えてると
毎回init()内で上書きされるから保存内容が反映されないのに注意な。
#property indicator_*は定数で、コンパイル時に定数展開されるってことが理解できれば
自然な挙動として納得できると思う。
523 :
タイラー :2011/01/16(日) 20:51:28 ID:NzC1Ag10
>>514 インジ内でSAR_COLORというファイルを呼んでいるので、同じページから
sar_colorを検索しておんなじフォルダに入れてex4ファイルを作ってちょ。
うちの環境ではこれで緑も出るようになった。
デフォルトで1分足のバックテストが2ヶ月分しかできないのだけども、 HISTORYCENTERでダウンロードすれば半年分とかできますか? OPで最大バー数を250000にしてHISTORYCENTERで通貨選択後、ダウンロード ボタンを押してみましたが、できませんでした。
>>524 すみません、バックテストでなくインジケータで走らせています。
バックテストは自作でファイルに落としています。
インジケータ上では無理ですかね?
組み込みバックテストは売買関数をいれておらず使用したことは
まだありません。
>>525 いろいろいじってたらできました。
読み込みに恐ろしい時間がかかります。
自作のバックテストのほうが早いです。EXCELでピボット使用すると
時間や日とかお好みで分析できます。
DDEでのコードで質問なんです。 先物関係で「前日終値」と「始値」を表示させたいのですが、CLOSE!とOPEN!で出ません。 コードが違うのでしょうか?それともMT4では表示できないのでしょうか? 無理なら「前日比」でも表示させたいと思うのですが・・・。
>>527 多分Brocoでの話なんだろうけど
エクセルのシートでレートを表示するスクリプトがGBPUSDの場合だと
=MT4|BID!GBPUSDとかなってると思うが、そのGBPUSDをその使いたい通貨ペアの
名前に変更すれば表示はされると思う。
例)DAX30のBIDを表示させたい場合は=MT4|BID!DAX30
ボリバンでレンジ系のEAを作成してるんですがバックテストで 2002-2005年くらいはかなり成績がよく、2007年からかなり落ちこんだのですが これは、業者のEAに対する対策がとられたと考えていいのでしょうか? たんに相場が荒れただけとは考えにくいような感じです。 現在は追いかけっこがされてる状態なのでしょうか? あくまで想像ですが・・・
2007年くらいから相場が変わったって言う人が多いけどね
MetaQuotesのヒストリカルデータって実際インター市場で配信されているレートと一致しているのかな? いまVisualModeで検証をしていたんだけども、FXDDのM1足をダウンロードしてスクリプトで他の足を作って・・ というデータとMetaQuotesのデータを比べるときっちり1時間のズレが生じているんだけども これって実際どっちが正確なデータなのか、どなたか分かりませんか? 今はFXDDのM1でOPTしているんだけども、当然他のブローカで動かすと結果は悪くなるんですよねー 困ったもんだす・・・・
一目の算出方法って 転換線が(過去9日間の高値+安値)÷2 基準線が(過去26日間の高値+安値)÷2 上のようだけど、上の過去9日間、過去26日間と この値を自由に好きな値に設定して、一目を表示させるインジって存在してる? 自分で作成する場合、例えば基準線を10日で設定したい場合は10日で変換、11日なら11日で変換と その都度、変換してインジ作成しないと無理? それとも、その都度変換しないで自由に値を設定出来るように作成することって可能??
536 :
タイラー :2011/01/18(火) 02:14:15 ID:YWnGNIY0
extern <お呼びですか?
>>529 こういうdllってmqlしか触らないような人がすぐ作れるもん?
>>538 マイクロソフトの開発環境.NETなので比較的簡単に無料版がセットアップできる。
コーディングは、普通のC言語なので手順だけ踏めば難しくはない。
詳しいサイトもあるようなので、参考にするのを前提で、ポインタの
知識はあるほうが望ましいかもしれない。
DLL自体は簡単に作れるけど、DDEの仕様を調べるのが面倒でしょw
>>452 新規バー形成時に、配列の各バーの値をずらして再代入しているけども
ポインタで配列位置をずらせば、新規の0番だけに代入すればよくない?
>>533 ありがとうございます。
HPをみましたが、AlpariのデータはHISTORYセンターの案内に変わった?
ようです。
ALpariUK,NZ,FXproで調査をしましたが、どれも結果は似ていますが違いますね。
2007年からの落ち込みは同じでした。
OrderSend関数で130 invalid stopがでるのですが、ALpariでは stop値の最小pipはいくらくらいなのでしょうか? 15pipでも同エラーがでたので・・・ 小数点の丸めはやっています。手動では3pip幅で設定できました。
>>543 MarketInfo 関数で取得してみそ
>544 ありがとうございます。 MODE_STOPLEVELを指定しますと0になりました。 設定できないということかも・・・ DEMO口座だからかな。
>>545 TP/SL値はプライス指定だけど、その辺はOK?
ソースの該当部分を晒した方が解決早そうだが・・・・・・
>>546 OrderSend(Symbol(),OP_BUY, Lots, Ask, 3,0,0, "", magic2);
USDCHFでこれで注文OKでしたが
下記ではだめでした。
OrderSend(Symbol(),OP_BUY, Lots, Ask, 3,Ask-0.001,Ask+0.001, "", magic2);
>>547 OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, Ask - 30 * Point, Ask + 30 * Point, "", magic2);
AlpariUKは確か30ポイント圏内のTP/SL値は設定できなかったはず。
>>548 訂正しましたがinvalid stopがでてしまいます。
MODE_STOPLEVELでの値が0なので、何かあるのかもしれません。
ECN-DEMO口座だからかな
>>549 MODE_STOPLEVELで0が返る時点で何かがおかしいのは確かだが・・・・・・
約定時には既にプライスが動いてる可能性もあるから、TP/SL値を50ポイント前後にして
投げてみたらどうだろう?
もし、これでもダメとなると・・・・・・どういうことなんだろう?orz
>>550 50POINTにして見ましたがだめでした。
STOPLEVELなしではできるので、間違いは考えにくいです。
ちなみに値をファイル出力してはいます。
50Pointは5pipということですかね?
Ask 1.34013000
Ask+50*Point 1.34063000
Ask-50*Point 1.33963000
Instant Execution ではなく Market Execution(カウントダウン) になっている可能性は?
FXCMタイプだね 注文時にTP,SL指定を許可してない。 注文後にポジチェックして注文内容を変更するよろし。
4桁サーバーと5桁サーバーがあるから int pow = 1; if((Digits == 3) || (Digits == 5)) pow = 10; double stop = Ask + 50 * pow * Point; というのを加えると上手くいくかもしれない
>>552 ,553
ECNだとOrderModifyを使わないとSTOPLOSSを設定できない業者があるらしいです。
Instant Excutionにはデフォルトでなっていないかもしれません。
新規発注画面もそうなっていないので・・・
これに切り替えることはユーザー側ではできますか?
>>554 30pipくらいでも設定できなかったので、システム上の問題かも。
あとでやってみます。
>>554 はなかったことに・・・
MarketInfo 関数なんて知らなかった・・・
>>555 注文を受け付けるのはサーバー側処理なので
ユーザー側でどうこうは出来ません。
複数ブローカー対応で必要な処理ですから
今のうちに慣れておくといいです。
ブローカー依存のロジックは初心者までです。
>>551 渡す値をnormalizedoubleしてみる
お答えありがとうございます。
>>558 normalizeはかけていますがだめでした。
>>557 OrderSendしてから、OrderModifyをかけると後者が失敗した時
のことも考えないと・・・
最悪、その間にトラブルということもあるわけで、業者により
違うと思いますがAlpariなんかではどの程度の遅延をおけば、
OrderModifyが通るのでしょうか?
AlpariUKってECNブローカのはずだから、OrderSend時にTP,SLは設定できないのでは? ためしにOrderModifyでTP,SLを設定してOrdersend時にはTP,SL0でやってみそ
おおもとのMODE_STOPLEVEL=0っていうところがおかしいな オレのところのAlpari UKデモでは MODE_STOPLEVELはEURUSD=20,USDJPY=30だけど。 フツーにデモ開設したオレのとは違う口座なのかな
>>559 その通りでございます。
約定注文したものの変更受付しないことが、稀によくあります。
約定後なら遅延は考慮しなくていいです。
563 :
Trader@Live! :2011/01/19(水) 18:04:08 ID:UVcNmuCa
誰かBands mq4のMTF化が正確にできた方いませんか? なぜかずれる。整数はずれない。小数点がつくとずれる。
564 :
Trader@Live! :2011/01/19(水) 18:06:06 ID:UVcNmuCa
ちなみにDEVのパラ部分の数字のことです。
正直リーマンショック前のデーターの検証に意味は無いw リスクヘッジで大分大手の取引量が減った。
>>560 ,561,562
ありがとうございます。
下記やってみた結果です。
<ALpari ECN DEMO>
MODE_STOPLEVEL=0
OrderSendでSTOPLOSS値設定できない。Invalid stopsエラー
OrderSend後すぐOrderModifyでSTOPLOSS値設定OK。
OrderCloseはできた。
<ALpari DEMO>
MODE_STOPLEVEL=28
OrderSendでSTOPLOSS値設定できない。Invalid stopsエラー
OrderSend後すぐOrderModifyでもSTOPLOSS値設定できない。Invalid stopsエラー
OrderCloseはできた。
ECNのほうは手数料がかかりますが、スプレッドは狭いですがトータル的には
ECNでないほうが、いいのでしょうか?(EA前提、EURUSDで)
よくわからない結果となりました。タイムアウトは多めにとっています。
Alpari UKってまだ使えるの?というのはおいといて。 オレのところのAlpariデモ口座(Proじゃないほう)ではSLとTPは設定できるよ
>>567 ALpariNZで調べているので、UKはできるのかもしれません。
カウントダウン形式ならSLは排卵
>>568 え・・・おれずっとAlpari UKの話してた、すまね
>>570 いえいえALpariは同じだと最初思っていましたので・・
初心者ゆとりです MT4で DJIA30 YM_CONT NIKKEI NKD_CONT GC_CONT WTI_CONT ZB_CONT ZN_CONT などが表示できたBrocoのようなサーバーはもう無いのでしょうか? 検索かけてダウンロードしてインストール 開けてみると金と銀なら表示できたりとか株銘柄なら表示できるとか 非常に少ないんですけど。。。 みなさんはどうされているんですか?
broco trader
GCI
私も似たような質問ですが、 MT4で売買可能な国内の業者で FOREX.com Japan ODL Japan セブンインベスターズ 121証券 以外の業者があればご教示下さいませ
ヴォイス込む
即レスありがとうございますっ!! 調べてみたんですが香ばしそうな業者ですね 国内でもMT4対応の業者ふえればいいのに。。。
>>566 ALpariDEMOは新規注文画面では、Instant Executionになっているので
OrderSendでTPが設定できそうなものですが・・・
MODE_STOPLEVEL=28 にもなってるし。
Alpari NZのマイクロ口座デモは 成り行きでSLもTPも設定できる
>>579 それはInstant Executionだからじゃね
ここのTrading Terms押すと口座の種類一覧出るんだが
http://www.alpari-forex.com/en/trader/ Market Execution(NDD, ECN)のデモも30日って書いてあってデモ開設できそうなのに
MT4からはmicro, classic(DD)しか開設できないんだが
classic.nddとかpro.ecnにする方法ないの?
DDとNDDでスプが同じなら別にDDのデモでもいんだが
>>580 そうだお
proでないほうでもslが設定できない、みたいな話だったので。
>>581 AlapriNZのMT4のタブのファイルからデモ口座の申請で登録できるサーバー
一覧が3つだけ表示されますがマイクロ口座デモは下記にはないですか?
Alpari-Demo
Alpari-ECN-Demo
Alpari-NDD-Demo
>>566 で確認したのは
上記の1,2番になります。
>>582 オレはAlpari NZのホムペからマイクロ口座デモを開設した
それはSLもTPも設定できるよ
MT4のログインを見るとサーバーはAlpari-Demoになってる
MODE_STOPLEVELも正しい値
で、MT4から開設したAlpari-ECN-DemoはSL、TPは設定できない
MODE_STOPLEVELも0
新規注文を手動でやってできればできる、できなければできないじゃないかな?
MT4に重たいインジケーターをいくつも入れてトレードするPCが 欲しいのですが、パソコンショップに行ってなんと説明すればよいですか? ゲーマー用のパソコン? CPUは電算処理に有利なやつ選べばいいのでしょうか?
ゲーマー用はグラフィックボードが高性能になっているからちょっと違うと思う 重い処理を快適にって言う意味では 画像変換とか動画編集とかそんなのが近いんじゃないかな まぁ、CPUとメモリをいいやつにしておけば問題ないよ
>>583 ありがとうございます。
確認してみます。
>>586 AtomとかC7とか非常識なCPUじゃなければ周波数命で
選ぶべし。3次キャッシュの量はあんまり関係ない。
グラボも非常識に低い性能のやつじゃなければよし。
現在新品で売られてるパソコンならほぼ問題ないかな。
ユロ円スレの乖離さんの機械を参考にしたらどうかな
周波数よりコア数のほうがいんじゃね
>>588 MT4でバックテストするんだったら、1コアあたりの周波数が
高い方が有利じゃなかったっけ?
既存の動かすだけだったら、当然コア数が多い方が・・・
ドンだけ重いんだw
俺のPen4、3,4GHzが火を噴くぜ
質問者は重いインジと言ってるから、マルチコアはまったく活きないと思うよ。 複数のEAを走らせるならマルチコアが活きるけど・・・・・・ てか、高性能PC買っても重いインジは重いままだろう。 書き方の問題だし、PC性能のうpで改善しようとするのはCPが酷く悪い。
5分足とか、チャートを三ヶ月前の特定の日付けにスキップさせる方法とかってある?
あるお(^ω^)
>>592 チャートの左下隅をダブルクリック
日付を入れてエンター
>>594 4桁の日付入れたけど、スキップしないよ?
>>595 ローソクにマウスポインタ当てれば
2011.01.24 12:00
こんなふうに出てくるだろ?
そう打ち込まなければダメだと思うんだけど・・・・・・・・・・・・
データがダウンロードされてなければスキップしない
>>589 バックテストならそうだね。
雰囲気的に、いくつものMT4を同時起動してトレードするんじゃないかとおもっただけ。
バックテストはクローズ値とか、固定値で計算するので、売買回数の多い EAを作成した場合、よほど勝率が良くないと、バックテスト自体を信用する ことは自滅行為の気がした。売買回数の多くないEAの場合は逆に、信頼性が 低い傾向にあるような気がするし・・・ ロジックにどこまでアイデアを組み込めるかによると思うので市販のEAとか 信用できるとは思えない。過去の結果などどうにでも変えられるから。 現状、バックテストの精度を上げるには最新の値だけを期待値になるよう コーディングしてやってみるしかないかな。
>>599 補足
最新のクローズ値で判定する場合、クローズ値にすでに未来の動向が
加味されていて、良い結果がでると言うこと。
そのためスプレッドの影響を非常に大きく受ける売買回数の多い、薄利の
EAではバックテスト自体が信用できないと思った。
最新の値をたとえばボリンジャーの場合では、2σの位置は最新の値を
除いた点で予測交点を先に割り出し、そこを基準にしたりする工夫をすれば
動いている状況に割りと近くなると思う。
>>599 さすがにその認識は間違ってるんじゃない?
最新のクローズ値は未来の動向を加味されていない値だもの。
ますます意味がわからんw
未完成バーのクローズ値は、現在値でしかないわけだが? どこに未来の動向が含まれていると?
1本前の足の終値が現在以降の足の動きを予測出来るって言いたいのでは?
>>604 未完成バーでは、クローズ値は現在値そのものだけど、
バックテストでの過去の各時点におけるクローズ値は
その足の最後の値を示している。
よって未完成バーの時点では、そのバーの最終値はまだ不明になる。
バックテストでは、それがわかったこととして計算してることになる。
極端な話、未完成バーの時点でそれの最終値が数パーセント高く
なっていたとすると、その数パーセント分をわかっていたこととして
計算してしまっている。その累積がとんでもない利益差としてプラス
方向で計算されることになる。なぜなら、最終方向はそのトレンドを
検知する傾向があるので、それが指標に反映されるから。
>>バックテストでは、それがわかったこととして計算してることになる それたぶん、なにか勘違いしてるとおもふ
がんばりましょうだな
>>606 ビジュアルモードで、ゆーーーーくり動かしてみれば自分の間違いに気づくと思われ
いや606の言っている事は半分正しい。 ボリバンタッチ時にエントリーで・・・というEAを組んで実際に走らせてみればわかる。 俺も先日からそのEA走らせて同じ事に気づいた。
まぁ、バックテスト自体が確定した過去の終値に対してテストしているのだから、 過剰なカーブフィッテングが避けられないという意味で当てにならないとは思うよ
初歩的な質問なんだけど、たとえば25MAを上回ったら買うEAがあったとして MT4でEAを動かし始めた時点でその条件をクリアしてればすぐに買うのかな?
>>610 それは内蔵されたボリンジャー?それとも、カスタムインジケータのボリンジャー?
MTF?それとも同一タイムフレーム?
>>612 そのEAの作り方による
どちらでも作れるということ。
もう少しわかりやすく解説してくり
上なら買うという条件しか入れてないなら、すぐ買っちゃうわな 不都合なら、他の条件を入れていく たとえば前のバーでは上じゃないというのを加えれば クロスしたときだけしか買わない
考えてるのは、例えば25MAを上回ったら買い下回ったら売り
で、25MAを上回ったところでMT4起動してEAを稼動させた場合
どう動くのかな?って質問です
やっぱり買っちゃいますか
>>616 なるほどありがとうございます
ちなみに
>>616 の条件のEAを稼動させる前に25MAを上回った状態で
買いを入れてその状態でEAを稼動させた場合その後問題なく条件に
反応して動いてくれるのかしら
>>618 そのEAの作り方による
一般的によく作られるタイプのEAの場合、そのEA自身が建てたポジしか操作しないので、
それ以外のポジ(他EAのポジや手動ポジ)は何もされない
「そのEA自身が建てたポジ」というのはパラメーターのマジックナンバーが同じかどうかで
判断している場合がおおい
>>618 自分で作るんなら好きなようにできる
人の作った奴なら、作った奴に聞け
なるほどみんなありがとう
システムトレードをしようと思ってるんですが、 FXDDで口座を作ろうと思ってます。 その場合、まとめwikiの導入ガイダンスに書いてあるForex.comから落としたメタトレーダーはアンインストールして、 FXDDのサイトから落としなおさないと駄目でしょうか?
過去データの取得法で過去の一定の期間だけをダウンロードすることとかできないでしょうか? 例えば、2ヶ月前の過去データをチャートから更新で遡ってダウンロードすると2ヶ月前から今日までのデータになりますが、 これを2ヶ月前から1ヶ月前の間のデータだけダウンロードしたいということとかできないでしょうか?
626 :
Trader@Live! :2011/01/23(日) 15:31:18 ID:Cv6+OmxP
無理ですか・・・
>>626 やる前とやった後の2つのソースコードをアップするといいよ。
632 :
Trader@Live! :2011/01/23(日) 16:08:37 ID:Cv6+OmxP
>>629 ありがとうございます
とりあえずスプレッドのほうは何とか出来ました
別のやつでわからなくなったらその時お願いしてもいいですか?
それからMM機能を付けたんだけど機能オンにするにはTRUEでいいの?
そうだよ
いろいろやってみたけどPF1.08以上にならないわ 何がおかしいのか もうソースうPるから誰か改造してPF2くらいのやつ作ってよ
ソースめたとれに上げた 誰か神はいないか?
SWって一回負けたら最低ロットになるように設定されてるのかな? そうじゃなくて勝ったら次のポジは一回だけ前回の倍か1.5倍くらいでかけられるようにして欲しいんだけど
俺にはPF2に改造できる能力ないが こんなたくさんのインジ使って本当に使い物になるの?と思った
一旦インジの集まりに起こしなおしてみて、売買履歴をチャート上にプロットして みないと何とも言えない。 とりあえず各インジのMTF版が要るな。 特別なインジは使ってないっぽいから、ちょっとググれば拾い集められるだろう と思うが、今日はその気力がない('A`)
>>637 正確には設定された最低ロットになる、
条件は
負けた次のポジション(市場TESTモード)
年末とか
パラメーターはソースに隠れてるけど
最低ロットの設定
円末などの期間設定
を外部に出せばパラメーターWindowから設定できるよ。
ほかにTP設定
ストップロス
トレーリング
も同様。
上記を最適化すればPF2,5位いくよ。
誰かFOREX TESTER の解除持ってません?
EA作ってみたのですが、どの業者がいいのかよくわかりません。 とりあえずFXDDに仕様かと思ってるのですが、どうなのでしょうか? みなさんどこ使っているんですか?
俺はFXDDにしたけどダウとか原油が表示できなくて(´・ω・`)ショボーン
FXIM と FXCM ODL 121 ヴォイスコム はやめておきませう
648 :
Trader@Live! :2011/01/24(月) 20:33:57 ID:SKbhlUkG
>>642 負けても最低ロットにならないようにする方法教えてもらえませんか?
どうしてもすてでぃをpf2.5くらいにしたい ソフト買うお金もない俺にはこれしかないんだ 誰か助けてくれ
金も無い学も無い 無いないずくしだねー そういう君はFXをやる資格は無いから、ここに来ない方がいいよ
ゆとり専用だからいいでしょ それに俺はFXに全てをかけてるんで
>>648 判定部分をコメントアウトすればいいでしょw
利益0でも最低ロット
if (OrderProfit() == 0)
dLots = MinLots;
負けたら最低ロット
// if lose, use smallest lot to test the market before resume full lots
if (OrderProfit() < 0 && OrderMagicNumber() == MagicNumber)
dLots = MinLots;
↓
/*
if (OrderProfit() == 0)
dLots = MinLots;
*/
負けたら最低ロット
// if lose, use smallest lot to test the market before resume full lots
/* if (OrderProfit() < 0 && OrderMagicNumber() == MagicNumber)
dLots = MinLots;
*/
やるならちゃんとバックテストして資金推移を確認しておいた方がいいよ。
カウフマンの効率レシオをオシレーターで表示してくれるインジケーターないですか? 適応移動平均のならいっぱいあるんですが、そっちはいらない・・・
654 :
Trader@Live! :2011/01/25(火) 11:17:12 ID:UhVD3VWr
655 :
Trader@Live! :2011/01/25(火) 15:03:32 ID:Es8iuOie
forex factory にある、複数通貨アービトラージEA使ってるやついる? Rをインストールしたりdll入れたりよく分からんのです。 使ってる人いたら教えてください。
>>656 なんていうシステムなのかぐらい書こうよ
EURUSDの5分足のボリンジャーの反転狙いのEAのテストで、2002-2005年 くらいは非常によくて2007年に急に落ち込むのでチャートを見たが納得した。 まるで今の1分足のように、ボリンジャーの幅を押し広げて行っているし 不規則な動きも多い。 やっぱり、EA対策が採られた年だったような気がする。 今は、売買主がチャートとか見て動かすのである程度の規則性は保っている と思うけどチャートがここまで変化するということは、理解できていないEAを 使用するのは博打といっしょ。 チャートを見て、その時の状況に変化させていく技量が求められる。 基本はやはり、チャートを随時みて対応していくしかない。 万能のEAは存在しないし、市販のEAで変数をいじったくらいでは まったく無理無駄。 Alpariでデータを見たけども、もしかすると2007年ころはECNやNDDで なかったのかな?
最後にオーダーを修正した時刻を表す関数ってある? オープン時刻とクローズ時刻を表す関数は見つかったけど、 修正した時刻を表す関数が見つからない。
バックテストで↓のエラーができるときはどんな原因が考えられるんでしょうか modification denied because order too close to market 注文時に設定したTPに到達する直前にEA側で 決済注文を出してるときに起こってるみたいなんですが
TPがフリーズされてるんでしょ
665 :
Trader@Live! :2011/01/25(火) 22:00:40 ID:o6YpJxwS
すんません すてでぃのPIPSTEPを変えるにはどこいじればいいんですかね 中身見たらPIPSTEPじゃなくてlotstepっていう行は見つかったんですがこれですか? 一番下と上あたりにこの名前がありました
>>664 即レスありがとうございます
TPがフリーズというのはどういう意味がわからないのですが
対処法は待つしかないということでしょうか?
バックテストで出るので気持ち悪いのですが・・・。
>>666 TP削除できるなら削除。だめなら待つしかない
>>665 double dOneTrailingStopPoint =
↓
extern double dOneTrailingStopPoint =
でぱらせっていできるようにぢたら?
>>667 やはり待ちますかw
自前で利確するようにします・・・
ありがとうございました
>>663 メッセージは「ポジションのtakeprofitかstoplossを変更しようとしたが、
その値が今のpriceに近すぎて変更できない」という意味でしょうから、
エラーが出ているのは決済注文ではないはず。
takeprofit,stoplossが今のpriceからどれだけ離れていればOKかは、
MarketInfo()で確認できます。
>>670 エラーは決済注文(OrderClose)の返り値です
TPを注文時に設定しているポジでTPちょっと手前で(OrderClose)するときに出るような感じです
おっしゃるとおりTPと(OrderClose)の価格が近いのかもしれません
>>671 そのエラーって5桁化した後FXDDで出るエラーじゃない?
FXDDで4桁だった時にはでなかったエラーが正式5桁対応後
バックテストでerror 145が頻繁に確認出来るようになった
>>670 俺が調べた限りだと、そういう理由じゃない感じがした
本来は
>>670 さんが言う理由の場合はerror 130 ERR_INVALID_STOPS
がでるはずなんだよね。
俺なりの結論からするとある一定の時間オーダーがロックされている為に、修正をできない
っていう意味なんじゃないかなと思ってる
このエラーが出たら、タイムアウト(15sec)を入れて再度実行するとエラーが出ない
OrderModify error 145 Error(145): modification denied because order too close to market これか? OrderModifyで出てるみたいだけど、あまり気にしてなかった
>>671 670です。何の確認もしないで的外れな事を書いたようで申し訳ないです。
MQLではあまり聞きませんが、他の言語ではエラーメッセージがデタラメって
ことはよくあります。もしそうなら672さんのように対症療法に頼ることになり
そうですね。
>>673 エラー無視は豪胆過ぎませんか?足許すくわれないよう祈っときます。
>>672 たしかにFXDDデモ口座なので下5桁です・・・
ちなみに↓のように出ます。バックテストです。
例1
0:18:09 2006.08.25 00:20 TEST_EA EURUSD,M1: open #495 sell 0.01 EURUSD at 1.27690 tp: 1.27590 ok
10:18:09 2006.08.25 01:10 TEST_EA EURUSD,M1: OrderClose error 145
10:18:09 2006.08.25 01:10 Tester: take profit #495 at 1.27590 (1.27561 / 1.27584)
例2
10:18:12 2006.09.22 12:58 TEST_EA EURUSD,M1: open #516 buy 0.01 EURUSD at 1.28083 tp: 1.28183 ok
10:18:12 2006.09.22 13:56 TEST_EA EURUSD,M1: OrderClose error 145
10:18:12 2006.09.22 13:56 TEST_EA EURUSD,M1: OrderClose error 145
10:18:12 2006.09.22 13:56 TEST_EA EURUSD,M1: OrderClose error 145
10:18:12 2006.09.22 13:56 TEST_EA EURUSD,M1: close #516 buy 0.01 EURUSD at 1.28083 tp: 1.28183 at price 1.28173
>>673 「OrderModify error 145」ではなくて
「OrderClose error 145」なんですよね・・・これがまたナゾです・・・
>>674 いえいえ、参考にさせていただいてます
私もエラー無視というのは気持ちが悪いのでなんとかしたいんですがw
>>675 エラーメッセージが間違えているのかと思いましたが
MT4の仕様ではポジションのTPと今のpriceの差がMarketInfo(,MODE_FREEZELEVEL)
以内であれば、ブローカーはModifyやCloseを拒否する権利を有する。
ってことかもしれませんね。
>>676 そのとおりでした
forex.com、Alpari NZ、FXDDと調べましたがFXDDだけMODE_FREEZELEVELが10で他は0でした
レートが指値とMODE_FREEZELEVEL離れてないときの注文でエラーが出るようです
FXDDは指値近辺で 1pipsゴソゴソしますよってことなんでしょうか・・・w
とりあえず、指値は使わず自前で決済するようにします
ありがとうございました
>>664 さんのおっしゃってたフリーズとはこれのことだったんですね
理解不足ですみません
はじめてEA組んだんですけど、ポジションとるときの確認画面が出ないようにできません。 オプションのAllow live TradingとEAの”Ask manual Confirmation”のチェックは外しているんですが・・・ ほかになにか設定の必要があるんでしょうか?
>>678 Allow Live Traidingだけチェック入れてみそ
>>679 レスありがとうございます。
Allow live tradingにはチェックいれてるんです。
Ask manual・・・・・のほうだけはずしてます。
>>678 EAのプロパティにも同じ項目があるから、そちらが外れてないのでは
デモ口座に関して質問です。
損益や証拠金、維持率の見方が分からず困っております。
以下の画像を例にすると、損益が-3800円になると思うのですが、
-46.22円となっているのはなぜでしょうか?
http://2ch-ita.net/upfiles/file3349.gif 計算方法は以下で正しいですよね?
mt4の場合、数量は1で、1ロット=10万通貨ですよね?
----
(約定価格 - 現在価格) * 数量 = 損益
(82.173 - 82.211) * 100,000 = -3800
----
口座の設定は以下になります。
----
口座タイプ: forex-jpy
通貨種別: JPY
レバレッジ: 1:100
証拠金: 1,000,000
----
mtのバージョンは、"4.00 Build 229"になります。
皆様、ご教示頂ければ幸いですmm
>>682 ターミナルウィンドウを右クリックして、損益表示形式を変更
>>681 EAのプロパテイのほうも、同様にしてるんです・・・
FXDD固有のMT4なんですが、それは関係ないですよね?
そりゃそうだ
dx_contみたいにユーロインデックスなチャートを教えて下さい
>>684 MT4再起したら自動でポジるようになりました。
みなさんありがとうございました。
よかったでつね(^ω^)
MAにローソクがタッチしたらアラームがなるインジケーターってあります?
691 :
682 :2011/01/27(木) 20:26:17 ID:2M3Jgd0a
>>683 ありがとうございました。建玉の損益が円単位で表示されました。
ドル表示だったんですね。
しかし、残高や証拠金に変化が見られません。変更する方法はありますか?
設定時に通貨種別がJPYになっていても、ドル表示なんでしょうか?
この場合、証拠金の設定はドルで考えなければなりませんか?
何らかの理由でポジションを2重にとってしまうということはありえますか? オーダーのマジックナンバーで判別してポジションを2つ以上もたないようにしてるのに、 今日何故か2つ余計にポジション開いてました。
695 :
692 :2011/01/28(金) 07:27:14 ID:dxLnzwcc
>>694 リンク先のスレ見ると2重ログインが原因みたいですね。
ありがとうございました。
ODL Japanでチャートの右側の値段だけpips単位で 表示可能であれば方法を教えてください (たとえば0.1pips以下は四捨五入するとか。。。) よろしくお願いします
>>696 サーバが4桁か5桁かに依存してるみただから、無理じゃないかな
>>697 そうですか・・・
国内外どちらでもよいのでNDDのMT4対応業者で
チャートの値段を「0.1pips単位でなく整数pips単位」で
表示する業者があれば、どなたかよろしくお願いします
>>698 NDDで4桁ブローカという所はないはず
少なくても俺は聞いた事ない
なんで、そんなに4桁に拘っているの?
不正なチケット番号と言うエラーが出ます。何故でしょうか? int start() { double BufHigh = iCustom(NULL, 0,"dougu", 0, 1, 0); double BufLow = iCustom(NULL, 0,"dougu", 0, 2, 0); //ポジション数の確認 int MAGIC = 777; //ポジション数の確認 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++; } } if(OrderType() == OP_BUY) { Pos++; if(iClose(NULL,0,0)>BufHigh) { OrderClose(OrderTicket(),OrderLots(),Ask,5,0); } if(OrderType() == OP_SELL) { Pos++; if(iClose(NULL,0,0)<BufLow) { OrderClose(OrderTicket(),OrderLots(),Bid,5,0); } }} //もしバンドを越えたら if( Pos == 0 && (iClose(NULL,0,0) > BufHigh)) { OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+(30*Point),Bid-(50*Point),"SELL",MAGIC,0,Blue); } //もしバンドを越えたら if( Pos == 0 && (iClose(NULL,0,0) < BufLow)) { OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-(30*Point),Ask+(50*Point),"BUY",MAGIC,0,Red); } } return(0);
なんか無茶苦茶だから。
あーほんとだ 利確部分を無視した場合おかしなところはありますか?
無効なチケット番号を用いてクローズしようとしているからじゃないのか
あー こいつじゃねのか? if(OrderSelect(i,SELECT_BY_POS) == false) break; ここでセレクト出来なかったときにbreakでループを抜けているよな この時にOrderCloseを実行されれば無効なチケットとかって出そうだな 普通こういう時はcontinueを使うもんだろ
皆さんありがとうございます
>>704 変えたら今度は関数パラメータの値が不正だとか…
Printでパラメーターをログに出して眺めてみれば?
707 :
Trader@Live! :2011/01/29(土) 08:47:46 ID:h+GWzOH6
tickの更新間隔ってどれくらいですか?
お客様の通信環境に左右されますので分かりかねます
709 :
Trader@Live! :2011/01/29(土) 09:10:27 ID:h+GWzOH6
大体どれくらいですか?
罫線分析ツールのVolumesを使用し表示された数値が各足のtick更新回数です。 ただしこの数値はサーバーでのtick更新回数を示しており、お客様のPCに実際にtickが到達した回数ではありません。
>>700 ポジションを数えてるのにCloseしちゃ、数えてる意味がないでしょw
あと、Continueがおかしいし、if文の括弧の対応もおかしいよ。
ロウソク足の上ヒゲ下ヒゲをなくしたチャートを表示するにはどうすれば良い?
>>707 誰かが取引を行うまで来ないよ
だから不定期、一定周期を期待してはいけない
startの頭でサウンドでも鳴らしてみれば分かるよ
デモ申請しまくったらログイン情報が増えすぎたorz 消すことってできないですかね?
もちろんできます。
メタエディター上でコピーをすると エディターが落ちてしまうのですが対策ってできますかね?
>>717 IMEを2007じゃなくて標準のに変える
できます。
datetime T; (前略) if(CurrentPosition==-1){ if(H>=L){ (中略) if(Base<Open[0] && OrdersTotal()<1) { Ticket =OrderSend(Symbol(), OP_BUY, 1, Ask, 3, …略); T =iTime(NULL,PERIOD_M5,1);}} else if(H<L){ (上のif内と類似のため略)}}} else{ OrderSelect(Ticket,SELECT_BY_POS); if(OrderSymbol()==Symbol() && 1200 < iTime(略)-T){ if(OrderType()==OP_BUY){ if(Base>Open[0]){ OrderClose(OrderTicket(),OrderLots(),Bid,3,Green); }} if(OrderType()==OP_SELL){ 略 } }}} return(0);} こんな感じで一定時間以上すぎてからじゃないと クローズしないよう T にポジションとった時間をいれたかったんですけど、 Tが else に移行すると T=0 になっちゃいます。 どうしたらよいんでしょうか?
>>721 訂正 datetime T >> int T
でした
>>722 if (TimeCurrent() - OrderOpenTime() > 一定時間)
{ クローズ可 }
else
{クローズ不可 }
>>723 ありがとうございます。
解決しました。
でも、
if内で値を格納しても、elseでは0に戻っちゃうものなんですか・・・?
0に戻るんじゃなくて、elseに来るときはそもそもifの後は実行されてないから値が設定されてない 両方で使いたい値はifの前に設定するよろし
>>725 >>721 みたいに
if内でポジるときに一度値が入ってるはずだから、
そのあと else になった時も、その値が格納されたまま反映されるのかと思ってたんです。
Print使って確認したら、if内実行時はちゃんと入ってるのに、
のちのelse内実行時ではゼロになってるもんで・・・
一度実行されて格納されてもゼロに戻っちゃうのかなぁーって思ったんです。
次回実行時まで値を保持しておきたい場合は変数をスタティック宣言するよろし
>>727 なるほど、ちゃんと値を保持しました。
ありがとうございます。勉強になりますなぁ。
初期のサンプルプログラムや もってきたプログラムでバックテストすると安定的に 負けるんだけど、これ逆やりゃ勝てるってこと? なんか信頼できないくらいきれいな曲線なんだよなー
>>729 ただのスプ負けなんじゃないでしょうか?
EAのバックテストですが、CLOSE値でなくOPEN値でやる方法は あるでしょうか?
>>731 モデルでOpen prices onlyを選べばいい。
>>732 ありがとうございます。
OPEN値のテストでも、そこそこ利益のでるEAはあるのでしょうか?
734 :
712 :2011/01/30(日) 23:06:04 ID:K8lkgHWQ
自殺しろと言いたい床だけどここは初心者スレだね プロパティのカラーをいじれ
おお目からウロコだ どうもありがとう!
取引する時間帯を制限するためtimehourの変数いれたんですが 結果をみると全然制限されてないんですが、何が間違ってるんでしょうか? コンパイルはエラーなしでした // ポジションチェック ポジション無し if(CurrentPosition == -1) { //もしメインがシグナルを下から上にクロスしたら if( CrossMACD(12,26,9) == 1 && TimeHour(CurTime()) ==1) { //買いポジションを取る Ticket = OrderSend(Symbol(), OP_BUY, 1, Ask, 3, Ask-(200*Point), Ask+(200*Point), "Buy", 0, 0, Red); } //もしメインがシグナルを上から下にクロスしたら if( CrossMACD(12,26,9) == 2 && TimeHour(CurTime()) ==1) { //売りポジションを取る Ticket = OrderSend(Symbol(), OP_SELL, 1, Bid, 3, Bid+(200*Point), Bid-(200*Point), "Sell", 0, 0, Blue); }
>>730 MT4のバックテストってスプレッドも
計算されてるんですか・・・どこで設定するんですかね?
>>738 できない
そのときのスプレッドでバックテストされる
誰かがやる方法を教えてくれるまで待て。
設定するんじゃなくて、設定されているんですよ ストラテジーテスターの通貨ペアのプロパティを見れば その通貨のスプレッドが分かります。 ちなみに、ブローカが稼働している時は その時点のスプレッドが適用されている
最近fa○って人のブログの記事のレベルが下がってるって思うんだけど、 俺以外にもそうおもってるやついるよな? もしかして、ブログ売っちゃって違うやつが書いてんのかなぁ。 真相がどうであれ本当に残念なことだ。
正直言うと、ネタが無いんですよ。^^; ネタ探しの旅に出てはみたものの、早々見つかるわけもなく、 職場の環境も変わったので調査に時間もとりにくくなったのが真相です。。 そろそろ潮時かな。苦笑。。
>>733 OPEN値のテストモードですが、BARの0番目の値だけをOPEN値と
してくれるのでしょうか?
でも、例えそうしたとしてもEA内の指標の計算でCLOSE値が採用
されていたら、指標ではCLOSE値採用で変更されずそのままですよね?
>>742 まさか現在進行形で監視中だったとはw
生意気いってすみませんでしたorz
ネタに困っているようでしたら、ネタEAでもつくっ・・・なんでもないです。
| |-‐ ̄ ̄`' ‐-,, |: /´ ゛ヽ::::::::::\ |/ ヽ::: i:::ヽ | -ー l::: }::::: l |● ヽレルi:::: | |⊃ ●゛i(⌒\ | ,__, ⊂ヘ iy ゙i h `´ _、ゝ,、ス\ ) 昔からずっと ミ}ーT゛ i ::::l| \>' 見守ってるにょろw |):゙i三|::ッ'l ::::l|t,,/ |i:::∨ッ l ::::l|::|
>>737 MQLにCurTime()なんてあったっけ?
>>738 バックテスト時のスプレッドは SpreadChanger みたいなツールを使うと変更できるらしーですよ。^^;
>>746 CurTime() は TimeCurrent() の古い表記です。Build 229 でも一応使える関数でした。
>>737 は、EAの全コードと、バックテスト時の売買履歴をアップローダに上げたほうが良いかも。。
TimeHour(CurTime()) ==1 は正しい表記だし、1時台にしかポジを取らないようになっていると思う。。
>>743 最新のバーのcloseは現在の値なのでclose=openになるだけ
ビジュアルモードで低速で眺めてみればピンとくると思う
>>742 fa○さん。dllの作成・暗号化の記事は拝見しましたが、
今度はdllをハックする方法を解説して下さい
>>741 神に文句たれる前にあなたのブログを公開してみてください
この手の提灯持ちが一番タチワルイ('A`)
本人が登場しててわろたw
>>750 ,751
直接ブログの方に書き込んだらおまいらみたいなのからバッシングが
すごいだろうなぁと思ってできなかったんだよ。察してくれ。
ブログも公開以前の問題で書いてすらいない。
最後になるけど、この通り煽り耐性めちゃくちゃ低いんでこれ以上煽らないでねw
>>748 現在実行中は、そうですね。バックテストの場合のCLOSE値は
OPENからCLOSEまでに5分足だと5分のずれがあるわけで
その間に、HIGHやLOW値などのTICKデータでエントリーした
場合には、CLOSE値での計算結果はまったくあてにならないと
思われます。(事後のデータを採用してることになります)
なので、完全なCLOSE値のエントリーが保障されているEAか
あるいはOPEN値でもよい結果がでているEAはないのかなと
思いました。
>>754 事後のデータではなくて、確定前の値だよ
新しいバーができた瞬間は一つ前のバーが完成した瞬間なので
一つ前のバーを使えばcloseでテストしてるのと同じ
普通はそういう風に組むわけだけど
まあ他人の作ったEAの中身は?ということなら、どうなってるか分からんねえ
>>755 1つ前のバーですべて判断してもらえれば、どう転んでも事後の結果の
採用にならないので信頼性がありますね。
ただ、巷のEAの結果を見ると勝率とかが良すぎて最終バーで判断してる
ものがほとんどじゃないかと思ったわけです。
それだと誤差どころでなく10%以上よくなってると。
助けてください 気配値表示の欄にある通貨ペアを削除したいのですが、「右クリック」→「選択通貨ペアの非表示」を押しても消えません。 消す方法をどなたか教えてくれないでしょうか
>>757 そのペアのチャートを一度開いたとか、EAやインジケータなどが使っている等の理由で、
MT4本体がそのペアを参照していると消せません。
MT4を再起動してみて消せるかどうか試してみましょう。
>>756 スキャルピング用EAなどでは確定前のテクニカルを使ってるやつも多いが
一般的なものは一つ前の確定した値を使ってるんじゃないかな
仮に確定した値を使わなかったとして、
それがなぜ良い結果になるのかがわからないんだけど?
>>757 通貨ペア数の最小化をすれば、今開いているチャートのペアだけになるよ
>>756 ちまたの成績良すぎるEAのほとんどはナンピンゲールのオーバーフィッティングだからw
MT4のテスター環境では、hstファイルを直接読み取る以外に、 未来の価格情報を参照する方法は無かったと思います。 5分足EURUSD でテストする時に、 MTFで1時間足の4本値を読むとか、 EURJPY,USDJPY の終値からEURUSDの価格を合成してみるとか、 それらの計算をカスタムインジケータ内で行う等して 未来の終値が分かるか確認しましたが、全て失敗しました。。
なんか一、二週間前にも前にもこの流れなかった?デジャヴ?
>>749 ここで聞く程度の事しか出来ない奴がDLLクラックできるわけないだろ
最低限Cとアセンブラとマシン語は必須と思っていていい
つかそこまでのスキルあれば、あとは何をすればいいかぐらい分かるだろ
767 :
Trader@Live! :2011/01/31(月) 13:48:21 ID:PwMhT6+O
>>759 わかりにくいのであくまで一例ですが
+2σ接触で売りのサインのEAを仮定して
現在バーのCLOSE値が0.16では標準偏差+2σが0.17ですが、0.175の時点では
+2σが0.175となり、交わり売りサインがでるとします。
現バーのHIGH値を0.175とすると、HIGH値基準だと+2σ接触で
売りのサインがでます。もしここで傾斜フィルターとして、傾きが大きい
場合はキャンセルする機能があったとして、0.16のCLOSE値では、OKで
0.17のCLOSE値では傾きが大きくキャンセルされてしまうとします。
この傾斜フィルターがCLOSE値採用ではOKとなるわけですが、
HIGH値0.175→CLOSE値0.16に戻ってきているわけですから、方向は反転方向で
利益側の流れとなります。また、売りポイントは、0.175付近で計算してしまうと
CLOSE値で計算よりも利益の乗った結果になります。
あくまで、HIGH値やLOW値でエントリのEA場合ですが結構それが
多いような気がしたんで、因みにこの方法で計算やると勝率だけでも
10数パーセントよく見えてしまいます。
その辺は、ロジック非公開のEAではまったくわからないんで、厳格なEAの
作り方が記載されたサイトの結果でないとバックテスト
があてにならないとなると博打と同じです。少なくとも、すべてCLOSE値を
採用とかを明記するのは最低限必要だと思いました。
上記の場合、利益側の流れがあるといいましたが、これは非常に影響力が大きく、どの程度
勝率に変化があるか、そのCLOSE値の乖離割合で分布を見るとプラス利益側に
乖離が大きければ90%以上の勝率になり、マイナス側だと相当低くなります。
まじか、失望した。
>>766 ReverseEngineerかけてもCソース出ないDLLのクラック方法を聞いてる
有料ソフトでも何でもいいし、膨大なアセンブラ出力からCに持っていく方法でもいい
>>768 ごめん
まったく理解できない・・・。
でも、MTのバックテストが厳格でないと言いたいならそのとおり。
1分足の中はしょせん計算で求められた結果なんだからさ
あるツールを使えばアセンブラをCのソースコードに変換してくれる物はある事はあるんだが あれは個人では入手できない法人じゃないと駄目っていうことらしい、あと金額も20万程するし まあ、それでも暗号化されているバイナリーは暗号を解析しないと駄目だけどな ただ言える事は、そこまでの情報に辿り着けない時点でバイナリーをクラックする資格が無いと思っていい ちなみにdotnetで作らている物なら比較的簡単にデコはできる ヒント:Reflector
ヒント:dllは前提必要な.netなわけがないw
>>768 変なところにこだわってるようだけど、こだわるべきはまったく別のことです。
> ただ、巷のEAの結果を見ると勝率とかが良すぎて最終バーで判断してる
> ものがほとんどじゃないかと思ったわけです。
> それだと誤差どころでなく10%以上よくなってると。
巷のEAのバックテスト結果は最適化の結果で、ただの後出しジャンケンです。
ヒストリカルデータで計算してこうすりゃ良かったと計算してるだけなんだから。
後だしジャンケンなんだから爆益であたりまえ、でも何の意味もありません。
後だしジャンケンが強いのと、未来の値動きから利益がだせるかどうかは
ほとんど無関係。
実際のEAの実力とバックテストの結果の誤差は10%なんて可愛いもんじゃ
ないですよ。まったくヘボなEAでも最適化すれば利益をだせるパラメータくらい
簡単に見つかります。もちろんバックテストの結果を信じてそんなもの使えば、
大損ってことに。
くーちゃん降臨中?
>>776 まあ、ほとんどがそうだろうけども確率論になるから前バーのCLOSE値までで
判断して、1000回/年の売買ポイントのバックテストで結果が良ければ問題
ないと思う。ただし、売買回数が多くないとドローダウンが大きくなりすぎ
るのと利益がでないので意味はないと思う。
PF1だと、勝率60%が上限くらいじゃないだろうか?
それだとスプレッドにやられるし、いいのはそう簡単にはできないだろう。
CLOSE値採用してるかどうかは、OPEN値モードでテストしてもわからないし
ブラックボックス、これ自体が大きな博打。
ここ2カ月、いろいろ作ってみたり試行錯誤してみた現時点の考えで、まだ投資
はしてなくて事前調査段階で、でもまあチャートを見てる分には裁量で勝て
そうな気はするんで、作りこめばまだ伸びそうだけど勝算は薄そう。
まさにこのスレにぴったりだな。
みんな凄いね 俺は市販EAを活かすしか脳無いのに MQLですら本買って諦めたよ でも今月は1000p取れてて、最大DDも2%くらい くーちゃんみたいに凄い人が作ったEAなら加速度的に増えるんだろうね
>>778 ほとんど、現状の方法はダメかと思ったけども、今ほぼ実際の動きに近い
バックテストでPF0.9くらいで72.5%達成、PF0.5くらいの設定がよくて80.3%、
利益はほぼ変わらず。11年間通算で取引12900回、負けた年は2005年のみ。
トータルで23361PIPなので、利益はたいしたことはない状況。
自分でも、これくらいいけたのはだいぶ収穫だった。これだとかなり良い
EAも存在してると思う。
ここまでで、かなり間違いを繰り返し利益が増えたように見えてがっかり
したからもう間違いのないことを祈るノシ
>>773 RECもBoomerangもIDAProFreeも使ってるが
Cに出力できないdllをどうするんだってこっちゃ
>>アセンブラをCのソースコードに変換してくれる物
を教えてくれたまゑ
>>774 そう
PE iDentifierで調べて.netならReflector for NETでいけるが
.netのわけがないな
>>781 PFが1未満じゃアカンだろ。EPOのことか?
>>783 最近、PFを某EA販売サイトで見て勘違いしていました。
勝率80.3%でPF2.19 PROFIT:LOSSCUT設定比 0.5:1
勝率77.3%でPF2.16 PROFIT:LOSSCUT設定比 0.7:1
勝率72.5%でPF2.14 PROFIT:LOSSCUT設定比 0.9:1
となりました。ほぼ、安定してる模様です
>>784 で、Every tickモデルでバックテストしたらどのくらいだ?
>>768 長文過ぎて、論理把握するのめんどいから、論理があってるとしても
それはけして未来の値を使ってるからではなくて
未来の値の代わりに現在の値を使ってるに過ぎないでしょ
バー完成途中で成立した条件がバー完成時には消えてるというのは
現在の値を使うなら当たり前
大体、未来の値が使えるのならスキャって勝率100%いけるっすねw
>>782 アセンブラの方が自由度が高いのだから、Cに変換できないコードがあるのはどうしようもないと思うよ。
市販のツールでプロテクトされている場合、それをunpackするチュートリアルが落ちているかもしれないので、
それを参考にがんばるしかないんじゃないかね。。。
>>782 なんでそこまで根拠無しに.netであるわけがないって言えるのかな?
俺はいくつかクラック試みたけど、結構VB.netやらC#で組まれているDLLを見かけたけどね
日付で制限されている程度であればReflectorで解析して、Stirlingでごにょごにょすれば解除とか出来たけどな
逆コンパイルに幻想を持ってるやつ多いな。 一旦機械語に翻訳されてしまったらほとんど元のソースコードを得るのは不可能だ。 高価なツールを使ってもその精度はグーグル翻訳で日本語→中国語→日本語と 翻訳して元に戻るかどうかってレベルだ。 MT4や.Net、Javaみたいな中間言語を使うものならかなりの精度で元のソースを 復元できるけどね。
.netでも、コードによっては、元と似ても似つかぬコードになるしねえ
791 :
787 :2011/01/31(月) 21:39:12 ID:a4/LVWZn
>>747 こんなプログラムです。 timecurrentにしてもだめでした
int start(){
//変数の宣言
int cnt, CurrentPosition; int Ticket;
// オーダーチェック(ポジションなどのデータ)
CurrentPosition=-1;
for(cnt=0;cnt < OrdersTotal();cnt++){
OrderSelect(cnt,SELECT_BY_POS);
if(OrderSymbol() == Symbol()) CurrentPosition=cnt; }
// ポジションチェック ポジション無し
if(CurrentPosition == -1) {
//もしメインがシグナルを下から上にクロスしたら
if( CrossMACD(12,26,9) == 1 ) {
//時間帯制限
if( TimeHour(TimeCurrent()) ==1 ) {
//買いポジションを取る
Ticket = OrderSend(Symbol(), OP_BUY, 1, Ask, 3, Ask-(200*Point), Ask+(200*Point), "Buy", 0, 0, Red);
} }
//もしメインがシグナルを上から下にクロスしたら
if( CrossMACD(12,26,9) == 2 && TimeHour(TimeCurrent()) ==1)
{
//時間帯制限
if( TimeHour(CurTime()) ==1 )
{
//売りポジションを取る
Ticket = OrderSend(Symbol(), OP_SELL, 1, Bid, 3, Bid+(200*Point), Bid-(200*Point), "Sell", 0, 0, Blue);
} } }
// ポジション有り
else {
//ポジションの選択
OrderSelect(CurrentPosition,SELECT_BY_POS);
//通貨ペアの確認
if(Symbol() == OrderSymbol())
{
//もし買いポジションだったら
if(OrderType()==OP_BUY)
{
//もしメインがシグナルを上から下にクロスしたら
if( CrossMACD(12,26,9) == 2)
{
//手仕舞い
OrderClose(OrderTicket(),OrderLots(),Bid,3,Green);
//ドテンで売りポジションを取る
Ticket = OrderSend(Symbol(), OP_SELL, 1, Bid, 3, Bid+(200*Point), Bid-(200*Point), "Sell", 0, 0, Blue);
} }
//もし売りポジションだったら
else if(OrderType()==OP_SELL)
{
//もしメインがシグナルを下から上にクロスしたら
if( CrossMACD(12,26,9) == 1)
{
//手仕舞い
OrderClose(OrderTicket(),OrderLots(),Ask,3,Green);
//ドテンで買いポジションを取る
Ticket = OrderSend(Symbol(), OP_BUY, 1, Ask, 3, Ask-(200*Point), Ask+(200*Point), "Buy", 0, 0, Red);
} } } } return(0);}
>>791 ドテンでポジション取るときに時間制限が無いのが原因という可能性は??
>>785 EveryTickは中身は1分足でやってるらしいですが、自分のは5分バーのOPEN値
ベースでエントリーポイントを割り出して判定はHIGHとLOWでその交点を
見ています。バックテストは、自作でそのほうが正確なはずなのと、純正の
バックテストはまだ、取引関数をセットしておらず走りません。
各指標も自作しており、最後のバーをすべてOPEN値ベースで計算しており
正確と考えています。
>>786 アセンブラも80386系を少しやってましたが、コンパイラがはっきりしている
のと命令語のオプションを限定できれば元に戻すことは可能と思いました。
>>791 もしかして、許可された時間帯の中で激しくドテンを繰り返してるってこと?
>>791 そこまで書くならEAを丸ごと、どこかにアップロードしたほうがはやいのでは?
>>793 自作のバックテストなら、未来の値をうっかり使ってしまうというのは
良くある失敗
MT4のテスターの話をしてるのかと思ってたのに・・・
ASMコード、高級言語のコンパイラのが最適化をかけてしまうと
もはや元のコードには戻らないでしょうねえ
元と同じ動きをするコードには戻るでしょうが、可読性悪いでしょう
なんでここにいるんだろうね?
ログインしていて、価格情報もちゃんと表示されているのに 注文したら「無効な取引」となっていて、 "口座番号" cannot login {Trade is disabled} と操作履歴に書かれます。 こんなこと初めてなんですが、誰か分かるひといますか? ちなみにATCbrokersを開設しました。 お願いします。
>>796 バックテスト自体は、エントリポイントで、LOSSCUT値などの情報を配列変数に
書き込んで、あとは決済ポイントがきたかどうかHIGHとLOWで比較し利益等の
配列情報をファイルに落とすだけで、あとはEXCELで自動解析するだけの
シンプルなもので、今まで手直しはほとんどありません。
それよりも問題は動的に動いた場合の挙動でした。
クローズ値でやると、かなり良い結果になるんで当初、これはいいぞと
思っていたんですが、これはおかしいと気づき・・・
クローズ値をやめて実際の動的な値に直していくとどんどん成績が
悪くなり、改善を重ねてもあきらめかけていましたがまあなんとか
、まともな成績がでることがわかったわけです。
802 :
【大吉】 :2011/02/01(火) 00:09:46 ID:kUuIBJHJ
アルパリ完全に日本から撤退しちゃったのかな デモ口座が急に無効になっちまった(´・ω・`)
へ〜ATC使ってんだ
>>801 やっぱり問い合わせないとダメですか・・
英語だと自信ないんですよね。
>>803 そうですね。FXDDに見切りをつけて評価の高いATCにしました
ATC Brokers は、FXCM へのIBです とググったら出てきたんだが。。。
>>805 そうですね。
実際、口座を開ける時もFXCMに資料などを提出しました。
けど、スプレッドなどはFXCMと違いますよ、多分。
かなり狭くて早く使いたいんですけど、なんでだろうか
807 :
799 :2011/02/01(火) 03:55:22 ID:jUZ3SgOf
サポートに聞いて解決しました〜
長文の人の書き込み読んで不安になったんですけど EveryTickのBTは1分足でやるので 1分足の高値を付けた後で安値を付けたのか 1分足の安値を付けた後で高値を付けたのかは厳密には分からないから それを踏まえた上でのEAを作れば正しい成績が出るということで良いんですよね?
どうしてもPF2以上にならない・・・ 誰かPF自慢してくれよ 俺に希望を抱かせてくれ
EveryTickは足とは関係ないよ。1分足のデータがあればそれもつかってさらに tickをエミュレートするってだけで。
>>809 ちょっとDDが大きいかなぁ。
Initial deposit 10000.00
Total net profit 33786.45
Gross profit 49599.61
Gross loss -15813.16
Profit factor 3.14
Expected payoff 75.92
Absolute drawdown 655.19
Maximal drawdown 3791.92 (21.14%)
Relative drawdown 21.14% (3791.92)
Total trades 445
Profit trades (% of total) 394 (88.54%)
Loss trades (% of total) 51 (11.46%)
>>784 新事実に気づいてしまった。
PFが1.58に落ち込んだ。これはダメだ。
良いのはできるんだろうか・・・
21%台でDD大きいとか…俺のシステムはどうなっちゃうんだってばよ?! …ちなみに俺のDD許容幅は50%程度です。30%台ならバンザイしちゃうくらい
俺のDD許容率は10%まで理想は5%だと思ってるが ポジの保有期間や手法で大きく変わるから一概には言えないところよね。
816 :
Trader@Live! :2011/02/01(火) 14:14:44 ID:5CGvptnv
mql4でローソク足(iOpenなど)からGMTを取得する方法ってありますか?
817 :
Trader@Live! :2011/02/01(火) 14:20:40 ID:ECPYPGyy
グローバル変数というのは起動した時にチェックされるものと理解しています init関数内に記入しても意味が一緒ではないかと思うのですが、いかがでしょうか? 変数をどこで宣言するかによって意味合いが変わってくることをなんとなく 理解していますが若干混乱。例を出して説明して頂けると助かります
>>817 > グローバル変数というのは起動した時にチェックされるものと理解しています
ちがいますよ
デフォで入ってるボリバン表示する時に 中央線邪魔だから、表示させない方法ってある?
ある
823 :
Trader@Live! :2011/02/01(火) 16:08:54 ID:NU1Dmafd
線の色をnone にする
>>821 デフォのインジだと全部同じ色に設定してしまうので中央だけってのは無理みたい。
1.CustumIndにBandsが入っていればこれは個別に線の色とか設定できるので、中央だけNoneにすればおk。
2.はじめから中央は絶対描画しない場合は、Bandsをメタエディタで弄って適当な名前に変えてそれを使う。
this indicator has no external variants. これってEAからは参照できないってこと? どうあがいても無理?
直近の確定足のみで判断したいときは シフトを1にすればよいと考えてよい?
>>788 制限解除じゃなく、売買判断ロジックが隠蔽されてるので、それをmq4に持ってきてカスタマイズしたいのだ
>>789 綺麗にCソースに変換できたdllあるぞ
アルゴリズム見たいだけならRECが一番定番じゃないか 安定性に掛けるけど一応フリーだしな 暗号化されていたりすると、ハングアップするけど
RECで1MB弱のdllを逆コンパイル中なんだが、丸2日かかっても1byteも出力されないから強制終了した 1090T (4GHz)でREC動作コアは100%なんだが
>>827 Cで書かれたdllでコンパイラの最適化がクソ、かつシンボルが残っているバイナリならその可能性もあるかな。
作者がちょっと対策したら途端に難しくなる。
俺だったら、そのEAが使いたいだけなら買う。
さらにロジックが知りたいなら逆アセンブルして地道に解析。
ここまで解析に執念を燃やす人がいるなんて・・・ 公開だけは絶対にするまいと思った
ゆとりスレでやる話じゃないぞw
Cからアセンブラに変換して、アセンブラでコードを追加してからD LLにアセンブラで再コンパイルすれば、Cのコードでなくなるから 復元できなくなるかな。 アセンブラで読める人には、内容がわかってしまうと思うけど、大きな コードだと大変な手間がかかると思った。 Cといってもアセンブラに変換すると、スタックにつみながら関数を 作成したりパターンがあるのと、レジスタとか役割分担もはっきり してるから慣れてれば、読めるかな。
>>811 すげえ
確かにちょっとDDでかいけど、カーブフィッティングなしでこれならかなり良作だね
837 :
Trader@Live! :2011/02/02(水) 10:49:59 ID:pA5nBE1F
どういうものをカーブフィッティングなしというのかよくわからない
カーブフィッティングは正しい行為だよ。 忌むべきはオーバーフィッティングのほうさ。
>>834 thx
しかしIDAProでもまともなアセンブラソースが出ねー。さすがに積んだ
>>838 どう違うの
>>836 .netでもDLLは作れるけど?
ちなみにMT4TrackのDLLはVB.netで作られているしと
カーブフィッティングは特定のデータ・期間でテストした時の結果が最もよくなるように条件をフィッティングさせること 簡単に言えば、他の通貨やテスト期間を変更したときに大きく性能が落ちるか試せばいい それで性能が落ちるようならカーブフィッティングしてる カーブフィッティングしてるEAはパラメータとテスト条件との相関が強すぎるってことで応用性がない
FXは投資というより丁半博打に近い
なにをいまさら・・・
純正の指標とか適当に組み合わせて、良いEAはできそうもない気がするけど。 やはり裁量取引でポイントを見つけ出し、EA化するのが基本じゃないかな? まあ裁量取引の有効性を確認するのと、それを進歩させる切り口を見つけるのに 役立つかな。 しかし、どれくらいの時間がかかるか未知数。それよりもPG・PMとか 技術を勉強して蓄積したほうがよほど確実と思う。いやもう時間がない・・・
>>847 >>やはり裁量取引でポイントを見つけ出し、EA化するのが基本じゃないかな?
裁量の勘の部分がEA化できねえから無理
勘を入れないのなら、それはすでにシステム
最近はじめた知り合いが、がんがん勝ちまくってて、すでに資産4倍くらい行ってるので
どうやってるのか、おせ〜てって言ったら
手順があるわけじゃなくて、勘だから、説明できないって言ってたw
「Optimization」の機能で最適化できるEAと できないEAがあると思うんですが、どうゆうプログラム 組めば最適化できるようになりますかね?
ほぼ失敗のEA改良による分析とチャートを眺めて、なかなか良い方法が わかってきて今日、裁量のデモトレをしたら5勝0敗だった。 どんな通貨も、調整でいけそうだし、利幅が大きめでスプレッドの 影響は小さい見込み。前の失敗EAは、細かくとりすぎるロジックで スプレッドに勝てなかった。 これをEA化したいが、デジタル的にするのにはかなり難しい。 インジケータを作ってポイントを目視化してから、案を練ってかからないと 無理っぽい。
852 :
Trader@Live! :2011/02/03(木) 02:52:15 ID:8PLwbUlD
今更なんだけど MT4のStochastic Oscillatorで移動平均の種別をどの種別に変えても全部同じに なるんだけど、壊れてるんでしょうか。 Linear Weightedでストキャス表示するにはどうしたらいのでしょうか?
853 :
Trader@Live! :2011/02/03(木) 02:59:27 ID:8PLwbUlD
ああ、メインは変わらないけど、シグナルは変わるんですね。 メインには種別は関係ないんですか?(メインしか見ない場合はなんでもいいってことですか)
同じPFなら取引回数多い方がいいんだよな 1時間足で年200回てのはどうなんだろ・・・ みんなどんくらい?
metatraderで 現在表示中のチャートウィンドウ全てのスクリーンショットをとりたいんですけど。 何か方法ないですか?
>>855 全体一気にスクショ取りたい場合だとRaptureとかのフリーソフト使ったらダメ?
最大化した状態でのチャートを複数枚とりたいってことかな?
>>850 externするとか?そういうレベルの話じゃないって?こりゃまた失礼いたしました!
861 :
Trader@Live! :2011/02/03(木) 13:56:10 ID:kEdIL13D
フィボナッチって自分で引くと、 天地を決めるのに迷います 一日前の天地を探し引くのか それとも長いトレンドの天地を引くのか迷います どなたかいい方法教えていただけませんでしょうか?
2本作って比較するのがいいと思います。
>>862 ありがとうございます
フィボナッチの
インジゲータは使いませんか?
やっぱり自分で引きますか?
>>863 自作EAの話と勘違いしていました。
ごめんお;;
EAならBTで結果比較できるから簡単なのにと思った次第でございまする
チャートの山に高値の値段、安値の値段を書き込んでくれるインジゲーターアリマセンカ?
Swingpoint View ??
>>866 ありがとうございます、まさにほしいものでした!!
868 :
鷲津 :2011/02/03(木) 15:23:27 ID:K1HQAGrH
ユロインデックス見れる鯖あったら教えてください
broco でまだMT4はDLできますか? もしできるならURL教えてください
>>858 いくつかの通貨と時間足ごとのウィンドウ単位に撮りたいです。
開いてるすべてのチャート画面をそれぞれ別のファイルにして保存。
という感じです。
アクティブウィンドウを変更しながらscreenshot()でとろうとしてるんですけど上手くいかないのです。。
ありがとうございます そこからDLしてみましたが やっぱりダウ先(YM-CONT)がでてこない
バックテストすると出来るtesterフォルダの数GBのlogファイル 最初から出来ない様にはならんの? もしくは、自動で削除する様にとか。 手動で削除するのが面倒なんだけど。
875 :
Trader@Live! :2011/02/03(木) 21:34:45 ID:sejAINz4
素人なんですが
>>2 の本買えばプログラミングできるようになりますか?
すいません、 メニューの 挿入 > 罫線分析ツール > Trend > Moving Average で表示される移動平均を可能にしているファイル(たぶん*.ex4ファイル?)は どこのフォルダに格納されているのでしょうか?
877 :
Trader@Live! :2011/02/03(木) 22:40:32 ID:Hd6Ciggo
MT4再インストしたら、今までの鯖に繋げられなくなった・・。 (海外)業者のサーバーIPってどうやって探せばいいんですか?
879 :
Trader@Live! :2011/02/03(木) 22:57:18 ID:Hd6Ciggo
デモではないんですが、、
>>872 それはそうですね。。
表示しているウィンドウのハンドルをmetatrader の関数で取得してwin32api使ってアクティブにしようとしているのですが、選択はされてるようなんですけどアクティブになりません。
出力してみると確かにハンドルは取得できているようなんですが。。
アクティブにするやり方を間違えてるってオチか。。
>>860 いや、そうゆうレベルです
参考になりました
Brocoちゃんが23:30から心肺停止中です。
884 :
Trader@Live! :2011/02/04(金) 00:24:17 ID:YQXogPdE
Brocoデモ口座だけど動いてるよ ダウ先、ダウ30、ドル円、ユロ円、ポン円、ドルインデックス、 原油、ゴールド、FTSEが動いている。
今、息を吹き返しました。 情報ありがとうです。
>>879 デモじゃないんなら堂々と業者に聞けば?
>>881 自分はshowwindowとかfore〜とか使いました。
他の方はどんな方法でやっているのですか?
スキャル系とデイ〜スイング系ってどっちが安定する?
>>887 普通のCでできれば、できると思うけど。
前に、松井証券のネットストックトレーダの画面をコントロールしてみた。
取得できない種類もあるから。
>>887 MDI のアクティブ方法をしらべてみ。
まだ早いかもだけど
>>8 のbrocoとかODLは繋がらなくなってる旨を次スレで変更した方が良いな
ここでいいのかな初心者スレ?
>>890 >>887 じゃないけど、おもしろそうだったのでやってみた
MDIの親ウインドウのハンドルを取得して
指定した子ウインドウをアクティブにするメッセージを投げてみたが
反応なしだった、残念!
スクリプトから直接はあきらめて
なにかのきっかけでスクリーンショットを取るEAを全部のウインドウに仕込んどいて
スクリプトからはそのきっかけを投げるってのじゃだめ?
>>894 それも考えたのですが、面倒くさいなあと。
アクティブにはならないのですが最大化はできるようなので。機能していないわけではないようなのです。
ウィンドウにメッセージを送る方法を紹介しているところがあったので、それをつかってうまいことやれないかなあと思っています。
訂正、ウィンドウのアクティブにするのでなく、表示している時間足を変えてあげてキャプチャする感じです。
ドル円82円到達か
>>DNDY8TXA キタ?
印刷してチャート分析に使いたいので 背景色?を黒地から白地に変えたいんだけどできますか? 無理(あまりにも難しい)ならあきらめて他のとこから印刷しますが。
普通に出来ました、さーせんした
mq4って switch case 構文は使えたっけ?
thx!
IDがJPとCNだなあ JPは好きだがCNは嫌いだw
デモでいろいろ試していたら木曜金曜のユロドルナイヤガラでLCされました 証拠金がほとんどなくなったので回復させたいのですがどうすれば出来ますか?
>>905 地道にトレードで稼げば証拠金は増えるよ。
それが面倒ならデモアカウントを取り直せ。
>>903 試すかReference見れば一発なのに
55分待ってたなんてオラ信じねぇぞ
すまん出先なんだ
>>906 もう0.01枚もポジれないので新しくデモを開きなおしますわ
でも、こんなことをされて業者もいい迷惑なんだろうな
最適化してらこんな感じでエラーがでるんですが、何が原因でしょうか? 最適化しないバックテストではちゃんと結果でます 2011.02.05 17:30:31 There were 20 passes done during optimization, 20 results have been discarded as insignificant
>>912 最近の翻訳ツールはどんなもんだろうと試してみたんだが、
あいかわらずひでぇなw
「20パスは20の結果が意味のないものと破棄されており、最適化中に行わあった」
だってよww
ただ、音声読み上げの流暢さには少々感嘆した
>>911 Skip Useless Results のチェックをはずせ
>>913 >>915 解決しました
ありがとうございました。
また、ひとつ疑問なんですが
double kakoa,gennzaia;
double kakob,gennzaib;
double StdDev ;
こんなかんじでdoubleのあとに2種類あったり1種類あったりするのですが
doubleの後には何個でも変数を定義できるものなんでしょうか?
それとも何かしらルールがあるものでしょうか?
>>916 何個でもかけるので、みやすいようにわけるのがいい
期間、設定同じなのに、バックテストすると結果変わる時があるんだけど。 そういう仕様?
>>911 ,914
ATLAS V14だとこんな感じ。
最適化の間に行われた20個のパスがあって、20の結果が無意味として捨てられました。
>>918 んなこたあない
スプレッドでもちがうんじゃないか
すてでい可能な範囲でお答えするっす。
>>922 えー、MQLの事はずぶの素人なのでとんちんかんな質問かも知れませんが、
ステディーはEURUSDH1で使用しますが、他の時間足で使っても結果が全く
同じなのでしょうか?それがマルチタイムフレーム?
内部パラメーターでタイムフレームが指定されているのであれば、弄る
場所はどこになるのでしょうか?
924 :
Trader@Live! :2011/02/06(日) 17:42:44 ID:E1arvy9Y
forex.comで0.01ロットでデモを動かしています。 eurusdの、1.3576で買い、1.3583で決済しました。 1.3583 - 1.3576 = 0.0007 つまり、7pipの差益だと思っていたのですが、 profitの値が、0.58(ドル) となっていました。 でも、usdjpyだと、例えば 81.46で買い、81.54で決済すると、 81.54 - 81.46 = 0.08 profitの値が 0.08(ドル)となって、pipの値とドルの価格と等しいです。 どんな通貨に関わらず、 10pipだと、0.10(ドル)の差益がでるように設定したいのですが、どうすれば よろしいでしょうか?
>>923 どの時間足で動かしても結果というより、ポジションタイミングが同じになります。
結果も同じになると思います。
内部では1,5,15の足をそれぞれみてポジションを
持つので1H,1M,5Mチャートに貼り付けてバラバラに動かしても
同じ時にポジを持って同じように利益、DDという感じになります。
これを可能ならそれぞれバラバラに最適化された値でポジさせたいなとw
タイムフレームの部分は
// indicators
以降
double diWPR1=iWPR(NULL,1,155,0);
↓
double diRSI93=iRSI(NULL,1,3,PRICE_CLOSE,0);
までで、それぞれ上から
diWPR、diMA26、diStochastic、diRSI
(うしろの番号は設定値の異なる複数のインジ連番)
(NULL,1,3,PRICE_CLOSE,0) の1が時間足になり、その後ろ
はパラメーターです。
これを時間足の固定値を変数に変更します。
コード上(定数) 時間 数値指定 文字列指定
0 チャートと同じ 0 0
PERIOD_M1 1分 1 M1
PERIOD_M5 5分 5 M5
PERIOD_M15 15分 15 M15
PERIOD_M30 30分 30 M30
PERIOD_H1 1時間 60 H1
PERIOD_H4 4時間 240 H4
PERIOD_D1 1日 1440 D1
PERIOD_W1 1週間 10080 W1
PERIOD_MN1 1ヵ月 43200 MN1
その後、ヘッダー部分で
extern int x = y
int z;
のように追加。
xはタイムフレーム変数
yはタイムフレーム
デフォルトは適当に1,5,15のいずれかを指定しておけば良いと思います。
そして
start ()
{
以下の部分に
int a=iTime(NULL,x,0);
if(x==0 || a!=x)x=a;else return(0);
を追加です。
各変数の値は適当に変更してください。
まだテスト中なのでバグがあるかもです。
×変数に変更 多分 時間指定 1 → PERIOD_M1 変更しなくてもいけると思います 同じ事なので。
if (StringFind(Symbol(),chartname,0) < 0) Alert("Put this EA on EURUSD chart. H1."); をコメントアウトしておかないと毎度アラートが出ます。
RSIのパラメーターを デフォルトの35,60をそれぞれ 20〜30 80〜70 など変更してみてBTするのもありです、短時間足で動かしたときに 差が出ると思います。 BTしやすくするために、この部分をパラ設定できるようにしても良いと思います。 lFlagBuyOpen = ((diATR64>0.0001)) && diRSI93<35 && (diStochastic81<diStochastic82) && (diStochastic83<diStochastic84) && (diWPR1<-99.99) && (diMA27 < diClose25) && (diMA28 < diClose25) && (diMA29 < diClose25) ; lFlagSellOpen = ((diATR64>0.0001)) && diRSI93>65 && //2011/01 mod (diStochastic81>diStochastic82) && (diStochastic83>diStochastic84) && (diWPR1>-0.01) && (diMA27 > diClose25) && (diMA28 > diClose25) && (diMA29 > diClose25) ;
デフォルトの35,60をそれぞれ ↓ 35,65 の間違いw
某ラボでやっているように、「TFを5に変更」とかなると、 double diWPR1=iWPR(NULL,1,155,0); ↓ double diRSI93=iRSI(NULL,1,3,PRICE_CLOSE,0); のNULLの後の1をすべて5に変更するということですか? 元々上記の式の中にはTFが1,5,15と混在していますが?
>>930 そこはインジの基本部分なので
特別チューニングが必要な以外は変更しません、
変更するのはヘッダーで指定した
タイムフレームの変数です。
start()
以降の部分でチャートタイムフレームを明示的に
指定して動作させましょうって考え方です。
ですから当然RSIのパラとかSTP,TSの値もそれぞれ時間足で
最適化する必要が有ります。
全く分かりませんので諦めます...orz
EAのバックテストの結果で 注文と決済の列が別々に表示されて鬱陶しいんだけど 注文と決済を1列で表示できないのかな
934 :
タイラー :2011/02/06(日) 20:23:31 ID:7fey/hAs
>>933 エクセルにコピペしてマクロ走らせればよろしくね?
要望があればマクロ部分作るけど?
その際はどんな形で結果を出力したいかのフォーマットを定義してくれ
935 :
タイラー :2011/02/06(日) 20:24:13 ID:7fey/hAs
あーしかし、エクセルマクロなんて数年触ってないから 少しおまたせしてしまうかも試練。
バックテストでEA動かすと5分足より 15分足や30分足のの法が取引回数が 多いのですがなぜでしょうか? ロジックは単純に25日平均が75日平均を 抜けたらってやつなのですが・・
>>934 心遣いはとてもありがたいけど
MT4側の設定でぴゃぴゃっとできないなら別にいいかなあ
微妙なところでかゆいところに手が届かないね
あーおれもマケスピのスプレッドシートで エクセルのマクロいじって株スキャしてたころがあったなぁ・・・ なつかしい
バックテスト時の最大ロット数は100で固定ですか? 1000や10000とかに変更できないでしょうか
eaのバックテストがすごく時間かかります 1年だと数時間 だいたいこんなものですか?
出来高を減らすとバックテスト時間はみじかくなるよん
長いからコントロールポイントでやってる これだと1H足二年で一件あたり7〜10分
EAによるよな、自作しかBTしたことなくってそれだと比較的早いけど、 みんながウインナーウインナーいうからためしにBTしたら、あまりの長さにびっくりしたよ
>>945 しょうがないね、
インジが多いから。
簡単に終わるのはIMAしか使ってなかったりw
Vict○ryとは言わないけどw
最適化してる時、100 / 1000 (600) みたいに表示されるけど、 (600)ってPF1.00以下の排除された結果の数?
初歩的な質問なのですが 1*point=1pipとかんがえていいでしょうか?
>>949 pipsは使われ方が色々すぎてもう一意に定義できなくなってきてる。
本来は取引最小レートだから、pipsとpointは同じものを指してる。
ただ、ドル円の1pipsは1銭(0.01円)だとか言う人もいて、何かもう最近は沸けワカメ。
この手合いの人的には、通貨の最小単位って言いたいのかもしれんが、1銭て単位は
もう使われてないし、使われてなくてもいいなら1銭未満の単位だってあるしで、理屈に
なってないだろうと言いたい('A`)
海外業者スレで > FXDDのMT4のデモだと、指値制限40pips(ユロドル)になってるけど > リアルもそうなんですか? という質問に対して > なってるよ と答えたら > からかいやがったなこの野郎 > 4pipじゃねーか > 素人だと思ってバカにしやがって と怒られたw
952 :
918 :2011/02/07(月) 23:42:18 ID:DlzD7f2O
やっぱり、バックテストする度に結果変わる。 EA・Aをコピペしただけの、EA・Aコピー(当然内容同じ)の 二つのEAのバックテスト結果も違う。 iMA(NULL,0,10,0,... と int Period=10、iMA(NULL,0,Period,0,... は、同じ設定のはずなのに結果が違う。 何が原因?
>>952 スプレッドに依存するようなコードを組んでいるとか?
市場が動いている時って毎回スプレッドは変化しているからな
例のsteady winnerのソース記述にて理解に苦しむところがあるので どなたか納得のいくように説明おねがいします。 void init() の中で一度 Set_SmartMM_dLots() が実行されて ますよね。自分としてはこれで十分だと思うのですが、 int start() の中でも Set_SmartMM_dLots() が記述されています。 これには理由があるのでしょうか? 自分としては void init() 内で一度処理するだけでも問題ないと 考えているのですが。。。
すごく…上からです…
>>954 なんでお前に納得のいくように説明せにゃならんのさw、そんな義務無いわ
まず服を脱ぎます
>>954 start 内のSet_SmartMM_dLots() をコメントアウトしてバックテストしてみそ。
959 :
918 :2011/02/08(火) 00:55:05 ID:kHxPGfCf
>>953 スプに依存する、ってどういう意味?
バックテストなんだから同じ期間同じ設定なら結果も同じじゃないの?
酷い時はTotal net profitが三割くらい違う時があって
もう、バックテスト自体が信用できないww
>>958 ありがとうございます。解決しました。
完全に見落としてました..orz
961 :
918 :2011/02/08(火) 01:12:15 ID:kHxPGfCf
ウインナーの話が出てたから聞くけど Version 4.22を0.1Lot固定に改造したEAの2010.01.01-12.31期間の バックテストの結果って↓と大体同じ? Bars in test 7204 Ticks modelled 6896589 Modelling quality n/a Mismatched charts errors 119371 Initial deposit 10000.00 Total net profit 519.45 Gross profit 2956.06 Gross loss -2436.61 Profit factor 1.21 Expected payoff 1.13 Absolute drawdown 10.90 Maximal drawdown 193.83 (1.81%) Relative drawdown 1.81% (193.83) Total trades 459 Short positions (won %) 261 (78.16%) Long positions (won %) 198 (73.74%) Profit trades (% of total) 350 (76.25%) Loss trades (% of total) 109 (23.75%) Largest profit trade 12.00 loss trade -50.00 Average profit trade 8.45 loss trade -22.35 Maximum consecutive wins (profit in money) 24 (239.90) consecutive losses (loss in money) 4 (-132.08) Maximal consecutive profit (count of wins) 239.90 (24) consecutive loss (count of losses) -132.08 (4) Average consecutive wins 4 consecutive losses 1 ウインナーは拾ったやつだからコード違うかも知らんけど。。。
犯罪者発見!
>>961 それ1分足からデーター生成した物使ってる?
多分正確性が足らない。
>>949 pointはその業者の最小単位。
それが1pipの業者もあれば、0.1pipの業者もある。
0.1pipの桁提示はFractional pip pricingと呼ばれているので、ググってみ。
微力ながら参考までに。 サーバーは Alpari-Demo - Alpari NZ Limited 一応test前にhistory centerから1分足のEURUSDのデータをDLした。 0.1Lot固定にするためにinitial depositは1000に設定。 Bars in test 5720 Ticks modelled 8727527 Modelling quality n/a Mismatched charts errors 342 Initial deposit 1000.00 Total net profit 692.50 Gross profit 2018.43 Gross loss -1325.93 Profit factor 1.52 Expected payoff 2.17 Absolute drawdown 11.00 Maximal drawdown 151.21 (11.79%) Relative drawdown 11.79% (151.21) Total trades 319 Short positions (won %) 174 (79.89%) Long positions (won %) 145 (71.72%) Profit trades (% of total) 243 (76.18%) Loss trades (% of total) 76 (23.82%) Largest profit trade 10.90 loss trade -51.10 Average profit trade 8.31 loss trade -17.45 Maximum consecutive wins (profit in money) 14 (130.48) consecutive losses (loss in money) 5 (-53.73) Maximal consecutive profit (count of wins) 130.48 (14) consecutive loss (count of losses) -67.70 (2) Average consecutive wins 4 consecutive losses 1
>>959 バックテスト実行時のスプレッドでテストされてしまうから
スプが変動する業者のサーバーを使ってると
毎度違う結果になるらしいぞ
バックテストのスプを固定するスクリプトとかあるらしいからググレ
>>965 Modelling quality n/a なんとかならないの?
>>965 1分足をDLしたら
チャートを一分以外全て閉じてMT4終了
ヒストリーの一分足以外のデーターを全て削除
ついでにtester フォルダの履歴とキャッシュを全て削除
MT4を起動して、スクリプト
period_converter All.mq4 で全ての足を生成
EveryTick でBTすれば Modelling quality n/a にはならないよ。
WinnerはMTFなので1H他1M、5M、15Mを参照してるから
その足のデーターで整合性を取らないとだめ。
落ちてるやつと正規版のロジックは同じなので改造すれば
2程度のPFになる。
内部のRSIパラ
デフォルト 35、65 結構DD有る。
20,80まで変更してBTする。
累積RSIに改造=ブログでは20,80になってるけど
累積の場合は35,65の方が成績がいい。
こんな感じ
969 :
918 :2011/02/08(火) 07:12:55 ID:qhzPPuSj
>>961 ウインナーは取引回数が多いからスプレッドが結果に大きく影響する
どこの業者でテストしたかが問題だな
SWのiTimeを使ったMTFって、使ってるインジケーターを diStochastic81= iStochastic(NULL, TF, 55*5*TF, 15*5*TF, 〜) とかにして、外部パラにしたTFを任意に選び BTして最適なパターンを探すということ?
973 :
Trader@Live! :2011/02/08(火) 13:48:53 ID:Gt6IdfqU
別のPCに現状のMT4の設定状態のまま、移すにはどうしたらよいのでしょうか? インジは移せたのですが、画面の配置が初期状態になってしまいました。 画面の配置を同じ状態にする方法を教えてください。
フォルダまるごとCOPY
>>972 ヘッダのTimeframeの変数と各インジケータのTimeframeの変数は別物ということ?
で、明示的にタイムフレームを指定して、各インジケータのTimeframeの変数の値をオプティマイズするという意味?
タイムフレームの部分は
// indicators
以降
double diWPR1=iWPR(NULL,1,155,0);
↓省略
double diRSI93=iRSI(NULL,1,3,PRICE_CLOSE,0);
の部分
time frameの数字
例’
1 → PERIOD_M1
---------------
その後、ヘッダー部分で
extern int x = y
int z;
タイムフレームを指定出来るように
-------------
xはタイムフレーム変数
yはタイムフレーム
デフォルトは適当に1,5,15のいずれかを指定
------------
start ()
{
以下の部分に
int a=iTime(NULL,x,0);
if(x==0 || a!=x)x=a;else return(0);
を追加。
各変数の値は適当に変更
例; x → tfm
テスト時に x=1、5,15を指定して
それぞれ1分、5分、15分チャートでOPT,BT。
>>928 のパラを変更してOPT。
以上
改造した物はMTF専用として、1,5,15足のチャートにて稼働 1Mがよさげ、でも自由だけど1Hは未改造で稼働、違うタイミングでポジれば成功 未改造品を同じように稼働しても同じタイミングでポジ取るので駄目。
誤り int a=iTime(NULL,x,0); if(x==0 || a!=x)x=a;else return(0); 正しい int a=iTime(NULL,x,0); if(x==0 || a!=z)z=a;else return(0);
亀レス
>>512 > 実稼動時にも、内部でループ処理のある移動平均だけでも
> 5回計算させている
もしSMAなら合計値を保持。
次に計算する時は最古値分だけ減じて、最新値を加算。
このケースでは5回の加算が2回の加減算になるだけだけど、これが100回200回になるとかなり演算量を減らせられる。
SMAならね。
>>977 補足ありがとうございます。
ちなみに
1 → PERIOD_M1
これって定数定義だから必要ないですよね?
あとzは次回tick時の確認用。
てっきりインジケーターのtime frameを動的に変更して、それぞれの時間足にあった
インジケーターを設定値するんだと思っていました。
982 :
Trader@Live! :2011/02/08(火) 19:03:27 ID:UgZvgzfy
FX業者へのクイック入金が幅広く対応してる銀行ってどこですか?
>>981 正解w
累積RSIは20,80じゃなくて35,65で動かした方がいいよ。
1M、5Mがいいです。
国内業者の話ならスレ違いだろ MT4ならpaypalかマネブとかになるからな 業者スレ行け
>>983 ながながありがとうございます。
帰宅したら弄ってます。
やっとモヤモヤがなくなりそうですw
バックテストってテスト中に一時停止のやり方教えてください お願いします
一時停止は出来ません
Visual Modeでバックテストをやっていれば一時停止は可能だけどね
バックテストのためにヒストリセンタから1,15,30分足のデータインポートして 15分足でバックテストかけたら TestGenerator:unmatched data error (volume limit 100 at 2010.11.16 00:15 exceeded)とかいうのを連発して 一度もポジションとらずに終了してるんですが これってヒストリセンタのデータが壊れてるんでしょうか?
>>990 メッセージ通りvolumeの値が変なんでしょうけど、それと売買しないのは
別問題だと思います。EAがvolumeを参照してるならその可能性もあるが、
volumeはブローカーごとにまったく違うので、ほとんどのEAはvolume
なんか見ない。
>>990 Order_Send()のTP、LC、ロットとかおかしいかったとき出たことあるよ。
業者によっては逆指し何ピピ以上じゃなきゃダメとかあるから、そのへんじゃないか?
おれもまだ始めたばかりだから確信はないけど。
>>990 ほかにもログにエラーが出てるだろ?
それを見るべきだ
>991-993 ありがとうございました。 >991 ヒストリセンタから時間軸関係なく全データdownloadしたら直りました。 >992 ロットがおかしかったのは、GetLastErrorででて、それは修正した後だったんです。 センタから全データダウンロードしらこのエラーは止まりました。 >993 修正後残っていたエラーはこのエラーのみでした。 ただし、数十行ありましたけど。
エラーはない ポジらない 自作EAならプロミスしかないだろうな
expert advisorsにないってるEAの名前を 変更したいのですができますか?
997 :
Trader@Live! :2011/02/09(水) 23:17:57 ID:jhJ7WYui
教えねーぜククク・・・ 999・・・
1000げとおおおおおおおおおおおおおおおおお
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。