【MT4/5】MetaTrader初心者専用25【ゆとり隔離スレ】
3 初心者Q&A
Q.土日は動かないのですか?
A.ほとんどの業者は休みです。
サーバーに接続だけ出来る業者もありますが、更新はされません。
Q.TSDって何を見ればいいの?
A.まずはここから登録して下さい。
http://www.forex-tsd.com/register.php 後はあちこち見れば勉強になります。
Q.10分足とか他の時間足を表示したい。
A.「MT4 10分足」でググって下さい。URLは控えときます。
Q.付属しているMACDをライン表示にしたい。
A.MetaEditorでMACD.mq4を開いて、「DRAW_HISTOGRAM」で検索、
DRAW_HISTOGRAMを「DRAW_LINE」に変更、念のため別名保存してコンパイルする。
Q.RCIのインディケーターはどこにあるの?
A.「SpearmanRankCorr mq4」で検索するよろし。
Q.指定した値になったら、アラート鳴らしたいんだけど?
A.メニューの表示-ターミナルでアラーム設定のタブがありますので、
そこで設定できます。
Q.同じインディケーターを同じウインドウに表示したい。
A.共存させたいインディケーターを同じウインドウにドラッグ&ドロップ、
設定を変えて表示させる。
Q.ほかの業者なんかで取引をしているのですが、チャートだけMT4使うことできる?
A.ほとんどがそんな使い方でしたが、最近乗り換える人が増えているようです。
Q.MetaEditorでコンパイルするやり方がわかりません
A.MetaEditorのツールバーのcompileで出来る
面倒だったらファイルを保存して、MT4を再起動
4 Q ティックチャートを表示する方法を教えてください。 A.気配値表示の所にティックチャートタブをクリック Q.ボリンジャーバンドの三本線を五本線にしたい。 A.標準偏差の設定値を変えたボリンジャーバンドをもうひとつ描画 A.標準偏差の設定値を1にして、Levels に ±2,±3,を設定してもよし。 Q.過去のチャートを見ようとしたら、すぐに現在の位置に戻ってしまうのですが A.ツールバーのAuto Scrollボタンをoffにする。 Q.使わないインジケーターを削除するにはどうすればいいの A.使わないインジケーターにカーソルを合わせ右クリック→削除 Q.インジケーターのラインの色、太さを変えたいんだけど A.MetaEditorで該当するインジケーターを開きます。 #propertyで検索(初めの方に記述してありますのですぐ見つかります。) 色を変更したい場合(例) #property indicator_color1 Red のRedを変えたい色に書き換える(Blue,Green,Yellowなど) #property indicator_color1 Yellow(←変更後) 色の指定の頭文字は大文字で記述します。Blue→○、blue→× 太さ、幅を変更したい(例) #property indicator_width1 1 の線の太さ1を変えたい太さに変更する。(1〜5までの整数) #property indicator_width1 3(←変更後) 変更後、保存してコンパイルまたは再起動する。 #property indicator_colorや #property indicator_widthが無い場合、 SetIndexStyleで個別に指定されていると思います。 SetIndexStyleで検索します。 (例)SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 1, Red); 上記の「1」が太さ、Redが色です。 太さを3、色を青に変更する場合は (例)SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 3, Blue);となります。 Q.「チャートを右クリ>定型チャート>定型として保存」としても、保存できないけど。 A.@上の方法で保存できない場合。名前をつけて「定型として保存」するときに、 保存先をMT4があるフォルダより上の階層(デスクトップ以外)を選択して保存する。 A保存したファイルをMT4直下のtemplatesフォルダにコピペすればOK Bこれで、チャートを右クリ>定型チャートで好みのチャートを一発で呼び出せる。
5 Q.〜ってインジケーターはどこにあるの?
A.
ttp://www.abysse.co.jp/mt4/ 名前と画像から検索できる
http://www.forex-tsd.com/ ここでググるもよし。
http://www.mql4.com/ でググるもよし
人気どころは「外為男」内でググったほうが早いかも。(URLは控える)
Q.このスレでよく出てくるインジケーター
A.・Fibopiv ・FerruFx_Multi ・nonlagdot ・#MTF_StochasticBar
・ZigZag Pointer ・Traders Dynamic Index
・Period_Converter_Opt ・Clock ・Grid Builder.mq4
以上に「mq4」を加え検索。
Q.日本時間を表示させたい
A.JPN_Time_Sub mq4 または CIDP_JPY_Time.mq4 または JPN_Time_SubZero :-)
Q.ゆとりスレなのに・・・
A.「MetaTraderのための」ゆとりスレです。
「パソコン初心者」「2ちゃんねる初心者」のスレではありません。
Q.Vista、Windows7で動かないのですが?
A.以下を試してみてください。(本スレテンプレより)
1 [コンピュータ]を右クリック。[プロパティ]を選択
2 [システムの詳細設定]を選択
3 [詳細設定]タブをクリック
4 [パフォーマンス]の[設定]をクリック
5 [データ実行防止]タブをクリック
6 「重要なWindowsプログラムおよびサービスについてのみ有効にする」をオンにする
7 okをクリック
8 OSを再起動
※ Vista の場合、 C:\Program Files 以外の場所にインストールするのが便利です。
Q.「YM」や「NK」ってなに?
A.「先物 シンボル 一覧」でググる。
シンボル一覧の代わり
http://web.archive.org/web/20080125182852/ http://www.globalprice-inc.com/ja/d001-9.html Q.チャートを重ね合わせて反転表示にしたいんだけど。
A.オーバーレイチャートスクリプト Ver.1.10 で検索
Q.日足のMAが何か変なんだけど・・・
A.サーバーにより週に日足が5本のところと6本のところがあります。
日足が週に5本のところを表示させるのが、手っ取り早いです。
週5本のとこMeta Quote、FXDD、Alpari、WHC
週6本のとこ、ODL
Q.再インストールする場合、どのフォルダをバックアップしておけば良いの?
A.experts(中のindicatorsフォルダも)、history(人によっては結構容量あるかも)、
config、templates、symbolsets、profilesのフォルダをバックアップ。
これで大体もとの環境を作ることが出来る。
7 ▼各デモサーバのIP
すでに変更されているものもあります。補完をお願いします。
MetaQuotes-Demo demo.metaquotes.net:443
ActivTrades 87.119.205.71:443
Alpari-Demo 217.74.44.32
212.65.93.12
Alpari-UK 84.45.118.35:443
AVA FX 16.93.169.220:443 (要AVAからMT4 DL)
Broco(Water House Capital) 216.93.180.133:443
EuroOrient 208.96.16.237
FIBO Group 84.19.184.154:443
Fortune-capital
FXBEST 213.152.151.220:2000
FXDirectDealer mts06.fxdd.com:443
FX-Invest 98.173.4.28:443
GrandCapital LLC 208.101.37.188:443
Gimex-NEXTT 212.12.60.156:443
GCI 213.232.103.144
InterbankFX-Demo 66.114.120.22:443
LiteForex 209.160.72.90:443
MIG-Demo 66.235.184.206:443
MoneyRain-Server 80.94.84.43
MWHeadway.com 209.61.194.19:443
Northfinance demo.fxteam.ru:443
NWBroker 193.125.192.190:443
ODL-MT4 Demo - ODL Securities 62.189.82.162:443
One World Capital 216.93.181.201:443
Orion-DEMO 66.36.240.247:443
STS Finance 87.120.42.14:443
Tradeco 209.61.194.31:443
Ukrsotsban 212.109.44.23:443
Varchev Finance Ltd 213.16.33.131:443
Velosity4x.com 207.228.252.28:443
207.228.252.27:443
Wega Trade 62.149.27.61:443
WSD Financial (NZ) Limited 210.55.141.74:443
Windsor Brokers-Demo 217.27.32.243:443
XTrade 217.8.185.218:443
X-Traders demo.xtb.pl
ここがよくまとまっています (でも、古いです...)
ttp://d.hatena.ne.jp/fai_fx/20090723/1248448353
8 ▼サーバータイム別のIP 補完ヨロ。※サマータイムを採用している業者もあるので、要注意です。 [GMT+0] Admiral Markets Ltd. 69.64.43.37:443 FastBrokersFX 66.151.194.152 Interbank FX 66.114.120.22:443 North Finance demo.fxteam.ru:443 208.96.16.237 Velocity4x ODL 62.189.82.162:443 (繋がらないので注意) 213.38.148.25:443 (繋がらないので注意) [GMT+1] MetaQuotes demo.metaquotes.net:443 Alpari 217.74.44.32 Alpari-UK 212.187.233.32 Alpari-US 208.122.38.251:443 Broco(Water House Capital) 216.93.180.133:443 (繋がらないので注意) FIBO Group 217.16.27.150:443 MIG 80.83.53.150:443 Century Intervest 202.157.169.103:443 SpotTrader 75.127.250.108:443 X-Trade Brokers 217.8.185.218:443 [GMT+2] FXDirectDealer mts06.fxdd.com:443 Forex Gen 70.84.233.90:443 EuroForex Development SNC Investments
9 ▼サーバの設定の仕方 MetaTrader 4のメニューバーで ツール → オプション → サーバ サーバ(S)のところに上記のIPアドレスを入れる。 ファイル → デモ口座の申請 「貴社からのニュースレター受取りに同意します」にチェック、 Scanボタンを押してアクセス状態を確認する。 アクセスでき、Ping返答時間の短いものを選ぶ。 もう一度ログインし直す。 他にも業者がありますので探してみましょう。 ▼サーバのIPを調べる方法 MT4のフォルダーをクリックして、configという名のフォルダーを開く。 C:\Program Files\MetaTrader 4\config 使用しているデモサーバーの名前がついたファイルを 右クリックして、「プログラムから開く」でメモ帳を選択。 多くの文字が文字化けしているが、3行目に数字の羅列がある。 この数字がデモサーバのIPとなる。 テンプレートに記載されていないIPアドレス、 またテンプレートには記載されているがテンプレートのIPアドレスが古いと思われる場合、 スレに報告してくれるとテンプレートが充実します。
テンプレ以上
MT4が重たすぎてつらいです。 助けてください。
13 :
Trader@Live! :2011/04/14(木) 15:54:11.68 ID:S5AxQfmt
>>12 PCのスペックが低いのが原因なら買い換えればいいんじゃない?
EA使用中にそのEAのプログラムを書き変えたら、それは使用中でも反映されますか?
>>14 反映されるけど、初期化から走るので要注意
>>15 ありがとうございます。
と言う事は持っていたポジションのマジックナンバーはなくなりますか…?
何故か決済シグナルに反応してくれないので…
>>16 OrderSelectでマジックナンバー拾って云々してるだけなら反応しそうなもんだけど
それ以外にもstatic変数にチケットを保存して云々してるなら、それは反応しなくて
も不思議じゃない。
>>16 マジックナンバーは、なくならないけど
もしそれを変数で記憶してたりすると
変数は全部初期化されるのでわからなくなる
要するに、一度停止して、あらためて起動したのと同じ
その辺でちゃんと動くように作っておかないと
実運用では予期せず落ちたりすることもあるのでハマルよ
ガチムチウッホウホの兄貴いる? 質問してもいい?
>>17 、18
ありがとうございます!
たびたびすいませんが、負けたら枚数を増やすと言うプログラムはどうやって作れますか?
ネットでマーチンゲールで探してもなかなか出てこないので…
>>21 ポジをしらべてクローズされていたら勝ち負けを判定して
枚数を増やすたり減らしたり
枚数はファイルに保存しとくか
短期ならMT4のグローバル変数に保存しとくと
再起動されても忘れない
余計なお世話かもしれんけどマーチンで勝てるは、幻想よ
>>21 OrdersHistoryTotalつかって過去に決済した注文を取得して
マジックが一致する注文で一番最新の物を抽出して
負けてたら・・・・
て感じになるね
>>23 >>24 ありがとうございます。
利確:損切りが3:1で勝率五割、連続負け回数が5回以下のプログラムを
難ピンではありませんが、決済した後、それが負なら一枚増やす的な感じで利益が伸びると思うんですがどうでしょう…。
勝ったら枚数は初期に戻す感じで
前々回バーが前回バーの長さを上回り、陽線陽線、又は陰線陰線になったとき、 ボラ拡大とするインジケータを作ろうとしてるんだけど、これでいいのかな。 エロい人頼んます。 int start() { int limit = Bars - IndicatorCounted(); for(int i=limit-1; i>=0; i--) { if((High[i+2] - Low[i+2] < High[i+1] - Low[i+1])) && ((Close[i+2] - Open[i+2] > 0 && Close[i+1] - Open[i+1] > 0) || (Open[i+2] - Close[i+2] > 0 && Open[i+1] - Close[i+1] > 0)) volatilitybar_high[i+1] = High[i+1]; volatilitybar_low[i+1] = Low[i+1]; volatilitybar_range[i+1] = High[i+1] - Low[i+1]; } } return(0);
>>26 作らずとも、iATR'()では何か問題でもあるの?
>>27 ATRのperiodとshiftいじれば同じ事できそうだぬ… orz
有賀トン
29 :
Trader@Live! :2011/04/15(金) 16:04:23.01 ID:zZ2CpmpZ
いきなりですが、 あるプログラムの途中に double WMA(int x, int p) { return(iMA(NULL, 0, p, 0, method, price, x)); } ってあるのは、なにを意味しているのですか? どなたか解説お願します。
整数x,整数pを引数に持つWMAというdouble型の関数を定義してる。 returnは戻り値。
31 :
Trader@Live! :2011/04/15(金) 16:38:42.53 ID:zZ2CpmpZ
>>30 ありがとうございます。
では、
int x = 0;
int p = MathSqrt(period);
int e = Bars - counted_bars + period + 1;
double vect[], trend[];
if(e > Bars)
e = Bars;
ArrayResize(vect, e);
ArraySetAsSeries(vect, true);
ArrayResize(trend, e);
ArraySetAsSeries(trend, true);
for(x = 0; x < e; x++)
{
vect[x] = 2*WMA(x, period/2) - WMA(x, period);
ってあるときの、
vect[x] = 2*WMA(x, period/2) - WMA(x, period)
の式はどこからきたのでしょうか?
なぜこうなるのかってのがまったくわかりません。
よかったら、何を調べればいいとか勉強したらいいというのを
教えてもらえないでしょうか?
WMAってのが
>>29 の関数なんだろうからそれを使って指標の計算をしてるんじゃないの?
具体的に言えばたとえば移動平均の計算期間を20日とすれば
10日移動平均を2倍した数値から20日移動平均の数値を引いた値を計算している。
それが何の指標かは知りません。
知ってる人いる?
トレンドの強さを見ているような気はする。
式がどこから来たのか何の根拠があるのかはぶっちゃけ製作者でないと分からん。 っで、分からんなりに推測すると、その式は多分WMA(10) + ( WMA(10) - WMA(20) )と 変形して考えた方が分かりやすそう。 とすると、これは10日移動平均と20日移動平均の差を10日移動平均に足したものと考 えられる。 てことは、結果としては10日移動平均線を中心線とした、20日移動平均線のバンドが出 来上がる・・・・・・はずw そのバンドに何の意味があるのかはサッパリ分からんが、移動平均乖離を利用した何 かを意図してるんじゃないかな?
>>34 ほう、そう聞くと
>>31 は興味深いね。
>vect[x] = 2*WMA(
代入先の変数名からするとベクトルを求めているみたいだけど。
5pipsごとにトラップを張ろうと考えていますが MT4では100本の注文が精一杯なのでしょうか? FXDDを利用しているのですが、何か打開策があればご教示ください。 (MT4を複数立ち上げて、同じ口座にログインし、トラップの範囲を変えれば可能でしょうか。)
GCIのデモサーバのIP分かる人いたら教えてもらえません?
>>7 にあるIPは古いみたいでつながらない。
豊嶋本買って読んでるけど説明が冗長でダルイな 逆引き辞典買えばよかた
いま最新バージョンってBuild399?
41 :
Trader@Live! :2011/04/16(土) 14:01:04.49 ID:3sYdrGil
HMAを解析(説明)しているサイトとかブログってないですかね?
>>41 特に聞かない。
要は指定した半分の期間のMAにこの期間と指定期間のMACDを
調整量としてより早く移動平均の位置をフィットさせようという試み。
予測型のデジタルフィルタみたいなもん。
2本の移動平均の乖離率を出すインジケータを作っているんですが上手くいきません。 この状態だとサブチャート画面に線が表示されません 何処がおかしいでしょうか? #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Red extern int period = 50; extern int period2 = 500; double makairi[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators //---- IndicatorBuffers(2); SetIndexStyle(0,DRAW_LINE); SetIndexDrawBegin(0,period); SetIndexBuffer(0,makairi); return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int limit; int counted_bars=IndicatorCounted(); double ma_Buffer1[]; double ma_Buffer2[]; if(counted_bars<0)return(-1); if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; for(int i =0; i<limit; i++) { ma_Buffer1[i]=iMA(NULL,0,period,0,MODE_SMA,PRICE_WEIGHTED,i); ma_Buffer2[i]=iMA(NULL,0,period2,0,MODE_SMA,PRICE_WEIGHTED,i); makairi[i]=((ma_Buffer1[i]-ma_Buffer2[i])/ma_Buffer2[i])*100; } return(0); }
>>43 説明が変でした。
長期と短期の移動平均線同士がどれだけ乖離しているかと言う事です。
IndicatorBuffers(2);
SetIndexDrawBegin(0,period);
この二つの間違えに気づき直しましたがダメでした。
double ma_Buffer1[]; double ma_Buffer2[]; をdouble makairi[]; のところに持って行ってバッファを3にしてみる。
縦軸の時刻を日本時間に変更したいのですが、どうすればよいですか? マニュアル読んでもわかりません。 お願いします。
>>46 >>5 > Q.日本時間を表示させたい
> A.JPN_Time_Sub mq4 または CIDP_JPY_Time.mq4 または JPN_Time_SubZero :-)
build399キタ━━━━━━━━m9( ゚∀゚)━━━━━━━━!!
ゆとりスレて初心者用じゃないんですね。 教えてもらってもわかりません。 さようなら。お騒がせしました。
MT4を開くたびにlive updateのウィンドウが開くのですが 出てこないようにするにどうすればいいのでしょうか? 最初に開いた時にstartを押してupdateしました。 今で3回目です。 よろしくお願いします。
HighBuffer[i+1]という高値にに水平線引きたいんだけど、 SetIndexStyle(0, OBJ_HLINE);にすると高値同士が線で結ばれていくんだけど、どうしたらいい?
駆け出しです。
http://jidoubaibai.com/burogu14.html テンプレにあるこのページに沿って学んでいるのですが、↑のEAをそのまんま
作って、FXDDのデモで日足でStrategy Testすると、1999年から順調に命令通りに
売買しているのですが2002年9月のゴールデンクロスで買ったポジションを
2002年12月のデッドクロスで売っていないのです。
再起動したりしてもどうにも解決しません。どこが問題なのか分かる方おられましたら
ご教授下さい('A`)
>>45 ありがとうございます
時間の空いたときに試してみます!
>>52 オーダーに失敗したときに再度トライするようになってないと、よくおきる現象だけど
ログに売買のエラーが出てない?
55 :
52 :2011/04/16(土) 21:44:58.20 ID:dZdrf7FC
すみません。Strategy Testerで他のEAを選んでまた戻ったら何故かうまくいきました。 失礼しました(ロ_ロ)ゞ
56 :
52 :2011/04/16(土) 21:47:24.67 ID:dZdrf7FC
>>54 なるほど!次からはログもチェックしてから考える事にしますね。
即レスありがとうございます。お騒がせしました。別に騒いでませんか。
>>49 面倒な奴だなぁ〜。
まず、縦軸でなく横軸だろ?
さて、横軸の時間表示はサーバーの時間を表示してる。
それをクライアント側でどうこうは出来ない。
手は二つ。
1)日本時間のデモサーバーに切り換える。
>>8 に関連情報があるけど、日本時間のデモサーバーってあまり知られていない。
2)日本時間を表示してくれるインジをインスコする。
だから
>>47 のをググってインスコして、それで動かしかたが判らなかったらまた質問してくれ。
誰か他の奴が答えるだろう。
この説明で判らなかったら、それ以前のスキルって事だから、これ↓から初めてくれ。
>>2 > ▼他のインジケーターを試したいならここら辺りで。
>
http://codebase.mql4.com/indicators >
http://www.forexmt4.com/_MT4_Indicators/ > C:\Program Files\MetaTrader 4\experts\indicators(←ここのフォルダに移して再起動)
>>50 OSはWin Vistaか7での話だよな
対処方は既出だが一応
原因はUACの制御されているProgramFilesにインストールしている為に
ファイルのアップデートが出来ないから何度もアップデートしなくてはいけない
対応方法はCのルートとかに入れる、もしくはUACの制御を切る
あとはMT4のルートにあるLiveUpdate.exeを削除する
等
>>58 ありがとうございます
OSはXPです
昨日まではなんともなかったのですが
今日開いた時からなんです
>>58 何故かLiveUpdate.exeが2つあり
古い方?を削除したら出なくなりました
ありがとうございました!
配列のインデックス指定にint型の配列を使うことってできますか? double a[10]; int b[10]; という二つの配列があったとして a[b[1]] と指定する使い方です
49です 皆さん、ありがとうございました。 日本時間にできました。 感謝です。
>>61 なんでまず試さないのかねー
試せば結果は直ぐ出るだろうに
まったくゆとりって奴は・・・(ry
CFDも表示出きるサーバ教えて下さい
66.249.89.99
移動平均線乖離率の小数点第二位を四捨五入した値にする方法を教えてください。
string DoubleToStr(double value, int digits) ある数値を指定された桁数で変換し、その文字列型を返す。 double StrToDouble(string value) 文字列からdouble型の数値へ変換する (倍精度少数値) double MathCeil( double x) MathCeil関数はxより大きく最も小さい整数を返す double MathFloor( double x) MathFloor関数はxより小さく最も大きい整数を返す この辺使って、パズルすればいけるかと
NormalizeDoubleを使えばOK
MT4で原油表示させる方法ありますか? ある程度具ググってはみたものの記事が古く現在は原油をあつかってない業者の紹介でした。 レジストリとか、EAとかの知識なら少しあるので手取り足取り教えてくれとはいいませんので ヒントやキーワードなどあればよろしくお願いします。
AvaFXとBrocoが原油あるんじゃないかな
>>71 instaのチャートに
#CL
#CLG1
#NG
ってあるけどこれかな?
>>72 >>73 ありがとう
ぼろこがつながらないから何かいい方法ないかなと思って
AvaFXの方で試してみます
前スレの985ですがスルーされたようなので、もう一度書かせていただきたいのですが、 ある通貨ペアのある指標の最新の値をデータウィンドウに 常に表示することができれば方法をご教示下さい たとえば、ドル円のチャートのチャートウィンドウで 移動平均やボリンジャーバンドを表示している場合、 チャート上でマウスカーソルを左右に動かしても 常に最新の移動平均やボリンジャーバンドの数値を表示させたいです よろしくお願いいたします
>>75 Commentを使ってインジケータの値を取得して表示すればいいだけじゃないのか
ありがとうございました!
>>68 ,69,70
ありがとうございます!
もし、double kairiと乖離率の変数を宣言していたら
NormalizeDouble(kairi,2)
で良いのでしょうか?これを置いた場所が悪いのか間違っているのか上手くいきませんでした。
何が上手くいかないのか知らないけど NormalizeDouble(kairi,2) こいつは指定された桁数で四捨五入はしてくれるのは間違いない あと言葉で説明するのが難しいのならソースを添付して ここが駄目なんだと説明をした方が分かりやすいと思うけどな
案外、IndicatorDigits だけで済む話かもね
81 :
Trader@Live! :2011/04/18(月) 00:52:30.81 ID:vq506VcL
ディレイではない外国の商品先物が 表示できるところ、ありますか?
作ったEAのストラテジテスタ上の 履歴を取ろうとして ファイルを作成しようと思っているのですが、 まったくファイルが作成されません。 なぜなんでしょうか? シンプルにこれだけでも作成されません。 プリプロ類略 int init(){ int handle = FileOpen("test_dayo.csv", FILE_CSV); FileClose(handle); } int deinit() { } // スタート関数 int start() { int handle = FileOpen("test_dayo.csv", FILE_CSV); FileClose(handle); }
自己レスです。 風呂あがってグーグルデスクトップ で検索したらインデックスができて C:\Program Files\xxxMetaTrader 4\tester\files 配下にできていました。 tester配下にできるとはしらんかった。 orz
新規作成の場合はFILE_WRITEも付けないといけない気がした FileOpen("test_dayo.csv", FILE_CSV | FILE_WRITE);
質問です 他のスレ見てるとMT4使っているひとがいるようだけど MT5とかでインジ使ったり自作したりしてるひとはいるの? 性能はMT5のほうがよいようだけど。 MT5対応の業者がでてくるまで待ったほうがいい?
自分にメリットがあれば使えばいい。 それくらい自分で判断できないと人生終わるぞ。
>>87 前にもどこか別スレで、同じ事言った奴に質問したら、レスが無かったんだが、
>ただ今現在MT5は正式リリースされてない
これのソースは?
>>89 Insta Forex はもうMT5リアルアカウントの提供してるのか。
さすがロシア企業と言うべきか。
NordFXもね。 大半の業者はデモのみだから、本格始動は先だと思うけど今年中でしょう。 流石にプロモーション用にデモ鯖だけ提供し続けるわけにはいかないだろうしね。 板があるから株にも先物にも対応出来るんで、IB辺りが採用してくれないかなあ。 関係無いけどトレードステーション入門買った。 今ProEdgeTraderてのを試してるんだけど、EasyLanguageが使えるツールなので
前スレで原油価格の表示方法を質問したものです。 avaFXはコマンドプロンプトでip接続調べたところちゃんと帰ってくるのですが デモ講座の申請となる手続きが完了しません・・・ これって日本からのipをはじいてるってことですかね?
訂正 原油価格の表示→原油のチャートの表示
MT4のアラームの音がホントストレスになるんだけど だれかいいのありませんか?
>>95 WEBでフリー素材探して入れ替えりゃいいよ
97 :
Trader@Live! :2011/04/18(月) 23:58:47.00 ID:O3T+ioiu
あるインジケータにメールとアラート機能をつけて上手くできるか 試してみるのですが、メールは何通もきてアラートもなり続けてしまいます。 ちなみにそこの部分のプログラムは //パラメーター extern bool Email = false; extern bool Sound = false; //スタート関数 for(int i=Bars-2;i>=0;i--) { UpArrow[i] = EMPTY_VALUE; DnArrow[i] = EMPTY_VALUE; if(Dntrend[i+1] == EMPTY_VALUE && Dntrend[i] != EMPTY_VALUE) DnArrow[i] = MathMax(High[i],Dntrend[i]); if(Uptrend[i+1] == EMPTY_VALUE && Uptrend[i] != EMPTY_VALUE) UpArrow[i] = MathMin(Low[i] ,Uptrend[i]); if (UpArrow[i] && Email && i == 0) SendMail("buy","Ask"+Ask); if (UpArrow[i] && Sound && i == 0) Alert("Buy signal at Ask=",Ask); if(DnArrow[i] && Email && i == 0) SendMail("sell","Bid"+Bid); if(DnArrow[i] && Sound && i == 0) Alert("SELL signal at Bid=",Bid); } といった感じです。 私なりには、UpArrowのときかつEmail=trueかつ現在バーのとき。 というつもりなのですが、何が悪いのでしょうか? アドバイスお願いします。
>>96 ありがとうございます
これって音声設定で返ればいいんですよね、
ありがとうございました
>>97 startは、ティック毎に呼ばれるから、そのときに条件が成立していると
何度でも実行される
>>98 コレでやるとituneが立ち上がるのはMP3ファイルだからでしょうか?
>>101 音声設定で拾ってきたMP3ファイルを設定したらitunesが立ち上がります
wavファイルに買えないとだめなのでしょうか?
尊阿蘇府と無いんですが、、
>>102 ん〜、mp3は試したこと無い
wavに変換するツールはたぶんベクターあたりに転がってると思う
面倒くさくてもいいなら、mp3を再生した音を
windowsに付いてるサウンドレコーダーで録音すればいいよ
>>104 サウンドレコーダー音はいりません、、さがしますか、ソフト、、、
106 :
Trader@Live! :2011/04/19(火) 00:31:40.49 ID:uNUKs2c6
>>99 ではインジケータではUpArrowシグナルやDnArrowシグナルが出たときに
一度だけ鳴り次回は次のシグナルの発生条件のときに鳴らす
というのは無理なのでしょうか?
>>104 できました、ありがとうございました!!
>>105 ボ゙リュームコントロールの録音ボリュームが下がりきってないだろうか
AquesTalkで音声を作って、SPWAVEでマージしたりカットしたりして
>>106 シグナルがどういう条件で発生するかでやりかたが色々ある
たとえば、一つのバーで何回もシグナルが出るけど一回しか鳴らしたくないとかなら
新しいバーができたらフラグを立ててシグナルが出たらフラグをチェックして
立っていたら音を出してフラグを落とす
みたいなことをすればいい
111 :
Trader@Live! :2011/04/19(火) 00:51:33.28 ID:uNUKs2c6
>>110 ありがとうございます、早速試してみます。
一目の転換線だけ出したいんですが 他の線を黒くすれば転換線だけだせますが ロウソクが汚くなってみずらいのです、 どうしたらいいかご教授お願いします
>>112 黒くするんじゃなくて、Noneをクリック。
115 :
Trader@Live! :2011/04/19(火) 10:56:14.14 ID:uNUKs2c6
>>110 アラートフラグをつけてみたのですが、まだ連続して鳴ってしまいます。
//グローバル変数
bool AlertFlag = false;
//スタート関数
if (Uptrend[i+1] == EMPTY_VALUE && Uptrend[i] != EMPTY_VALUE)
{
//まだ一度も鳴っていなかったら
if( AlertFlag == false)
{
if(EmailON) SendMail("buy","Ask"+Ask);
if(AlertON) Alert("Buy signal at Ask=",Ask);
AlertFlag = true; //連続でならないようにする処理
}
}
if (Dntrend[i+1] == EMPTY_VALUE && Dntrend[i] != EMPTY_VALUE)
{
if( AlertFlag == false)
{
if(EmailON) SendMail("sell","Bid"+Bid);
if(AlertON) Alert("SELL signal at Bid=",Bid);
AlertFlag = true;
}
}
//それ以外だったら
else
{
//また条件が一致したらアラートを鳴らすようにする
AlertFlag = false;
}
どこがいけないのでしょうか?
>>113 すみません、一目の設定にnonがないんですけど
どのインジですか?アタラシイノいれたいと思います
>>116 あった、nonってあった、ありがとう!!
すいません、質問なのですが 様々な指標を算出するときに使うデータは Askレートの4本値でしょうか、それともBidレートの4本値でしょうか
Bid
>>115 Uptrend[i+1] == EMPTY_VALUE && Uptrend[i] != EMPTY_VALUE
の条件を満たして
Dntrend[i+1] == EMPTY_VALUE && Dntrend[i] != EMPTY_VALUE
の条件を満たさない場合に
AlertFlagがfalseになってる。
どこをどう直すかはがんばって考えてくれ。
>>115 シグナル自体が連続して出たり引っ込んだりしてるってことはない?
レンタルサーバ借りてEA動かしてる状態で 自宅からログインしたら古いほうは自動でログアウトされるんですか? BTまでできたEAがなぜか動かなくて消去法的に上記のことが考えられるんですが・・・
>>122 俺は複数ログインで複数EA動かしてるよ。
他PCから新たにログインしても問題ない。
Allow live tradeingのチェック忘れじゃないの?
接続切る時にわざわざログオフしてるってオチだったりして
業者で制御してるとこね?
forループは i++ で回すより i-- のほうがいい? 過去のレスでそんな記述があったんだが、実際どうなん?
>>122 はログイン→MT4起動・EA起動→ログオフしてると予想。
>>127 ポジションを決済するときとかは++だと一個飛ばしになったりする。
すいません、MetaTraderをデフォでインストールしたときに入ってた罫線分析ツールで、 挿入 > 罫線分析ツール > Oscillators > Envelopes のEnvelopesを規定する*.ex4ファイルおよび*.mq4ファイルが見つからないのですが どこにあるのか教えていただけませんでしょうか
>>131 MT4標準搭載のインジは本体組み込みだったんじゃなかったかな。
なのでどこにもないはず。
すみません、移動平均乖離率をラインではなく ヒストグラムで表示させる方法を教えていただけないでしょうか?
>>134 init()内で定義されているSetIndexStyleのDRAE_LINEをDRAW_HISTOGRAMに変更。
定義されてなければ追加する。
SetIndexStyle(0,DRAW_HISTOGRAM,EMPTY,EMPTY,Gray);
とでも書いておけ。
日本時間が表示できるサーバーって
>>8 にありますか?
誰か教えてください
東京はGMT+9です。
121って口座開かなくても使えるのかな?
あぁ下3桁が2桁に orz
日経とダウが見れなくなったww _| ̄|○
何やらゆとり全開でほほえましいな。
143 :
Trader@Live! :2011/04/20(水) 14:40:37.44 ID:9cg0jgq8
デフォルトのカーソル「Cursor」を常に「Crosshair」となるように変更することは可能ですか?
自動売買でバリバリ儲けるぜ!と思ったらバックテストすらまともにできない件 History dataダウンロードしてEA有効化もしてるんだけど、 グラフもレポートも白紙 助けてエロイ人
>>146 すみません、optimizationにチェックを入れていてそれで物言いがついてたみたいでした。
ありがとうございました。
148 :
Trader@Live! :2011/04/20(水) 23:37:37.38 ID:U8WZxIzy
MT4にて 日足の始値時間と終値時間は 日本時間の何時から何時までになるのでしょうか?
150 :
Trader@Live! :2011/04/21(木) 08:48:40.22 ID:MzfVwOgZ
121証券のMT4からエクセルにデータ取得できないです。 DDEの設定変更は121証券のMT4でも出来て、他のMT4だとデータ取得できます。 口座も持っているんですが、どなたか同じ経験ありませんか?
豊嶋氏の本を丸パクリして、自分が作ったプログラムですみたいな面してる人が何人もいるなw 細かい所を噛み砕いて説明してくれてるからビギナーにはありがたいけど。
>>151 ツール>オプション>サーバーのDDEサーバーを有効にするにチェックが入っていないんじゃないか?
>>151 リアル口座なら通貨ペアの後に.ドット付けてる?
155 :
Trader@Live! :2011/04/21(木) 18:25:15.45 ID:dEm3KxAv
アップデートしても、毎回バージョンのアップデートを 促されるのだが。。。
トレンドラインを引いて、そこに来たらアラームしてくれるやつありませんでしょうか? chin breakoutってやつは自分でライン引いても、他の分足を見て戻ると、 高値安値の初期設定ラインに戻るんです 何か他にいいものありませんでしょうか?
パソコンを再インストールした時に備えてチャートの組や使用しているインジなど 現在のチャートの状態を保存したいのですが方法が分かりません。
>>158 メニューの項目がそれぞれどんなものか、一つずつ試しておいた方が良いと思うよ
その中にあるから
>>159 返信有り難うございます。
ファイル→名前をつけて保存だと思ったら4本足のデータでした。
一通り見た感じではないようでしたので、こちらで聞いてみました。
でも、どうやらあることらしいことは分かったのでもう1回探してみますが、
テストとかしないといけないので、良ろしければご教示下さい。
>>160 MT4のフォルダ本体をバックアップメディアにコピーするのが楽だよ
安いUSBメモリーにバックアップで良いと思う
dropboxとか使うと楽
164 :
Trader@Live! :2011/04/22(金) 15:05:21.14 ID:sqRHqbTs
平行にチャネルラインを引いてるんですが 拡大したり、時間足を変えたりするとチャネルラインの表示する レートが変わるんですが(平気で30pip以上とか) MT4ってこんな感じなんですかね?
>>161 回答どうもです。本当にそれでいいんですか。
MT4ってインストラーだからレジストリ関係があると思っています。
それとも本体以外のフォルダをバックアップすればいいんでしょうか。
>>165 Vistaや Win7 を使っていて、MT4を Program Files 内に入れている人はそれだけじゃ駄目かもしれないけど、
Cドライブ直下にインストールしてるなら、それだけでいい
レジストリ関係は、デモ登録時の個人情報が登録されているだけだから、バックアップ不要だね
>>165 MT4をアンインストールしても一部フォルダが残るけど、そのフォルダは違うのかな?
Xpであう、急に起動しなくなったのですが どうしたらいいのか教えてください 再インストールいやです、、
どなたかおねがいしますなぜ起動できないのでしょうか?
>>153 ご説明不足でした。
DDEにチェックは入れていました。
>>154 ドットを付けたら表示されました。
感謝致します。
どうかよい週末を!
>>172 それって再インストールですよね、
前もダウンロードし尚したらいけたのですが
何と何を保存し解いて、新しいのと入れ替えたらいいのか教えてください
お願いします
>>173 再インスコの前にhistoryやlogsを空にしてみるとどうだろ?
環境の保存はこの辺のフォルダかな
experts
templates
profiles
>>174 ありがとうございます、やってみましたがだめだったのでインストールしなおしました
ありがとうございました!
>>160 質問取り違えてた
チャートの組表示を保存するだけじゃなくてバックアップなのね
だったら166さんの言う通りMT4のフォルダ丸ごと別途保存しとけばいいよ
チャートの組表示情報なんかはフォルダに保存されてるから、レジストリ関係は
ログインパスワード入力が再度求められる程度だと思う
MT4から他のアプリへ任意のキー出力をさせる、ということは可能ですか?
>>177 意味が・・・キーってキーボードのキー?
例えば、メモ帳に自動で文字を打ち込むみたいに?
DLLでWindowMessage送れば出来るんじゃない?
>>166 、
>>167 、
>>176 返信有り難うございます。
いえいえ、フルバックアップではなくチャートの組表示っていうんですか。
それが聞きたいことです。
結果的にフルバックアップでも私の質問の回答にはなっていますが、
さすがにそれだと関係のないファイルも大量に保存することになるので・・・
未だにメニューのどこにあるのか見つけられません(汗)
>>179 profiles
templates
experts\indicators
多分この辺り
>>178 はい、そんなかんじです
MQLだけではできないんですね
いい機会なのでDLL作成に挑戦してみたいと思います
test
testerの結果と現在使用中の画面とをシンクロってできますか? できるとすればどうすれば?
>>183 意味がわからん
ビジュアルモードのことじゃないよな?
前日比を手っ取り早く算出する方法ってありませんか? 日足でできると思ったんですがMT4では日足の区切り時間が00:00なので 日本のFX業者が扱っている「前日比」をうまく算出できません。 自分で思いついたのはHour()を使って現在から午前6時の1Hバーに 遡って始値を取ってきて、現在値と比較するという方法なんですが、 これだと月曜朝は7時に変更しなきゃいけませんし、なんか回りくどいんですよね もっと手軽に算出する方法ってありませんかね・・・?
>>185 回りくどくても正しく動きゃいいんだよ
動けば正義w
>>179 ファイル(F)→チャートの組表示→名前を付けて保存(A)とかの話じゃないの?
あと右クリックで定型チャート→定型として保存とか。
それを別途保存しておくなら
>>180 をバックアップ。
相場のすべてを知りたいので教えてください
まずズボンを脱ぎます
>>187 それはある
詰め込み世代の新人って指示待ちか出来もしない癖に勝手な事やって迷惑掛けてくれる奴かの両極端だった
ここ数年の奴らは、意外と使える
我々にしてもそうだったけど目で盗んで憶えるというか自分の頭で考えて言われなくても的確に動けるのが増えた気がする
日本人らしさが戻って来た感じ
192 :
Trader@Live! :2011/04/23(土) 11:01:07.83 ID:otLj/NcR
RSIが規定の値になった瞬間にアラートが鳴るインジはありませんか? 70の場合は70に触れた瞬間にアラートが鳴るようなものです よろしくお願いします
>>192 そんな簡単なのは、ネットにサンプルがたくさん落ちてる。
自分で書くんなら、experts\indicatorsディレクトリにRSI.mq4がある。
いちばん下のreturn(0);の上に、
if (RSIBuffer[0] > 70.0) PlaySound("alert.wav");
と書いて、コンパイル。月曜日になって、「やっぱりうるさいんで。。。」とか言わないでね。
194 :
Trader@Live! :2011/04/23(土) 12:36:34.00 ID:3KzvDS95
すいません 少し分からないんでサンプルを2つ作って欲しいです 一つ目は80、70、60、40、30で重なった瞬間にアラートが鳴る物 二つ目は80、70、30、20で重なった瞬間にアラートが鳴る物 よろしくお願いします
195 :
Trader@Live! :2011/04/23(土) 13:08:48.14 ID:HChT0+J8
すいません 対応遅いんでもういらないです
TESTあああ
マジつかえねーなここのカスどもは
みんな一生懸命被災者を助けようとしてるのに、 「食べ物が届くのが遅いんじゃゴラァ」と言ってるのと同じだな。サッカーでも見よう。
あ、作ったけどいらないのか
200 :
Trader@Live! :2011/04/23(土) 15:02:14.90 ID:3KzvDS95
いや
私が
>>195 をいったのではありませんよ
とても欲しいです
>>200 相場3万のところ2万で売るよ
捨てメアドよろしく
202 :
Trader@Live! :2011/04/23(土) 15:53:11.75 ID:3KzvDS95
MikuInstrerでMT4をMacで使っていますが、今回のアップデートで起動するとエラーが出て使えなくなりました。 対応できた方いますか? それか、アップデートしなければ起動します。なのでアップデート通知を停止させる方法知ってる方いますか?
LiveUpdate.exe を削除。
LiveUpdate.exeを削除するとか?責任は持たん。
>>202 代わりに俺が
if (RSIBuffer[0] > 70.0) PlaySound("alert.wav");
何気にコピペするだけでは進歩しないから、少しは進歩できそうな風に書いておく
RSIBuffer[0] > ○○はその重なった時の値。
君の場合PlaySoundよりAlertの方が良いと思うんで変更しときますね。
月曜日以降ウザくなって文句言われても責任持たないから悪しからず。
とりあえず以下のソースをコピペしてコンパイルしよう。
if (RSIBuffer[0] > 70.0) Alert("RSI 80!!");
if (RSIBuffer[0] > 70.0) Alert("RSI 70!!");
if (RSIBuffer[0] > 70.0) Alert("RSI 60!!");
if (RSIBuffer[0] > 70.0) Alert("RSI 40!!");
if (RSIBuffer[0] > 70.0) Alert("RSI 30!!");
if (RSIBuffer[0] > 70.0) Alert("RSI 20!!");
こいつを全部コピペして値を自分で変更しよう。
チョー間違い こっち if (RSIBuffer[0] > 70.0) Alert("RSI 80!!"); if (RSIBuffer[0] > 70.0) Alert("RSI 70!!"); if (RSIBuffer[0] > 70.0) Alert("RSI 60!!"); if (RSIBuffer[0] < 70.0) Alert("RSI 40!!"); if (RSIBuffer[0] < 70.0) Alert("RSI 30!!"); if (RSIBuffer[0] < 70.0) Alert("RSI 20!!");
すいません意味が分からないので完成品をzipでお願いします
209 :
Trader@Live! :2011/04/23(土) 21:07:22.20 ID:NjKQPJzF
MT4をダウンロードするとどこでも回線不通と表示されて デモ口座開設ウィンドウの「次へ」のボタンが押せないん だけど原因は何なのかお願いします
210 :
Trader@Live! :2011/04/23(土) 21:31:20.39 ID:G9tndswh
MT4やってみたいと思ったんですが、国内業者だと日足が6本になってしまうんですね。 海外業者は、正直英語も読めないし怖さがあるんですが、 皆さんは海外で口座持ってるんですか?
完成品は3万円になりますw
はやくうpれよ
ウィルス仕込んでアップしてやるよ
>>212 俺の穴奴隷になったらうpってやんよ。
早くケツ出せや
∧∧
(д`* )
(⊃⌒*⌒⊂)
/__ノωヽ__)
>>209 ニュースレターの受け取りのとこにチェック入れました?
>>210 WEB翻訳やWEB和英辞典を駆使してみたり
やれる事は全部やりましょう。
イギリスのFX Dialogueて業者でやってます。
InteractiveBrokersで先物始めたんで、FXへの資金は減らしてますけど・・・
あるタイミングで得た値を長期的に保存しておくにはどうすればいいですか? 普通の変数だとティック毎に宣言&初期化するので保存できないんですが、 static変数っていうのを使えばいいんですかね?
>>218 tickを跨いで保存ならスタティック宣言
EAの終了起動を跨いで保存したいなら、MT4のグローバル変数を使うとよい
>>219 わかりました。
ありがとうございました!
222 :
Trader@Live! :2011/04/24(日) 08:57:34.82 ID:hhKSZ0T1
209 Trader@Live! 2011/04/23(土) 21:07:22.20 ID:NjKQPJzF
MT4をダウンロードするとどこでも回線不通と表示されて
デモ口座開設ウィンドウの「次へ」のボタンが押せないん
だけど原因は何なのかお願いします
>>215 もちろんチェック入れましたが全く駄目です
>>222 質問するところ間違えているっていい加減気づけよ
ダウンロードしたブローカに質問すれば?
イースター休業
225 :
Trader@Live! :2011/04/24(日) 10:46:51.78 ID:hhKSZ0T1
>>223 最初ダウンロードした業者にしたのですが全く駄目でその後も
何社もやってみたのですがことごとく失敗。どうやらブローカー
サイドの問題ではないらしく今考えるとその質問自体「想定外」
で理解できなかったようです
>>225 ファイヤウォールが通信を妨害している可能性は?
227 :
Trader@Live! :2011/04/24(日) 13:20:01.78 ID:xHBzZ5lh
FXより日経225に使うほうが勝てるんじゃないの、動きが素直だから
228 :
Trader@Live! :2011/04/24(日) 14:12:47.66 ID:lcv4hu6H
気付くのおそいよ 株とか先物の方が素直に動くし簡単 でもまとまった金がないと利益出しづらいの つまり金がない奴は為替しかないってこと
229 :
Trader@Live! :2011/04/24(日) 15:01:00.31 ID:xHBzZ5lh
最低10万円ぐらいはあると思うけど、FXだとドル円で5枚、ユロ円で4枚出来る。 225先物ミニで今証拠金7万2千円、100万円だと10倍 何とか10万円を1年で100万円にしよう
230 :
Trader@Live! :2011/04/24(日) 17:00:52.58 ID:FVWQMkQV
すいません 少し分からないんでサンプルを2つ作って欲しいです 一つ目は80、70、60、40、30で重なった瞬間にアラートが鳴る物 二つ目は80、70、30、20で重なった瞬間にアラートが鳴る物 よろしくお願いします と頼んだものですがまだかまだかと待っています よろしくお願いします
>>230 ここはサポセンじゃないし、無料EA提供所でもない
もうちょっと、その気にさせるような書き方せなw
>>230 なんかこう、自分でトライして駄目だったコードをアップするといいんじゃないかな
>>230 おまえ、マルチポストうざすぎ
何様のつもりよ?
extern int Period=XX;で指定した期間内の(High[i]-Low[i])の合計を出すには、どう書いたらいいでしょうか? iMAやiADX等を使わないで、出来ればif•for文を使って書きたいです。 static変数を使ったり試行錯誤しているのですが、上手く書けないので、 どなたかご教授お願いします。
>234 start()内で double sum=0.0; for(int i=0;i<Period;i++) sum+=High[i]-Low[i]; Comment(sum); をカキコすると現在を含む期間Periodの合計を計算して左上にコメする。
237 :
234 :2011/04/24(日) 21:38:08.71 ID:DZlNXBsN
>>236 sum+=ですか…こんなにシンプルだとはww
ありがとうございました!!
238 :
234 :2011/04/24(日) 21:56:58.61 ID:DZlNXBsN
たびたびすいません。 もし、sum+=Open[i]-Close[i]とした場合、Period=12、if(Open[i]-Close[i]>0)の条件を入れると、 12本のbarのうちif条件を満たすもののみ合計されるのでしょうか?
239 :
Trader@Live! :2011/04/24(日) 23:34:41.60 ID:TIreQxEn
FXDDでメタトレーダーを使ってて、apr 22 22:00で止まってるんですが、どうすれば治りますか? アップデートしてだめ、再インストールしてもだめでした。
241 :
Trader@Live! :2011/04/24(日) 23:39:32.38 ID:TIreQxEn
本を一通り読んだのに初歩的なことでした。ありがとうございます。
初心者用スレとは言え、見るに耐えない書きコが、最近多いおね。 新社会人が大量にFXに参入してるって状態なのかお?
前からこのぐらいのレベルだった気がするけどw
>>239 の人はまだ可愛いじゃない。自分で再インストールとか試してるし。
RSIが70でアラームの人はひどいね。
横レスだがPeriodって変数名は使えたっけ? 予約語じゃなかった?
自作インディケーターを二つクロスさせてシグナル出してメールとアラート付きに するのに本借りてきてウェブで調べてiCustomってなんだったけから始めて 2日間がかりだた・・・・・疲れたわ・・・・・ 何とか仕上がった。やりゃできるもんだな。 探してる途中でおもしろいインディケ見つけた。 007_Indicators_Alert.mq4 というやつ。 クロス&シグナルするインディケと一緒に走らせたらメールとアラートを勝手に出してくれる。 BufferでBuyとSellとかのシグナルを指定する。 私は用無いんで使わなかったけど保存した。
>>247 条件入れてくとEAを生成してくれるWEBサイトあるじゃん?
あれで雛形作ってもらって、あとはOrder*()を適当にAlert()とかSendMail()に
置き換えても目的は達成できると思うよ。
印字を作ってるけどうまく計算されず、結局馴染みのVBAで検証中 VBAは親切だなあ…
>>249 VBAさわれればMQL4なんてちょろい
>>250 そんなもんかなあ…
どうも他の既製のコードを見てても何かが足りないような、何かが余計なような、
そんな感じがしてしまう
>>250 VBAできても、Cに近いので、最初はめんどかった
253 :
Trader@Live! :2011/04/26(火) 09:34:41.65 ID:8jN0MXIm
FXDDからダウンロードしたMT4を使っていますが 日足の始値時間と終値時間は 日本時間の何時から何時までになるのでしょうか?
ライブラリに関数作って、それをコンパイルするとint start()内にないと走りませんよってエラーでるよね。 黄色い三角のアラート。 double pos = MyCurrentOrders(MY_OPENPOS, magic); って豊嶋先生オーダー使ってるんだけど、この中のfor文がエラーの元ってこと?
>>254 単なる警告なんで無視しても構わないし、#property libraryを追加してもいい。
>>255 よく見たら実践本の後ろの方に書いてありました。
ありがとです。
T3 期間 13 0.7 これって何のパラメータなのか教えてください
T3MAって何? T3MA(Peri,b,Price)[i]の計算
i時点において
平滑系列1 T1[i]=EMA(Peri,Price[i])→いわゆる普通の期間PeriのEMA
平滑系列2 T2[i]=EMA(Peri,T1[i])→対象系列がT1
平滑系列3 T3[i]=EMA(Peri,T2[i])→対象系列がT2.以下同上
平滑系列4 T4[i]=EMA(Peri,T3[i])
平滑系列5 T5[i]=EMA(Peri,T4[i])
平滑系列6 T6[i]=EMA(Peri,T5[i])
T3MA(Peri,b,Price)[i]=c1*T6[i]+c2*T5[i]+c3*T4[i]+c4*T3[i]
c1-c4は重み付け定数
c1=-b^3
c2=3b^2+3b^3
c3=-6b^2-3b-3b^3
c4=1+3b+b^3+3b^2
(c1+c2+c3+c4=-b^3+3b^2+3b^3-6b^2-3b-3b^3+1+3b+b^3+3b^2=1)
尚、0<=b<=1となるような値に設定する。(重み付けの調整定数)
Peri=13、b=0.7
元ネタ
ttp://wonderfulscience.blog26.fc2.com/blog-entry-80.html
>>258 大変ありがとうございます
俺が賢かったら理解できたんだが、残念だ
ところでそのインジゲーターってアルの?
それともどうにかMAの数値変えて表示できるのかな?
個人的にはこちらの方を、標準でマルチタイムフレームに対応してますし
http://fxmt4.sakura.ne.jp/mt4indicatorsimage/T3_clean.mq4 extern int T3Period = 14; 期間
extern int T3Price = PRICE_CLOSE; 使う価格
extern double b = 0.618; 重み係数
extern string TimeFrame = "current time frame"; タイムフレーム
タイムフレームは分換算ではなくて、下記のように入力して下さい。
M1 M5 M15 M30 H1 H4 D1 W1 M1
M1 M5 M15 M30 H1 H4 D1 W1 M1 の中から選択して下さい。 言葉足らずでスンマセン
263 :
Trader@Live! :2011/04/26(火) 15:19:47.02 ID:8jN0MXIm
FXDDからダウンロードしたMT4を使っていますが 日足の始値時間と終値時間は 日本時間の何時から何時までになるのでしょうか? ご存知の方、教えて下さい。
ポジクローズの仕方としては ロスカットの条件を満たし次第成り行きでロスカット と ロスカット条件の指値をクローズのプライスに入れておく どっちが一般的なの?
バックテストでModeling
途中で書き込んでしまった バックテストでModeling quality 90%が良いと聞きますが FXDDでRateをダウンロードしてtickでテストしても25%になって しまうんですがどのようにしたら90%になるのでしょうか?
1分足のテストは25%にしかならない
>>264 指値は、髭でも約定してしまうので、それが望ましくない動作なら
自前で閉じる
270 :
267 :2011/04/26(火) 16:13:05.33 ID:qxZTUdK3
>>268 では1分足で25%は信用性が高いって事でいいんですか?
>>263 1時間足の現在のバーから過去へ数えれば済む話だけど・・・。
期間区切りのとこにはチェックが入ってるよね
数えるのが面倒ならこれ使えば良いよ。
JPN_Time_SubZero.mq4
>>270 もともと信頼性の低いバックテストしかできないから、
「1分足で25%は信用性が高い」と言うのは語弊があると思う。
「適切にバックテストできている」とでも言ったほうがよいかもね。
273 :
267 :2011/04/26(火) 17:02:38.55 ID:qxZTUdK3
>>272 なるほど適切にですか確かに信頼性って言うと御幣がありますね
ありがとうございます。
mt4で使っているインジにとても気に入ったものがあったので、 それをFX以外の金融商品に使おうと思っています。 エクセル上で動かそうと考えていますが、自分はプログラムは 全くの素人で、まったくわかりません。 エクセルのマクロ、mql4などを1から勉強するとして、 どのくらいの期間勉強すればできるようになるでしょうか? まずは豊嶋さんの本を読んでみようと思っていますが、 効果的な方法がありましたら、ご教示頂ければ幸いです。
275 :
Trader@Live! :2011/04/27(水) 13:27:01.48 ID:ynvCTjvl
>>263 です
>>271 ありがとうございます、
確かにJPN_Time_SubZero.mq4 は便利です
でも
FXDDからダウンロードしたMT4で
日足の始値時間と終値時間が
日本時間の何時から何時までになるか
ご存知の方がいたら教えて下さい。
>>275 なんでここで聞く?
FXDDのホームページに行くと上のほうに「ライブチャット」ってボタンがあるから、
それを押すと丁寧に教えてくれるよ。もちろん日本語で。
FXDDのブログで聞いたほうが早いよ
>>275 いやだからあ期間区切りを跨げば日足が出来るわけで・・・
逆算すれば日本時間で何時なのかわかるでしょう。
あなた期間区切りとはなんなのか判ってないね。
>>273 ちょっと
>>268 に補足するけど、Modelling qualityは足に依存するよ。
25%のなのはM1の時。M5以上なら90%になる。
M1の結果は当てに出来ないってのが俺の持論。
280 :
Trader@Live! :2011/04/27(水) 23:09:37.57 ID:+KejhjdK
FXDDのMT5なんですが、数ヶ月起動しなくて 今日久しぶりに立ち上げてみたら、ログインできないんですが 解決方法わかりましたらご教示ください
MT4が古すぎて鯖のIPが変わっているとか FXDDのサイトから新しいMT4をダウンロードしなおすのが一番手っ取り早いかもね
なるほど。 ちなみにデモアカウントって有効期限とかあるんでしたっけ?
あるある。
大抵1ヶ月 1ヶ月に1度ログインしてれば 半年ぐらいもたせてくれる所もある
ああーじゃあアカウント期限切れっぽいですね。 取りなおすかあ・・・ 皆様ありがとう〜
値幅の狭いところでもドテンするようなシステムをご存じないでしょうか? ストップ注文がストップレベルに引っかかる問題とかどうやって対処してるのかとか気になるので。 コードがどうなってるのか参考にしたいんだけど、知っている方いたら教えてください。
>>286 制限内で決済するのは成行でやるしかないよ
コードで回避できる問題じゃない
>>287 if(type == OP_SELL)
if(高値-安値<=ストップレベル)closeprice = 高値-ストップレベル
みたいに考えてたけど、ダメそうですね。
成行の場合だと、どういう感じになりますか?
EA名か部分だけのコピペでもいいんで、知ってたら教えてください。
>if(type == OP_SELL) 訂正 OP_BUYだった
>>288 成行きだからEAで常に価格を監視していて希望の値になったときに
成行の注文を投げるだけだよ
でもそんな狭いストップでやってもスプ負けになるのがオチよ
>>290 ありがとです。
スプのことも考慮してもうちょい考えてみます。
>>291 思い付くところでは、BB使って3σでドテンかな。
BB+ATRでどうだろう?
勝ち組って利益率いくらぐらいですか?
こりゃひでー
直近N本の高値と安値をライン(またはボックスのような感じ)で表示させてくれるインジ知りませんか? GFTの真実の強みっていうインジがいい例なんですけど、MT4でも使いたくて・・・。 2時間ほど探しましたが中々見つからないですorz
>>295 具体的、こうやるって書いてくと誰かが作ってくれるかもよ
ODLのMT4で金や原油のチャートって見れますか?
ツールバーの表示設定が毎回、起動時にリセットされるんだけど 回避方法ありますか?
>>299 vistaならcドライブ直下にインストール。
>>296 お返事有難う御座います。
(結論から言えば
>>298 さんのおかげで、見つけることができましたが、一応説明書かせて頂きます。)
具体的には、ローソク足N本の高値・安値を四角で囲っていくインジです。
>>295 でGFTの真実の強みと言いましたが、それは間違いだったようです、申し訳ありません。
参考としてステが、ローソク足12本となっているものの画像をのせておきます。
ttp://t-commu.net/blog/t008/files/2010/02/cya-togft.gif mt4の次ぐらいに有名?なVTtraderには標準装備されているのですが、MT4でも使いたいです。
そちらの画像ものせておきます。
>>298 お返事有難う御座います。
欲しいインジを英語でという発想がなかった私自信を情けなく思います。
いいものを教えて下さり有難う御座いました。
ハイローバンドを調べさせて頂くにあたって、自分が使用したいものに出会えました(ほぼハイローバンドと同じものです)。
>>302 ありますが、表示のされ方は少々違います。
>>303 お返事有難う御座います。
宜しければ教えて頂けないでしょうか?
>>300 thx!
面倒だからこのままいくぜ・・・
307 :
Trader@Live! :2011/04/30(土) 01:25:28.58 ID:idezXA6K
一つのチャートウィンドウ上に、複数通過のチャートを重ねて表示することは可能でしょうか?
ZigZagのステにある ExtDepth ExtDeviation ExtBackstep は、それぞれ具体的にはどういうものを表しているのですか? それぞれの単語の意味や、ZigZagの作者の説明の訳など調べてみましたが、明確な答えを出すことができませんでした・・・。 御存じの方がいらっしゃいましたら、教えて頂けないでしょうか?
310 :
Trader@Live! :2011/04/30(土) 22:03:00.23 ID:TmjAoSaX
アンドロイド用のMT4って海外ではすでに出てるけど 日本のブローカーで出してるとこあるのかな?
突然ぶしつけな質問ですいません。以下のプログラムはスローストキャスなんですが、これのどこに何を入れたらバッファ2が25と75を超えたときにメールが1度だけ送信できるようになるのでしょうか。勝手なことを申し上げて誠に申し訳ありません。 extern int PK=14; extern int PD=5; extern int PS=5; //---- buffers double k[]; double d[]; double cross[]; double arrowtype; int init() { SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,k); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,d); // SetIndexStyle(2, DRAW_ARROW, EMPTY); // SetIndexArrow(2, arrowtype); SetIndexArrow(2, 252); SetIndexBuffer(2,cross); return(0); }
つづきです int start() { int counted_bars=IndicatorCounted(); int shift,limit; int big_k, big_d, on, off; on =1; off =0; big_d = off; big_k = off; arrowtype =252; if (counted_bars<0) return(-1); if (counted_bars>0) counted_bars--; limit=Bars-PK-1; if(counted_bars>=PK) limit=Bars-counted_bars-1; for (shift=limit;shift>=0;shift--) { //- d[shift]=(iStochastic(NULL,0,PK,PD,PS,MODE_SMA,1,MODE_SIGNAL,shift)+iStochastic(NULL,0,PK,PD,PS,MODE_SMA,1,MODE_SIGNAL,shift+1)+iStochastic(NULL,0,PK,PD,PS,MODE_SMA,1,MODE_SIGNAL,shift+2))/3.0; k[shift]=(iStochastic(NULL,0,PK,PD,PS,MODE_SMA,1,MODE_MAIN,shift)+iStochastic(NULL,0,PK,PD,PS,MODE_SMA,1,MODE_MAIN,shift+1)+iStochastic(NULL,0,PK,PD,PS,MODE_SMA,1,MODE_MAIN,shift+2))/3.0; if (d[shift] > k[shift]) { big_d = on; } else if (d[shift] < k[shift]) { big_k = on; } // //Print("d[shift] ",d[shift]," shift ",shift, " big_d =",big_d ); //Print("k[shift] ",k[shift]," shift ",shift, " big_k =",big_k ); //Print(" limit ",limit, " counted_bars ",counted_bars); //- } if ( (limit<PK) && (big_d==on) && (big_k==on)) { cross[0]= 50; // Alert("Cross Sign ",Open[0],"!!"); } big_d = off; big_k = off; // return(0);
(;^ω^)キビシー
1万でメール機能つけてあげるよ
どなたか、任意のローソク足の数を指定して 縦に区切り線を入れられるインジを知りませんか? 行いたいのは、5分足を12本ずつ区切って 1時間の流れを簡単に確認したいです
317 :
Trader@Live! :2011/05/01(日) 12:05:09.50 ID:eL2SviG5
1分足で、毎秒ローソクの動きを更新させることは出来ますか?
オリジナルのインジケーターからEAに変数を渡したくて調べたんですが iCUSTOM以外に出来るものはありますか? iCUSTOMの場合だと、指定したバッファ配列の値みたいなんですが、 変数を渡したいときは変数をバッファに入れるやりかたでおk?
ブレイクしてポジオープンするときに、値をまたぐたびに何回もエントリーしてしまうのを防ぐにはどうやってますか?
>>320 iCustomだとインデックスバッファを使わなきゃいけないから、
グローバル変数を使ってみるのはどうかね?
>>321 すでにポジがある時は、ポジりたくないなら、
int total = 0;
for (int cnt = 0; cnt < OrdersTotal(); cnt++) {
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderMagicNumber() == magic) {
total++;
}
}
if (total == 0) { ポジる条件を満たせば注文 }
if (total > 0) { 注文しないで、ポジを持ってる時の処理 }
て感じにするのが良いかと。magicはMagic Numberね。
>>320 手っ取り早いのはMT4のグローバル変数(GlobalVariable*関数郡)を利用する方法。
別のやり方としては、インジがファイルに書き出してEAで読み込んでもいいし、DLL
で共有変数を定義して関数で読み書きしてもいい。
MT4に標準装備の stddev.mp4 standard deviation に 上昇中に色をかえてアラートを鳴らすインディゲーターありませんか? 海外サイトでalertやcolorで今日のお昼からぐぐってましたが 見つかりませんでしたorz
入門編を勉強してる段階の者なんですが、質問いいですか? 1分足でシステムトレードをするというのは、利益を出すのに難しいのでしょうか?
328 :
Trader@Live! :2011/05/01(日) 16:18:20.89 ID:XKATzjBD
こんにちは。 ubuntu11.04でMT4を使ってます。liveupdateを無効にする方法がわかりません。 教えていただければ幸いです。
>>326 一分足でというのの、意味合いにもよるけど
分単位のトレードでという意味なら非常に難しい
すみません、質問させてください。 自作インディケータのアラートの音を変えたくて PlaySound("AlertWave")を入れたいのです。 矢印を出すif(条件)の後に入れろと書いてあるのですが どこに入れてもエラーが出ます・・・・ for(i=limit-1; i>=0; i--) { BufBuy[i] = EMPTY_VALUE; if(BufCMA2[i+2] <= BufEnvL2[i+2] && BufCMA2[i+1] > BufEnvL2[i+1] ) BufBuy[i] = Open[i]; BufSell[i] = EMPTY_VALUE; if(BufCMA2[i+2] >= BufEnvU1[i+2] && BufCMA2[i+1] < BufEnvU1[i+1] ) BufSell[i] = Open[i]; } これで矢印はちゃんと出るのですが PlaySoundはどこに入れればよいのでしょうか? 普通のアラート音は出ますので根本が間違ってたら諦めますので ご指摘よろしくお願いします。
>>326 5分足の方向へ1分なら勝率はあがると思いますよ
1時間から15分ならもっと狙いやすいと思います
すみません
どなたか
>>325 わかりませんか??m(_ _)m
335 :
Trader@Live! :2011/05/02(月) 01:07:40.56 ID:ehLSEtV8
ODLも121もデモMT4の去年のチャートがごっそり抜けてるとこが あってバックテストできないのですが、何があったのでしょうか? こういうのは、どうにもならないのでしょうか? デモじゃなければチャート全部あるのでしょうか?
>>335 業者を変えてみた方が良いと思います。
変えるのは何か不満ですか?
そうでないなら変えましょう。
MetaTrader4、昨日まで起動できたのですが、本日起動しなくなりました。 アンインストールしようとするとフリーズするし、 タスクマネージャでフリーズ回避しようとするとタスクマネージャ(応答なし)となってフリーズする。 OS:XPなのですが誰か解決方法わかる人いらっしゃいますでしょうか・・・?
PCを新しくWindows7の64bitに買い換えたのですが、 「could not launch the compiler」 というエラーが出てコンパイラが動作しません。 自動でコンパイルもしないので、 カスタムインジが一切使えない状態なのですが どなたか解決策分かりませんでしょうか? XPの互換モードで試しても、再インストールしてもダメでした。
放置して別フォルダに新規インスト
>>337 インストーラーがあるんなら上書きして、アンインストールはダメですか?
>>340 強制アンインストール後、再起動、インストール後
起動すると、パソコン自体がフリーズするっといった症状が出るようになりました。
MT4のアプリケーションのみ起動するとこのような状態になるのですが、
何が原因かがわからないのです・・・。
>>341 レジストリ関係ですかね?
自分が似たような症状になった事が無いので、想像つき難いのですが・・・。
レジストリ関係ですと、ここで何々をしてとは言えませんね。
100%自己責任になりますし
>>341 強制アンインストールってなにやったの?
強制削除するツールがありますが、その手のツールを使ったのかな?
チャートの最新バーより右側に未来予測価格などが 描かれたインジなどを見ますがあれはどうやって描画しているのですか? 最新のバーは配列0でそれより右側はどうすればいいのでしょうか
oandaがmt4に対応してたなんて知らんかったわ 使ってる人いる?どう?
MT4が動かないんだが、鯖落ちてる?
値幅何pip以下のローソクはエントリーやエグジットのサインでても無視するってどうやります?
>>351 試してないが。
if(MathAbs(Close[0]-Open[0] < ほにゃらら){
回避
}
else
{
サインに準じる
}
HighとLowのがよければそう書き換えて使うヨロシ
訂正 if(MathAbs(Close[0]-Open[0]) < ほにゃらら){
最近MT4を弄り始めました。もともとプログラマだったのですぐに自作EAを作れるようになりました。 バックテストをしているとモデルControl pointsだと3年で元金が50倍になるのに対し、Every tickだと 口座が破綻します。mismatched charts errorsも少し出ていますがこれはごく最近のもので 大勢には影響していないと思われます。プログラムの作り方に問題があるのか過去データに問題がある のか判りません。Every tickでのmodeling qualityは90%です。どなたかお助けを。
>>352 サンクスです。
((MathAbs(Close[0]-Open[0])*Point)にしなくてもおk?
>>354 Visual modeにして、Every tickでEAが何処で誤動作しているのか、眺めるしかないですよ。
>>356 ありがとうございます。その後全く同じ設定でも毎回結果が違うことが判明したので
変数の初期化を忘れているのだと思います。結果の違う時間帯をピンポイントで
見つけてからビジュアルモードで眺めてみます。
>>357 スプ可変の業者だとテスト時のスプでBTするから毎回結果が違うということもありうるよ
359 :
335 :2011/05/02(月) 15:25:34.18 ID:WLEdsNRp
>>355 そこまで分かっているのならお前に教えることはもう何も無い。
>>358 ありがとうございます。どうやらそれが原因のようです。トレーリングストップの計算にMarketInfo()から
スプレッドを持ってきてストップロスを入れているのですが毎回0.1pipくらいの誤差が発生します。
そのためストップロスに引っかかったりタッチの差で交わしてその後爆益になったりしていました。
この程度で成績が大きく左右するということはオーバーフィッテングの賜物だと思います。
ロジックからスプレッドを外してみたら変動はかなり少なくなりました。しかしまだ問題があって
同じ時刻のAskやBidの値が毎回0.1pipずれることがあります。これはMT4の仕様なのでしょうか?
とは言え0.1pipの違いで大きく成績が左右されるようではダメですね。いくら2年間のバックテストを
やってもこのような偶然が発生するポイントが数箇所あれば成績には大きな差が出ます。バック
テストの怖さを知りました。
>>361 Control pointsでは不思議と成績がよくなるのは、過去に報告が
あると思う。プログラムやデータの問題ではなくMT4の問題。
俺も経験して調べたけど各トレードで大差はないまでも、少しづつ
の差が積み重なって最終的には大差になるって結果だった。
Every tickのほうが本来の実力かもしれないという考えも必要かな。
毎回結果が違うのはスプに加えて、EA中でRefreshRates()してる
ならそのせいかもしれない。
>>361 ずれませんよ。
それとは別に、その程度で成績が大きく変わるのなら、資産に対してLotが大きすぎるんじゃないかな。
>>334 ありがとう!
stddevのデータウインドウに表示されるグラフが
上昇中と下降中に単純に色が変ったらいいなぁ〜と思ったんですよ
思ったより無いねぇ…
>>338 ですが、自己解決しました。
WindowsUpdateでOSを最新の状態に更新したら
コンパイラも正常に動くようになりました。
ありがとうございます。
Windows7の64bitでも今のところ問題なく動くようです、参考まで。
>>362 Every tickも擬似的にTickを作ってるんで・・・
因みに逆もあるんだよね。
Every tickだと成績良くて、Control Pointだと成績の悪いEA。
faiさんのブログを見るとMT4のBTの限界が判る。
VTみたいにヒストリカルにTickがあると良いんだけど、HDDに貯めるととんでもない容量になる事も・・・。
EA内部でControl Pointと同じ環境を作り出せると良いんだけどなあ。 Control Pointだと無敵のEAがあるんで
368 :
311 :2011/05/02(月) 23:07:29.59 ID:T5q2yrTL
311でスローストキャスにメール機能をどうやってつけたらと言っていたものですが なんとか完成しました 叱っていただいた方ありがとうございました 勉強できてよかったです
>>367 だいたいならできるよ
ログのtick毎の時刻を吐き出して眺めてみると、なんとなくわかると思う
370 :
361 :2011/05/03(火) 00:08:29.41 ID:xT/gme3G
>>363 >
>>361 > ずれませんよ。
> それとは別に、その程度で成績が大きく変わるのなら、資産に対してLotが大きすぎるんじゃないかな。
それがずれるんですよ。Printして確認したので間違いありません。362さんがおっしゃるようにRefreshRates()
してるせいだと思います。MT4を4つBTにフル稼働させ、合間にオンラインゲーム等をやっているので負荷は
かなり高いです。RefreshRateのタイミングによってずれるんだと解釈しています。BidやAskを使わずに
Close[1]をとも思いましたがブローカーによってこの値は変わるので一緒ですね。よく考えるとこの問題は解が
ないのかと思います。ストップロスをやめてロジックでCloseするにしてもそのロジックが値段の影響を受けますの
で0.1pipの差で結果が大きく変わるリスクは常につきまといます。RefreshRateを止めてもBTでは結果が同じ
になるかもしれませんがライブでは異なります。うーん。どうしたらいいんだろう?
371 :
Trader@Live! :2011/05/03(火) 00:18:04.55 ID:u4vtl2sx
あれMT4のインジのとこにこんな地球みたいなマークあったけ?
>>363 すみません。ロットは確かに大きいですがPFが毎回変わるのでロット数とは
無関係だと思います。
brocoを使ってるんですがてシルバーとか銅ってありますか
i+2,i+1番目の足の長さを測って、i+1の方が長ければi+1にi+1の高安値を入れるインジは、 SetIndexEmptyValue(0,EMPTY_VALUE); SetIndexEmptyValue(1,EMPTY_VALUE); int start() { int i, limit=Bars-IndicatorCounted(); for(i=limit-1; i>=0; i--) { if((Low[i+2]>Low[i+1])&&(High[i+2]<High[i+1])) { highbuffer[i+1]=High[i+1]; lowbuffer[i+1]=Low[i+1]; } } return(0); であってる? さらにこれを読み込もうとしたら double highbuffer = iCustom(NULL, 0, "インジ名",0,0); double lowbuffer = iCustom(NULL, 0, "インジ名",1,0); であってる? 組み込んだEAをBTすると: array to be set is of incompatible type のエラーが出てBT先に進まない。 何か間違ってるところありますか?
>>376 よく考えてないから、間違ってたらごめん。
highbuffer[i+1]とlowbuffer[i+1]に値を入れてるから、このループで[0]に値が入らんぞ。
で、仮に[0]に値を入れたとしても、
array to be set is of incompatible typeは別のところに原因がある気がしますよ。
ここに書いてない部分ね。配列の宣言とか。
MT5で一回前のbuildからToolboxのMarketタブってのが追加されたんだが、 エラーのメッセージボックスが2,3回出てうまく表示されない。。。俺だけ? 本家サイトみると、どうやら商用、非商用合わせたEAやインジの販売サイト(?)の内容を表示したいらしいのだが。。。
>>378 では、ループで0まで回すにはどうしたらいいですか?
日足の値を参照して、4時間足に表示するインジを作りました。 ins start(){... double shift = iBarShift(NULL,1440,Time[i],false); double ma0 = iMA(NULL,1440,7,0,0,0,shift); double ma1 = iMA(NULL,1440,7,0,0,0,shift+1);...} これはma0とma1を比べてあまり動きがなければ、ma1を配列に代入し、大きく変化したときのみma0を代入するインジです。 インジを表示させると思い通り、大きく動いたときのみ値が変化し、その後は平行線が引かれるインジができました。 しかし、このインジをEAなどでiCustomをつかい参照すると表示されてるインジは変化していないのにiCustomの返り値は変化しています。 なぜこのようなことが起きるのでしょうか?
>>380 何を意図したインジかは知らんが、[0]まで値を入れたいなら
i+2をi+1に、i+1をiにそれぞれ変更。
>>382 ごめんなさい、[0]に値を入れたくないんです。
ifが成立していても、足が確定してない[0]の時には指標を出したくないんです。
ifが成立した[i+1]の足のみに指標をだし、以降、指標は次に条件を満たすまでそのままの状態。
[i+1]が確定したときにhighbuffer[i+1]にHigh[i+1]を入れたいので、ループの範囲をfor(i=limit-1; i>=i+1; i--)にすればいいってこと?
384 :
Trader@Live! :2011/05/03(火) 22:15:47.54 ID:9iypEf91
ExpertAdvisor上で標準インジケータ(iMA等)の色を変更することは可能でしょうか。 SetIndexStyle()はCustomIndicatorで使用できると認識しています。 今は色のパラメータを付加したカスタムインジケータ(iMA2等)を作成し、 iiCustomで呼んでいます。 しかし、かっこ悪いのと配布ファイルが多くなるのを危惧しています。 皆様、ご教授の程お願いいたします。
385 :
Trader@Live! :2011/05/03(火) 22:46:20.69 ID:dtX2BYV3
デモ90日になってるけど、いっつも60日で期限切れになるのはなんぞや。 更新するの1日遅れて、旧システムを一旦アンストしないと再インストできないので、 アンストしようとした瞬間、あることに気づいた。 アンストしてしまえば、テンプレを一から全部作り直さなくてはならないので、落胆している時だった。 アンストぜずにシステムフォルダから旧システムを一旦別のフォルダに移動させ、新システムをインスト。 そして、テンプレのファイルだけを新システムに移植。ダメもとでやってみたら、あっさり行けますたー。 なんでこんな簡単なことに今まで気づかんかったんやろ。俺、アホすぎー。 ご清聴ありがとやんしたぁ♪
>>383 ほいじゃ、
double highbuffer = iCustom(NULL, 0, "インジ名",0,1);
double lowbuffer = iCustom(NULL, 0, "インジ名",1,1);
で値を取る。
今の表示足の残り時間を表示するインジってないですかね。 例えば、5分足を表示してたら、あと2分30秒で足が変わりますって画面の端に残り秒をカウント表示させるヤツ。 需要無さそうだけど。
お名前.com のリモートデスクトップ始めたんですけど、どうやってデータ移せばいいんですかね? メールに添付しないといかんの?
トレンドラインとかの一括全消しって何か方法あったっけ? 「表示中のライン等一覧」で3分くらいクリックしまくって削除しても全然終わりが見えないんだが
>>388 リモートデスクとっぷの設定で、Cドライブを共有すれば、ログイン先でローカルドライブが見える。
>>389 チャートを閉じるか、一括削除スクリプトを書くか。
391 :
Trader@Live! :2011/05/04(水) 09:01:11.07 ID:Q+o5Ker9
liveupdateが出てきてスタートボタン押してもバージョンアップしてくれないだけど どうすりゃ良いのだろうか? win7 cのユーザーのところにインストールしているのだがなんか設定必要なの?
392 :
Trader@Live! :2011/05/04(水) 09:49:36.63 ID:fhkBLcfn
rsiをひとつのウィンドウで複数表示させるにはどうすればいい? 今パラメータ14だけを表示してるんだがひとつのウィンドウでパラメータ9も出したい
393 :
Trader@Live! :2011/05/04(水) 09:52:19.70 ID:Q+o5Ker9
ナビゲータウインドウからドラッグ&ドロップ。 あとはMINとMAXあわせればOK
394 :
Trader@Live! :2011/05/04(水) 09:52:59.84 ID:fhkBLcfn
ありでしたー
395 :
Trader@Live! :2011/05/04(水) 10:42:14.05 ID:Y4/EggZW
現在MT4で過去チャートを検証中なのですが、5分速チャートに30分速の動きを インジで表示させたいのですが、どうゆうインジを使えば表示できるのでしょうか?
397 :
Trader@Live! :2011/05/04(水) 11:10:08.75 ID:Y4/EggZW
>>396 ありがとうございます!早速使わせていただきます!
398 :
Trader@Live! :2011/05/04(水) 11:15:46.45 ID:Y4/EggZW
あとできれば平均足で表示させてみたいのですが、何か方法はありますか?
Heiken AshiH cw mtf (チャート窓) Heiken AshiH sw mtf (インジ窓) MTF HAS Bar (インジ窓) 辺りが有名でしょうか。詳細は検索で。
週末にできる中途半端な足を表示しない便利なモノが、どっかで見たような覚えがあるんだけど忘れました。 教えておくんなまし。
build401キテタ━━━(゚∀゚)━( ゚∀)━( ゚)━( )━( )━(゚ )━(∀゚ )━(゚∀゚)━━━!!
Forex.comのMT4を使わせて頂いております ニュースが更新される度にアラームが鳴る設定にはできないのでしょうか? いつの間にかニュースが更新されることが多く
406 :
387 :2011/05/04(水) 21:02:54.57 ID:WdcTh+w4
>>401 ありがd
こんなのを探していたのさ。
マジ感謝っす!
>>405 多分アラートがoffになってると思うので
ツール→オプション→音声でNewsのとこをダブルクリックで×だったら、ダブルクリックで×が消えます。
その後はNewsが更新される度にアラートが鳴ります。
>>407 ありがとうございます!
やっとこれで指標を気にすることができます。
凄くバカバカしい質問をしますが1lotの取引単位っていくらですか? 1万?10万?
ほとんどの業者は10万
早い返答ありがとうございます
412 :
Trader@Live! :2011/05/04(水) 23:01:09.82 ID:tv4I1Akc
DDEのコードなんですか↓しかないんですか? もっと他に取得したいです。どなたか他の命令文を教えてください。 * BID request: = MT4|BID!USDCHF * ASK request: = MT4|ASK!USDCHF * HIGH request: = MT4|HIGH!USDCHF * LOW request: = MT4|LOW!USDCHF * TIME request: = MT4|TIME!USDCHF * QUOTE request: = MT4|QUOTE!USDCHF
回線つながらない?
Alpari落ちてるね。 Brocoはつながってるけどね。
パソコンから異音がする。プログラムごと他のPCにコピーすれば ポジションを持ったままEAを引き継げるのだろうか。
>>416 ポジションはサーバーで管理しているから、他のMT4でログインすればそのまま引き継がれる。
EAはそのMT4へ。
とりあえず、他のPCで確認してから。
自己責任で。
>>416 ポジションをEA内で独自に管理してたりすると
その情報も一緒に移さないといけないので
EAのつくりに依存しちゃうね〜
人の作ったやつなら、作った人に聞くしかない
インストールディレクトリ内で全部完結してるなら
まるっとコピーしてやればたぶんいけるけど、保障はない
初めにvmwareとかで仮想マシンにしてその中で動かしとくと、
仮想マシンが動く環境なら、どんなマシンにでも簡単に引っ越せるからいいかもね
420 :
Trader@Live! :2011/05/05(木) 07:58:00.16 ID:XEHTUbsy
メタトレーダーの情報を計算して表に出したいんですけど その窓口がありません。メタトレーダーってそういう窓口ありませんでしたっけ? 方法はないですか?
421 :
Trader@Live! :2011/05/05(木) 10:09:41.42 ID:UG6jIGbi
MT4を導入して、バックテスト用に過去の1分足データをFXDDから落としました。 なんですが、そのデータが2011年3月18日までしか入ってなくて、チャートにするとその日から2011年5月3日まで一気に飛んでしまうんです。 その間を埋めるためのデータが欲しいのですが、どこから入手したらいいのでしょうか?
>>422 ありがとうございました。助かりました。
>>420 EAスレに同じ事書いてるよね。
情報てどんな情報?
アカウント情報?
アカウント情報ならcsvに書き出すインジを自分で作ってくださいな。
価格を表示する場合、「%$」を使います。 時間を表示するにはどのように表記すればよいのでしょうか?
426 :
Trader@Live! :2011/05/05(木) 21:55:58.75 ID:Y3M7QrDj
昨日まで5分足で1月から4月までの過去チャートをスクロールして見ることができ たのですが、今日いきなり見れなくなりました。2週間くらいしか表示されません。 どうすれば見れるようになるのでしょうか?
iCustomで取った値を次の指標の値を取るまで、そのままにしておくのってStatic宣言だったっけ? プロパティのあたりに static double 変数A; で int start() { 変数A = iCustom(NULL, 0, "インジ名",0,1); Comment("変数A:",変数A,) でみると値がエンプティ(2147・・・ry)なんだけど。
MT4ですがレートがFX業者のレートとずれているのですが 差分を引いたりしてFX業者を同じレートを表示することはできますか?
>>426 アップデートしたんじゃないのかな?
ツール − オプション − チャート − ヒストリー内の〜 とチャート表示バーの〜 を最大に設定する。
>>428 どこの業者と比べているのかしらんけど
業者によって配信されるレートが違うのは当たり前
差分を引いて同じレートを表示する事はできないし、意味ない
>>431 ありがとうございました。
やってみます!
>>427 エンプティになってるということは、インジがエンプティを返しているということ。
変数Aが初期化されてないので、変数Aに値を代入するまでは、値はゼロになってるのだから。
レートを大きく表示させる23Signal_Price-v1を導入したのですが 文字の大きさの変更をしても、すぐに元に戻ってしまいます。 背景に設定や移動をしてもまた元の位置・状態に戻り変更ができません。 また、文字自体をチャートから削除してもすぐに表示されていまいます。 どうしたらいいでしょうか?
435 :
Trader@Live! :2011/05/06(金) 06:32:45.78 ID:eCpi+jE3
VPSは使ったことが無いのですが Windowsデスクトップ サーバーサービス 不具合 とかあるようですが、EA稼動中だと どのような問題が起きる可能性があるのでしょうか?
>>435 簡単に言えばPC(VPS等も)止まればEAも止まるわな
ということは、皆さんけっこうVPSの不具合で えらいことになったりしているのでしょうか。損害が出たり。
VPS派、自宅PC派の論争が始まりそうなネタw (こっちは自宅PC派だけど) どちらにしてもバックアップ手段・稼働の状態確認は必要だろうけどね。
>>433 1本前の値を取った後、バーが動くとエンプティになってしまうんだね。
iCustomで取った値を次の値を取るまで補完しておく方法は例えばどんなのがありますか?
現在値でリアルタイムに上下する水平線に、常に一定のオフセット値で動く水平線を表示したいのですが、書いては消すを繰り返すしか方法はないですかね?
>>440 ObjectMoveで移動すればいいじゃない
>>439 普通のインジなら、tickが更新されても過去足の値は更新しないよ。
何らかの意図があって、過去足の値も再計算してるんなら別だけど。
>>435 障害の内容を見る限り
問題はリモート接続できないからEAを止めたりできないって事じゃないのか
VPS自体は動いていると思われるので特に気にしなければMT4自体が止まって
トレードしないってことはないんじゃないかと思われる
build401への自動アップデートが毎回失敗するな。
>>443 説明不足でした。
インジケータのほうでifを満たしたときのみ値を取るという形にしてるので、インジケータでifを満たして無いときにiCustomで値を取ってもEMPTYになります。
インジケータの値の取り方を変える or iCustomで取った値を次の値を取るまで記憶させる のどちらかだと思うんだけど。
埋まってない値の部分をすでに取ってある値で埋めて連続性を保ちたいってことなんです。
>>446 ・インジそのもに手を加える
非表示な指標バッファを追加して、絶えず値を埋めるようにする。
EA側からはiCustomでその指標バッファの値を得る。
・EA側で手繰る
1発目はforループで回して値を得る。
それ以降はEMPTYなら前回の値を、EMPTY以外ならその値を
取ってstatic変数を更新する。
>>445 自己レス
401の実行ファイルだと、64bit版で起動できなくなるみたいだorz
win7 64bitで普通にbuild401起動するけど?
450 :
Trader@Live! :2011/05/06(金) 17:39:46.84 ID:vZ7Q/Ep7
Build401の最初のアップデート失敗した。 Market.comので 2連続で失敗したらLiveChatで聞こうかと思った。
WinXP 64bit でも起動しました。<Build401
455 :
Trader@Live! :2011/05/06(金) 19:05:15.07 ID:SqPR7gTV
>>444 MT4自体が止まってトレードしないってことはめったにないんですかね
EAがルール通りやっててくれないと大変なことに
再インストールしても設定が勝手に復活します。 アンイスストールして再インストールしても前回の設定に戻ります。 再インストール初回起動時は設定などリセットされてます、しかし2回目から元に戻ります。 アンインストールはMT4のフォルダごと削除しましたが効果はありませんでした。
457 :
Trader@Live! :2011/05/06(金) 20:57:19.98 ID:vAEbKAk/
windows7 32bit ultimateだけどアップデートが成功しない。 どうしたらいいんだよ。起動するたびにアップデートするけど駄目。セキュリティ厳しすぎだわ
>>458 こんなもんに金払うんだったらメタトレーダー実践プログラミングとか買って自分で作ったほうが100倍マシ。
>>459 まあ本読んで自分で作るのもいいけれど、自作のとっかかりとしては悪くないんじゃないか?
ちょっと試したい簡単なロジックのアイディアをさっと試したり。
10,000円しないし、中身の解らない市販EA買うよりはマシなんじゃ。
>>460 でもって、ちょっとBTよさげだったら、一本千円くらいで売れば、
あっという間に元が取れる・・・
って、うまくいくかっ!
>>459 のやつは旧バージョンのトライアルのやつがどっかに転がってたな
売買サインがMAクロス限定の仕様のやつ
それも含めて、組み込み指標でサインつくるくらいのツールなら無料で落とせるのがいくつかあるよね
まあ俺はそういうので作ろうとしたけど、結局ブラックボックスなのはキモイから
本買って基本から勉強してる
>>460 何々のクロスとかリピートイフダンとかなら本に例題として載っているし、仕組みを知る事が
一番大切だと思うよ。
とても簡単に作れるようになるはずだから、自分で考えたロジックをバックテスト出来るし。
ドル円とユロ円の今後をフリーハンドで予想して書くと、 ユロドルも自動で描いてくれるようなツールってないですかねえ Metaじゃなくてもいいのですが、そんなツール聞いた事ないですか?
>ドル円とユロ円の今後をフリーハンドで予想して書くと、 >ユロドルも自動で描いてくれるようなツールってないですかねえ 聞いたことないね。あれば面白いと思うよ。
Alpari UK(デモ)のMT4の最新バージョンは、Build 229のままなの? UAC切ったり、Cルートにある場合でも MT4のアップデートに失敗する人が多いみたいだが 表示させるチャートは1画面のシンプルなチャート(新規チャートのデフォルトがベスト)にして 「Start」ボタンをすぐに押さないで少し間をおいて押すと(「Update and Restart」ボタンも同様)、 上手く行くよ。
MT4の場合、フリーハンドで線を描くというのがそもそも難しい。
470 :
Trader@Live! :2011/05/07(土) 10:14:23.63 ID:FG9BL7Nu
>>469 週足などで引いた線が時間足でずれるということ?
472 :
Trader@Live! :2011/05/07(土) 10:17:58.02 ID:FG9BL7Nu
473 :
Trader@Live! :2011/05/07(土) 11:55:45.39 ID:BdGizskl
MAのGC、DCだけでもいかにも勝てそうなんだが… なんでBTすると資産20%になってしまうんだろう???
>>474 その手法で勝てる期間と負けてしまう期間が相互に訪れるからだね。
いかにも勝てそうに思えるのは、実際に勝てる期間のチャートをみているだけ。
BTすると、負ける期間に着実に負けが貯まるから資産20%になる。
そもそも単純な手法で勝てるのなら、世界中が金持ちだらけになってしまうだろ?
個人情報記入せずにデモ口座開設できますか?
できますん
>>476 住所、電話はデタラメでもいいけど
メールだけは捨てアドでいいから実在のを登録した方がいいぞ
デタラメなメアドを登録したら2日でログインできなくなったことがある
ウェルカムメールを送って宛先不明で送り返されたら
即口座を潰すところもあるっぽい
デモ登録したメアドにはSPAMが来るので捨てアド推奨。
ヒストリーセンターからデータを取得したのですが なんかデータが無い期間が存在します。 ユーロドルの日足2010年10月後半とか2010年6月とか。 これどういう状態?
>>481 MT4のヒストリカルデータって
MetaQuotesが配信しているデータなんで、
何かが原因でデータが欠損したらすぃ
つまりは仕様ってことです
仕様か・・・しようがないな
その為に取り込める機能があるでしょ データは適当に探してくる必要があるけど
MT5の勝手に指標がチャートの下に表示される機能消せませんか? 設定全部逆にチェック入れたけど消えないんです 指標で安値更新したときとか被って見づらい・・
10分足を使用していて現在足の1本前の足でポジションを取った場合は、 指値注文をするというプログラムはどのようにしたらいいでしょうか?残念な僕に教えてください orderopentimeを使えばいいのでしょうか? 買いサイン出る→ノーポジ→1枚買う 買いサイン出る→[1本前で買った(売った)]→指値注文する ↑ このチェック式がわかりません
残念過ぎて何を言っているのか判らない・・・
489 :
Trader@Live! :2011/05/08(日) 11:10:20.26 ID:sPHhxauk
expert advisorsとscriptの間を変数共有する方法ってありますか?
グローバル環境変数に記録するとか
491 :
487 :2011/05/08(日) 12:59:03.00 ID:EYjr/hBm
うまく伝えられなくてすいません [10分以内に注文していたら]の条件式をどうやって書けばいいのか分からないのです。
// current日時からsecond秒以内に売買された注文を選択する // return true:選択した、false:見つからなかった bool OrderSelectWithin(int index, datetime current, int second) { if (OrderSelect(index, SELECT_BY_POS)) { datetime openTime = OrderOpenTime(); if (openTime<=current && openTime>=current-second) return(true); } return(false); } 例:10分以内の売買を選択 datetime current = Time[0]; // or TimeCurrent(); int second = 10*60; // 10min int n = OrdersTotal(); for (int i=0; i<n; i++) { if (OrderSelectWithin(i, current, second)) { // Selected Print(TimeToStr(OrderOpenTime()), " OpenPrice=", OrderOpenPrice()); } }
493 :
Trader@Live! :2011/05/08(日) 13:36:01.29 ID:sPHhxauk
490さん GlobalVariableSetですよね? わたしの試し方がわるいのかもしれませんがやってみたらできませんでした スクリプト間だったら共有できるんですがexpert advisorsとscriptじゃ 無理みたいなんですが私がまちがってるんでしょうか?
>>493 EAとスクリプトで共有できますよ
何かを間違えてるはず
495 :
Trader@Live! :2011/05/08(日) 14:11:54.92 ID:sPHhxauk
>>494 助言ありがとうごじます。
ですが、同じコードで書いても共有できなかったのですが。
何か書かないといけないコードでもあるんでしょうか?詳しい方いらっしゃいませんか?
>>495 ぬしさまの書かれたコードをアップしてみ
497 :
Trader@Live! :2011/05/08(日) 14:23:13.27 ID:sPHhxauk
たとえば scriptに GlobalVariableSet("指値売1",指値売1); と書いて expert advisorsの方に double v1 = GlobalVariableGet("指値売"); って書いてるごく単純なコードなんですが。 printでみてもなにも入ってないみたいなんですよね。
499 :
Trader@Live! :2011/05/08(日) 14:25:38.58 ID:sPHhxauk
あ、double v1 = GlobalVariableGet("指値売"); の"指値売"は このコードが単純に間違ってただけで試した時は間違ってなかったと思います "指値売1"に書き直してもう一度ためしたいと思います。 もし、他にアイディアを知ってる方がいたら教えてください。
500 :
Trader@Live! :2011/05/08(日) 14:27:21.75 ID:sPHhxauk
これは今、書いてる途中のコードで ためしに共有できるか書いたときのコードは恐らく間違ってなかったと思います。 その証拠にスクリプト間の共有はできてexpert advisorsとスクリプト間の 共有はできなかったからです。
ここで間違うくらいだから実際にもスペルミスしてる可能性が高いと思うな まさかと思うけど、日本語で書いてたりする?
502 :
Trader@Live! :2011/05/08(日) 14:29:48.03 ID:sPHhxauk
どこの部分をでしょうか?
アップしたとおりに日本語で書いてるの?って
504 :
Trader@Live! :2011/05/08(日) 14:38:41.44 ID:sPHhxauk
変数の部分は日本語で書いてたりします。 なるべく分かりやすくしてるつもりなんですが、プログラミング的には だめなんでしょうか?
ためしに、アルファベットだけで書いてみたら? 一応ラテン文字しか使えないことになってるから
506 :
Trader@Live! :2011/05/08(日) 15:01:25.64 ID:sPHhxauk
ためしてみます。
507 :
Trader@Live! :2011/05/08(日) 15:53:45.55 ID:sPHhxauk
スクリプト側 GlobalVariableSet("g1",2100); expert advisors側 double v1 = GlobalVariableGet("g1"); Print("v1= ", v1 ); で書いたんですけどこれって違うんですか? どなたかご指摘してください。 お願いします!
508 :
Trader@Live! :2011/05/08(日) 16:14:19.64 ID:sPHhxauk
どうやらexpert advisors側 の init()関数内で宣言したら共有できるようでした。 みなさんお騒がせしましたありがとうございました。
509 :
Trader@Live! :2011/05/08(日) 16:46:32.41 ID:sPHhxauk
なんでexpert advisorsになると start関数は実行されないんだろう? ためしたけど実行されて無いみたい。 俺がおかしいのかな?どなたか助言お願いします!
511 :
Trader@Live! :2011/05/08(日) 16:54:06.01 ID:sPHhxauk
>>510 土日は動いてないのはわかりますが
printとかメッセージボックスとか単純なコードも動作してないみたいですけど?
初期値に設定する init()関数内は動いてるような気がします。
なんででしょうか?
512 :
Trader@Live! :2011/05/08(日) 17:01:16.39 ID:sPHhxauk
あ、なるほどチャートが動いてないから関数も作動しないのか理解しました! ごめんなさい!!!ありがとうございました!
expert advisorsから直接チャートへ描画するのは無理? 別に同じアルゴリズムのカスタムインジケーター用意するしかない?
>>513 出来るよ。00-EA-Breakout_v107.mq4が参考になるかも。
>>514 できるんだ!ありがとうー
さっそく見てきます
pivotのインジケーターを探してたんだけど、階段状に表示されるのってあるかな? シ/ロ/フ/ク/ロ/ウさん以外のであったら、インジの名前か探し方をぜひとも教えてほしい…! 自分でも探してみたんだけど、階段状になるヤツが見つからなくて。説明下手ですまんです。
517 :
487 :2011/05/08(日) 18:42:50.06 ID:EYjr/hBm
>>492 ありがとうごじぇますありがとうごじぇます( ;∀;)
すいません、どなたか教えてください。
Brocoは現在繋がらないのでしょうか?
>>8 のサーバーのIPを入れたのですが繋がりませんとのメッセージが…
FXDDは問題ないのですが、平日と祝日に試したのですがBrocoはだめでした。
何かBrocoに問題がありますでしょうか?
Broco以外にもドルインデックスか原油を見れるサーバーがあったら教えてください。
>>465 コア部分を先に作っておいて、プラグインみたいな感じで後から追加して拡張出来ると
物凄く良いなと思ったりもしました。
>>520 今普通にログイン出来てますよ。
因みに原油は
COMEXのブレンド原油もWTIもQMもCLも動き自体は変わらない。
変わってたらアービトラージのターゲットにされるよ。
見るだけならSAXOのデモを開設してみたら?
IGでも良いしさ。
見るだけでしょ?
MT5をアイフォンで使用しようと考えているのですが可能ですか? また使用できる場合、PC版との相違点を教えてください。 よろしくお願いいたします。
525 :
Trader@Live! :2011/05/08(日) 22:29:10.58 ID:nfItZFiW
フォレックスのMT4に金、原油などのチャートを表示できますか? 出来るならやり方も教えてください。
ヒストリーデータの信頼性ってどうですか? 通はFXDDとかからダウンロードしてるんですか?
MT4のSTS止まってないですか? common errorのまま・・・。 デモ申請しても変わらず、です。
Brocoにサーバ変更しようとしたんだけど、IPは、
216.93.180.133:443
(
>>7 参照)
でいいんだよね?
繋がらないんだけど・・
>>529 >>8 >Broco(Water House Capital) 216.93.180.133:443 (繋がらないので注意)
俺は1回brocoインストールしてIP目盛ってから本家入れてデモ講座申請してる
バー一本につきLとSそれぞれ1回ずつしか売買しないフィルタってどうやります? そのバーでLをロスカットしたらSのみ、SをロスカットしたらLってな感じで。
>>532 bool型でNoBuy,NoSellの二つを作っておいてバーを更新するごとに
NoBuyとNoSellをfalseにする。
Lポジを一回持ったらNoBuy=trueにする。で、ポジる時の条件でNoBuyもチェックする。
次のバーまでポジを持ち越したときにどう処理するのかはエスパーじゃないので知らん。
すいません、この時間帯にある程度安定して動いてる鯖はありますか? いつもこの時間帯になるとMT4が繋がらなくなります・・・
どこの鯖でも安定しているけど?
ひとの書いたプログラム読む苦痛は異常 いちから書くのも辛いけど
1行目の台詞を吐くには、2行目が自分なら喋るように書ける、になってからだ。 ほんと自惚れか弱音か知らんけど、100万年はぇーんだよ!
初心者だから苦痛ってこともあるかもね
日本語や英語なんかだと、「読めるけど書けない」は普通にある。 けど、「書けるけど読めない」はあまりない。 プログラミング言語の場合、「書けるけど読めない」は普通にある。 けど、「読めるけど書けない」はあまりない。 プログラミング言語に限れば、書くより読む方がツライは結構ある話。
5分足の終値で売り買いの判断をするEAを作ったつもりなのに 5分以外のところ(31分とか54分とか)で、損切りとか利確ではない新規の売り買いをしてしまいます。 また、同じ時間(例えば30分とか43分とか)に何度も同じ注文を繰り返すこともあります。 なぜでしょう?初心者なので、わかりやすく説明してください。お願いします。
>>540 5分足の終わり値以外のところで売り買いを判断するように作ってしまったからですよ
つまり今あなたが、5分足の終わりだと思っているところが、実は5分足の終わりじゃないとか 初心者が、はまりそうなのは、現在のバーの終値を足の終値として使ってしまうとか 拾ってるところは正しいが毎ティック判断してるので連発多重注文してしまうとか
543 :
540 :2011/05/09(月) 23:47:15.54 ID:ncvDTeRL
申し訳ありませんが、簡単なプログラム例を教えてください
Loopを使わずに指定のmagicのPosition数を取得するにはどうするのが一番良いですか?
サブチャートにバー状などで出るもので売り買いそれぞれ強、中、弱の シグナルで全部で6個の色が出るインディケーターなど探してるのですが、 そんなインディケーターありますか?
絵に描いたほうがわかりやすいとおもう
>>543 if(終値>MA5){buy=true;}みたいなロジックの場合
決済された時、終値>MA5状態だと再度買い注文を出す。
if(OrdersTotal()==0){
bool check=false;
}
double gofun=MathMod(Minute(),5);
if(gofun==0.2 && check==false){
buy=true;
check=true;
}
で合ってる?
550 :
540 :2011/05/10(火) 00:43:42.37 ID:lYPq1Zu3
>>549 ありがとうございます。それでやってみます。
5分足の終値で判断するって事は、6分、11分、16分...に判定するので Minute()=現在分を5で割って、MathMod()で余りを求めると 6分、11分、16分...は0.2になる。 ふつうは if(OrdersTotal()==0){ double owarine=iClose(NULL,5,1); if(owarine > 買いフィルタ){buy=true;} } みたいな書き方でいいはずじゃね?
int ZenkaiLossPositions() { int zenkailosspos, magic = 0; static datetime tradedbar = OrderCloseTime(); datetime nowbar = Time[0]; if(OrdersHistoryTotal()>0) { for(int cnt = OrdersHistoryTotal()-1; cnt>=0; cnt--) { if(OrderSelect(cnt,SELECT_BY_POS,MODE_HISTORY)) { if((OrderSymbol() == Symbol()) && (OrderMagicNumber() == magic)) { if((OrderProfit()<0) && (tradedbar == nowbar)) { if((OrderType() == OP_BUY)zenkailosspos=1; else if((OrderType() == OP_SELL)zenkailosspos=-1; } } } } } return(zenkailosspos); } 直前の売買がロスカットで、現在のバーで、買いポジだった場合は1、売りポジだった場合は-1ってこれでおk? 変なとこあったら見てもらえませんか。
(tradedbar == nowbar)は修正の余地があるかな
日本時間とかヨーロッパ時間ごとに背景色を別けてくれるインジを探していて、 Sessionsというのを見つけたのですが、Sessionsを入れても何も変化ないのですが、 何が原因でしょうか?他に似たようなインジはありますか?
インジケーターのフォルダーに入れただけで、コンパイルしていないという落ち?
>>555 OrderCloseTime()は、OrderSelectした後でしか呼べないし、
その時刻は秒単位だから、Time[0]と一致するのはめったに無いということ。
(tradedbar == nowbar)を生かして修正すると以下のようになるかな?
int ZenkaiLossPositions()
{
int zenkailosspos, magic = 0;
datetime nowbar = Time[0];
if(OrdersHistoryTotal()>0)
{
for(int cnt = OrdersHistoryTotal()-1; cnt>=0; cnt--)
{
if(OrderSelect(cnt,SELECT_BY_POS,MODE_HISTORY))
{
if((OrderSymbol() == Symbol()) && (OrderMagicNumber() == magic))
{
datetime tradedbar = (OrderCloseTime()/(Period()*60))*Period()*60;
if((OrderProfit()<0) && (tradedbar == nowbar))
{
if(OrderType() == OP_BUY)zenkailosspos=1;
else if(OrderType() == OP_SELL)zenkailosspos=-1;
}
}
}
}
}
return(zenkailosspos);
}
559 :
Trader@Live! :2011/05/10(火) 14:13:44.51 ID:/C5zV6ri
GCIの最新IP、もしくは日経、ダウ、DAXなど見れるサーバのIP知ってる方がいたら教えてください
>>558 >その時刻は秒単位だから、Time[0]と一致するのはめったに無いということ。
へー、勉強になるなあ。
単位あわせるってことね。
(tradedbar == nowbar)のあたりはもう少しスマートにならないか、考えてみます。
ありがとです。
>>560 バーの完成=新しいバーができたとき=Time[0]が変化したとき
>>561 bool NewBar()
{
static datetime lastbar;
datetime curbar = Time[0];
if(lastbar!=curbar)
{
lastbar=curbar;
return (true);
}
else
{
return(false);
}
}
こんなの使ったりしますか?
使えそうなんだけど、いまいち理屈がわかったようなわからんような…。
>>562 こうじゃなきゃダメってのは無いから、理解できるほうほうで銅像
564 :
Trader@Live! :2011/05/10(火) 17:18:06.77 ID:hiSz39Ry
スプレットがFX業者によって違うのはしっていましたが たとえば両建てした場合、業者によって取引量が全然ちがうんですね? 取引が盛んな業者はスプレットの間をいったりきたりするのに 取引が盛んじゃない業者は同じ通貨なのにまったくその間をいったりきたりしません。 これじゃ何時間たっても値段が動かないので儲からないし 時間の無駄だと感じました。具体的にはフォレックス.comなんですけど ほかにメタトレーダー系で使えるといったODLとか121証券などが思いつくのですが どこの業者もおなじようなものでしょうか? 経験者の方どうでしょうか?取引が活発な業者はないですか?なるべく値動きがはげしい 方がいいです。誰か助言お願いします。
スプレッドの間でいくら動いても意味はないわけだが
うう、IDがドローダウン
建て玉操作、ポジ管理がプログラム書く上で勉強になるEAってないですか?
MT4でsellとbuyのラインが邪魔なんですけど消す方法ってありますか
ツール→オプション→チャート いちばん上のチェックをはずす。
親切な人、どうも有り難う。 チャートのプロパティばかり見ていました。orz_
ドテンするときってOrderCloseBy使ったりする? 普通に成り行きクローズして再度成り行きオープンとかだとうまくいかない・・・ なんかお手本になるようなのないかですかね。
Hull_HAMA_4TFBars_AD.mq4を便利だと思ってダウソしてみたんですけども、 陰線しか出ず、陽線がでません。 それなりに有名なインジみたいなのですが、 壊れているのでしょうか?
>>574 Hull_HAMA_mとSuperTrendが必要ですけど入れました?
OrderModifyのストップロスって、現在のポジがその価格になったら、含み損であろうが、含み益であろうが決済ってことだよね? 建てた値からマイナスの値じゃないとストップロスじゃないから受け付けないとかないよね。
>>575 お返事ありがとうございます。 入れておりませんでした。
さっそく入れてみたところ、無事動いてくれました。 ありがとうございます。
MT4EAなんて名前のEA知ってる人いる??
ごめんなんでもない。
>>556 Time Zones.mq4
とか
Time_Zones.mq4
>>573 ありがとうございます、細かいところで真似できそうなので参考にしてみます。
EA触り始めた初心者です。 MetaEditorのデバッグってどうやって行なってますか。 ブレークとかエミディエイトとか無いんですよね、きっと。 ステップ実行させれば不具合原因分かりそうなのですが、やり方がよく分かりません。
588 :
586 :2011/05/12(木) 00:33:55.89 ID:HUdEURPR
自己解決しました。すみませんでした
自己解決した方法をよろ
590 :
Trader@Live! :2011/05/12(木) 08:39:14.69 ID:EPF37Ia5
おはようございます。 新規注文時に、ストップの設定値のデフォルト値を変更するほうほうはありませんか?
build402キテタ━━━━━━━━m9( ゚∀゚)━━━━━━━━!!
OrderSendに普通にsl入れればいいじゃん てことじゃなくて?
>>590 OrderModifyを使って約定済みの注文を変更できる
594 :
590 :2011/05/12(木) 14:07:26.69 ID:EPF37Ia5
すみません。私、スキャルパーでして そういうことではなくて、瞬時にリミット・ストップ設定しつつ注文を出したいのです。 あらかじめ設定して注文が出せないと、ブレイクで変更・決済が間に合わない場合があるので。
だったら
>>592 さんがいうようにOrderSendの時にSLを設定すればいいだけじゃないのか?
で、EAで自動売買じゃなくて裁量でやっているんってんなら
OrderSendをするScriptを作ってやればいいだけじゃないのか?
596 :
Trader@Live! :2011/05/12(木) 19:00:34.10 ID:QkeueC6/
手動で指値注文の変更しようとしたら An invalid argment was encountered って表示されて指値の変更できないんだけどこれどうやって指値変更すればいいの?
>>594 カウントダウン方式なら無理
OrderSend直後にOrderModifyでSL設定するしかない
EA作成に初挑戦してるがイライラするな… 単純なロジックでも思い通りに稼働させるのがこんなむずいとは
ibandのapplied_priceにRSIのバッファーとかはぶち込めないんですか?
iBandsOnArrayでググって出てくるサイトを参考にすれ
601 :
Trader@Live! :2011/05/13(金) 07:40:08.20 ID:YOXsr+rH
メタトレーダーって立ち上げておかないとやっぱりプログラム実行しませんよね? 基本的な質問で申し訳ないですけどパソコン閉じてても実行する方法とかあるんですか?
お名前.com 使えるねっと
MT4を始めて間もない初心者ですが、諸先輩方に質問があります。 移動平均線にローソクがあたった時にsoundを鳴らしMessageBox()によって soundを止めたい場合はどのようにすればよいのでしょうか。 もし宜しければ、参考になるHPや同じようなインジケータ紹介していただければ 後は、自分で勉強したいと思ってます ようするに寝てる間は起きるまでsoundがなっていて起きてからMessageBox()のボタンで soundを止めるようにしたいんです。 なにとぞ宜しくお願いいたします。
604 :
Trader@Live! :2011/05/13(金) 11:19:55.90 ID:7QWBvAof
日本時間を表示させる Jpn_Time_SubZero についてですが 夏時間、冬時間の時差を調整をするための UseLocalPCTime Time_difference 等の設定が判りません 数値を教えて下さい、<(_ _)>
>>603 以下が似たようなサンプルです。
EA停止で音が止まります。([Expert Advisors]ボタンを押す)
MessageBoxのボタンで停止したい場合は、
WakeupCall部分をDLLで実装するのが簡単だと思います。
void WakeupCall()
{
while(!IsStopped())
{
if(!IsExpertEnabled()) break;
PlaySound("alert.wav");
Sleep(3000);
}
}
int start()
{
static double lastBid = 0;
if (lastBid==0) lastBid = Bid;
double ma = iMA(NULL, PERIOD_M15, 200, 0, MODE_SMA, PRICE_CLOSE, 0);
if (lastBid<ma && Bid>=ma) WakeupCall();
if (lastBid>ma && Bid<=ma) WakeupCall();
return(0);
}
>>605 親切にコードまでありがとうございます。
サンプルを見本に勉強させてもらいます!
>>604 ブローカーによるから自分で考えるしかないと思う。
>>604 Time_differenceは5分足か1分足に表示して自分で調整してみるのが一番手っ取り早い方法。
例
Brocoは7
>>606 lastBidの更新を忘れていました。
if (lastBid>ma && Bid<=ma) WakeupCall();
lastBid = Bid; // ここを追加.
return(0);
611 :
Trader@Live! :2011/05/13(金) 14:49:13.59 ID:kBeXGqQa
Alpari UKのデモサーバーでMT4を使ってますが、最近動作がよく止まります。 皆さまがお使いの動作安定しているサーバーを教えてください。 よろしくおねがいします。
Alpari UK
>>611 209.160.22.99:443
オススメ
小額でもリアル口座開いて、リアルサーバ使うほうが安定するよ
615 :
Trader@Live! :2011/05/13(金) 15:07:42.26 ID:7QWBvAof
>>604 です
ありがとうございます。
MT4はFXDDからのダウンロードを使っています、
この場合
どのような設定になるのでしょうか?
超初心者で申し訳ございません、<(_ _)>
>>605 何度も失礼します。移動平均線にローソクがあたった時の判定に手抜きがありました。
厳密には以下のようにしてください。
int start()
{
static double lastBid = 0;
static double lastMa = 0;
// 以下の二行は省略可能(初回呼び出しで条件式が必ずfalseになるので一応動作する)
// if (lastBid==0) lastBid = Bid;
// if (lastMa==0) lastMa = iMA(NULL, NULL, 200, 0, MODE_SMA, PRICE_CLOSE, 0);
double ma = iMA(NULL, NULL, 200, 0, MODE_SMA, PRICE_CLOSE, 0);
if (lastBid<lastMa && Bid>=ma) WakeupCall();
if (lastBid>lastMa && Bid<=ma) WakeupCall();
lastBid = Bid;
lastMa = ma;
return(0);
}
617 :
鷲津 :2011/05/13(金) 15:22:35.37 ID:mwojCjbx
すいません 土曜の朝6時ぐらいまで動いている鯖 あったら教えてください!
618 :
Trader@Live! :2011/05/13(金) 15:33:33.68 ID:9f3zxzfj
お忙しいところ、お読み頂きありがとうございます。 バックテストについて質問です。 ヒストリーセンターから検証したい通貨ペアの データを最新のものにダウンロードしたんですが 実際にStrategy Testerで日時指定する時に 開始日と終了日を、一日前やその週の期間でテストしたいのに 小鳥の鳴く声が出て失敗してしまいます。 この前まで出来ていたのですが再インストールしたとたん、 先週までの日時でないと作動してくれません。 前日の動きなど特に検証したいので、どうにかビジュアルモードででも 表示できるくらい作動させる事はできないでしょうか?
エントリーしたバーで必ず手仕舞いするって OrderCloseのpriceのところに iClose(NULL, 0, iBarShift[NULL, 0, OrderOpenTime()])でいけますか?
620 :
Trader@Live! :2011/05/13(金) 16:18:54.05 ID:kBeXGqQa
>>613 FXCHのサーバーですね。
試してみます、ありがとう。
>>619 OrderClose()は呼び出した瞬間に決済します。
よって、start()が呼び出されるたびにTime[0]を常に監視しておき、
Time[0]の値が変化したら(新しいバーができたら)
その時点のBid(ロング時)またはAsk(ショート時)を使用すればよいと思います。
(バーの終了時点を正確に判断するためには時計を使った面倒な処理が必要となるので、
上のように妥協した方が簡単だと思います)
priceの桁数を合わせておかないとOrderClose()に失敗する業者もあるみたいなので、
実際には NormalizeDouble(Bid,Digits) と記述しておきましょう。(ショート時はAsk)
また、その他の原因でOrderClose()に失敗することがあるので、
その際はOrderClose()を再実行する処理もいれておきましょう。
(再実行は、次のstart()呼び出し時や少し時間を置きpriceに適切な値を再設定するなどが無難です)
>>621 丁寧にありがとうございます。
オーダーチェックでポジがあれば
static datetime oldbar = 0;
datetime newbar = Time[0];
NormalizeDouble(Bid,Digits);
if(oldbar != newbar)
{
oldbar = newbar;
OrderClose(NULL, lots, Bid(ロング時), slippage);
}
のような感じですか?
エラー処理やRefreshRates() の処理などはよくわからないので、豊嶋先生のオリジナル関数の
bool MyOrderClose(int slippage, int magic) に上の文を加えて使おうかと思ってるんですが、どうでしょう?
NormalizeDouble()は戻り値を使用します。 例:OrderClose(ticket, OrderLots(), NormalizeDouble(Bid,Digits), slippage) MyOrderClose()を使用される場合は、関数内に条件を追加するのではなく、 条件が成立したとき関数を呼び出すようにするのがよいと思います。 static datetime oldbar = 0; static datetime newbar = 0; // 戻り値 決済(true:する、false:しない) bool IsClose() { // 以下に決済条件を複数記述. if (oldbar!=newbar) return(true); // OrderXXXX()を使って他の決済条件を記述. return(false); } void CloseSingleOrder(int index) { if (!OrderSelect(index, SELECT_BY_POS)) return; if (!IsClose()) return; // 以下に決済処理を記述. //MyOrderClose(SLIPPAGE, OrderMagicNumber()); } void CloseOrders() { for (int i=OrdersTotal(); i>=0; i--) { CloseSingleOrder(i); } } int start() { if (oldbar==0) oldbar = Time[0]; newbar = Time[0]; OpenOrders(); CloseOrders(); oldbar = newbar; } ポジションを残したままMT4を停止してバーをまたぐと 再起動したとき直ぐには決済しないので注意が必要です。 再起動も考慮する場合は、IsClose()において OrderOpenTime()とTime[0]の差で判断してください。
誤:for (int i=OrdersTotal(); i>=0; i--) 正:for (int i=OrdersTotal()-1; i>=0; i--)
ボラティリティブレイクアウトのEAが欲しいのですが、ダウンロードできるサイトを知りませんか?
626 :
Trader@Live! :2011/05/13(金) 22:41:22.69 ID:NcjATWaL
相当調べたのですがどうしても見付けられず困っている為どなたか知っている方教えいただけたら幸いです。
MT4でポジションのオープンとクローズをチャート上で確認したいのですが、何か手段はないのでしょうか??
自分のエントリー、クローズを記録に残したいです。
ttp://googolyenfx.blog18.fc2.com/blog-category-8.html こちらの方のブログのようなインディケータか何かを探しています。
この方のページのものをファイルがNOT FOUNDになってしまっていますので。
後、指値や逆指値等が刺さった場合メールを飛ばすようにしたいのですが、
これはプログラムでやるというところまでは分かったのですが、
当方プログラムの知識がないためどこか参考になるサイト等あれば教えていただけますか?
よろしくお願いします。
627 :
622 :2011/05/13(金) 22:46:14.78 ID:gjvfb7w1
>>623 >>624 今回も丁寧に解説いただき感謝しています。
記述の仕方や、考え方など非常に参考になりました。
まだまだですが、一歩完成に近づいた気がします。
ありがとうございました。
FXDDのHistory Center のデータって結構歯抜けなの? 2010年6月の1分足抜けてるんだけど 他の人も同じですか?
評判の悪い業者は大抵デモ口座開設時のメアドを集めて売ってます。 SPAMを送られても問題の無いメアドにしましょう。 勿論住所氏名等は全てデタラメでも問題はありません。 海外の容量の大きいフリメを利用するのが吉 walla.co.ilのアカウントが取れる人は取って使いましょう。 半年間放置でも大丈夫、SPAMが大量に送られてこようが痛くも痒くもありません。
浅知恵でインジケーターつくってみてもダメダメだなあ 結局組み込みを上手く活用するのがいいんだろうな
大体、俺程度の頭で思いつくインジは どこかで誰かがもう作ってるんだよな(´・ω・`) それ探して使ったほうが早いや。
5分足チャートに1分足を重ねるって可能?
細かくて見づらいだろJK 逆は可能
637 :
Trader@Live! :2011/05/14(土) 11:01:15.13 ID:vFStvrPG
すいません質問です。 チャート画面を反転してショート目線が上方向 ロングが目線が下方向にチャートが反転する インジケーターってのはないのでしょうか? どうも長くロング目線でやってるせいでショートのタイミングが取りづらく どうか分かるかとお答えおねがいします。m(__)m
>>5 >Q.チャートを重ね合わせて反転表示にしたいんだけど。
>A.オーバーレイチャートスクリプト Ver.1.10 で検索
あれこれなのかな?すいませ自己努力で解決してみます
639 :
626 :2011/05/14(土) 18:42:21.80 ID:lau1wNTi
>>631 >>632 ご質問にお答え頂きありがとうございました。
教えて頂いたブログにあったインディケーターで
バッチリでした!本当にありがとうございました。
指値や逆指値等が刺さった場合メールを飛ばすようにしたいのですが、
こちらに関してもどなたかご存知であればご教授下さい。
>>639 OrderSelectでOP_BUYかOP_SELLを探す。
指値だけならこれだけでいいけど成行も
やるならマジックやオーダーコメントで
判別できる。その後SendMail。俺はsmtp鯖をインスコしてる
641 :
Trader@Live! :2011/05/14(土) 19:44:07.38 ID:MaV7+xTq
MT4導入を考えているのですが簡単な条件が揃った時にアラームで知らせてくれるような使い方は可能ですか? 例えばロウソク足がMAを抜いた時にアラームが鳴るように設定するなどです。
>>641 要プログラミングでよければ、その辺はもう自由自在。
643 :
Trader@Live! :2011/05/14(土) 19:52:12.38 ID:MaV7+xTq
>>642 なるほど。
プログラムなどは全くの無知ですが可能ならば導入してみることにしました。
勉強してみます。
即返答、ありがとうございました。
(´・ω・`)あのー 121証券のデモでUSD10000ドルで申請しても AccountCurrency()の値がJPYで帰ってくるのは俺の意識がおかしいですか? 121証券側がおかしいですか? EA内でLotsを決めるときにAccountCurrency()を使っていたのですが 証拠金不足エラーが出て、この問題に気づきました。
ポジションを保有している状態でMT4を再起動した際にmagicが同じの 複数のポジションのオーダーした時間と ticketナンバーを取得するにはInit部分に どの様に記載すれば良いでしょうか 教えてくださいお願いします
#define MY_MAGIC_NUMBER 1234 int init() { int n = OrdersTotal(); for (int i=0; i<n; i++) { if (OrderSelect(i, SELECT_BY_POS)) { if (OrderMagicNumber()==MY_MAGIC_NUMBER) { int ticket = OrderTicket(); // ticketナンバー. datetime openTime = OrderOpenTime(); // オーダーした時間. Print("Ticket=",ticket, " OpenTime=", TimeToStr(openTime)); } } } return(0); }
>>645 for (int cnt = 0; cnt < OrdersTotal(); cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderMagicNumber() == magic)
{
ticket = OrderTicket();
orderedtime = OrderOpenTime();
}
}
あとは配列に入れるなりなんなりして。
ああ、かぶったごめん。
チャートを消してインジケータやラインだけにしたい場合ってどうすればいいんでしょうか?
>>650 F8(プロパティ)-LineGraphの色をNoneにする。
後はラインチャートにすればバー(ローソク)は消える。
いきなりインジケータの方に質問するのこわいのでこちらに質問失礼します。 ドルストを円換算してリアルタイム表記したり、その数字からクロス円で引き算した数字をリアルタイム表記したりってことはできますか? もしくはそういうインジケータはありませんか? 存じている方おりましたら教えてください。
例えば、 EUR/JPY と EUR/USD,USD/JPYから算出されるユーロ円の差を表示したいってことかな
>>654 そうです。
計算式にすると、EUR/USD×USD/JPYからEUR/JPYを引いた数字をリアルタイムで見たいんです。
656 :
653 :2011/05/15(日) 09:29:04.92 ID:ru7/Z9aT
657 :
Trader@Live! :2011/05/15(日) 10:38:13.55 ID:U95rv1uu
>>655 そのようなインジケータの存在は知らない。
そのようなインジケータを作成することは可能かつ容易。
>>655 どういう値を表示するかは少し興味あるけど、
その値を知ったところで、そこから利益は出せそうもないね。
>>658 可能かつ容易なのですね、ありがとうございます。
実践したいロジックだけが先に立っちゃって、インジケータ作成知識もEA作成知識もないので困り果ててました。
存在しないのであれば勉強して自力で作ります。
>>657 上のほうにある A のボタンを押してください。
>>660 存在を知らないだけで、ないとは言ってないよ。
ないかもしれんしあるかもしれん。
ただ、EUR/JPY - EUR/USD*USD/JPY の値って限りなく「0」に近いんじゃないかなぁ。
int start() { double eurjpy = MarketInfo("EURJPY",MODE_ASK); double usdjpy = MarketInfo("USDJPY",MODE_ASK); double eurusd = MarketInfo("EURUSD",MODE_ASK); double diff = eurjpy - eurusd / usdjpy; Comment(DoubleToStr(diff,8)); }
>>663 作ってもらえると思ってなかった。ありがとうございますm(_ _)m
>>662 確かに限りなく0を上下する辺りです。詳しくは言えませんが、そこが大きく関わってるロジックです。
為替王のロジックか?
>>665 為替王って見たことないですけど、家帰ったらググって見てみます。
でもたぶん先行者はいるでしょうね。エントリーポイントは同じってことはないでしょうが。
個人が取れるFXのアーブなんて、 ブローカーのサーバ間の遅延が原因だから やりすぎると出入り禁止になるだけだよ
スプ払って終了だろJK
>>667 そういったものではないです。
環境もPC一つですし回線もADSL、業者が数値出してくれるツールがあるとしたら、その業者1つだけ見てれば可能です。
実証できるかどうかはこれから詰めますので、まだ使えるロジックとは言えませんが。
ただエクセルに入れた限りでは使えそうでした。
>>668 もちろんスプと約定拒否が大敵ですので、約定拒否しない業者でpipに余裕持った幅にするのは大前提です。
これ以上はスレの主旨から外れちゃいますので、返答は控えさせていただきます。 ご意見ありがとうございましたm(_ _)m
>>672 了解です。本持ってますがあれとは手法が全く別物です。
同時刻なのでレスしましたがほんとに最後の返答。
674 :
Trader@Live! :2011/05/15(日) 14:21:14.41 ID:U95rv1uu
>>661 657です。
無事に解決いたしました!!
素早い回答に感謝いたします。
助かりました!
>>675 そりゃあ自作のインジに問題があるんでしょうよ。
>>675 定型チャートの保存名を「tester.tpl」としてもダメですか?
MT4でチャートの移動についてお聞きします。 HomeとEndキーでの移動は知っています。 任意の場所にとばす方法はあるのでしょうか。 ちなみにPageUPとPageDownはローソクの大小になってしまいます。 あるページでは移動が早くなるようなことが書いてあります。 これも何か変といえば変ですよね?
679 :
Trader@Live! :2011/05/15(日) 17:47:12.66 ID:zSwQQWyF
>>678 チャートの一番下、日付時刻が出ているところにカーソルを合わせる。
すると「2011.05.13.18:00」という表示になる。
さらにチャートの左下をクリック(日付時刻が出ている一番左端あたり)。
テキスト入力できるようになるので、任意の日付時刻を「2011.05.13.18:00」の
フォーマットで記載してエンター。
チャートが存在すれば、そこに飛ぶことができる
680 :
Trader@Live! :2011/05/15(日) 17:48:59.55 ID:zSwQQWyF
>>679 少し訂正
「2011.05.13.18:00」という表示にはカーソルをCrosshairにしておくとよい
>>679 早速のレス有り難うございます。
ちょっと試していますが、やり方が悪いのかうまくいきません。
時刻表示というのはF1キーでヘルプが表示されますと同じ欄のことですよね?
当たり前といえば当たり前ですが、チャートからカーソルが外れると時刻表示も消えてしまいます。
その後、クリックしても何も反応しません。何か操作が変でしょうか。
682 :
Trader@Live! :2011/05/15(日) 18:09:08.95 ID:zSwQQWyF
>>681 いえいえ、「F1キーでヘルプ〜」はMT4画面の一番下であって、
私が言っているのは各チャートの一番下です。
>>682 再度のレス有り難うございます。
今ちょっと出かけていまして、これから挑戦してみます。
方法があることが分かっただけでも大助かりです。
うまくいかないようなら、また後で聞いてみます。
684 :
Trader@Live! :2011/05/15(日) 18:39:18.16 ID:zSwQQWyF
>>679 の再度訂正でスミマセン
誤 : チャートの左下をクリック(日付時刻が出ている一番左端あたり)。
正 : チャートの左下をダブルクリッククリック(日付時刻が出ている一番左端あたり)。
685 :
Trader@Live! :2011/05/15(日) 18:40:24.11 ID:zSwQQWyF
ぐは!IMEの自動補完がががが 誤 : チャートの左下をクリック(日付時刻が出ている一番左端あたり)。 正 : チャートの左下をダブルクリック(日付時刻が出ている一番左端あたり)。
ECNとSTPっていうのがイマイチ違いが分からないのですがどう違うんでしょうか? カウントダウンに対応していないEAってSTPブローカーで使えるんでしょうか?
普段使ってる別のパソコンにもMT4をインストールしてみたんだが デモ口座申請画面が開くと 最初から俺の名前とメアドが入力済みになっていた・・・ メーラーか何かから情報取得するようになってるのか? 前は違ったような気がするんだけど、皆はどうだった?
>>687 前に一度でも使ってると、自動で出るようになってる。
690 :
Trader@Live! :2011/05/15(日) 19:32:51.19 ID:TC3t1JX0
すいません。MT4でバックテストをしているのですが、最適化をしようと思い パラメータの入力の所でprofitpipsにチェックを入れて幅を25pipにセットして 5個分の結果を見たかったのですが、スタートを押すと1/5から5/5まで動いたのに 結果が何も出ません>< 原因分かる方お願いします。
全部PFが1以下。つまり全部マイナスしたって事。 見るにはリザルトのpassのところで右クリックしてSkip Useless Resultsのチェックを外す。
>>662 たまに遅れたりするからそこを狙うんじゃないのかな
EAビルダーを使っているまたは使ったことがある方いますか? 使い勝手はどうでしょうか?
>>692 せいぜい数PIPSしか取れそうもないね。スプレッド負けしそうだが何か他にロジックがあるんだろうな。
>>694 いくつかあるんですか?
自分が知っているのはFF社(家族命とかでかでか書いてあります)のです。
>>663 勘違いかもしらないけど
EUR/JPY = EUR/USD / USD/JPY ってディメンジョン的におかしくないか??
EUR/USD * USD/JPY = EUR/JPY になるとおもうのだけど。ディメンジョンとしては。
酔っ払いだから朝になったら赤面もののつっこみかもしれんが
702 :
Trader@Live! :2011/05/16(月) 03:41:20.69 ID:R3qCaphC
過去10年分くらい15分足を入手するいい方法ありませんか? MT4だと、土曜朝、早く終わったり、月曜遅かったりで、 金月の検証がおかしくなっちゃうんですよね…
>>679 左クリックじゃなくて左「ダブルクリック」じゃないか?
704 :
Trader@Live! :2011/05/16(月) 07:06:29.73 ID:aQQfJ+IG
>>703 専ブラ変えたら自動更新してなかったスマン
週末、週明けにできる値幅のほとんどないバーをトレードのシグナルから除外したいんだけど、どうしたらいいでしょう? 非表示にはせずに、シグナルから除外したいので、値幅の狭いのを選び出したいのです。
>>705 値幅だったらHigh,Lowの差で、週末週明けに限定するなら時間で絞り込めば?
707 :
Trader@Live! :2011/05/16(月) 15:41:19.17 ID:PrQqSyIn
>>691 返信気づかずすいませんでした。
結果も見れました。有難う御座いました。
MA_Crossのインジ使ってる方。 このインジは設定したMAにレートがタッチするとアラートで知らせてくれるんだと思って導入してみたんですが、 レートがMAを完全に抜けていてもアラートが鳴り止みません。 直し方わかる方いますか?
>>663 割り算記号を掛け算記号に直したらうまくでた。ありがとうございます。
どこに入れるかを理解するまでに言語の基礎学んで二時間かかったがいい勉強になりました。
裁定取引をしたいのかもしれないけどたぶん無駄なあがきになると思うけどなあ MODE_ASK,MODE_BIDで考えてみて
MT4サーバには、アービトラージ検出プラグインがあるのだから、 アーブ自体は成立するのだと思う たまにやるぐらいなら見逃されるレベルだとも思う 問題は、発覚したときにブローカーがどう出るか?だけでしょ。 スプ操作から出金拒否まで何でもできるんだからさ
>>710 ASK値のみでスプは入れない計算ですが、ボラは上下に100pip以上が週に何回かは発生するので補うのは可能だと思ってます。
問題なのが自動化しないと収益と言えないレベルなのと、大暴落時には瞬間的にどのくらい広がるかが分足情報なくてリスクコントロールが不安なんですよね。
今週は600越え一回ありましたし…
>>712 > 今週は600越え一回ありましたし…
それがホントならすごいんだが、
その時のスプレッドもすごいんじゃないかなと勘ぐる
>>713 スプは多分大きいと思う。エクセルに数字並べて計算しただけだから、指標あったかもわからない。
エントリーはスプ狭い時狙うから、約定拒否なくて正確なタイミングなら利益は出ると思う。
EA作ったらバックテストしてみるけど、1から勉強しながら作るから暫く先になりそう。
715 :
Trader@Live! :2011/05/16(月) 18:40:07.12 ID:S/RrrZ9R
グリッドの縦線だけ消したいんですけど、どうやればできますか?
>>714 MT4で他通貨ペアを使うEAにはいろいろ制限あるよ
>>716 それならkakakuMKUのやつ使ってみる。ありがとう。
MT4でインジやラインや文字でメモ書きしてあるものを保存しておきたいんですが、 画像として保存するしかないのでしょうか? ラインや文字を挿入したチャートは消してしまうともう見れないのでしょうか?
>>715 無理。
表示中の値幅と期間を検出して指標バッファに値を埋めてインジで線引いちゃえ!w
>>721 インジだけではなくて文字やラインも残しておきたいので
できたら全部含めてのほうが助かります
3,4枚のjpg画像にしてつなげるべきでしょうか
>>722 テンプレートに何が記録できるのか知ってるのかい?
>>723 再現できました!!
ありがとうございます
新規注文したあとって発注画面はそのままにすぐに決済や新規取引ってできないんでしょうか?
できない。
ありがとう 残念です
for(int i=0; i<OrdersTotal(); i++) を逆に回す場合って単純に for(int i=0; i<OrdersTotal(); i--)でおk?
>>728 OK!なわけあるか!それループ止まんないだろ?w
いや、OrdersTotal()が0の時は止まるのか、まあどっちにしても
意図したようには動かんがw
for(int i=OrdersTotal()-1; i>=0; i--)
731 :
Trader@Live! :2011/05/17(火) 15:40:01.02 ID:usdUQgGR
MT4って、10Lotを1Lotづつ指値で10回に分けて決済とか出来ないものなの?
ブローカー依存だね。
うそ。
734 :
Trader@Live! :2011/05/17(火) 16:00:55.69 ID:usdUQgGR
>>732 そうなんですか。
出来るブローカって日本ではありますか?
>>729 >>730 for(int i=OrdersTotal(); i>0; i--)
1から最新のオーダーまで含むならこれでいい?
>>734 ごめんなさい。嘘です。
MT4で指値決済はロット指定できないす。
MT5なら可能だけど採用ブローカー無いす。
>>735 いろいろ試したらわかるんじゃないかな。
両建て出来ないとこで反対売買すればいいんじゃない?
インジ作成にあたり、バーが例えば3本更新される毎に計算を行いたいなどの場合は どのように判定すればいいでしょうか?
>>735 その書き方だとループの回数自体はポジションの数だけ実行されるけどループ中に
OrderSelect(i,SELECT_BY_POS,MODE_TRADE)
のように変数 i を使ってOrderSelect()でポジションの選択もしたいなら
変数 i が0のときも回してやる必要があるから730の人が教えてくれたのを使ったほうがいいと思うよ
>>735 3個注文している場合の選択は、
1個目:OrderSelect(0, SELECT_BY_POS)
2個目:OrderSelect(1, SELECT_BY_POS)
3個目:OrderSelect(2, SELECT_BY_POS)
となります。
for文についてですが、
for(A; B; C)
{
D
}
は以下のように実行されます。
A
while(B)
{
D
C
}
プログラムの習得は、勘を頼りにするのではなく、
資料やサンプルを調べて自分で動作を納得しながら
進めるのが早道ですよ。
最初は面倒だけど頑張ってみてください。
>>736 >>739 >>740 昨日から本見て勉強始めた駆け出しです。
int i=OrdersTotal()-1がどうして-1なのかわからなかったけど、やっとこさわかったよ。
低レベル質問に付き合ってくれてサンキューです。
>>738 時間で計算するのが簡単かな
#define DO_STEP 3
#define DO_OFFSET 0
bool IsBarToDo(int index)
{
int a = (Time[index] / (Period() * 60)) % DO_STEP;
return (a==DO_OFFSET);
}
for(int i=limit; i>=0; i--)
{
if (IsBarToDo(i))
{
// バー3本ごとに実行.
}
}
ODL使ってるんだけどけっこうチャートが止まる。 途切れにくい他のおすすめがあれば、教えて頂きたいです。
744 :
Trader@Live! :2011/05/17(火) 23:33:36.45 ID:amt0u9MZ
ない 終わり
ストップにかかったらドテンしてストップにかかった倍のポジを持つというマーチンゲールEAを作りたいのですが・・・ どうやって前回のポジの損益を判断すれば良いんでしょうか? また口座に金がある限りドテンを繰り返すにはどのように記述すれば良いでしょうか?
MT4でプロセス間通信をやるにはどのような方法が考えられるでしょうか? 具体的には外部からの指示により売買を行うEAを作成したいのですが、事情によりDLLは使えません。 ファイル、FTP、メールサーバ等をメッセージボックスにするしかないかな。
>>748 OrderOpenPrice() - OrderClosePrice(), 売買はOrderType()
残高はAccountBalance()
>>731 1Lotづつ両建てにしていって
10Lotそろったら全決済でOKだろ
>>749 ウェブサーバーでいいんじゃない?
ウェブからCGIでBUY、SELL指示、MQL4でファイルの内容を拾って
BUYがあれば書い、SELLがあれば(ry
>>752 ありがとうございます。
っと、HTTPを使うのにDLLが必要ですよね?今回どうしても使いたくないんですよ...
>>753 なら諦めていただくしかないですね。
ひょっとしてubuntu+wineとかそんな環境なんですか?
毎日指定時刻にチャートウィンドウに自動で縦線引いてくれるようなインジはないでしょうか?
チャート6通貨に 移動平均線MTFも含め15本ほど引くと 動作がかなりもっさりします 少しでも動作を軽くしようと オプション→最大バー数も2000に抑えてます PCのスペックは Core i3 380um 2G HDD360G タスクマネージャーで見ても CPU使用率25%程度 メモリもPF使用量1.2G程度 とてもPCのスペックが問題で重たくなってるように見えないのですが 改善する方法などありますか?
>>753 絶対刺さらない指値注文をメッセージ代わりにするのは?
>>753 ファイルのポーリングでいけるかな。
ちょっと試してみますわ。
>>755 大正解!
ですが出来合いのDLLを使えばいいだけのような気もしてきました。
MT5だと、この辺りの標準ライブラリが増えてるかと思ったらほとんど変わってないんですね。
ポジオープンしたバーが完成する時にそのバーが含み損ならクローズってやりたいんだけど、 最近スレで似たような質問してた人がいたのでそれを参考にしてみました。 オーダーセレクト云々は省略 datetime genzai_bar = Time[0]; static datetime open_bar = (OrderOpenTime()/(Period()*60))*Period()*60; if((OrderProfit()<0) && (genzai_bar != open_bar)) { if(OrderType() == OP_BUY)決済売り; else if(OrderType() == OP_SELL)決済買い; genzai_bar = open_bar; } } これだと、バーのクローズの瞬間で手仕舞いって形にはならないですか?
>>761 Barsをstatic変数にでも記憶させておくのはどう?たとえば、
static int prev_bar;
(中略)
if (prev_bar != Bars)
{
// バーの本数が変化した。ということは、ここに来るタイミング=一つ前のバーが完成した
// 以降、手仕舞いするかどうか判断・処理
}
prev_bar = Bars;
763 :
Trader@Live! :2011/05/18(水) 12:43:44.46 ID:4ZZy/zpB
>>761 ぱっと見ただけだけど、
genzai_bar = open_bar;
がいらない気がします。
>>762 >>763 厳密に言えば、バーの完成した瞬間ではなく、バーが完成した時に含み損か否かを検知して次のバーのオープンで決済になりませんか?
バーの終わりに含み損か否かを検知して終了時に決済したいんですけど、無理ですかね
>>764 (1)今のバーが続いている間は常に、含み損か否かを判定(関数の外にbool b;を宣言しておき、start()関数内で b = (OrderProfit() < 0);)しておいて、その結果をどこかに格納しておく。
(2)バーが更新したとき、その結果を調べ、決済処理(OrderClose()関数を呼ぶ)。
。。。ということかなと。
767 :
766 :2011/05/18(水) 13:49:42.23 ID:DJe6Lr0F
日本語不自由でごめん
>>764 バーの終りがいつかは誰にもわからないのでは。
>>764 start()はtick毎に動くんだから、
そのバーの最後のtickで検知し決済など不可能。
次のバーの三秒前に決済を出す、とかいうなら出来ないことはないが、
約定はおそらく次のバーが始まってからになるだろうな。
無限ループ式のEAにすれば、 59秒の時点で損益を計算し、60秒の時点で決済発動させることも可能ではあるが。
なるほど、なんだか難しそうですね。 皆さんありがとうございます。
>>753 httpd使うのにdllはいらないんじゃない?
Ubuntuで気を使うところはMQL4が見れる場所にファイル置いて権限与えてあげる程度じゃない?
もしくはメールサーバー立てて、メールが来たらメールボックスに投げる前に
shでもphpでもperlでも何でもいいから処理して、MQL4が読めるところへペアとBUYかSELLか
書いたファイル置いてあげるとかでいいんじゃない?
775 :
Trader@Live! :2011/05/18(水) 19:44:06.04 ID:dwVw2ypK
777 :
Trader@Live! :2011/05/19(木) 00:28:26.01 ID:q4MrYNS3
>>743 チャートがブチブチ止るのは通信環境を洗ったほうがいい。
引越ししてもとのような状態に戻すのにえらい苦労した。
古い無線ランとかだとよくとまる。
チャート上に描いた分析ツールの色などを変更してそれをデフォにするにはどうすればよいのですか?
>>776 それは外部プログラムを使ってるんじゃないのか?
>>776 wininet.dllを呼び出しているね
ちなみにLinuxでMt4を動かすメリットって何?
単純にwindowsが嫌いだからという理由なのかね
色々制約がありすぎて使うメリットが無いと思うんだけどねー
常に十時線ツールにしておくことってできないよね?
>>780 Windowsよりメモリリソース食わないので安いVPSで稼働。
自分の場合更に、
Linux上で動くソフトと連携したい。統計解析パッケージとか。
Windows上での開発知識が無い。
あたりが理由だな。
>>782 なるほどねー
Windowsみたく余計なアプリが入っていない分良いんでしょうね
ちなみに外部DLLを使っているEAってLinux上で動作するんですか?
MQLの参考書?を買った方に質問ですが買って良かったと思いましたか? 近所に売ってなかったので通販しようかと思ってますがネットの講座くらいの内容なら買う意味は無いかなと思ってます。
買う意味は無いな。
>>783 MT5が動くくらいだから大抵の物は動くと思う。
もちろんWindowsの他のソフトを呼び出したり、Windowsにしか存在しない機能を
使っているものは動かないけど。
>>786 EAの認証なんかをDLLでやっていてWinAPIをCallしていたりしているとアウトって事なんですよね
そうなると市販物(特に海外)のEAは使えないのが結構多いって事になりますね
>>787 確かにライセンス認証関係は何やってるかわからないから動かないかも。
789 :
Trader@Live! :2011/05/19(木) 23:27:45.86 ID:Itv4tJcU
MT4で複数ポジションを一括決済するためにCloseAllというScriptを 使っていますが、どうも処理が遅くて決済処理が途中で止まったり するんですよね… 何か良い方法があれば教えてください。
複数のMT4を起動して同時ログインさせてCloseAll かな
791 :
Trader@Live! :2011/05/20(金) 00:14:43.34 ID:l7M9pxuG
>>790 なるほど…、処理が止まることを前提にしてる訳ですね。
力技な感じですが、一括決済の場合には一般的な方法なんでしょうか?
処理が遅いのは、逐次処理なので注文が多い場合に時間が かかっているのかもしれません。 処理が途中で止まるのは、決済失敗時に再実行していない などScriptに問題があるのかもしれません。
すみません
どなたか
>>778 これわかりませんか?
チャート描画しなおすたびにデフォの色に戻されて大変なのです
>>793 多分 SetIndexStyleかColor関数で色を指定されちゃってると思うんでEditorで変更する必要性がありますよ。
なるほど ありがとうございました
すいませんが2つ教えて下さい。 時間帯での検証をしたいのですが、指定した時間帯のローソクを消す事ってできるんでしょうか?消した時間帯は空白で残したいです。(具体的に言えばロンドンだけ消すとか) トレンドライン等にある「背景として表示」と言うチェックボタンはどういう使い方をすればいいんでしょうか?
>>796 「背景として表示」は、チャートより前に表示するか後ろに表示するかの選択。
チャートのプロパティにある「チャートを前面に表示」と組み合わせて使う。
ローソクを消すのは知らん。
オフラインチャートなら、その時間帯だけを削除してみるとか。
NormalizeDouble(Ask,Digits); ↑ よくあるこれの意味がわからんです。 AskをDigits桁に丸める。 Digitsは現通貨ペアの価格の小数点以下の桁数。 AskとDigitsの桁数が違うことがあるってこと? バカな俺に噛み砕いて説明してください。
799 :
Trader@Live! :2011/05/20(金) 15:30:52.71 ID:oOTtAqL3
バカがプログラミングをやるなんて100年早いんだよ
>>798 だいぶ前は、例えばドル円なら 93.44 のように2桁が主流だったけど、
今は 82.123 のように3桁の方が多いよね?でも、業者によっては2桁のままのところもある。
通常は2桁のデータと3桁のデータが混ざる事は無いのだが、
なぜか、3桁のヒストリカルデータが、2桁の業者のサーバに紛れ込んでしまった事があるんだ。
おそらくそれはただのヒューマン・エラーによる事故だったのだろうが、
その業者では、 Digits が 2桁を指し示しているにもかかわらず、
ヒストリカルデータの Bid (=Ask) が3桁になっているというおかしな状態がおきてしまい、
バックテストができなくなってしまったんだね。
その当時に対策を考えた人のコードが、
NormalizeDouble(Ask,Digits);
だったのだ。
>>799 説明できないならいちいち絡んでくるな。
鬱陶しいんだよ。
>>800 なるほど、そういう歴史があるんですね。
ありがとうございます。
z2bfbDDh ↑バカうざwww
お前が悪い
804 :
Trader@Live! :2011/05/20(金) 19:44:58.97 ID:cErKCrjM
こんにちは 売り買い決済成立時に、自動でメール配信するスクリプトかEAなどはありますか?
ID:oOTtAqL3よいやな事でもあったのか? 意味も無く人にあたるな。
多分うんこ漏らして尻餅ついたとか、そんなんじゃない?
>>802 そうだよ、お前が悪い。ここはゆとりスレなんだぜ。
>>801 >>800 に追記すると、使うの浮動小数点のduble型。
浮動小数点には演算誤差があり、82.123が実は82.122987かもしれない。
これだとサーバー側で提示額82.123と一致せず、約定拒否にもなる。
それを防止する意味でも使う。
>>797 レスありがとうございます。
>オフラインチャートなら、その時間帯だけを削除してみるとか。
対象の時間帯のデータそのものを消せ という意味でしょうか?それやっちゃうと、テクニカルの数値も変わってくるので、すいませんが別の方法を考えてみます。ありがとうございました。
>>807 さすがに、Ask 自体に 演算誤差は無いと思うけどなぁ・・・
ユーザの定義した変数とは違うのだよ。
>>810 経験談です、バックテストでAskでオーダーしてるのにエラーになることは、確かにあった、ノーマライズしたらいけた
公開されてるフリーEAのコード見て勉強中だけど、意外と中身はたいしたことないんだな ほとんど注文部分だったりして、肝心の売買フラグ部分は数行、 それも組み込み関数をちょっと組み合わせただけとか 有料のやつはもっとすごいのかしら
フリーも有料もたいして変わらない 結構作りこんでいる奴もたまに見かけるけど 実際それほどいい成績を残している訳ではないのが現状 あまりインジケータ類を多く使いすぎているとBTに凄く時間が掛ってしまうしね 俺は最小限の組込インジを使った物が結構好きだけどな
814 :
名無し :2011/05/21(土) 00:42:54.41 ID:HMssvdBJ
>>810 あるよ
今のバージョンのMT4でも起こるかどうかはしらないけど。
ゆとりって学力っていうよりも実践力というか応用力っていうか そっちのが劣っている気がするんだよねー 特に今の現代の若者は、なにかっていうとすぐに2chで聞いて ろくに調べもしない・・・・ うちの会社の新人でも結構いるけど そういう奴に限って何度も同じことを聞いてくるんだよなw
>>815 ないよ
演算してないのに演算誤差があるかアホ
Ask、Bid値って型はdoubleだろ 少なくても演算をしなくてもdoubleに入れる段階で誤差ってのが あってもおかしくはないんじゃないのか? バックテストでOrderSendする時にInvalid Priceが出るのが結構あるけど そういった対策にNormalizeDoubleで正規化すればエラーは出ないのがいい証拠じゃなんじゃないのかな どうだろ?
アホ呼ばわりされた… オレとしたことが ここに書いたことがアホだったなw
>>812 EA作り始めてしばらくたつと
いろいろエラーに見舞われるわけだが
だいたい注文部分で起きるのが大半
なので、だんだん注文部分がややこしくなっていく
注文部分がシンプルすぎるのは、実践の安定感に欠けると思われ
注文処理をまとめたライブラリに OrderReliable.mqh というのがあるらしいね
池辺雪子の長短RSI乖離のインディケーターくれないか
823 :
Trader@Live! :2011/05/21(土) 13:44:48.67 ID:MKsjBSn2
test
824 :
Trader@Live! :2011/05/21(土) 13:48:32.06 ID:MKsjBSn2
インディケーターで表示されたローソク足をバーチャートやラインチャートに 変更するにはどこを変更したらよいですか?
825 :
Trader@Live! :2011/05/21(土) 14:20:02.11 ID:xzisVoH5
デモ口座で、サンプルのバックテストしようとスタート押しても何の反応もないのですが・・・ 今日が、土曜日だからでしょうか?優しい人教えてください。
826 :
Trader@Live! :2011/05/21(土) 16:36:50.07 ID:xzisVoH5
ダウンロード方法に問題があったようでした。お騒がせいたしました。
827 :
Trader@Live! :2011/05/22(日) 04:31:36.73 ID:p4iNyN1I
mt5てマルチコア対応らしいが、何コアまで対応? 12コアとか対応してるのかな? あとMT5はCUDA対応してるなら、マルチぐらぼにしたいんだけどMT5使ってる人よろしく
>>825 デモ口座でも価格はリアルだと思う
だから平日やってみなさい
MT4デモ口座でチャート書かせてる人多いよ
よく切れるけど
Dual Opteronとかいるのかな? faiさんくらいでしょうね。
>>827 バックテストの時は有利だけど、普段はシングルコアでもいいよなぁ。
MT4いくつも立ち上げとけばいいんだから。
MT5って複数起動OK?か分からないけど、一つしか無理、だったらやだなぁ。
>>825 バックテストは市場動いていなくても関係ないから
ヒストリカルデータをおとしてないないんじゃないのか?
836 :
Trader@Live! :2011/05/22(日) 12:34:11.13 ID:p4iNyN1I
>828ありがと。 12コアokならとりま、12コアにメモリ32Gをかうかな。 今使ってるメモリ4Gだと落ちちゃうんだよね。 とある解析させると、cpu使用率が常に598%とかでw
837 :
Trader@Live! :2011/05/22(日) 17:33:20.47 ID:A2P+Se7J
フィボナッチリトレイスメントは標準で付いてくるので インジを捜しても自動しか見つからなかったのですが 手動で引けるものはないでしょうか? %の本数を増やしたり減らしたりしたいので別のインジとして 使いたいのです。
標準ので、%の本数は変更できますよん
EAをバックテストしてます 毎月一定額を口座から引き出したことを想定したバックテストを 実施したいのですが、EA内から強制的に口座残高を再設定 することは可能でしょうか? AccountBalance()関数で取得した口座残高から一定値を引いた値を 口座残高へ再設定するイメージです よろしくお願いします。
>>839 口座残高をEAから増減できれば、世のバックテストは恐ろしいことに
なりそうです。無理でしょう。
そんなこと気にしなくても、バックテストで利益のでるEAでも90%以上は
リアル運用では利益をだせません。←根拠なし、ソースは俺w
>>839 何をしたいのか良く分からないんですが
自作EAでの話?
それとも市販のEAでの話なのかによって変わってくるよね
で市販EAは改造しないと無理
自作EAなら
毎月差し引く金額をパラ等で設定しておいて
AccountBalanceから一金額を引いてロットの計算をするっていう風にすればいいだけじゃないの?
どちらにしろロットの計算部分だから、いくらでも調整は可能だよね
でもそれじゃロスカットになるかどうかは判らないんじゃないか?
>>839 んなことしたら増えるものも増えないと思うんだがそんなに利益率高いEAもってんのか?
何もってるんだ?
>>841 やっぱり無理ですか
リアル運用で利益が出せないというのも何となく分かります。世の中そんなに甘くないってことですよね。
でもバックテストで利益だせないと始まらないですし
>>842 自作EAでの話です
ロット計算の部分はそれでOKですが口座残高へ反映できないでしょうか?
ストラテジーテスタの結果グラフに反映したいんです
>>844 自分が作るEAはいつも右肩下がりですw
頑張って最適化する予定
>>845 まず勝率が高くって右肩上がりのEA作るほうが先だな
ちなみに俺は勝率99%のEA作ったど
>>845 > 自分が作るEAはいつも右肩下がりですw
> 頑張って最適化する予定
こういう考え方が90%以上リアルで失敗すると書いた所以です。
まずこの考え方を捨てないと90%からは抜け出せないでしょう。
最適化頼みで利益をだすEAは、リアルじゃ使えません。
バックテストで利益が出ても、リアルだと利益が出ないというのは同意。
>>838 本数を変更してしまうと、次に引く時にそれが反映されてしまうので
また設定しなければなりません。
それを回避する意味もこめて、別インジとしてないかなというのも
あるのですが、ないかな・・・。
850 :
Trader@Live! :2011/05/22(日) 21:54:18.16 ID:p4iNyN1I
>839 普通にできるよ。 豊島先生の実践をみて、ネットで漁ればいいだけ。 それを教えてくれくれ詐欺とかはやらないでね。 みんな面倒だから分かっていてもしらないていうしw
>>850 >>839 のやりたい事を理解してないんじゃないんか?
コード上で小細工しないで直接残高を減らすなんてことはできんよ
すんまへん教えてくださいな 日本のブローカー(mt4非対応の業者)のレートをmt4にリアル表示させることはできますか? もしそれが可能なら方法を教えてくださいますでしょか? 豊島先生の本は2冊とも買ってインジやEAは作れるようになったんですけどPCの知識が元々乏しいので 色々調べたのですが見つけられませんでした よろしくお願いします
質問です アラートが鳴ったときに任意のサウンドを鳴らしたいのですが こんな感じ PlaySound("alert2.wav"); で関数を使えばいいはずなんですが何故か標準のサウンドがなってしまいます なにが原因なんでしょうか
>日本のブローカー(mt4非対応の業者)のレートをmt4にリアル表示させることはできますか? 無理です
855 :
852 :2011/05/23(月) 09:39:14.21 ID:JEnRmSRv
>>854 無理ですか
めっちゃ速いレスありがとうございます
2009年9月以前の月足のドル円のレートが異常値で1ドル10円くらいになっちゃってるんだけど これって直す方法ありますか?
>>853 その鳴らしたいサウンドというのはEAやインジでの話なら
PlaySound("alert2.wav");
で、ファイル名が間違っていないか確認
MT4の全般のサウンド各種ならファイルメニュー>オプション>音声設定で変更
ていう感じなんすけど
>>857 返信ありがとうございます
その後いろいろ試行錯誤してみたんですがどうやらalert関数とplaysound関数は
同時には実行できないみたいです
(alert関数が優先される)
試しにalert関数を削除してみたら任意のサウンドがなりました
>>749 > MT4でプロセス間通信をやるには
Linux上ならpipeをファイルオープンすれば、プロセス間通信出来たりして。
Wineがそんなの許すか知らないけど。
EAもインジケーターも同じ拡張子mq4にしたやつアホだろ…
>>861 お前の方がアホ
コンパイル言語は一緒なんだから拡張子も同じって普通の話
w
MT4はオフライン時にボヨヨーんなどの音は出ますが、約定や決済時に音が出るように できないのでしょうか? 機能に無ければ、ポジの数が変わった(注文ヒットか決済)に音が出るようにすれば良いのかな?
>>864 ツール−オプション−音声設定 有効にする ベルのアイコンをダブルクリックすると×が消える
>>856 ヒストリーセンターを開き、対象の行をクリックし修正あるいは削除後インポート
MT4って時間表示を日本時間にすることってできないんですか? 初心者すぎてすみません。
>>867 JPN Time Sub Zeroとかのインジゲータ入れればいいんじゃね?
あとは日本の鯖使うとか
871 :
Trader@Live! :2011/05/24(火) 20:52:12.20 ID:uc6b5rU+
>>871 それ、バックテストでいんちきしてるらしーよ。
873 :
Trader@Live! :2011/05/24(火) 21:11:04.70 ID:K/NWHfr6
>>780 いかにもエコノミックアニマル。生活も家庭も犠牲にして仕事オンリー。
こういうもの。
とりあえず、今月中に120の大台は超えると思うがね。何せ日本の輸出
品が放射能で引き取り拒否になりつつあるからね。
874 :
873 :2011/05/24(火) 21:11:47.57 ID:K/NWHfr6
失礼、誤爆した。
どなたか教えてください。 他のブローカーのAsk値とBid値をEAに取り込みたいのですが、 DLLを作らなくてはなりませんか? もしそのようなDLLを作るとなると難しいですか? 他に方法があるとすればどのような方法がありますか?
>>875 >>852 と同じ人?
MT4の問題というよりも、その「他のブローカー」のデータがどうやって取れるか、
という問題なので、答えとしては、その「他のブローカー」次第、ということになる。
>>876 返信ありがとうございます。
別人です。
MT4からMT4です。
DLLを使って可能なのはわかるのですが、
DLLは作ったことがありません。
スパイク対策なのでスピードはいりません。
その他の方法はありますか?
>>878 そのためのDLL なら fai さんのところにあった気がするが、
MT4からファイル出力し、別のMT4でファイル読み取りしたらよいだけでは?
>>879 早速の返信ありがとうございます。
ファイルはこけそうな気がするので
まずfaiさんのところを調べてみます。
>>871 超悪徳業者乙
有限会社なのにホールディングスww
MA_Crossover_Signal5.mq4 これって移動平均線MAの印字ですか?EMAではないですよね いろいろ調べると混同されてるのでお聞きしたいのですが それとパラメーター fastereMA5 SlowewMA25に変更して5.25日線のクロスを見たいのですが 豪ドルドルのペアの場合シグナルがおかしいのです、 何か間違ってるのか教えてください お願いします
>>883 ググって見つかるコードをざっと見ても、
EMAかどうかはパラで指定できるし、
何が間違ってると言ってるのか分からないが、
単にMAのクロスでシグナルを出しているのではないが。。。
豪ドルドル
過去のスレ1から全部読み終わった。
使ってたMT4が重いのか、固まって起動しなくなったのでAlpariのやつをいれなおしてみたら BTがまともにできるようになった件 つーか前のはおかしかったんだよなあ、EAによっては口座が一切増えずに 真っ逆さまにゼロになったりしてた
>>871 有限会社なのにホールディングスwwww
既出でしたらすみません。 どなたか教えてください。 mt4でポジションを取ったときに、常に一定のs/lとt/pを入れたいとおもうのですが、 そのような設定は出来ましたでしょうか? それとも別途、ツールやスクリプトの利用が必要でしょうか?
>>891 この事?
チャート上で右クリック⇒Expert Advisors⇒Propertiesで任意の値を入力
891です。 すみません。EAでなく裁量の場合でした。 裁量でポジションを取ったときに、常に一定のS/LとT/Pを 注文と同時に入れたいのです。
家でメタトレーダーのリアル口座でEAを24時間動かしてるのですが、 ちゃんとEAが動いているか外で確認したいのですけど、 家のPCでログインしたまま状態で 他の場所のPCからメタトレーダーでその口座にログインすることはできるのでしょうか?
TeamVewerを使えば簡単にできる
素早い回答ありがとうございました。
1分足でEAを動かし、30分足を使うカスタムインジケータを呼び出しています。 iCustomの第2引数でPERIOD_M30を指定していますが値は1分足のものが 帰ってきてしまいます。インジケータで使っているのはClose[]のみです。何が 悪いのでしょうか?
すいませんインジの探し物です。 ストキャなんですが MTF仕様のダブルストキャもしくはダブルスムースストキャの インジ見かけたことありますか?ご紹介ください。
>>898 そのカスタムインジケータがM30の指定を無視して、M1で動く様になっている。
902 :
899 :2011/05/27(金) 11:54:48.89 ID:qTYzl2wN
>>901 ありがとうね。
でも、リンク先に無かった;;
お気持ちだけ受け取っておきます。
結構探したんで。。無いんだろうな〜 thx
ダブルストキャって何?
>>902 MTF_Stochasticじゃダメ?2回画面に貼り付けて異なるTF指定すればご所望の動作を
するとおもうんだけど。
>>901 ふーむ、build違いの他のMT4をインスコして試してみる。
根本的な事だと思うのですがBarsって何? 私は特に使ってないんですがどういう使い方するんですか?
>>906 //+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- macd counted in the 1-st buffer
for(int i=0; i<limit; i++)
MacdBuffer[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
//---- signal line counted in the 2-nd buffer
for(i=0; i<limit; i++)
SignalBuffer[i]=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,i);
//---- done
return(0);
}
908 :
906 :2011/05/27(金) 23:41:07.60 ID:2mTGk99L
>>907 まぁもちろんサンプル見てんだけど
なんていうのかなBarsを使う意味は?
ってことなんだよね
自分なりに解釈してるのはどの足で動かしてもその足に合わせて動かす為って認識してるんだけど
実際EA作るのに大抵使用する足って決まってるでしょ?
だから特にBarsを使う意味が無いな〜って思ってるんだけどかんつがいか?
>>908 あるチャートに何本ローソク足があるか知りたくなる時は無いかね?
910 :
906 :2011/05/27(金) 23:54:59.01 ID:2mTGk99L
>>908 一分足以外では作った事ないので、今まで必要になった事がないんですよね
一時間とか四時間とか日足を使うと必要性を感じるんですかね?
911 :
906 :2011/05/27(金) 23:55:53.79 ID:2mTGk99L
>>910 誤解しているね。
Barsは、M1とかM5とかM15とはあまり関係なく、
M1のバックデータは何個あるのか?
M5のバックデータは何個あるのか?
:
を調べるための定数。
>>910 例えば、自作のEAが過去200本分のデータが必要なのに、
チャートには100本分しかデータがダウンロードされていなかったらどうする?
914 :
906 :2011/05/28(土) 00:30:12.78 ID:2FCnLtg8
>>912 ただそれだけなんですね
他のEAでBarsが切り替わったら以下を実行する様に作られたEAを幾つか見たので
こんな質問しました
>>913 私の作ってるEAは稼働直後はポジ取らないので特に過去の本数を必要とし無いのですが
長い足を使う場合はBarsで確認するが定石なのかな?
自作EAの話です。 最適化バックテストなんですが、 デュアルコアCPU(Core2Extreme X6800を3.2Gにオーバークロック) を使っているのでMT4を2つ開いて2通貨同時検証は出来るのですが、 パラメーターを細かくしたり増やしたりすると3ヶ月で12時間とかかかってしまいます。 もっと効率的かつ高速に最適化をするコツってありませんか? (MT5にコンバートして複数マシンで分散処理する、以外で) まぁ12時間程度なら週末の間に複数期間処理しても終わるのでまだマシですかね? でも、本当は利食いのピピ数パラメーターを、 現在20ピピ刻み→5ピピ刻みとかで試したりしたいんですよね。 Genetic algorithm?とかっていうのは信頼できるんですか? やっぱり演算専用のマシンを追加で組んだほうがいいですかね? 最近のCPUの演算速度に関しては疎いのでどれくらい早いか分かりませんが。 本当はなるべくコストがかからない方法を知りたいところです。 ※処理が重くなるiCustomなんかはコード内には存在しません。 コードの最適化はもう少しならできそうですが…
>>914 >
>>913 > 私の作ってるEAは稼働直後はポジ取らないので特に過去の本数を必要とし無いのですが
そういうEAならBarsを意識する必要はないでしょう。長い時間足であっても。
>>915 1tick毎に判定する処理を2tick毎にするとか、
3pips動いたら判定するとか、処理を省くのがいいんじゃない?
918 :
915 :2011/05/28(土) 12:30:02.81 ID:feoxsHQF
>>917 なるほど、眼から鱗でした。確かに1ピピずつ演算している現状と
大して変わらない結果を1/2近い時間で処理できそうですね!
ありがとうございます。
マネパのバックテストで平均移動線のゴールデンクロス売り、デッドクロス買いを検証したら 1時間足、1日足などで思いの外パフォーマンスがよかった
>>915 Tick毎に動かすのをやめて1分足のOpen price onlyにしたらどう?
値段もBidやAskを見ずに1分足のオープンの値段を見る。データ
の更新も普通はTick毎にやる必要ないので1分足の更新でやる。
921 :
915 :2011/05/28(土) 14:00:04.06 ID:feoxsHQF
ふーむ。全ティック計算と1ピピ飛ばし計算でそれぞれ少しだけ(30回) 回して比較してみたら、損益の結果に平均28%程度の誤差が出たよ。 28%って言うと大きく聞こえるけど、基本的に額ではなく どのパラでどの程度の+の結果が得られるかが分かればいいので これはありなのかなぁ? せっかくなので全件回して全体で見た誤差や+−が変動するか等 色々比較したりしてみます。 ちなみに演算速度は確かに半分近くに減りました^^
922 :
915 :2011/05/28(土) 14:09:37.94 ID:feoxsHQF
>>920 レスありがとうございます。
うーんどうでしょう?検討はしてみます。
Open price onlyってなんとなく嫌悪感が…すみません。
得られたバックテストの結果を元にパラ仕込む場合、
実際のトレードもOpen priceでするということになりますよね。
土日と時間はあることですし、
そのように書き換えてバックテストして比較してみようと思います。
923 :
Trader@Live! :2011/05/28(土) 16:19:42.58 ID:NHtiwfyh
突然ですが、移動平均線のUpLineとDnLineで色を変えて、かつ変わり目で 売買シグナルとして、上矢印と下矢印をだしたいと思いやってみたのですが、 上矢印のほうだけ上手く表示できません、いくつか試してみたのですが、 原因がわかりません。 アドバイスお願いしますm(_ _)m 中略) int start() { //指標の計算範囲 int counted_bar = IndicatorCounted(); int limit = Bars-counted_bar; //SMAの計算 if(counted_bar==0) limit -=MA_Period-1; for(int i=limit-1;i>=0;i--) { BufMA[i]=iMA(Symbol(),0,MA_Period,0,MODE_SMA,PRICE_CLOSE,i); } for (i=limit-1;i>=0;i--) { if(BufMA[i]>=BufMA[i+1]){ UpLine[i] = BufMA[i]; DnLine[i] = EMPTY_VALUE; }else{ UpLine[i] = EMPTY_VALUE; DnLine[i] = BufMA[i]; } if(UpLine[i] != EMPTY_VALUE && UpLine[i+1] == EMPTY_VALUE) UpLine[i+1]=BufMA[i+1]; if(DnLine[i] != EMPTY_VALUE && DnLine[i+1] == EMPTY_VALUE) DnLine[i+1]=BufMA[i+1]; } //売買シグナルの生成 if(counted_bar==0) limit -= 2; for(i=limit-1;i>=0;i--) { //UpArrow BufBuy[i] = EMPTY_VALUE; if(UpLine[i] != EMPTY_VALUE && UpLine[i+1] == EMPTY_VALUE) BufBuy[i] = UpLine[i]-50*Point; //DnArrow BufSell[i] = EMPTY_VALUE; if(DnLine[i] != EMPTY_VALUE && DnLine[i+1] == EMPTY_VALUE) BufSell[i] = DnLine[i]+50*Point; }
924 :
Gori :2011/05/28(土) 16:19:55.78 ID:d+6tSWIk
バックテスト スタ−トボタンを押しても スタ−トしない 、、、? 参考書( FX メタトレーダ− 入門 // P233〜236 ) だれか 教えて。。。助けて下さい。<-- 必死のお願い。 (;_;)/~~~
>>923 肝心のobjectcreateの辺りが略されていると、俺のレベルでは答えられない。
>>924 スタートを押すとすぐ(一瞬で)終わってしまう?それとも全く反応がない?
バックテスト用のデータがMT4内にない可能性があるから、
ツール→ヒストリーセンターでデータを拾ってくるとか?見当違いかもしれんが。
926 :
Trader@Live! :2011/05/28(土) 16:54:07.23 ID:NHtiwfyh
>>925 objectcreateではなく、
BufBuy、BufSellを
SetIndexStyle(1,DRAW_ARROW);
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(1,233);
SetIndexArrow(2,234);
に指定してやっってみたのですが、オブジェクトとしてしか上手く表せない
のでしょうか?
927 :
Gori :2011/05/28(土) 17:56:30.13 ID:d+6tSWIk
修正をクリックしてもう一度コンパイルしたら バグが有りました。 スタ−ト、、動きましたぁ〜〜。 、、、\(^o^)/
928 :
Gori :2011/05/28(土) 17:58:49.46 ID:d+6tSWIk
>>925 今日も一歩前進 又 宜しくお願いします
>>926 あぁ…そんな方法でも書けたような。。。
指標バッファって普段使わないタイプの人間なのでそういう記述法忘れてましたわ
その記述自体は問題ないと思うよ、
と言うわけで久々にFXメタトレーダー入門を引っ張り出してみたけど、
怪しそうなところを突っつくとすると…
#property indicator_buffers の値は正しいですか?
init内のIndicatorBuffers(x)のxの値は正しいですか?
>>923 >if(UpLine[i] != EMPTY_VALUE && UpLine[i+1] == EMPTY_VALUE) UpLine[i+1]=BufMA[i+1];
>if(DnLine[i] != EMPTY_VALUE && DnLine[i+1] == EMPTY_VALUE) DnLine[i+1]=BufMA[i+1];
この2行をコメントアウトしたらまずいかな?俺も中級者なのでなんとも言えないけど・・・
俺が分からないのは、下矢印は問題なく出ているって所なんだけどどうなんだろ。
デバッグするんなら怪しそうなところをPrint(〜);して
変数の中身を逐次確認すればなんとかなると思う。
>>922 そうだね。EAの作り自体をOpen price onlyでもEvery tickでも結果に差が出ないように
作ってしまうということ。Open priceが更新されたら(新しい分の最初のTick)でClose[1]を
見て判断する。どうせまともなTickデータはないんだしこの方がBTは早いしtBTとFTの差は
出にくいと思ってる。
932 :
915 :2011/05/28(土) 19:17:18.66 ID:feoxsHQF
1ピピ飛ばし計算で1600件くらい処理したら 全ティック計算との平均誤差は2.9%に抑えられました。 startの頭に // if(MathMod(Volume[0],2) == 0) return; としておいて、バックテストの時にコメントアウトを外すだけなので 簡単なのもいいですね。 問題の1分足、Open prices onlyですが 通常30分足でバックテストしている所からソースを書き換えたのですが どこか抜けがあるのか、最初の状態とは別物と呼べる結果が出ました。 ただ、悪い結果じゃないんですよねwww
教えてください。 absolute drawdownとmaximum drawdownの値が 最大DD設定値を大きく超えてバックテスト結果に表示されます。 実際DDが起きている前後の期間でバックテストすると そのような結果になるのですが、DDしている値は 設定値どおりにstop outしています。 visual modeでも確認しましたが、そのような含み損が発生している 様子もありません。 何か思い当たる原因がありましたらご教示願います。
>>923 以下を上略に追加すると、こちらでは上矢印も表示できました
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 DeepPink
#property indicator_color2 Yellow
#property indicator_color3 Blue
#property indicator_color4 White
extern int MA_Period = 20;
double BufBuy[];
double BufSell[];
double UpLine[];
double DnLine[];
double BufMA[];
int init()
{
IndicatorBuffers(5);
SetIndexBuffer(0,BufBuy); SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,233);
SetIndexBuffer(1,BufSell); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,234);
SetIndexBuffer(2,UpLine);
SetIndexBuffer(3,DnLine);
SetIndexBuffer(4,BufMA);
return(0);
}
原因がよくわからずに的確なアドバイスを求めるなら
ソースコードは省略しないことをお勧めします
ここにコードを書かずにMQ4をファイル鯖にアップすればええんとちゃうか? はっきりいってコードが載っていると邪魔だしみにくいんだよね
>>923 失礼 勘違いしていました
「上矢印が表示されない」ではなく
「DnLineからUpLineの変わり目以外にも上矢印が表示される」ってことなのね
>>935 誰がいちいち人のコード見に鯖なんか行くんだよ
>>923 移動平均線を引くためにUpLine,DnLineには必ず2点以上の値を設定しています。
しかしローソク足1本単位で交互にUpとDownを繰り返した場合、
すべての点に値が入り、UpLineもDnLineも途切れなく線が結ばれてしまいます。
描画の優先順位でUpLineがDnLineに上書きされることがあり、
上矢印がDnLine上にも表示されていたのだと思います。
対策はBufferを2本から4本(Up用2本、Down用2本)に増やすのが簡単だと思います。
UpとDownのBufferをそれぞれ交互に使用すると正しく表示することが可能です。
市況2の書き込みで見たのですが EAを自作してそれを稼働させた場合 そのロジックはブローカーに知られてしまうのですか?
えっ
>>943 Broco提供以外のMTからの新規デモ申請は受け付けなくなったって噂で聞いた。
>>944 そうなのか・・・ありがとう
インジはMT4で見て原油はMT5で見ることにするよ
ハイスピ使ってるから忙しくなりそうだけど
test
EAからインジケーターをiCustomで呼んで配列に読み込むには iCustomをfor文で回して配列に代入しないと駄目ですか? ArrayCopyRatesみたいに一括で読み込めないですか? 読み込んだインジケーター配列をDLLに渡したいんですが。
int AAASignal(int magic) { int ret = EMPTY_VALUE; double AAAhigh = iCustom(NULL, 0, "AAA",0,1); double AAAlow = iCustom(NULL, 0, "AAA",1,1); double crtopen = Open[0]; double prvclose = Close[1]; if((crtopen < AAAhigh) && (crtopen > AAAlow) && (Ask> AAAhigh))ret=1; if((crtopen <AAAhigh) && (crtopen > AAAlow) && (Bid < AAAlow))ret=-1; if((prvclose > AAAhigh) && (crtopen > AAAhigh) && (Ask< AAAhigh))ret=1; if((prvclose < AAAlow) && (crtopen < AAAlow) && (Bid< AAAlow))ret=-1; return(ret); }
文字数がオーバーとのことで連投失礼します。 現在の足がある足の高値安値の間で始まり、高値を超えたらシグナル1、安値を割ったら-1 現在の足がある足の高値より高く始まり、高値を割ったらシグナル1、 安値も同様にシグナル-1という関数を作りたいんだけど、コメントで見ていてもうまくいってないようです。 何が原因でしょうか?
>>950 EMPTY_VALUEってintにすると-1なんじゃないかな
0で初期化してみては?
952 :
Trader@Live! :2011/05/29(日) 13:21:51.37 ID:unhECbci
923です。
>>929 お早い対応ありがとうございます。
Print(〜);デバッグやってみます^^
>>938 アドバイスありがとうございます^^
ですが、せっかくのアドバイスなのですが、今の私では上手く扱うことが
出来ません。
そこで、もう少し
>>934 の文のように具体的にいっていただくか、もしくは、
なにか似たようなインジやサイトを教えていただければ、助かります。
よろしくお願いします!
>>952 934と自分のソース合体させて完成じゃないの?
954 :
Trader@Live! :2011/05/29(日) 23:05:43.76 ID:unhECbci
>>953 完成ではないです^^;
>>938 さんが言ってるように、バッファを増やして、条件を細かくしないと
いけないみたいです!
>>950 一番下の条件文は、
誤:if((prvclose < AAAlow) && (crtopen < AAAlow) && (Bid< AAAlow))ret=-1;
正:if((prvclose < AAAlow) && (crtopen < AAAlow) && (Bid> AAAlow))ret=-1;
じゃないのかな?
それから足などの値はすべてBidで処理していると思うので、
AskはBidに置き換えた方が良いのではないかと思います。
>>955 iMA引数の記述に誤りがありました
誤:iMA(NULL,NULL,
正:iMA(NULL,0,
958 :
950 :2011/05/30(月) 11:37:44.21 ID:w7tvQMIL
>>951 >>956 ありがとうございます。
retの初期値を0にして、Bid基準にしてみます。
帰ったら試してみます。
一番下の条件文はおっしゃるとおりです。
こういったケースは成り行きにせず、足の中、足の上、足の下それぞれのゾーンで指値、逆指値注文にしたほうがいいですかね?
959 :
Trader@Live! :2011/05/30(月) 14:03:18.87 ID:MXICtre9
>>955 ありがとうございます^^
さっそく検証してみます^^
int start() { int cnt,CurrentPosition; int Ticket; int a; CurrentPosition=-1; for(cnt=0;cnt<OrdersTotal();cnt++){ OrderSelect(cnt,SELECT_BY_POS); if(OrderSymbol()==Symbol())CurrentPosition=cnt; } double ej=MarketInfo("EURJPY",MODE_ASK); double aj=MarketInfo("AUDJPY",MODE_ASK); a=ej-aj; if(CurrentPosition==-1) { if(a>30.0) { Ticket=OrderSend("EURJPY",OP_SELL,0.1,Bid,3,0,0,NULL,0,0,Blue); Ticket=OrderSend("AUDJPY",OP_SELL,0.1,Ask,3,0,0,NULL,0,0,Blue); } } else { if(a<25.0) OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,Green); } return(0);
言語勉強して二週間、
>>960 をお試しで作ってみました。ルールはユロ円から羊円を引いた数が30円以上でユロ円1枚S羊円1枚L、25円以下になったら全精算というシンプルなものです。
勝てるルールかどうかは別として、プログラム的におかしいところがありましたらご指摘お願い致します。
エラーは0でした。
>>961 そのコードで全決済(というかユーロと豪ドル両方)できる?
決済もループさせる必要があると思われ。
シンボルで見るよりMAGIC設定したほうが、複数チャートでEA走らせる場合には
いいんじゃまいか?
>>961 >if(OrderSymbol()==Symbol())
現在EAを動かしているシンボルのポジしかカウントされない。
>a=ej-aj;
double型の演算結果をint型に代入している。intは整数しか扱えないはず。
この条件の場合たいしたバグには成らなそうだが、普段から気をつけておくべき
>OrderClose
OrderCloseは現在OrderSelectしているチケットしかクローズしない。
同時に全クローズ出来ていない
>>962 やっぱり決済おかしかったですか。
MAGIC設定ですね。そちら勉強してまた組んでみます。ありがとうございましたm(_ _)m
>>963 詳しくありがとうございますm(_ _)m
動作させるまでまだ先は長そうですが、まずは指摘していただいた部分から直して頑張ってみます。
966 :
Trader@Live! :2011/05/30(月) 22:05:44.39 ID:qLHg5fTX
現在値のラインって消せませんか?オフラインチャートでも現在値のラインが表示 されてるし、グリッド表示させてるからすごい紛らわしいw
>>965 イージーミスですね(>_<)
ありがとうございます。
968 :
sage :2011/05/31(火) 02:39:42.57 ID:5ngkvZ4V
動的なメモリ確保をする二次元配列の宣言方法を教えて下さいorz
>>968 ハンドルと連投申し訳ない、MT5です。
>>969 double dyn[][5]; //動的
double stc[3][5]; //静的
MT5でも最初の次元しかリサイズできないはず。
どういう動作を期待してるのか分かんないけど、その期待は多分叶わない。
1次元の動的配列を内部に持つクラスと、そのクラスを格納できるコンテナ
クラスという形で書けば、擬似的な動的多次元配列は実現できるけど、シ
ンタックスシュガーは用意されてないんで、関数(インスタンスメソッド)呼び
出しの形になる。
ちなみに、MT4でも*ToStr系の命令を利用して(多少)強引にメモリ確保を
行える。けど、値の出し入れが物凄く非効率なんで、だったらもうファイル
を使うのと変わんないだろ?くらいのパフォーマンスしか得られない。
MQLに係わらず動的は遅いしね。 ゲーム作成ではタブーだって、じっちゃが言ってた。
FXするのが目的なのに、テトリス作って遊ぶとか馬鹿としか思えんわ>MQL5
>>970 >>971 やっぱ1次元を使った奴しか無理っぽいですか…
これである程度進む道が決まった気がします。
ご教示、有難うございましたorz
豊嶋先生のオーダーチェック関数MyCurrentOrdersをEA内に組み込む場合、 start() の中に入れるとティック毎にオーダーチェックするということでしょうか? double allpos1 = MyCurrentOrders(MY_ALLPOS, magic1); とした場合、変数allpos1はティック毎にオーダーの総数を返しているってことですか?
>>974 返しているというか格納している?
工夫しないと、コードによってはティック毎に鯖に負荷が掛かるので
業者によっては怒られる(無効な口座扱い)可能性もあるとかないとか。
よくしらんけど、というか俺もティック毎にポジ確認してるわw
俺の業者は金入ってる限り大丈夫っぽい。LC喰らって残金0なのにEA回してると
即口座を無効にされたけどwww
>>974 ポジション数のカウントではサーバーとのやりとりは発生しないんだから、
別に気にするほどのことじゃないと思う。
tickごとにポジション数をカウントするのは無駄と言えば無駄だけど、
tickごとのMA計算は無駄じゃないのかと言われれば…
1分ごととか数tickごとにカウントする工夫もできるでしょうが、たいした
オーバーヘッドでもないしそこまでしなくてもという気がする。
>>976 OrderSelectってサーバとやり取りしてないの?
それとも何とか先生のMyCurrentOrdersがサーバとやり取りしてないって話?
もし前者なら俺の自前ライブラリはかなり無駄なことに手間を割いてるorz
サーバ側でポジションが変化するとMT4にそのつど通知される。 だからMT4側は毎回毎回サーバに問い合わせなくてもよい。
>>978 マジか!?だったらうちの子ダメライブラリだわ('A`)
まあ、よくよく考えてみれば、 OrderSelect() で毎回サーバと通信してたら、 ループの中で使うという基本的な使い方が物凄いトラフィックの原因になりそうだよな。 でも、FXCM系では、レートみたいに自分でリフレッシュしたい気がしないわけでもないが。
981 :
974 :2011/05/31(火) 21:50:39.80 ID:IzSl4DAM
>>975 >>976 ど素人だからどの程度の計算までが普通なのかわからんのですw
気にするようなことでもなさそうなので、気にしません。
ありがとです。
982 :
976 :2011/05/31(火) 21:56:02.37 ID:0AXYN5Yo
>>978 知らなかったわ。人に教えてるふりして自分が勉強になっちゃいました
(・ω<)テヘペロ
('A`)
984 :
Trader@Live! :2011/05/31(火) 23:52:28.18 ID:1xuaS/25
海外商品先物の気配値を最も見れるのはどこですか?
Broco動け
今brocoデモ開設してみたけど動いてないね。
988 :
986 :2011/06/01(水) 09:18:01.57 ID:A2nsvY8u
自分が表示してるのでは 為替は8時代からとまってる。 先物系は動いてる。
えっ? 日本時間の8時20分で止まってる。 ESや原油、その他諸々足が更新されてないよ 今確かめたけど、スポットメタルの一部を除いて今の時間帯に売買できる奴は動いてないよ。
動き始めた。 まあいいや。 Market.comがちゃんと動いてるし、つうか動いてなかったら今日の収入減っちゃうわw
26分から為替も動き始めた。
992 :
Trader@Live! :2011/06/01(水) 10:15:26.75 ID:+64jpDSF
俺のはまだ動いてない・・・もう12時間以上だな
苦労してマイシステム作ったけど、BTで売買すらしないw ほんとこんなんばっかで腹立ってきたw なんのプログラミング知識の無いヤツが踏み入るには根気が必要なんだな。 長い目でやってみるか
>>993 StrategyBuilderの操作履歴にエラーが出てると思う。
よくあるエラーでOrder send error131がある。
一度エラーが出てないか確認をした方が良いよ。
>>993 最初は単純なシステムを作ってみて、動かなかったら
そのコードをアップローだにあげて、ここで質問してみたらいい。
>>994 >>995 ありがとう。
最初からトレールとか増し玉とか実装せずにオーダーとクローズのみで何が悪いのか見てみるよ。
ハードルが高いのは分かってたけど、あまりにも進歩が見えないので、つい愚痴の一つも言いたくなったのよね。
コードをうpして意見を伺いたいけど、ここまでなんとかなったのでもうちょいがんばってみます。
ホントにギブアップするときはよろしくたのんます。
997 :
Trader@Live! :2011/06/01(水) 16:21:41.65 ID:vegDcy75
2日前IPAD2を買ったんですけど。 メタトレーダーの機能をどうやって利用したらいいんですか? いろいろ調べたけど、参考に聞かしてください。 ( `・ω・´)ノ ヨロシクー
1000!
1000とったどー!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。