【MT4/5】MetaTrader初心者専用41【ゆとり隔離スレ】
初心者Q&A
Q: Vista、Windows7で動かないのですが?
A: 以下を試してみてください。
1 [コンピュータ]を右クリック。[プロパティ]を選択
2 [システムの詳細設定]を選択
3 [詳細設定]タブをクリック
4 [パフォーマンス]の[設定]をクリック
5 [データ実行防止]タブをクリック
6 「重要なWindowsプログラムおよびサービスについてのみ有効にする」をオンにする
7 okをクリック
8 OSを再起動
※ Vista/Win7 の場合、C:\Program Files 以外の場所(C:\MT4 以下)にインストールするのが便利です。
Q: ファイル→デモ口座の申請 でデモ口座が作れません。
A: 一部のサーバでは、Build 409 より古い MT4 では口座が作れません。最新版を入手してterminal.exe をコピーしましょう。
Q: 指定した値になったら、アラート鳴らしたいんだけど?
A: メニューの表示-ターミナルでアラーム設定のタブがありますので、そこで設定できます。
Q: 土日は動かないのですか?
A: ほとんどの業者は休みです。
サーバーに接続だけ出来る業者もありますが、更新はされません。
Q: TSDって何を見ればいいの?
A: まずはここから登録して下さい。
http://www.forex-tsd.com/register.php 後はあちこち見れば勉強になります。
Q: 10分足とか他の時間足を表示したい。
A: 「MT4 10分足」でググって下さい。URLは差し控えます。
Q: 付属しているMACDをライン表示にしたい。
A: MetaEditorでMACD.mq4を開いて、「DRAW_HISTOGRAM」で検索、DRAW_HISTOGRAMを「DRAW_LINE」に変更、念のため別名保存してコンパイルする。
Q: RCIのインディケーターはどこにあるの?
A: 「SpearmanRankCorr mq4」で検索するよろし。
Q: 同じインディケーターを同じウインドウに表示したい。
A: 共存させたいインディケーターを同じウインドウにドラッグ&ドロップ、設定を変えて表示させる。
Q: MetaEditorでコンパイルするやり方がわかりません
A: MetaEditorのツールバーのcompileで出来る。面倒だったらファイルを保存して、MT4を再起動
Q: ティックチャートを表示する方法を教えてください。
A: 気配値表示の所にティックチャートタブをクリック
Q: ボリンジャーバンドの三本線を五本線にしたい。
A: 標準偏差の設定値を変えたボリンジャーバンドをもうひとつ描画
A: 標準偏差の設定値を1にして、Levels に ±2,±3,を設定してもよし。
Q: 過去のチャートを見ようとしたら、すぐに現在の位置に戻ってしまうのですが?
A: ツールバーのAuto Scrollボタンをoffにする。
Q: 使わないインジケーターを削除するにはどうすればいいの?
A: 使わないインジケーターにカーソルを合わせ右クリック→削除
Q: インジケーターのラインの色、太さを変えたいんだけど
A: MetaEditorで該当するインジケーターを開きます。
#propertyで検索(初めの方に記述してありますのですぐ見つかります。)
色を変更したい場合(例)
#property indicator_color1 Red
のRedを変えたい色に書き換える(Blue,Green,Yellowなど)
#property indicator_color1 Yellow(←変更後)
色の指定の頭文字は大文字で記述します。Blue→○、blue→×
太さ、幅を変更したい(例)
#property indicator_width1 1
の線の太さ1を変えたい太さに変更する。(1〜5までの整数)
#property indicator_width1 3(←変更後)
変更後、保存してコンパイルまたは再起動する。
#property indicator_colorや
#property indicator_widthが無い場合、
SetIndexStyleで個別に指定されていると思います。
SetIndexStyleで検索します。
(例)SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 1, Red);
上記の「1」が太さ、Redが色です。
太さを3、色を青に変更する場合は
(例)SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 3, Blue);となります。
Q: 「チャートを右クリ→定型チャート→定型として保存」としても、保存できないけど。
A: @上の方法で保存できない場合。名前をつけて「定型として保存」するときに、保存先をMT4があるフォルダより上の階層(デスクトップ以外)を選択して保存する。
A保存したファイルをMT4直下のtemplatesフォルダにコピペすればOK
Bこれで、チャートを右クリ>定型チャートで好みのチャートを一発で呼び出せる。
Q: このスレでよく出てくるインジケーター
A: ・Fibopiv ・FerruFx_Multi ・nonlagdot ・#MTF_StochasticBar
・ZigZag Pointer ・Traders Dynamic Index
・Period_Converter_Opt ・Clock ・Grid Builder.mq4
以上に「mq4」を加え検索。
Q: 日本時間を表示させたい
A: JPN_Time_Sub mq4 または CIDP_JPY_Time.mq4 または JPN_Time_SubZero.mq4 :-)
Q: ゆとりスレなのに・・・
A: 「MetaTraderのための」ゆとりスレです。「パソコン初心者」「2ちゃんねる初心者」のスレではありません。
Q: 「YM」や「NK」ってなに?
A: 「先物 シンボル 一覧」でググる。
シンボル一覧の代わり
http://web.archive.org/web/20080125182852/ http://www.globalprice-inc.com/ja/d001-9.html Q: チャートを重ね合わせて反転表示にしたいんだけど。
A: オーバーレイチャートスクリプト Ver.1.10 で検索
Q: 日足のMAが何か変なんだけど・・・
A: サーバーにより週に日足が5本のところと6本のところがあります。
日足が週に5本のところを表示させるのが、手っ取り早いです。
週5本のとこMeta Quote、FXDD、Alpari、WHC
週6本のとこ、ODL
Q: 再インストールする場合、どのフォルダをバックアップしておけば良いの?
A: experts(中のindicatorsフォルダも)、history(人によっては結構容量あるかも)、config, templates, symbolsets, profilesのフォルダをバックアップ。
これで大体もとの環境を作ることが出来る
▼MQL4を勉強するには
MetaEditorのToolboxからHelpを選択すると、リファレンスがあります。また、以下でも見ることが出来ます。
ttp://docs.mql4.com/ 日本語訳があります。
ttp://www.metasys-seeker.net/MQL4_Reference_ver1/MQL4_Reference_Contents.html
9 :
Trader@Live! :2013/12/09(月) 23:17:17.87 ID:b9Teauog
MT4にあるインジの件です ATRのカスタムインジケータについて教えてください。 if(counted_bars<1) for(i=1;i<=AtrPeriod;i++) AtrBuffer[Bars-i]=0.0; の箇所があるのですが counted_barsが1より小さい条件はcounted_barsが0の時と考えて差し支えないですか 上記部分の意味を教えてください。0.0というのもピンとこないです。 よろしくお願い致します
差し支えないでしょう ピンとこないの意味がわかりませんが まぁ、初期化でしょうね
>>1 乙乙です
どこかに Drawing styles(描画スタイル)について
詳しく書いているHP有りませんか? 書籍でも良いです。
EAでトレンド等を引きたいんですがまったくわからんのです。
csvファイルのデータをインジに読み込む際のデータ形式について 日付 2013/12/9 価格 102.56 ・・・ とするか 日付&2013/12/9 価格&102.56 ・・・ とするかで迷ってますが、どっちが良いでしょうか。
13 :
Trader@Live! :2013/12/12(木) 14:26:46.13 ID:14OgEIOq
>>12 日付,価格・・・
2013/12/9,102.56・・・
すいません。列方向だと256列のエクセルだと溢れちゃうので どっちかでお願いします。
>>16 区切り文字はご自由に、cvsだから「,」がいいけど。
18 :
Trader@Live! :2013/12/12(木) 23:42:17.34 ID:85XOSEVy
DLLのCソースにRSIのインジケータを移行させています。 MT4に付属のRelativeStrenghIndexと同等のものを作りたいと思ってますが。 どうやら、RelativeStrenghIndexは、値下がりの幅と値上がり幅に対してSMMAを計算させて それを元にRSIを計算させているようです。 豊嶋先生の本にある計算法を参考に、以下のように書いてみましたが、 RelativeStrenghIndex と 同値になるまでには200本ほどバーを経過しなければならないみたいです。 そこで、アルゴリズムとc言語に得意なみなさん。どうかこのソースを改良していただけないでしょうか。どうぞよろしくお願いします。
MT4_EXPFUNC double __stdcall MyRSI( int bars,//最新のバーの本数 double close[],//closeの配列(時系列ではない)close[bars]が最新の終値 int RSI_Period){ double ret=0; static double BufPos[RSIPERIOD_NUM]; static double BufNeg[RSIPERIOD_NUM]; static double BufPosSMMA[RSIPERIOD_NUM]; static double BufNegSMMA[RSIPERIOD_NUM]; double sumpos=0; double sumneg=0; double positive; double negative; double rel = close[bars-1]-close[bars-2]; for(int i=RSI_Period-1; i>=0; i--){ if(i != 0){ BufPos[i] = BufPos[i-1]; BufNeg[i] = BufNeg[i-1]; } else if(i == 0){ if(rel>0) { BufPos[0] = rel; BufNeg[0] = 0; } else { BufPos[0] = 0; BufNeg[0] = -rel; } } }
if(bars < RSI_Period){ for(int i=RSI_Period-1; i>=0; i--){ sumpos += BufPos[i]; sumneg += BufNeg[i]; } BufPosSMMA[0] = sumpos / RSI_Period; BufNegSMMA[0] = sumneg / RSI_Period; }else{ double a = 1.0/(RSI_Period+1); BufPosSMMA[0] = a*BufPos[0] + (1-a)*BufPosSMMA[1]; BufNegSMMA[0] = a*BufNeg[0] + (1-a)*BufNegSMMA[1]; positive = BufPosSMMA[0]; negative = BufNegSMMA[0]; } BufPosSMMA[1] = BufPosSMMA[0]; BufNegSMMA[1] = BufNegSMMA[0]; if(negative == 0) ret = 0; else ret = 100.0 - 100.0 /(1+positive/negative); return (ret); }
>>19 「究極スレ」から来たけど、こっちはあんまり人気がないねぇ。
で、RSI の話だけど、その前に、SMMA とか EMA の計算について。
現在の SMMA を計算するのには、1つ前の SMMA が要るよね。
で、その一つ前の SMMA を計算するには、さらにもう1つ前の SMMA が要る。
そうやって、どんどん遡ってくわけだけど、どこまで遡る必要がある?
ヒストリカルデータが 10万件あったら、10万件前まで遡るの?
では、ヒストリカルデータの最初の 1万件の位置で SMMA を計算させるとして10万件前まで遡れる?
無理だよね。どうがんばっても 1万件前までだ。
要するに「ヒストリカルデータの最初まで遡る」ことにこだわったところで、
所詮、厳密な SMMA の計算はできないってこと。
だったら、もう遡る期間をあらかじめ絞ってもいいんじゃないかな。
例えば、3期間 SMMA なら、その 10倍の 30期間前からとかね。
じゃ、MT4 の iMA関数だけど、SMMA や EMA の計算に、いったい何期間前まで遡るように決めてるのかって話。
これは、わからない。わからないから、iMA() の SMMA も同じ値が出せない。
よって RSI も同じにならない。
「ソースを直して」って話だけど、MT4 の iMA() が SMMA の計算をどうやってるのか
中身がわからないと手が付けられないよ。
MT4は増えた分の足だけ計算してるんだよ。 そもそもなぜRSIをDLLでやろうと思うんだろう...
EMAに限らないけど、漸化式を使えば直前の足のデータだけで正しく 計算できるってことね。何本さかのぼるとかしなくても。
一つ例を出そう。 for (i=0;i<1000000;i++) { shift = MathRand()+1; period = MathRand()+1; r = ema(period,shift); } 欲しいのは今から shift 本前の、period 期間の EMA 値。 shift も period も連続しないバラバラな値をとる。 この ema関数の中身はどうコーディングすればいい? あと 100万回呼ぶから、処理速度も速くしてね。 ----- MT4 の iMA() 関数の EMA (あるいは SMMA) 計算に要求されるのはこういう処理。 ヒストリカルデータの先頭から、常に同じ期間の EMA値を順番に求めればいいという話ではない。 iRSI() 関数も同じ。でもこれは、iMA の処理に依存してるでしょう。
そういえば
>>20 を見て思ったんだけど、EAからiCustom()で呼ばれた場合って
スレッドはそのEAのになるのかな。それともメインスレッド?
多分EAのスレッドのままかなと思うけど、そうだとするとこういうコードは
スレッドセーフにしないとだめだね。
>>25 ほんと、根本的にわかってないのにエラそうだねぇ。
iMA()に限らず、計算は足あたり1回だけ。それで十分でしょ?
>>27 ほう。
そこまで言うんなら、具体的に ema() 関数のコード示してくれないか。
態度が悪いのでお断り。
やっぱり、EMA/SMMAのプログラムは難しいね。 スレで気づいたけど、これは漸化式なんだよね。 ありがとう。参考になりました。
SMAなんかでも漸化式使えば計算量は大幅にへらせる。
トレンドラインを水平に引いたとき、 ラインに設定した値と、ラインにカーソルを当ててポップアップされる値(ObjectSetTextで変更される所)が ずれてしまうのですが普通の事ですか?
>>huCDuEZb 君は究極EAスレの 725 の人かな? じゃ、俺も態度を改めるから、まじめに話しよう。 まず、24 で漸化式と言ってるけど、その式はこれでいいかな。 EMA[i] = (1-α) EMA[i+1] + α*Price[i] (0<=α<=1) でも、この式が使える条件は一つ前のデータ、つまり EMA[i+1] がわかっていることが前提でしょ。 で、25 で ema() 関数って例を出したのだけど、この関数を呼び出す時に ema(period,99) , ema(period,98) , ema(period,97) , … ema(period,0) のように、shift の値が順にデクリメントされていくのであれば、 前の EMA値1つだけを static 領域にセーブしておけばいい。 だけど、実際にはこの shift はランダムで動いている。 漸化式を使って計算 ということなら EMA[shift] を計算する際に、 EMA[shift+1] の値は、 常に static なバッファーにとっておかなくてはならない。ヒストリカルデータが Bars 個あるとして、 shift が 0〜Bars-1 の間をランダムに動くのなら Bars 個のバッファーが必要になるよ。 それに加えて period も動く。漸化式を使って計算するなら、3期間 EMA[shift] の値を求めるには 3期間 EMA[shift+1] が必要でしょ。仮に period 値も 0〜Bars-1 動くのなら トータルで Bars * Bars のバッファーが必要ということになるけど、これは物理的に無理じゃないか? それに period の値は αの計算に要るだけで、SMA のように整数値である必要はない。 ほんとは実数値だって構わないわけだ。となると、もう shift と period の組み合わせは無限にあるよ。 これを とっておくというのは、もう不可能でしょう。 だから、iMA() での EMA や SMMA計算に、漸化式を使っているとは思えないわけよ。 じゃ、どうするかっていうと、この漸化式を解いてやらねばならない。 で、それをここに記そうと思ったが、、、、すまん挫折した。 だけど、その式の項に Price[i] , Price[i+1] , … , Price[i+k] (k=0〜∞) が出てくるのは想像できるでしょう。 さらに、Price[i+k] で k が大きいほど、この Price[i+k] に かかる係数が 0 に近くなることも想像できる。 で、実際問題 k が ∞ まで遡るってのはありえない。 ならば、k はどこかで切ってしまえばいいというのが、22 で言ってる「何期間前まで遡る」という話。 では、具体的にどうコーディングするかっていうと、 Price[i+k] を初期値とし、これを EMA[i+k] とおいて、あとは、漸化式を k 回繰り返して EMA[i] まで計算していくという方法。 繰り返しになるけど、「漸化式を使えば計算回数が【1回】(重要だから強調)で済む」というのは、 period を変えず、かつ、shift が順にデクリメントされるのが前提じゃないか? で、21 のコードはまさにそのとおり。 だけど、iMA() や iRSI()は、period と shiftに飛び飛びの引数を与えても値を返してくる。 となると「漸化式を使えば計算回数が1回で済む」というコードではないはずだよ。 なら、どうするっていうと、上で述べたとおり、漸化式を k回繰り返すって方法が妥当かと思うわけ。 だから、iRSI() のコードは、21 のコードとは違うはずだし、結果も誤差が出てくるはずだというのが俺の主張。 これで理解してもらえただろうか。
34 :
19 :2013/12/14(土) 01:39:20.05 ID:ywl69Iqr
や。これは分かりやすい。ありがとうございます。まだちゃんと読み返さないといけないけど。 ちなみに20-21のコードは、豊嶋本の[MyRSI.mql][MyEMA.mql]というコードを無理やりくっつけた。w (自分のソースの問題は、ちょっとこれとは別なところにあったと後で気づいたのだけど。) >だけど、iMA() や iRSI()は、period と shiftに飛び飛びの引数を与えても値を返してくる。 そうですね。漸化式とは違う方法ですね。 ちなみに、iMA()とMovingAverage, iRSI()と RelativeStrenghIndex は同じ計算式なのか わかりますか?
35 :
19 :2013/12/14(土) 01:47:30.17 ID:ywl69Iqr
あごめんなさい。わかりずらいですね。 iMA()でソースコードにうちこむ関数の計算式と、チャートにメニューから挿入したMovingAverageの計算式 iRSI()でソースコードにうちこむ関数の計算式と、チャートにメニューから挿入したRelativeStrenghIndexの計算式 は同じかご存知でしょうか?
まさに。 知る者は言わず言う者は知らず・・・(老子
わざわざ自分でRSIを作ったのか code baseからmetaquotesのソースをダウンロードすればそれでOKだったような で、改良というのは「200本程度の助走期間が無駄に思えるので効率的な方法はないですか?」 という意味でいいのかな。そこははっきりさせたほうがいいと思う。 直感ではEMA,SMMAを使うならそれは諦める …になってしまう。 そもそもRSIはSMAが一般的でしょうから、metaquotesはなんでSMMAにしたんだろ。
> iMA() や iRSI()は、period と shiftに飛び飛びの引数を与えても値を返してくる。 > となると「漸化式を使えば計算回数が1回で済む」というコードではないはずだよ。 MT4の iMA で 特定のperiod と shiftでEMAを計算すると、 初回の呼び出しでは計算時間が掛かるけど それ以後は、計算済みデータを使って漸化式で求めるから速いぉ
40 :
33 :2013/12/14(土) 05:25:07.52 ID:+IMsPtYf
ああ、ちょっと補足
>では、具体的にどうコーディングするかっていうと、
>Price[i+k] を初期値とし、これを EMA[i+k] とおいて、あとは、漸化式を k 回繰り返して
>EMA[i] まで計算していくという方法。
「漸化式を解いて」といいながら、解けなかった俺は、ちゃっかり漸化式使ってるけど、
iMA() の中は、ちゃんと漸化式を解いたコードかもしれないし、
実は解かずに、ちゃっかりと漸化式を繰り返し使ってるだけかもしれない。
それはコード見ないとわからないのだけど、いずれにしても「k 本分遡った」位置から
Price[i+k] を参照する必要があるという点はどちらも変わらない。
あと、k はいくつにすべきかという点だけど、それもやはり iMA() のコードを見ないとわからない。
ここから先は、全て想像の域だけど、仮に「漸化式を繰り返す」方法を使っているなら、
k=period とし、初期値の EMA[i+k] を sma(period,i+period) で計算しておき、
以後 period 回の 漸化式を繰り返して EMA[i] を計算しているかもしれない。
しかし、この場合、2*period 分の Price が必要となるわけで、それならいっそ k=2*period とし
初期値の EMA[i+k] は Price[i+k] のままにしておいて、2*period 回の漸化式を繰り返しているかもしれない。
まあ、いずれにしてもここはもう想像の域を出ないけどね。
>>34 > ちなみに、iMA()とMovingAverage, iRSI()と RelativeStrenghIndex は同じ計算式なのか
> わかりますか?
同じではないと言えるでしょう。
MovingAverageの方は、editor ウィンドウの indicators の中に mq4 ソースがあって
これは、漸化式を1回だけ計算するタイプで、1つ前の ema の値は ExtMapBuffer[] という
static なバッファーに蓄えられている。
RelativeStrenghIndex の方は、editor ウィンドウの indicators では RSI.mq4 だけど
(多分 38 が示してくれた Code Base のやつと同じだと思う)
このソースが RelativeStrenghIndex なら、やはり漸化式を1回だけ計算するタイプで
一つ前の値は PosBuffer[] , NegBuffer[] に蓄えられているよ。
>>37 >そもそもRSIはSMAが一般的でしょうから、metaquotesはなんでSMMAにしたんだろ。
元々 Wilder が作ったオリジナル RSI は SMMA を使ってたらしい
参考
ttp://www.drnoxu.com/article/122037363.html ↑は EMA って書いてあるけど SMMA も EMA も本質は同じだし。
>>39 なるほど。
iMA() は 前回呼ばれた時の period と shift を記録しており、
次ぎに呼ばれた際 period が同じで shift が 1つ小さい値だったら、
漸化式を1回使う高速計算に切り替えているのかもしれない。
さらにさらに、period と shift とその時の ema 値という組あわせを
何組も記録しておけば、前回呼ばれた period でなくても漸化式が使えるね。
これなら ema(5,i) と ema(25,i) を交互に呼び出すようなコード書いても高速化できる。
まあ、そうなると、漸化式1回だけ使う のと k回遡る のとが混在することになるけど
もうその誤差は黙殺してもいいのかもね。
42 :
19 :2013/12/14(土) 11:21:54.04 ID:ywl69Iqr
>>40 >MovingAverageの方は、editor ウィンドウの indicators の中に mq4 ソースがあって
>これは、漸化式を1回だけ計算するタイプで、1つ前の ema の値は ExtMapBuffer[] という
static なバッファーに蓄えられている。
なるほど、ありがとうございました。
>>37 >そもそもRSIはSMAが一般的でしょうから、metaquotesはなんでSMMAにしたんだろ。
このコード
>>20 最初はSMAで作っていたんですけど。
SMAだと、上昇トレンドがつづくとき下降幅のSMAが0になるときがあります。
とすると、RSIの式より分母が0になること、いわゆる0割が発生することがあるのです。
ですので、少しでも数値が残るSMMAがプログラムのうえでも優良なのではないか。
と思いました。
おおぉー 過去の自分と同じ考え方の人がいてびっくりしたぞぉい ID:+IMsPtYf 氏のおっしゃる通り、 iMA()が内部にEMA[i+1]を保持する、Staticな領域を持つことはあり得ない。 俺も、漸化式の最終項のみ計算すりゃ速いジャンと自前で関数を作ろうとした。 が、現実的でないことに気付いてやめた。 仮に計算の途中経過EMA[i+1]を内部に保持するMyiMA()を作ったとしても、異なる計算期間で 別のEMAを求めるMyiMA()を呼び出すと、Static領域に保存された以前の情報が壊されて 次回の計算が狂ってしまうんだよね。(ココ、まったく同感) 現実のiMA()はパラメータを変えてランダムにコールしてもそんなことにはならないから、 関数内部に計算経過を保持して最後の1回だけ計算する‥ なんてことはあり得ない。 与えられたパラメータごとに異なるStatic領域なんて用意できないでしょ。 毎度まいど、バカ正直にループを回すしかない。 2回目の計算からは速いから漸化式だ‥というのは間接的すぎて傍証にもならない。 (たとえばCPUキャッシュの影響) ID:huCDuEZb 氏は、実装を視野に入れず、机上の空論だけで最終項のみの計算で速くなると考えたのだろう。 或いは汎用性のない、極めて限定された使用方法を前提に関数を設計するか‥ 「態度が悪いからコードは示せない」「余白が狭いから証明は書けない」… はぁ〜?って感じ 話変わるけどiCCIOnArray()ってすごくトロい関数で、配列の要素数(=チャートのBar数)が増えて 計算期間が長めになると結果がでるのに時間かかるのな。 仕方ないから式を調べて自前で関数を書いたら激速になった。 iCCIOnArray、お前、いったい内部で何やってるのか!と小一時間...
えらい言われようだな、しかし。 ほんと、口が達者なやつには感心するよ。 クソEAで詐欺る側と詐欺られる側の共通ポイントだよね。 iMA()とか1つ呼べばそのバッファが確保されるんだよ。 パラメーターが変われば別のバッファが用意される。 それぞれ最初に呼ばれた時点でBarの数だけすべて計算する。 Barが増えれば増えた分だけ計算。 こんなのiMA()を使いながらメモリ使用量見ればわかるでしょ。 つまり、100万種類もパラメーターの違うiMA()は読んでもエラーになる。 ただし、上で言ってるshiftは関係ない。上の例で言えばperiodの数だけ。
>>43 > 与えられたパラメータごとに異なるStatic領域なんて用意できないでしょ。
> 毎度まいど、バカ正直にループを回すしかない。
EAから iCustom を呼び出した時の挙動はご存知ですか?
iCustom に与えたパラメータごとに異なる Static領域が用意されていますが。
>>45 iCustom()で呼んだ場合はメモリの使用状況によるのかわからないが
同じパラメーターでも新規にインスタンスが生成されることがあるね。
それでEAのバックテストが劇遅になることがある。
47 :
Trader@Live! :2013/12/14(土) 18:15:38.05 ID:Wt2pmH4D
究極のスレ から来たました。
ちょっと訊きたい。
>>44 と
>>45 はiMA()と、MovingAverage の計算式は同じという認識でもOK?
つまり、indicatorディレクトリのなかのmqlファイルの計算式をみれば、それがiMAの計算式そのものだとー。
組み込みのMAはperiodに制限があったり特殊なことができtりするんで 厳密には違ってもおかしくないが、同じと考えても何も問題ないのでは。 何を気にしてる?
結局の疑問は、漸化式なのかそれとも、別な式なのか。につきる。
50 :
Trader@Live! :2013/12/14(土) 18:29:37.26 ID:Wt2pmH4D
あれ。そういう話じゃなかったけ? 違ったらすまん。
>>44 よし、わかった。
憶測や想像で話してても不毛なんでこうしよう。
確かに43に書いた「前回の結果を内部に保持して最終項のみを計算する実装はあり得ない」は俺の想像だ。
iMAのソースコードを見たわけじゃないからね。
そこで別の質問なんだが
> iMA()とか1つ呼べばそのバッファが確保されるんだよ。
> パラメーターが変われば別のバッファが用意される。
iMA()はこのように実装されていることが事実、という根拠を教えてもらえないか。
なんで何も知らないくせにこうも上から目線なんだろうね。 メモリ使用量みりゃわかるだろ。 iMA()1つ使ったらバーの数×sizeof(double)増えるだろ。
PERIODだけじゃすまんわな。 SYMBOL , TIME_FRAME , あと applied_price もあるか。 それらが変わる度にでかいバッファーとって、 要求もしてない値をBars の頭から全部計算ってことだろ。 それが MT4 の iMA の真実だとして、 そんな狂気じみた途方もない実装をとても想像しえなかったわ。 iMA がこんなだってことは、iRSI も同じなんだろう。 他にもきっとうじゃうじゃあるだろうな。 それを今まで平然と使ってたのかと思うと戦慄すら覚えるわ。 VPS 上での運用考えてる人は気に留めといた方がいいだろう。 自分も 19 を見習って、無駄なメモリ取らない インジ関数を自分で作ることにするわ。
オプションでバーの数減らせばいいだけだろうに。 メモリ使用量も見ずに使ってたのか? まぁそうだとしても動いていたのは今時大した問題でもないってことだろ。
>オプションでバーの数減らせばいいだけだろうに。 減らすとバックテストで困るから、テスト用のは減らせない。 VPS 上に持っていくときは留意するよ。
減らしてもバックテスト自体はできる。 結果チャートを開いた時に指定本数までしか見えないだけで。
57 :
19 :2013/12/14(土) 23:28:09.14 ID:ywl69Iqr
ほんと、知らないことばかりで勉強になります。 インジをDLLに移行させているのは、計算速度が気になったものですから、 メモリに関してはまったく無頓着でした。 実際の計算はPeriod分のバッファだけで済むから、ただそうしただけで、、。 これがメモリに対しても効率的だとは思わなかったです。
>>52 いくら言い張っても物証がないなら無意味。
好き勝手だったら誰でも何でも言えるからね。
プロセスのメモリ使用量の変化がすべてiMA()がアロケートしたバッファであり
そのメモリ中にはEMA計算の途中経過が保存されている…
これが事実だと言いたいなら、裏付ける直接証拠を出さないと何も知らない俺とレベルは変わらんのよ。
空想ではなく、もっと有意な情報を示せってことです。
そうでなきゃこれ以上に推測を繰り返しても不毛。
そうだな、まぁがんばれよ。
>>58 EMAの期間を1万期間ぐらいにして、
iMA で掛かる計算時間と、C++のDLLで掛かる計算時間を比較したことがあるんだけど、
その結果は、iMA はEMA計算の途中結果を保存して利用しているとしか思えない速さだったよ。
>>60 何回も同じこと言うけど、最初の呼び出しでBarの数分のdoubleの
バッファにEMAが全部計算されるんだよ。で、tickが更新されるたびに
最新のEMAがバッファに既に計算されてる直前の値を使って漸化式で
最新の値が更新される、と。
まぁおれの妄想だけどな。
漸化式を使えばSMAだろうがEMAだろうが、期間の長さによらず一定の時間で 計算できるからまぁ普通はそうするだろうね。妄想だけどwww
というか、漸化式を使わない実装のほうが、狂気じみた途方もない実装だよねw
でも漸化式版が正しく実装できているかの確認には使うから実装はするね。 まぁめんどくさいと時間が問題にならないならそのまま使うこともあるけど、 バックテストするなら前科版実装するよね。
漸化式版ね。
と、思ったがきっとID被りなんだろうなwww
もしかして、呼び出し1回目に Bars 分のバッファ作って、価格に対する値を全部計算っての 漸化式を取らない関数であってもやってたりする? まさか i で始まる関数が全てこんなのってことないよね?
漸化式を取らない関数って? iHighestとかのこと? 少なくともEAで使ってバックテスト後に開いたチャートに表示されるものは 全部同じタイプでは。中で漸化式を使ってるかどうかとは関係なく。
70 :
19 :2013/12/15(日) 02:52:17.13 ID:9MW5b80f
自分あほなのでまとめてみます。 漸化式を使ったiXX() チャートに実行された時点で最初のバーから計算する。 ただし、次のバーからは前のバーを利用して計算する。 モードや対象期間が変わればそのつど、最初のバーから計算しなおす。 メモリは1バーずつ増える。 漸化式を使わないiXX() バーが進む度に全計算を最初からやりなおす。 モードも対象期間も、全て含めて全計算をバーが進むたびに計算する。 メモリは? これは、さすがに、、 誤解しているところあれば指摘してください。 バックテストで、最初だけ早くて後になると急に遅くなるインジって、、。
>>69 ああ、、じゃMT4 はそういう設計思想ってことなんだね。
呼ばれた最初でBars 分全部計算しておいて、あとは参照されるだけという方法が。
考えたみたら、ユーザが作るカスタムインジも最初の呼び出しで Bars 分全部計算しておいて
あとは差分というか bar が増える分だけ、計算を足してくわけだし。
MT4 に最初から入ってるインジとやり方は統一されてるわけだね。
メモリの効率の悪さについては、まだ納得はできないけど、
ユーザのカスタムインジと同じと考えると、この計算方法は納得がいった。
あと、iCustom。
いままでの話からして、mode と shift 以外のパラメータをいじらない限り、
ユーザインジへの呼び出しは最初の1回だけで、2回目以降は、ユーザインジ内で
SetIndexBuffer で作った buffer を参照してるだけなんだろうね。
これ以外のパラメータ変えると、またユーザインジを呼び出して buffer も追加してってところだろうか。
今ままで、iCustom の動きを真剣に考えてこなかったけど、今になってああこういうことかと気づいたよ。。
なんで、今まで検証してみようと思わなかったんだろう ..... orz
漸化式を使わなくてよい計算式も、差分だけ計算すればいいし。 漸化式を使う必要がある計算式も、前のバーとの漸化分を計算すればいいだけだし。 結局は差分を計算すればいいというロジックが自然だね。
>>70 iXXX()とかカスタムインジごとにバッファは確保される。漸化式を使うか
どうかとは関係ない話。
各インジはBar-IndicatorCounted()の部分を計算するのがお仕事。
漸化式はその部分の計算でそれを使うかどうかということ。
>>71 iCustom()で呼び出した場合、
>>46 のような現象もあった。最近のビルドは
知らんが。
>>70 バックテストで最初だけ速いのはIndicatorCounted()を見ずに無駄に必ず
全ての足を再計算するタイプのインジがあった場合だね。
バックテストではBarsの初期値が1000なので遅くなり具合が線形に近い。
75 :
Trader@Live! :2013/12/15(日) 16:22:17.99 ID:/caMGu0i
>>175 さすが同胞、よくわかってるですよね
劣等民族がASEAN首脳を金で呼び寄せてクールとか笑わせます、KPOP最強ですよ
【劣等民族がなんか言ってるぞ】クールジャパンを世界輸出する日本「日本の誇りはAKBとAV(笑)」「韓国に劣等感」「自然発生の韓流には勝てぬ」
>>73 ああ、46 でインスタンスと言ったのは、こういうことか。
・カスタムインジはオブジェクトのクラス定義のようなもの。
チャートウィンドーにドロップされるか、iCustom から呼ばれると、インスタンスとして実体を持つ。
・SetIndexBufferで獲得したバッファーはインスタンス毎に独立しており、最初 Bars 分確保される。
以後 bar が増えると、自動的に拡張される。
・iCustom は インスタンスとやり取りするインターフェイス
mode と shift で SetIndexBufferで獲得したバッファーを参照する
新たにインスタンスを生成する必要があるかどうかも、これが判断して自動的にやってる。
・iXXX() は iCustom と インスタンスの組合わせに、 XXX という名前を付けたようなもの。
こう考えたら、なにもかもがすっきりした。
33 では、iXXX() を、ただの関数であるとの前提で話してるから、いろいろかみ合わなかった。
気持ち悪いやつだな...
自分の空想をさも現実かのように語ってたかと思えば
>>58 では
直接証拠がなければ無知な自分と同じだと言っておいてこれか。
ほんと、気持ち悪い。
次からはちゃんとコテつけろよ。
78 :
33 :2013/12/15(日) 19:21:21.42 ID:si3dkyhZ
あぁ、そうか。 思い込み具合が同じだったんで同じかと思ったよ。
マルチタイムフレームのインジを作るには たとえば移動平均ならiMA(string symbol, int timeframe・・・ を使って任意の時間足の値をゲットするのが簡単だと思います しかしこのような組み込み関数が用意されてない指標の場合はどのように 計算したらいいのでしょうか? 自分なりに 今チャートのPeriod()が5分足なら期間を480にする(=日足100日を求めたい) というような条件を一つずつ作ってやってみましたが 期間が長くなるとかなりモッサリ重たくくなってきます 何か賢い方法あるのでしょうか?
日足が5本とか6本とか業者の違いでどんな影響があるんですか?
どの国も株式市場は週5日、連動する為替も週5日と考えた方がいい 6日と扱うとテクニカルがいろいろズレル
成り行きでエントリーしたポジションを決済するEAを作ったのですが、そのEAを履歴で判別する為にヒストリープールのコメント欄にコメントを残すことはできますか? マジックナンバーとコメントを注文後に変更することができるか調べていて、マジックナンバーはあとから変更不可とわかったのですが、コメントを後からつけられるのかがわかりません。
変更できないし、サーバーによっては書き換えられることもある。
海外業者ならほとんど日足5本?
MT4から、DLLに配列を引数をつかって渡せますか? 確か。mqlはポインタの概念がないと思ってましたが。
おっとDLL はC言語でかかれてます。
だいたいそのまま渡せる。
ありがとうございます。 参照渡しでしょうか? つまり、ポインタの概念はないけど、アドレスを渡してますか?
配列名を指定すればポインタがわたる。 勘違いしてるやつが多いけど、これは値渡し。
値渡し!オーマイがっかり。 ありがとうございました。
がっかりしなくてもお前のやりたいことはできるぞ? だいたい、Cには参照渡しがないんだから参照で渡されても困るだろ。
Cに参照渡しはあるはず。 あれ?
とりあえず、mqlの仮引数に配列名 だけ書けば、それは配列の先頭アドレスを渡せるということでいいのよね?
仮引数と実引数の区別もつかないのか。 実引数に書かないと渡せないだろ。 ゆとりなので同じ話は永遠につづく...
あいや。実引数だね。すいません。 で実引数に配列名だけ書けば、アドレスをDLLで受けとれる?
最初にそう答えてるだろうに...
了解です。やっと理解しました。 でもう一つ質問なのですが。 二次元以上の配列も同じ仕組みで渡せますか?
mql4側がint a[3][4]だとすると、受け側(DLL側)でhoge(int a[3][4])とか hoge(int (*a)[4])とかhoge(int a[][4])とかすれば普通に受けられる。 ちなみに、実際はint* aで受けることもint a[][5]で受けることもできる。 メモリーイメージをちゃんとイメージできてるなら、こういう悪用がひょ んなとこで役立つことも・・・・・・いや、あんまりないなw
ありがとうございます。 配列要素の数を動的に変えるのは多次元配列では難しそうですね。 ところで悪用ってなんですか?
悪用は知らんが、realloc()相当ならArrayResize()でできる。
いや。俺が馬鹿だ。 前言撤回。 ありがとうございました。
>>104 ちなみに、実際はint* aで受けることもint a[][5]で受けることもできる。
メモリが壊れない?ですか?
確保されてる領域外にアクセスしなければいいだけ。
>>105 悪用ってのは多次元配列を配列のポインタで受けてファイルに書き出す
と入れ子のループを使う必要がないとか?
あとは文字列を返したい時、誰がそのメモリを確保して解放すべきか?
ってのがちょっと問題になる。
DLLのローカル変数はreturnで破棄されるんでダメ、静的ローカル変数
は複数のスレッドから同時期に呼ばれて再入されると上書きされて壊れ
るんでダメ。
っで、int a[64]を渡して、DLL側でchar* const aとかで受けて文字列
置き場に使って、return aで文字列を返すと安全。
ちなみに、DLLサンプルだとstring aを渡してchar* aで受けてreturn a
で返してるけど・・・あれは書き換えていいってサンプルなんだろうか?
壊れるか否かはどう弄ったかに依存する。
メモリイメージが壊れないように操作すれば壊れない。
おれが知ってる悪用という単語とは何か違うものなのか。
Android版のメタトレーダーて外部からのインジを表示できないんでしょうか? できないとしたら何か別アプリなど代替手段あるんでしょうか
>>110 横からすみません
>複数のスレッドから同時期に呼ばれて再入されると上書きされて壊れ
>るんでダメ。
あるインジからDLLを呼び出した場合、そのDLL のスレッドは
インジと同じスレッドにはなれないのでしょうか?
>>113 インジから呼ばれたDLL関数は勿論そのインジのスレッドで走る。
インジはMT4のUIスレッドで動いてるから、インジからしか呼ばれないと
分かってるDLL関数ならスレッドセーフ云々の心配はしなくていい。
問題になるのは、EAとインジや複数のEAから呼ばれる場合、共有される
変数はぶち当たらないように手当てが必要。
バックテストするのに安いCPUファームみたいなのはないものか。 LinuxかWindowsが動けばいいんだけど、普通にVPSとかしかないのかな。
116 :
Trader@Live! :2013/12/21(土) 14:03:40.52 ID:SKPADkVN
昨日からいろいろ考えたのだが。 インジケータのmqlなら、時系列配列利用して配列要素数の定義がフリーになりますよね。 これを、DLLに参照渡しで渡して、結果を返してもらえば、 実質要素数の事を考えずにデータのやり取りができたり。 いやただの妄想ですが…
117 :
113 :2013/12/21(土) 19:14:38.05 ID:5MEvYloA
自分の知識に自信が持てなくなったので教えて。 Ask値とBid値の差がスプレッドだよね? 決済早いなぁと思ったらMODE_SPREDADで13何だけど、ASK-BIDで40なんだ・・・。 俺がバカで理解してないから?(´・ω・`)
>>118 良いことを教えてやろう。
理想と現実は異なるってことだ。
MODE_SPREDAD はサーバ側の設定っぽいので、
実態とは異なる値を示すことが多々あるので、当てにしてはいけない。
>119 了解。改めて組み直す。 自動の魅力に惹かれてMT4始めたけどスプ広過ぎ 手動は狭くても時間帯限られるし・・・難しいモンだねぇw レスありがとう
>>121 良いことを教えてやろう。
理想と現実は異なるってことだ。
この場合、気配値の方が正確なので、
Bid/Askを当てにしてはいけない。
業者によっては、この現象が全く起きないところもあるが、
国内の業者で特にクロス円で酷いことがよくある。
ん?どっちが理想でどっちが現実? 気配値の方がいいてことは現実のがいいってこと? ヒストリーにはチャートのBidが記録されているみたいだけど、 何が原因でどうしてこういうことが起きているのかね。
test
英語でいう文法書のような、 分からない部分を調べる辞書的な使い方ができるMT4の書籍はないでしょうか?
mt4 リファレンス でググれ
>>125 メタしすシーカーさんのサイトを全部読むほうがいいんじゃね
130 :
Trader@Live! :2013/12/24(火) 16:48:20.80 ID:mhMj5G1p
>>127 うん、オイラもめちゃお世話になっているサイトだね
トップページのイラストが笑える
すまんMT4でアルパリジャパンとFXDDってもう繋がらない?結構前からIP入力しても無理なんだが… それぞれの業者のMT4じゃなきゃ無理なのかな?
>>133 おおそうなのか…すっきりしたわ。ありがとう 引き続きアルパリUKかサイバーで行くわ
135 :
Trader@Live! :2013/12/26(木) 23:37:46.66 ID:ghJdFhtd
国内デモサーバーでどこがお進めですか? 出来れば無期限がいいのですがorz
>>135 口座開いてしまえば? 個人的にはサイバーかなぁ
サイバーのデモ口座の有効期間は60日間だよ
再開設出来るのかどうかまでは知らないけど
>>136 さんのいうとおり口座開くのがいちばんいいかもね
フォレックスなんかと違って口座維持費は無料だし
138 :
Trader@Live! :2013/12/27(金) 19:46:18.07 ID:XWcJpbmI
究極のEAスレのスレ主です。 こんなに他のスレにも少しでも波紋が広がっていたのは驚きです。 ”アドバイスしたい欲”が抑えきれないのですが、 EAを作る上で何点か書き込みしてもよろしいですか?
>>138 プログラミングに関わらない抽象的な話は究極のEAスレでやれよ。
こっちは折角コードで語る雰囲気ができてるんだから壊すな。
典型的な勘違いしてる人だね
>>138 何かアドバイスしてみて
いい内容だったら考える
人間とは、いともた易く有頂天になるものなのだな。 気を付けねばならんな。
146 :
Trader@Live! :2013/12/28(土) 06:06:25.02 ID:m9hInlgU
WindowsXP SP3を使用しています。 MetaQuotes社のサイトから、現時点で最新のMetaTrader4 Build 509をダウンロードし、インストールしましたが、途中でエラーとなりインストールに失敗しました。 WindowsXPを使用している皆さんはインストールできていますでしょうか? 現在は最新のビルドでは、WindowsXPに対応していない?
>>146 新規じゃないけど、XPで使えてる。
その途中のエラーとはなんぞや?
>>146 同じく、エラーが気になるが、
相手のサーバがメンテだと、できないんじゃないかな。
149 :
Trader@Live! :2013/12/28(土) 18:50:20.62 ID:m9hInlgU
150 :
Trader@Live! :2013/12/29(日) 00:26:59.02 ID:zq2eugDA
>>142 演算を高速化するための、
1、ローソク足が変わるごとに演算する関数のコード
2、一分ごとに演算するコード
3、指定したN分ごとに演算するコード
とかどうですか?
お前、マジで言ってんの? バカにするにもほどがある ってレベルだと思うが。
>>150 ぜひお願いします
感動されるような新しい切り口のコードを
標準搭載のGigZagは、天底の判断が高値安値ですが、 高値安値じゃなくて、終値で天底判断するGigZagの改良インジはございませんか?。
停滞してるっぽいので独り言カキコ。 年末の連休はずっとEA作り。 やっと自動でトレンドが引けるようになりました(*´ω`*) 「イケる!」と思ったEAもパラメータを少し変えただけで爆益・爆損。 どっかで読んだけどEAは大きく変動しない方が良いらしいね。 ドローダウンはロットや証拠金状況によって左右されるから意味ないとの事。 重要なのはプロフィットと取引回数なんだとさ。 最適化グラフと2Dサーフェス、使いこなせば何か見えてくるかな。
あれ、デモ口座のチャートが更新されなくなったんだけど俺だけですかね?
156 :
Trader@Live! :2014/01/02(木) 00:16:51.76 ID:2CRIexlV
以前、MetaTrader4のインストール失敗について質問させていただいた者です。
まだ解決できなかったため、再度質問させていただきます。
新規にWindowsXP SP3を再セットアップし、MetaQuotes社のサイトから、現時点で最新のMetaTrader4 Build 509をダウンロードし、インストールしましたが、エラーとなりインストールに失敗しました。
以下がエラーとなってしまう画像です。
http://detailedstatement.web.fc2.com/mt4setup.png 環境は以下になります。
OS:WindowsXP SP3
IE:8
.NET Framework:3.5
MT4ファイルバージョン:5.0.0.880
ご教授のほど、よろしくお願いいたします。
>>156 そのエラー内容だけだと判断できないわ。
1.実行ファイルが壊れる。
2.実行時にネット未接続または、セキュリティソフト等により、
遮断されて接続ができず、インストールが正常に行えない。
「ここをクリックしてください。」を選択すると何が表示される?
>>157 脱字
>1.実行ファイルが壊れる。
1.実行ファイルが壊れてる。
制作元からDLしないで使おうと思ってる業者のHPから落としてたら? MT4対応した業者なら専用版のMT4置いてるでしょ。 事前に対応OSも確認できるし、エラーは電話サポも受けられる。
160 :
Trader@Live! :2014/01/02(木) 06:25:02.71 ID:2CRIexlV
161 :
Trader@Live! :2014/01/02(木) 06:26:32.98 ID:2CRIexlV
もういいわ! おまいら宇宙人にやられて生きろ! 今年おまえら場苦役になれや by総理より
韓国ストレステストのニュースは無しかあ つまらんのお
MT5またとまた
>>161 前に知人もXPにインストールできないとかいってたので
今、試しにXPの古いノートにインストールしてみたらインストールできなかった
以前の古いインストーラーではインストール出来ていたので
よくわかりませんが最近のインストーラーでは駄目ってことなのですかね
win7にインストールしたものをフォルダごとコピーしてXPに移したら
デモ申請もできて普通に使うことができました
ただコピー先のディレクトリ名が違ったからかアンインストーラーでは削除できませんでした(直接削除した)
>>161 実行ファイル及びネット環境には問題ないんだね。
エラーの詳細でも判断できないわ、ごめんね。
ちなみに9年前のXP(sp3)ではインストールできたよ。
>>162 正月休み、デモに限らずリアルも停止してる。(停止時間帯はブローカーによりけり
>>161 XP SP3のパソコンに入れたけどインストールできたよ
デモも動いてる
MT4動かないんだけどどういうことですか?
そろそろ動き始めるよ
>>170 全然動きません 僕だけでしょうかね・・・
944 名前:Trader@Live![] 投稿日:2013/12/01(日) 15:31:17.66 ID:ZwDiWWMN [1/3] RoboForexから件名「Monthly Statement」と言うメールが大量に送られてきます。 配信を停止するのには、どうすれば良いですか? 前スレの944です。 1日にメールが送られてきました。 RoboForexのサイトからお問い合わせのページに行き、 入力して送信ボタンを押したのですが、送信できません。 本当に困ってます。 どなたか配信停止について、詳しく教えて頂けないでしょうか?
173 :
Trader@Live! :2014/01/02(木) 16:18:02.61 ID:goE4od0m
age
海外のMT5を扱う業者でトレードするには、 口座を開設するときの審査で、英会話が出来ないとダメなのでしょうか?
>>174 ダメだね。
そもそも、システムにトラブルがあった時にどうやって連絡するんだ?
176 :
Trader@Live! :2014/01/02(木) 18:06:09.36 ID:NoVrxPVB
チャートの今動いているロウソク足の時間が今日の午前9時とかに なっていて現在時刻とずれているんですが、MT4っていつもそういうもの なのですか?
先輩方お願いします。 1時間足の単純移動平均を出して1つ前の終値がそれ以上ならL、位下ならSでOCO放置のEAを作りました。 バックテストで右側にある期間というので「1H」を選択してやるといい結果が出ますが、15分とか1分とかを選んでテストすると 途中で止まってしまう。2014.01.02 18:04:37 2013.12.16 19:43 逆張り004 EURJPY,M5: OrderSend error 4051 となってしまいます。途中で資金切れで注文できなくなっているようですが、それは問題でなく何故選ぶ時間枠を変えると このようになってしまうのでしょうか?1分足でもんだなくテスト終了しないと信ぴょう性はないですか?
それと1時間足5本分の高安を算出している箇所があるのですが、EAを動かすチャートの時間枠も 1時間を使わないとダメなのでしょうか?細かく動きを見たいので5分足を表示させたいのですが。。。 EAの中には HIGHHIGH=High[iHighest(NULL,PERIOD_H1,MODE_HIGH,5,1)]; LOWLOW=Low[iLowest(NULL,PERIOD_H1,MODE_LOW,5,1)]; のように1時間を指定しています。
それだとiHigh()/iLow()使わないといかん。 High[]/Low[]で参照されるのは現在の時間足になる。
error4051は「関数への引数値が無効」
注文がうまくできてない。
iHighest()の中身の (NULL,PERIOD_H1,MODE_HIGH,5,1)の部分で
「PERIOD_H1」と指定しているので1時間足以外ではテストできないよ。
ここを「0」に変更すればおk。※「0」はその時表示してる足で計算
余談だけど、
>>177 焦りすぎ、登校前に読み返すくらいしろよw
お前がな。
だな
>>181 本当にすみません。どうしても1時間足の移動平均線が必要なので
1時間足でテストします。これでテスト通ればその通りに動くと考えていいでしょうか?
>179
うーん
MODE_HIGH,5 と(5)を指定しているので1つ前の足を含めて5本分の最高値が出ると思うのですが。
printで出してもちゃんと出てるようです。
ちゃんと読め。
テスト通るけど新規、決済ともに 5分で区切れるピッタリのところでしか売買してないみたいです。 単純に移動平均を見て一定pips下げたらL、上げたらSというものなので 5分きっかりはおかしいですね。 正月からすみませんでした。
こうして、ゆとりはゆとりのままなのであった。
おいおい、まじか。 これはタイプBのゆとりですね。
>>189 ゆとりですみません、、
5分おきにしか売買してない問題が出て苦しいです。
そうですか、それは大変ですね。
こころのゆとり 大事。 High[] の代わりに、iHigh() を使え とアドバイスされたら、 たとえ無駄だと思っていても、一度は試してみるこころ大事。
(NULL,PERIOD_H1,MODE_HIGH,5,1)の最後が 1 になっているから足の始値で売買するのだよ 君。
>>193 おっしゃる意味が分かりません。
今「1時間」でなく「4時間」おきの高安取得と移動平均25本を取得するよう変更しPERIOD_H1をPERIOD_H4に
変更し、バックテストの時間枠を4時間で行った所相変わらず5分おきにしか売買していません。
確定した1つ前の4時間足からそれも含め5本分の高安を算出し、さらに確定した移動平均25本を参照して
リアルタイムで売買するだけの単純なものです。
>(NULL,PERIOD_H1,MODE_HIGH,5,1)の最後が 1 になっているから
とありますがそれは4時間足のばーの確定を現在のも含める(0を指定)か含めないで1つ前の確定(1を指定)
だけの問題なので5分おきになるかどうかは全く関係ないと思います。
75 2013.11.05 15:40 buy 38 1.00 132.838 0.000 0.000 0.00 64130.00
76 2013.11.05 15:55 close 38 1.00 132.892 0.000 0.000 540.00 64670.00
77 2013.11.05 16:20 buy 39 1.00 132.798 0.000 0.000 0.00 64670.00
78 2013.11.05 16:25 close 39 1.00 132.823 0.000 0.000 250.00 64920.00
79 2013.11.05 16:40 buy 40 1.00 132.518 0.000 0.000 0.00 64920.00
80 2013.11.05 16:45 close 40 1.00 132.583 0.000 0.000 650.00 65570.00
81 2013.11.05 16:55 buy 41 1.00 132.534 0.000 0.000 0.00 65570.00
82 2013.11.05 17:40 close 41 1.00 132.386 0.000 0.000 -1480.00 64090.00
83 2013.11.05 17:50 buy 42 3.00 132.416 0.000 0.000 0.00 64090.00
84 2013.11.05 17:55 close 42 3.00 132.483 0.000 0.000 2010.00 66100.00
>>193 1->0にしても何も変わりませんでした。
残念です。
Every tick ではなく Control points で行っているとか?
iHighとhighの違いがわかってない ここからやりなおし。 あとよくわからないならテストはeverytickでしたらいいよ
>>197 はい 本でものすごく時間がかかると読んだのでコントロールポイントに設定しました。
>198
>188でも書きました。
iHighestで一定期間の高値があるバーの場所(何本目か)を出してその数を
highに渡してそのバーの高値を出しているだけです。わざわざ2行に分けて書く必要もないですよね?
HIGHHIGH = iHigh(NULL, PERIOD_H1, iHighest(NULL, PERIOD_H1, MODE_HIGH, 5, 1)); こういう風に書き直す。
HIGHHIGH = iHigh(NULL, PERIOD_H1, iHighest(NULL, PERIOD_H1, MODE_HIGH, 5, 1)); HIGHHIGH=High[iHighest(NULL,PERIOD_H1,MODE_HIGH,5,1)]; 自分のと教えていただいた分を書き比べました。、ユトリなので違いが今ひとつ分からないです。 ない頭絞って明日考え抜いて書き込みさせて頂きます。
>>200 よく見て気づいたのですが、教えてもらった方は私のと比べて
iHigh(NULL, PERIOD_H1,の部分が違うでだけです。そこは省略できるのではにですか?
iHighとHighの部分は違いますが。。
High[ ] だとそのチャートの足でになる。 4時間足で行うと High[ 1時間足での一番高い価格の位置] になるから 1時間足ではiHighestが3だったら4時間足で3本前の高値になる。 全然違う価格になる。 もしHigh[ ]を使いたいのであれば iHighestの時間は 0 にするべき。
>>203 有難うございました。使う足まで考慮したら0にしてくおくと
ぜんぜん違う値になるのを防げるという事ですね。
MT4も煩わしい設定値持たずに全部0にすればいいのにバカですね。
テストバー数 1816 モデルティック数 39264 モデリング品質 n/a 不整合チャートエラー 47 初期証拠金 60000.00 総損益 23224985.83 総利益 107139108.95 総損失 -83914123.12 プロフィットファクター 1.28 期待利得 9561.54 絶対ドローダウン 9180.00 最大ドローダウン 1827205.83 (12.51%) 相対ドローダウン 30.45% (39080.00) 総取引数 2429 ショートポジション(勝率%) 1368 (66.08%) ロングポジション(勝率%) 1061 (68.99%) 勝率(%) 1636 (67.35%) 負率 (%) 793 (32.65%) 最大 勝トレード 497000.00 負トレード -512000.00 平均 勝トレード 65488.45 負トレード -105818.57 最大 連勝(金額) 19 (1084000.00) 連敗(金額) 7 (-439000.00) 最大化 連勝(トレード数) 1499297.55 (13) 連敗(トレード数) -1303000.00 (4) 平均 連勝 2 連敗 1 6ヶ月でだいぶ増えます。初期資金6まんでいいのは法人口座だからです。 途中まで複利ですが最大一回BET数100枚なんでそれの対処はしていません。 BET数500枚なら100枚づつやって全部保有すrようにすればいいのですが、面倒なんで放置してます。
ほんと、ゆとりに限らず
>>204 みたいなやつ多いね。
何様のつもりなんだろ。
まあ、一言でいうとお客さまだなw
大事なお客様だから、大切にしてあげましょうね
最近、起動に失敗するのは何でだろう? タスクマネージャーを見ると、terminal.exeは有るんだけど ウィンドウが表示されずに、CPU負荷が高いまま… historyフォルダを、上書きすると立ち上がるんだけど…
>>209 オプションで表示するチャートバー減らすといいよ
>>209 ヒストリカルデータが多すぎで、
起動時の処理に耐え切れないんじゃないかな。
ヒストリカルデータが少なくても、
使ってるインジやEAで悪さしてるのがいるとか。
>>209 それは失敗してるんじゃなく、時間がかかってるだけでは。
原因はインジケーターのどれかが足が増えて時間食ってるか
無限ループしてるか。
ありがと いろいろやってみる。
>>205 半年で+2000万? しかも6万から???
たかがバックテストの結果じゃないか。 絵に描いた餅というか狸の皮算用というかメルヘンだよね。 バックテスト限定&複利という条件なら、 小さな国だと丸ごと買えるほど儲かることもあるでしょう。
>>215 そうかな?この半年の円安でロングのみでもなさそうだし、損切りも入れてるようだし。
自分ではバックテストでもこの結果は出ませんわ。
>>216 過去の値動きがそのまま再現されることは絶対にない。
バックテストの結果に感心しているようじゃいいカモとなってしまいそう。
詐欺的な商材とかEAとか歴史家の罠とかの。
そんなことはどうでもいいんだけどさ。
自分の事を棚に上げて言語をバカ呼ばわりする人について蒸し返すのは止めて欲しい。
…という空気は読んで欲しかった。
>>217 半年で2400もトレードしてるんだからスキャとは言わないけど
短い時間でOCOしてるんだろ?それなら大きな動き関係ないし
適等に↑↓動く相場であればいいのでは?
それと蒸し返すって何のこと?空気読めずごめん。意味フ。
正しい値は出てないから 考えるだけ無駄だぞw
>>205 の人
エブリティックでやってないようなので危険だよ。
1時間を選んでテストするとその一つ下の時間枠(30分足)の4本値しか参照されない。
つまり具体的には
ある時間15:10にロング 138.400とか結果に出ていてもその時間にはそんな値をつけていないのに
その30分足で安値が138.390とかだとその時間に買えた事になり、決済も30分足の高値を参照してるだけだから
自分がポジる前に付けた高値で売れましたぁ とかなってしまうよ。
時間かかるけどどの時間枠選択してテストしてもエブリティックしか意味ないよ。
多分半年で6万->2000万行ってうはぁとかなってるのはそれが原因だと思う。
エヴリティックで検証してみな?途中で資金切れで止まるかスプにやられて一気に右肩下がりで終わる結果出るから。。。
6万からなんだし、失っても数万で終わるのならリアルやってもいいんじゃない?
MT5のチャートデータってどこに保存されてるのですか? MT4だとhistoryフォルダの中でしたけど
>>223 ありがとうございます
暗号化ですか。ということは自分で消したりとかできないってことか。。
デモ口座の申請が通らねぇ 何でだぁ
>>225 どこの会社のデモか知らんけど
会社によっては公式からアカウント作って口座作らないといけないとかある
レスありがと。 FXCM、6時間くらい前までログイン出来てたのに今は出来ない。 「期限1ヶ月だから切れたかなぁ〜」と再申請してもIDとPWが出ず完了が押せない状態。 ちなみにアカウント持ってるけどデモで練習したいんだ。 単に年始のメンテなのかな。
228 :
225 :2014/01/05(日) 01:31:27.81 ID:M86o4aDk
すまん、今試したら入れた。 処理待ちだったのかな。お騒がせしました。
漠然とした質問ですみませんが グローバル変数をstaticにする必要てあるのでしょうか? 今までstaticとして扱いたい変数があったら ローカルだけでなくグローバルな変数にもstatic付けてましたが ふと、意味無いのかなと気付きました・・・
static にすると、他のEAと共有できる仕様だったら面白かったのにな。
ということはやはりグローバル変数をstaticにする意味はないという理解でいいんでしょうか? mqlが初言語なのでなかなか自信が持てなくて
グローバル変数による。
>>230 C/C++の特徴を受け継いでいるからなのか、プログラム言語一般に言えることなのかわかりませんが
変数のスコープが広いほど寿命が長いように設計されてんじゃないですかね?
ムズかしいです(><) static付けるとよりスコープが広くなるという事でしょうか
>>235 mql4に限ればグローバル変数のstaticは付けても付けなくても一緒、何も変わらない。
C/C++だとstaticなグローバル変数はファイルスコープになるんだけど、mql4にはそもそも
ファイルスコープしかない。
ライブラリがあるからそれは嘘。
>>236 ありがとうございます
mqlには関係ないけどグローバル変数を静的にすると逆にスコープが狭くなるんですね
質問です。 直前の取引結果が、勝ちトレードだったか負けトレードだったのかを知るには、どのようにすればよいのでしょうか? 例えば、 注文を出すときに、利確値と損切り値を設定しておいて、 どちらかの値段で決済されます。 次の注文を入れるときに、前回の結果が勝ちトレードだったら●●●をする。 前回の結果が負けトレードだったら▲▲▲をする。 のようにしたいと思ってます。 どなたか、アドバイスお願いします。
>>239 注文履歴を読み取ることができるから、
いろいろ調べてみて。
OrderSelect の MODE_HISTORY とか、?OrdersHistoryTotal とか。
>>240 ググって調べてるんですが、イマイチわかりません。
OrderHistory と OrderProfit を使うんですかね?
ってゆうか、使い方もよくわかんないけど。
アドバイスお願いします。
>>241 決済したポジションの最新のものを取得するには、
OrderSelect(0, SELECT_BY_POS, MODE_HISTORY);
でいいですかね?
第1引数のところは、0でいいのでしょうか?
そもそも、OrderSelect()のインデックスの順番は信用できない気がする。
>>242 MODE_HISTORY とか、OrdersHistoryTotal を使ってるEAを探すんや。
そうすれば使い方が分かる
OrdersHistoryTotalはわかんないけど。 OrderSelect()はお勧めしない。 僕はこういう関数を作った。 ポジションを持ったときに、価格と時間を記録する。 ポジションが無くなったか、変わったとき、そのときの時間から先の時間を引く。 引いた時間がプラスであれば、ポジションは決済されたと確定できる。 このとき決済の価格と、先の価格を比べる。
それって複数ポジション持ったときはどうやって管理してるの?
ああ、ピラミッディング とか ナンピンとかの管理はもちっと複雑になるな。 僕は1オーダー、定数ポジションで作ってるから、うまく機能してるが。 先の考えを延長すればできるとは思うが興味ない。役立たずすまん。
249 :
Trader@Live! :2014/01/08(水) 11:52:43.39 ID:c6OxcIS7
FXCMとFOREXのMT4ではピボットラインの位置が全然違います。 どちらの方が信頼できますか?
ピボットてのは計算方法が4種類くらいあるし 業者の開業終業時間が1時間遅ければ初値終値も変わってくるし キッチリハネ返る時もあればヒゲ出す事もある だいたいのあやふやな目安程度に考えれば良いのでは
>>249 日足の区切り時刻が違うんじゃない?
片方が日本時間7時で、もう片方は8時とか
>>243 //オーダーがなかったらマイナス1
int newestHistory(){
int n,ticket;
ticket = -1;
datetime last=0;
for(n=0;n<OrdersHistoryTotal();n++){
OrderSelect(n,SELECT_BY_POS,MODE_HISTORY);
if(OrderCloseTime()>last){
ticket = OrderTicket();
last = OrderCloseTime();
}
}
return(ticket);
}
ほい
254 :
Trader@Live! :2014/01/08(水) 17:20:42.79 ID:lCLD3Ocy
利用 OrderSelect(newestHistory(),SELECT_BY_TICKET,MODE_HISTORY);
>>254 OrderSelect(newestHistory(),SELECT_BY_TICKET,MODE_HISTORY);
この後に、
if(OrderProfit() > 0){
勝ち
}
else
負け
ってな具合でいいんでしょうか?
せめて、マジックナンバーぐらい見ようぜ。 他のEA動かしてたら、他のEAの閉じたポジ見ちゃうぜ。
追加したきゃご自由に わざとやってるのわかんないのかなぁw
俺は親切だからな。
//オーダーがなかったらマイナス1 int newestHistory(int magic=0,string pear="nulltext"){ if(StringFind(pear,"nulltext")==0){ pear = Symbol(); } int n,ticket; ticket = -1; datetime last=0; for(n=0;n<OrdersHistoryTotal();n++){ OrderSelect(n,SELECT_BY_POS,MODE_HISTORY); if(OrderCloseTime()>last && OrderMagicNumber()==magic && StringFind(pear,OrderSymbol())==0){ ticket = OrderTicket(); last = OrderCloseTime(); } } return(ticket); }
260 :
Trader@Live! :2014/01/08(水) 20:57:04.49 ID:cQhlEwq6
pear=梨
DLLを使うと、マルチコアの複数のプロセスを同時に実行(計算)させることができますか? できるとして、その難易度は高いですか?
できるけど、そういう質問してるレベルだとほぼ不可能かな。
移動平均の for ループを DLLで並列処理させるくらいなら簡単だけど。
初心者です。 MT4ってどこから入会しても同じなんですか? 聞くところによると、海外より国内業者がいいのですか。 ロシアの本物のところからがいいのですか。 何か差があるのですか? 有料とかあるのですか? どうかよろしくお願いします。
>>263 それは複数プロセスって話じゃないし。まぁわかってない
だけなんだろうけど。
それにそういうのをパラでやっても起動が最大コアの数ぶんだけ
速くなるだけで定常状態では意味ないでしょ。
> ID:xXKrEM7R 初心者を罵倒するくらいなら お前はこのスレに来なければいいんじゃね?
お前、言葉の意味わかってる? ならお前教えてやれよ。
何もわからないやつが無責任なこったな。
配列の結果として 0でなくて 2147493647 と返ってくることがあるのですが理由がわかりません。 配列の中身が空だったり、配列の要素定義以上の数を添字に与えたりしたら、 通常0が返ってくるのでは?と思うのですが。
>>271 普通の配列ならそうだが、SetIndexBuffer()した配列ならデ
フォルトでEMPTY_VALUEが返る。
ちなみに、EMPTY_VALUEは2147483647=0x7fffffffな。
ありがとう。理解しました。 SetIndexBuffer 怖いな。便利だけど。
0にしたければSetIndexEmptyValue()すればいい。
おありがとうございます。 ふと思ったのですが、もしやSetIndexBufferで定義した、配列はいきなり2147493647もの配列数を確保している。 とかじゃないですよね。
MT4は32bitアプリなのでとりあえずそれはない。 0からBars-1が保証されている。
なるほど、逆にいえば配列数を最初には定義できない。 配列数をユーザー側で動的に変更できない。ということかな。 普通の配列を使えよ、と言われるかもしれないけどw
用途次第。 単に可変長配列を使いたいならArrayResize()すればいい。 index bufferのメリットは足に関係した処理をしたい時に簡単に使えること。
そうだね。理解した。ありがとう。
サイバーのデモMT4を、アンインストールして入れなおしても、前回のものが表示されます。 どうやったら完全に削除されて、新しく始めれるのでしょうか? ウィンドウズビスタです。 アンインストールした後、C:\Program Filesもちゃんと削除しました。 よろしくお願いします。
>>280 互換性ファイル をぐぐってみるとか、
インストール先を変えてみるとか。
>>280 スタートメニューのコンピュータ
「整理 - フォルダと検索のオプション - 表示 - すべてのファイルとフォルダを表示する」
を設定する
スタートメニューのコンピュータ
[ ユーザー - ユーザー名 - AppData - Local - VirtualStore - Program Files]
に保存されているMT4フォルダを削除
これでいける
デモ講座真正で入れたデータはレジストリのどっかだろ。 変わったのか?
>>282 時系列配列をさらに逆順にするなら、普通に配列を…
286 :
Trader@Live! :2014/01/11(土) 01:48:05.52 ID:QKdqY070
すいません、超初心者です。 テスターでスプを0にすると成績がもっと悪くなるんですが何でですか?
てす
>>132 遅レスだけどFXDDのデモサーバーは結構前に変わってて今は
mt4d3dc3.fxdd.com
って入れれば行けるよ
久しぶりに来たけどテンプレから消えたんだね
デモサーバー探しに来たのになかったから自分で探した
289 :
Trader@Live! :2014/01/11(土) 15:47:55.23 ID:yP+262W9
アラーム設定で.mp3をアラーム音にしたらプレイヤーが立ち上がるんですか どうすればプレイヤーが立ち上がらず音が鳴らせますか?
290 :
Trader@Live! :2014/01/11(土) 16:13:20.56 ID:yP+262W9
>>289 解決、mp3をwavに変換したら大丈夫だった
MQLのプログラムを書いて、MT4で実行すると。 MT4自体が落ちてしまったんだが。 たいがい、プログラムのミス(意図しない結果)は、 @コンパイル中にコンパイラが注意する。 A実行中にエラーコードを出力する。 でだいたい分かるものだけど。 Bアプリ自体が落ちる というのは、僕にとってはめづらしい。 コンピュータに詳しい方に聞きたい。 アプリ自体が落ちるというのは、もちろん上の@Aとは系統の違う問題だと 考えていいのかな? @やAは、MT4開発者が想定していたプログラムミスで、 Bにいたっては、MT4開発者も想定していなかったミスとか。 そういうことですかね。
只のループだろ
一度だけ落ちたのか毎回必ず落ちるのか?
1行2行の簡単なコードで試しても落ちるのか?
そのへん試さないと問題の切り分けができない。
既に問題を切り分けてるなら、その情報を書かないと分からない。
>>291 見ただけだと、単にループ処理の記述ミスなんじゃねーの?としか言えないかな
ありがとう。ループの可能性をみてコードを調べて見ます。
ピラミッディングした建玉を全決済しようとすると、バックテストで一部残ってしまうことがあります 何が原因なのでしょうか? 全決済の時は以下のルーチンに飛びます void ClosePositions() { for(int i=0; i<OrdersTotal(); i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break; if(OrderMagicNumber() != MAGIC || OrderSymbol() != Symbol()) continue; if(OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Yellow); } if(OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Yellow); } } }
>>295 SELECT_BY_POSで手繰る時は尻から辿れ。
そうすべき理由はあるけど気にすんな。とにかく黙って言うとおりにしろw
オーダーが無くなると OrdersTotal()=5 0 1 2 3 4 (OrderSelect(SELECT_BY_POS,0);OrderClose(OrderTicket()); 0 1 2 3 (OrderSelect(SELECT_BY_POS,1);OrderClose(OrderTicket()); 0 1 2 (OrderSelect(SELECT_BY_POS,2);OrderClose(OrderTicket()); 0 1 (OrderSelect(SELECT_BY_POS,3);OrderClose(OrderTicket()); ↑0のデータが消えると1のデータが0に移動し後ろも詰めてくるので 以上のようになります。順番に実行すると、残りのデータが2個のときに OrderSelectに失敗します。
最近EAを使い始めたんだが、ふと全般タグチェック欄で気になる事が。 「DLLの使用を許可する」「外部エキスパートの使用を許可する」というのが あるんだが、これにチェック入れるとEA開発元に情報が行くと言う事なんだろうか? 何かいい気がしないんだが・・・。 これ監視されてるんかな?
全然違う
>>298 DLL使用 Win32APIの利用ができる。MQL言語以外で作られたプログラムも実行可能。なんでもあり
外部エキスパートの使用を許可 EX4形式での利用の許可
両者に共通する点は、#importブロックにより宣言され、プログラム実行時にまで読み込まれない点である。
もし、ライブラリが存在しない場合やターミナルの設定により外部エキスパート、DLLの呼び出しが制限されている
場合、実行時エラーが発生する。
余談だが、#includeはファイルコンパイル時に結合されるので上記の設定で実行時エラーが起きることはありませんがコンパイルエラーは発生します。
>>295 ポジション情報は内部的にこのように保存されている
1行目 : ポジ情報AAA
2行目 : ポジ情報BBB
3行目 : ポジ情報CCC
頭からループ処理で決済していった場合
for i = 0 to 2
決済処理( : 以降を消す)
next
//i = 0 の処理後
1行目 : BBB
2行目 : CCC
3行目 :
//i = 1 の処理後
1行目 : BBB
2行目 :
3行目 :
//i = 2 の処理後(3行目を消しているが、元々何もないので変化なし)
1行目 : BBB
2行目 :
3行目 :
1行処理するごとにポジション情報が上の行に詰めて保存されるから注文が残る
>>295 逆に下から消していく処理の場合
for i = 2 to 0 i--
決済処理( : 以降を消す)
next
//i = 2 の処理後
1行目 : AAA
2行目 : BBB
3行目 :
//i = 1 の処理後
1行目 : AAA
2行目 :
3行目 :
//i = 0 の処理後
1行目 :
2行目 :
3行目 :
これで全てのポジションを決済できる。
だから全決済は逆から処理させる
プログラマ相手ならポジション情報は配列じゃなくプールとかコレクションとか呼ばれるものなので、 数が増減する可能性があるときは扱いに要注意で済む話 プログラマ以外ならポジション情報は配列じゃないと言われても???なんだろうな
304 :
Trader@Live! :2014/01/12(日) 12:38:43.04 ID:QBdgCLUC
pivotラインの週ライン、月ラインは、毎日変化するものなのですか? 例えば月曜日の週ラインは先週の月〜金までのデータで作成すると思う のですが、火曜日のラインは先週の火〜今週の月のデータで作成する のでしょうか?それとも先週の月〜金のデータをそのまま使用するの でしょうか?
305 :
295 :2014/01/12(日) 12:42:07.63 ID:nkl28SX8
おお、すごく解り易い解説ありがとうございます! 皆さんのおかげで解決致しました! ありがとうございました! <(_ _)>
>>304 プログラムがタコだと、1時間毎に変わるぞ。
307 :
Trader@Live! :2014/01/12(日) 15:39:06.87 ID:QBdgCLUC
もしそうだとすると、月、週、日の全てのpivotラインが、常時変化している ということになりますが、本当ですか?
308 :
298 :2014/01/12(日) 16:44:40.81 ID:HmSh0E9V
どうやら杞憂だったようだ。 教えてくれた人ありがとう
309 :
Trader@Live! :2014/01/12(日) 22:07:32.57 ID:vVn1PGHs
教えてください。 windows8のタッチパネルでMT4を起動しているのですがasur ultrabook-P3 なんですが、タッチだとMT4上では右クリックできなくて、テンプレート等 読めないんですが、何か策ありましたら、御教示ください。よろしくお願いします
EAを作りはじめて3年経ったんだが。 まだ納得してないので運用してない。種銭がないのも理由だが。 仙人のようにEAを作り3年経てば、 誰でもそうなんだろうけど壮大なEAに成長していくな・ リアル投入は後1年ぐらい掛かるわ。
うなぎ焼きの世界では、 串打ち3年、裂き8年、焼きは一生というからね 思う存分時間を掛けたらいいと思うよ。 そのうちFX自体が規制対象になるかもしれないけど。
作れば必ず、ちょっとでも前に進む。 考えたロジックに近づいていくのが楽しい。 手段が目的になってるなあ。
>>309 メニュー使えば。テンプレートなら
チャート→提携チャート
314 :
Trader@Live! :2014/01/13(月) 10:14:12.94 ID:s5uLup0F
そんなやり方じゃ儲かるEAは永久に完成しない 出来上がったころには相場の様相が変化している それの対応にまた数年?www
315 :
Trader@Live! :2014/01/13(月) 12:28:04.34 ID:pzW1Kju+
スレの皆様 以前、WindowsXPでMT4がインストールできない旨の質問をさせていただいたものです。 Windows7にインストールしたフォルダをそのままWindowsXPにコピーして実行したら起動できました。 どうやら、MT4のインストーラーの問題のようです。 いろいろとコメント等ありがとうございました。 お騒がせし申し訳ございませんでした。
pivotポイントのインディケーターの期間の区切りをラインで繋げたくないんですが どうすればいいでしょうか
どのインジの話か不明なのでわからんな。 まぁ多分EMPTY_VALUEを入れれば消えるのでは。
線をドットにするのがラクかな?
>>320 SetIndexStyle(0,DRAW_LINE,EMPTY);
↓
SetIndexStyle(0,DRAW_ARROW,EMPTY);
これで我慢する。
// ちなみに、EMPTY_VALUEを入れる方式はこんな感じかな? S3Buffer[i]=S3; R3Buffer[i]=R3; } // ここから追加 for(i=1;i<Bars-1;i++){ if(PBuffer[i] != PBuffer[i-1] && PBuffer[i-1] != EMPTY_VALUE) PBuffer[i] = EMPTY_VALUE; if(S1Buffer[i] != S1Buffer[i-1] && S1Buffer[i-1] != EMPTY_VALUE) S1Buffer[i] = EMPTY_VALUE; if(S2Buffer[i] != S2Buffer[i-1] && S2Buffer[i-1] != EMPTY_VALUE) S2Buffer[i] = EMPTY_VALUE; if(S3Buffer[i] != S3Buffer[i-1] && S3Buffer[i-1] != EMPTY_VALUE) S3Buffer[i] = EMPTY_VALUE; if(R1Buffer[i] != R1Buffer[i-1] && R1Buffer[i-1] != EMPTY_VALUE) R1Buffer[i] = EMPTY_VALUE; if(R2Buffer[i] != R2Buffer[i-1] && R2Buffer[i-1] != EMPTY_VALUE) R2Buffer[i] = EMPTY_VALUE; if(R3Buffer[i] != R3Buffer[i-1] && R3Buffer[i-1] != EMPTY_VALUE) R3Buffer[i] = EMPTY_VALUE; } // ここまで追加 //---- return(0); } //+------------------------------------------------------------------+
ID:fZfevdUCさん ID:nFSp1ExKさん
ありがとうございます。
>>321 の方法にしました。
スルーされると思いましたが、相手してくれてありがとうございます。
メタクオーツ本サイトから落としたMT4って今年に入って自動アップデートされたみたいだけど(Build574?)(完全日本語対応?w) 今まで使ってたFXDDから落としたヒストリーデータをインポートしても最初は使えるが、 MT4再起動すると何かのタイミングでヒストリーデータが自動更新?されているのか アップデート待機中のまま動かなくなるのだが回避する方法は無いでしょうか?
325 :
Trader@Live! :2014/01/13(月) 17:26:36.11 ID:HoS8HEOc
ObjectCreateで損益を表示するようにしてます。 で、現在、order lots()と建値から現在の獲得pipsを算出して、かけて・・・@ 例:4000 と表示するようにしてますが、 希望例:4,000 と表示するようにするためにはどーしたらいいのでしょうか? @の格納変数型を変えればいいのでしょうか?
>>325 3桁毎にカンマを入れる関数を作るとか。
327 :
Trader@Live! :2014/01/13(月) 17:30:11.45 ID:1t4d5fD9
>>313 いつも右クリックでやってんだ、メニューにあったんですね。
ありがとうございました。
EAが売買した時に表示されるレート同士を結ぶ点線の色はどこで変えられますか?
>>314 相場で食べなきゃ生きていけないという環境なら。
リアル投入するけど。そこまでじゃないからね。
というか。みんなどれぐらいの時間をかけてEA作って、どれぐらいテストして
リアル投入してんだろ。
一年前にForexのMT4デモ口座を開設した。 今年PCを新調したのでMT4をインストールし直そうとしたらパスワードを思い出せない。 そこでやむを得ず新たなデモアカウントを取得したんだけどどこか以前と違う。 以前のは一年前にMT4デモ口座を作ってからずっと使い続けられている。 それが今回インストールしたら60日で期限が切れてしまうという。 そして今回のはインストール時にStandardかProかを選べと迫られた。 以前はそんなこと聞かれた記憶が無い。 しかもProを選ぶとチャートの通貨名がUSDJPYProみたいに最後にProが付けられる。 以前はこんなこと無かった。普通にUSDJPYだった。 以前の方が良かったな(´・ω・`)
>>329 豆乳まで5年掛かったよ。
裁量ではちまちまと殺ってたけど。
332 :
Trader@Live! :2014/01/13(月) 23:48:24.29 ID:HoS8HEOc
ObjectCreateで損益を表示するようにしてます。 で、現在、order lots()と建値から現在の獲得pipsを算出して、かけて・・・@ 例:4000 と表示するようにしてますが、 希望例:4,000 と表示するようにするためにはどーしたらいいのでしょうか? @の格納変数型を変えればいいのでしょうか?
>>332 レスついてるのに無視して同じ内容で重複質問とか死ねカス
>>332 string fmt(int v)
{
if (v >= 1000) {
string s = "000" + v;
int n = StringLen(s);
return(fmt(v / 1000) + "," + StringSubstr(s, n - 3));
}
return(v);
}
void init()
{
Print(fmt(0));
Print(fmt(1));
Print(fmt(123));
Print(fmt(1234));
Print(fmt(123456));
Print(fmt(1234567));
}
335 :
Trader@Live! :2014/01/14(火) 22:20:52.38 ID:XJNLNfUW
334 できない。 void init() { 〜 なんかちがってねーか?
バカには無理
337 :
Trader@Live! :2014/01/14(火) 22:26:22.95 ID:XJNLNfUW
334 読み解いたらできた。さんきゅ。 しかし、 string fmt(int v) この使い方は初めてみたわ。 勉強になった。有難う御座いました。
まぁ負の値や小数点以下には対応してないけどな。
配列の要素数に限界がありますか。 ArrayResize() のバックテストで、当初は問題なかったのに途中から Cannot resize the Array とエラーがでるようになりました。 配列の要素の数が原因にあるような気がします。
物理的なメモリの限界や、 int で表記できるインデクス値の限界は必ず存在するでしょうけど、 実際どのくらいの要素数を確保しようとしてるんです?
配列の数はこれぐらいです。 double arrayA[num][3][2917]で ArrayResize(arrayA,num) numの値が3770辺りでエラーが発生します。 が、それが本当に原因か未定です。
それだと250MBくらいだからまぁだめな可能性もあるな。 そのサイズのを複数持ってたり、頻繁にresizeしたりするとフラグ メンテーションが起きて連続領域として取れずにエラーになるかも 知れない。
>>342 さん、
>>341 さん
ありがとうございます。
他にも大きい多次元配列がありますので、かなり疑わしいですね。
ちょっと工夫してみます。
345 :
Trader@Live! :2014/01/15(水) 21:15:10.92 ID:7SsMA4wT
profileにセーブしたんですが、アイコン→プロパティ→Profileを 見てみるとセーブしたフォルダがありません XPの時はうまくできたのですが、7からできなくなったようです。 OS上の設定でしょうか?
さっぱり分かりませんタスケテください・ int pBar=-1; int start() { static int bb=0; if(pBar==Bars) return(0); pBar=Bars; int i; int counted_bars=IndicatorCounted(); int limit = Bars - counted_bars -1; for(i=limit; i>=0; i--) { if(i<=3){ mid[i]=bb; bb++; } } bb--; SetIndexLabel(0,mid); } 直線を引くだけのインジを作ったのですが、最後のbb--;をつけないと0,1,2,4,5,6〜となってしまいます。 足した直後に引いてるのになんで平行ではなく斜線ができるのでしょうか??ずっと3じゃないんですか??
EAを稼働していて、パラメータを再設定したい時 チャートで「右クリ」→「エキスパートアドバイザー」→「設定」を操作しても パラメータ画面が、出る時と、出ない時があるのだが、どうしてだか分からない。 この違い分かる人いますか?
EAのstart()が処理されている間は出ないが、終わるまで待って出す とかやってないからじゃね。
>>350 なるほど、そういう理由ですか。
分かりました。ありがとうございました。
デモ用に取得したMT4のアカウントのパスワードを忘れてしまった。 登録時に使ったメアドは捨てアドでもう使ってないからそこにパスワードを送ってもらうのも不可能。 ローカル側にパスワードって保存されてないかな? MT4フォルダとかユーザーフォルダとかに。
>>345 Terminal.exe のプロパティを開いて、「管理者として実行する」にONにして起動するといいよ。
355 :
Trader@Live! :2014/01/16(木) 13:39:42.00 ID:Z5vcdqhR
>>354 試しましたが以前セーブしたフォルダは現れません
97年頃の4時間足が見れる業者ないですか?
>>356 そのレベルだと、古いヒストリカルデータを買うしか無い
>>353 > ただしビルド 509 専用です。
orz・・・
359 :
Trader@Live! :2014/01/16(木) 20:14:23.79 ID:ccNETF4W
今まだMT4起動できるんなら、メールボックスのregistration ってメールにパス書いてあるけど
>>359 うん、まだ起動できるよ。
でもうちのMT4ちゃん、メールボックスが無いんだよ。
2012年の末あたりにインストールしたMT4だからそんなに古くないと思うんだがなぁ・・・
EAを動かした時のログファイルというのがあるらしいが、俺のやつには保存されてない。 「保存しない」設定とかできるのか? そういうのを設定した覚えが全く無いのだが。
どなたか教えていただけませんでしょうか? 三空という方の作った、ボリンジャーバンドのインジケーターを導入したの ですが、チャートには矢印が表示されるのですが、肝心の音が出ません。 パラメーターでいじれるのは「音をならさない時は0 鳴らす時は1」という ものだけでもちろん1にしてあります。 ウィンドウズ側の設定ではないと思うのですが・・・。もちろん、 MT4の音設定も有効にしてあります。OSはXPです。 音はこのさい変えられなくてもいいです、とにかく鳴ってさえくれれば。 どなたか鳴らし方を教えていただけないでしょうか? (キーワード「三空 MT4 ボリンジャーバンド」直リンしていいかどうか わかりませんので、これで・・・)。
>>362 MT4のsoundsフォルダに、通貨ペアとタイムフレームに応じた
ファイル名でサウンドファイルを置けばいいみたい。
USDJPY 5分足なら usdjpy5.wav みたいな感じで。
>>363 すいません、インジを使うのはこれが初めてです。
立ち上げた時にはちゃんと「ポロロン」という音は出ます。
>>364 やってみますが、ただwavファイルの名前を変えて置くだけで
よいのでしょうか。あ、やってみます。
追記
ウィンドウズ7のパソコンに入れてもやはり表示だけで音は出ませんでした。
・・・ usdjpy1.wavでやってみましたが・・・・ダメでした・・・・。
>>366 ツール-オプション-音声設定で有効になってんの?
>>367 なっています。
いま、MT4を再インストールして、soundフォルダに「usdjpy1.wav」を置いて、
他のインジは入れずにこれだけ入れてやってみましたが・・・・
表示はされるけど、音は出ません・・・・。
なんとかならないでしょうか?
別にこのインジにこだわりません。ボリバンの2σを踏んだら音がなるように
できればいいだけなのですから・・・。困った・・・。
>>369 そのインジでは、何ていうサウンドファイル名が指定されてるのよ。
そのファイル名が「usdjpy1.wav」なの?
「usdjpy1.wav」って適当にそういうファイルを置いただけじゃないの?
インジを使うのが初めてなんじゃなくて、
MT4も初めてで、そもそもPCも超初心者なんじゃないの?
>>355 管理者として実行するにONしてから、正しく保存されるようになるよ
>>360 Mailboxはログインしないと見れないね
373 :
Trader@Live! :2014/01/16(木) 22:59:42.24 ID:D0XrxCtt
Liquidity Connection というのはどこのブローカーもしくはサーバーでしょうか?
>>370 そうですね。プログラムの知識はまったくありません。
「usdjpy1.wav」というのは、
>>364 で教えていただいたことに従いました。
ググッたら、「音を変えるには」ということで三空氏のインジについての
他の方の説明ででてきました。プログラムを開いて見ることはできませんが、
たぶんそういう指定があるのだろうと判断しました。
かなりググったんですが、誰も「音が出ないぞ」と文句言ってないんですよ
ねえ・・・。
ググってみたけど、[BBw_1.06,ex4]ってやつかな。 初歩的な事だけど、画面左のナビゲーターの欄のCustom Indicatorsの中に、 ダウンロードした [BBw_1.06]は表示されてるよね? その「BBw_1.06」をチャートにドラッグドロップはしてある? チャートにボリンジャーバンドは表示されてる?
>>375 レスありがとうございます。
あれから指標も無視してググッっては入れ、ググッては入れしました。
結局、三空氏のもので音を出すことはできませんでしたが、
BoliToucher、というインジを併用することで解決しました。
BoliToucher音は調べてみると「alert2.wav」というのが鳴っていましたので、
その名前で別のファイルを入れてうまく変えられました(「alert2.wav」では
ちょっと目立たなかったので)。
ちょっとしたヒントをいただいたおかげでどうにか自己解決できました。
ありがとうございました。
>>376 俺もBBw_1.06,ex4を入れてみて、一応音は鳴るんだけど、
音声ファイルが無いことによるエラー音なんだよね。
デフォルトで用意してある音声ファイルを鳴らすようになってないみたいだから、
やっぱ
>>370 のように、音声ファイル名が知りたいところだな。
三空さんのとれまがファイナンスのところ見たけど、音声ファイル名については触れてないから、
なにか三空さんが公開しているインジで使ってる一般的なファイル名があるのかもしれん
デコって確認した。usdjpy1, usdjpy5, usdjpy15, gbpjpy1, ... って感じ。 対応通貨はUSDJPY,GBPJPY,EURJPY,EURUSDのみ。 タイムフレームはM1,M5,M15のみ。 試しにUSDJPYのM1でusdjpy1.wavをおいたらサウンド鳴ったよ。
>>378 うーん、やったけど鳴らなかったんですよねー。
他のインジとのかねあいとかもあるのかな。
まあ、現体制でやってみます。
380 :
Trader@Live! :2014/01/17(金) 15:14:03.97 ID:Dvcvye+z
MT4を立ち上げるたびに緑色のローソク足とグリッドの初期チャートが表示されるんですが 表示させないようにするにはどこを設定すればいいでしょうか?
>>380 ツール→オプション→サーバタブ
スタート時の個人設定とデータを維持するにチェック
で、どう?
Brocoのデモってまたつかえるようになってるの?
ありがとう、なんか作れないんだよな
ボリバンタッチャー。聞き逃さないように目立つ音にしたけど、シンプルな ものに戻しちゃった。何連発かで鳴ると、そのたびにホンの少し思考が止まって 判断がにぶっちゃう。・・・・気がする。
本人が使ってないものは、どこか不便なところがあるんだよ。
387 :
Trader@Live! :2014/01/17(金) 18:48:23.88 ID:/H/gUtGu
んなことぁあるまい 印字なんてものあ、いろんな使い方見方ができる 凡人は気が付かない使い方があるのさ
サイバーエージェントのデモ口座を開設したいんですが、 他の業者と同じように架空の住所や氏名でも問題ないでしょうか?
>>388 ダメだね。
連絡が取れないことがわかるとデモ口座取り消されるぞ。
>>389 ありがとうございます
メールアドレスだけはフリメにしようと思います
391 :
Trader@Live! :2014/01/18(土) 00:18:21.78 ID:9LZ/1abj
>>381 これなのかdefaultでプロファイルにセーブしたからなのかわかりませんがうまくいきました
thxです
CFDにTwitterがあったりもする
昔インストールしたデモ口座用MT4と同じMT4をダウンロード&インストールしようと思ってるんだけど どこの会社のデモ口座用MT4をダウンロードしてきたのかすっかり思い出せない。 デモ口座のログイン先サーバー名は"NordGroupInv-Demo"というところなんだけど この情報からどこの会社のデモ口座用MT4をインストールしたかわかる?
>>395 ありがとう。NORD FXっていうところか。
でもこんなマイナーな、日本語ホームページすら持ってないところからMT4のデモ版なんて落としたっけなぁ('A` )?
しかもいまサイトみてるけどデモ版のMT4なんて見当たらないぞ。
自分が1年前にデモ版MT4を落としてきたのがNORD FXからかは定かじゃ無いけど
このデモサーバーは数ヶ月ごとにアカウント取り直さなくてもずっと稼働させることができて
重宝してるんだよね(他のデモ版はたいてい数ヶ月おきにアカウントの再取得が必要)。
でもデモ版MT4のダウンロード先が
http://nordfx.com に見つからない・・・
どこの業者のでもいいから新たにMT4インストールして、 以前のMT4からconfig\NordGroupInv-Demo.srvをコピれば 新しいMT4でそのサーバにデモアカウント作れる。
398 :
Trader@Live! :2014/01/18(土) 16:33:42.46 ID:fqu1ekzy
nordfx.com のは nordfx.com/MetaTrader_4.html ここからダウンロードできたよ。 デモ口座も普通に作れた。
399 :
Trader@Live! :2014/01/18(土) 19:03:47.13 ID:DkOjR2no
再度教えてください。 Liquidity Connection というのはどこのブローカーもしくはサーバーでしょうか?
>>399 myfxbest.com/manual.html
たぶんこれ
>>400 のは bostontechnologies.com/demos-and-downloads/mt4-downloads/index が本物みたい、ごめん
>>398 ありがとう。
そこからダウンロードしたクライアントでデモ口座作れた。
サーバー名も一緒だからアカウントの再取得をすることなく
ずっと使い続けられると思う。
>>397 業者ごとにMT4クライアントがあるのはそのファイルのおかげだったんだね。
そのsrvファイルさえコピーしてしまえば複数の業者のアカウント持っていても
一つのMT4で全業者に対応できるようになると。
403 :
Trader@Live! :2014/01/19(日) 00:34:42.96 ID:cd2jGm5S
brocoが復活したという話は本当? サイトが見れるようだけど
>>403 サイトは観れるが運営されていないようだよ。
405 :
Trader@Live! :2014/01/19(日) 04:05:36.46 ID:DPK1a/6l
406 :
Trader@Live! :2014/01/19(日) 22:01:51.23 ID:mWzNICiT
if文の中の条件式が長いので2行に分けたいのですが、継続行であることを示す方法が分かりません。 リファレンスを見たのですが、・・・
どこでも適当に開業すればおk。
if ( A && B) は if (A && B) と書けるけど if ( A & & B) これはだめだろうw
409 :
Trader@Live! :2014/01/19(日) 22:31:07.33 ID:mWzNICiT
>>407 そうなんですね。コンパイルエラーも出ず結果も同じでした。
なんだか拍子抜けの感じですw
ありがとうございました。
>>408 コンパイルエラーが山ほど出ましたw
ありがとうございました。
だから適当なところだと言ってるだろ。
if(A && B && C ) って書いておくと、とりあえず条件Cを無くした結果を見てみたい時に if(A && B //&& C ) ってすればいいだけだから、復元するのにも便利
if (true && A && B && true) if (false || A || B || false) { とかな。どれにしてもおれは使わないが。
if (true && A && B && C ) ってやればどこでもコメントアウトできる。 お試しレベルのコーディングならありといえばあり。
415 :
Trader@Live! :2014/01/20(月) 16:25:43.63 ID:a/RpAVMx
MT4取扱業者で両建て禁止のところ(例えばOANDAとか)では、EAを二つ動かした時に売り買いが交錯した時には建てられないということでしょうか?
はい。
417 :
Trader@Live! :2014/01/20(月) 16:44:32.75 ID:a/RpAVMx
早速の回答ありがとうございます まじですか! それじゃ結局のところEAは一つしか使えないのと同義ですね
418 :
Trader@Live! :2014/01/20(月) 17:39:03.93 ID:W8spYZX9
起動するたびに以前閉じたはずのチャートが開いているんですけど、 どうしたら、次回からは開かないようにできますか?
両建て禁止などという募金箱みたいな業者なんか使えるかよww
>>403 broco ironで検索してみましょう。
クライアントを落としてもデモ口座開設は出来ませんよ。
MT4は最新のbuild509がインストールされるけど日本からはどうやらダメみたい
422 :
Trader@Live! :2014/01/22(水) 02:15:30.36 ID:0gw6Y9gV
MT4で米10年債のチャートの出し方教えてください
423 :
Trader@Live! :2014/01/22(水) 11:46:04.45 ID:hQk5bh4R
価格出しても意味無いんだよね 利回りを見せろと
>>422 米10年債 のCSVデータ手に入れて、MT4で読みこめばチャートでるかも
425 :
Trader@Live! :2014/01/23(木) 12:34:42.58 ID:R0QKUNo/
時間成り行きエントリー、エグジットができるEAあったらおしえてください
MT4についてるシグナルって使ってる方はいますか? なんだかすごい儲かっているものばかり配信されているようですが、 イマイチ現実感がなくて 実際に使っている方に感想を聞いてみたいです
>>426 私も聞いてみたい。
大抵のシグナル配信サービスは、
3ヶ月から半年すると、今までみたこと無かったシグナルが
いつのまにか凄い儲ってる感出してるんですよね。
・・で、このシグナル良さそう!って飛びつくと、
全然儲からなくて、3ヶ月後にはまた別の素晴らしいシグナルが出てくるw
428 :
Trader@Live! :2014/01/23(木) 19:07:17.86 ID:OZp+d1pp
ブラックボックスのEAなんていくらでも成績を誤魔化せるからな 過去にでかいDDくらったところでそうならないような条件を追加すれば良いだけだし 最悪その日時だけトレードしないようプログラミングされているようなものまである
逆に聞きたい。 この3ヶ月だけは儲けを出して、次の3ヶ月は損をするようなEAってどうしたらできるの? 一例でいいから示して欲しい。
430 :
Trader@Live! :2014/01/23(木) 21:45:27.86 ID:C5zXon3u
EA作成と検証を繰り返して1か月の初心者ですが、 分かったことは、結局は相場の地合次第だな、ということです。 SMAのGCでもトレンド相場であれば爆益がでます。 数多のEAの中で特に優れていなくても、その時の相場の地合いに適していれば 利益が出て取り上げられますが、地合いの変化とともに消えていきます。 これがランキング上に泡のように現れては消えていくEAの正体なのでしょう。 でも、中には年間を通して利益を出しているものも、あることはあります。 何かを掴んでいるのでしょう。 それを目指しています。
MT4ってチャート上に表示された注文ラインをドラッグして注文価格変更ってできたっけ? もしくはそれが出来るスクリプトとかってあったっけ?
432 :
Trader@Live! :2014/01/23(木) 23:07:26.86 ID:cYHeJipW
手動で勝てないのに自動で勝てるわけ無い
まだ鷹猫牛してくるねえ
誤爆ったスマン
あとついでに、適当に利益が乗ったらストップを自動でブレイクイーブンに移動してくれるスクリプトかEAあったら教えて下さい できれば同じ通貨内でもそれぞれのポジを指定できたら嬉しい
439 :
Trader@Live! :2014/01/25(土) 15:11:52.71 ID:bsO1Hvjt
質問だけど mt4で自動的に取引可能な最大ロット数で取引するにはどうしたらいいの? いつもいちいちロット数の数字を設定してるんだけど
どんな手法使ってんだよ。 自動でんなことしたら即死だぞ
441 :
Trader@Live! :2014/01/25(土) 15:42:34.71 ID:bsO1Hvjt
ぼくは倍々ゲームがやりたいんだけど 10万でレバ100だったら 1000万の取引って自動でする方法あったら教えて
そんな倍々ゲームやったら自動的にバイバイになると思うよ
売買タイミングは知らんが、それはやめとけ そんなロットで勝ってるなら手法教えてくれ
両建てOK、スプレッドの狭さ、最低ロット1000通貨単位で業者を選ぶとアルパリがベストのように思えるのですが、他にお勧めはありますか?
MT4でバックテストする際に起きるティックファイルの容量制限を回避する方法はあるのでしょうか?
期間を分ける。
もうMT5に乗り換えるしか
MT5って両建て出来ないって本当なのですか?
449 :
Trader@Live! :2014/01/26(日) 21:33:32.79 ID:tZWHtmdO
mt5使える業者ってどこだあるの?
>>445 MT4に実行時にパッチを当てて
容量制限を回避できるソフトはある
FxPro.com-Demo02のサバを使ってますが 値がズレています 他に良いサバありませんか?ダウ先なども見られるところがいいです
fiboとか水平線引く時にローソク足に吸い付く設定があったはずなんですが 何処でしょうか?プロパティーやら右クリックしてもそれらしいのが出てきません
453 :
452 :2014/01/26(日) 22:46:37.76 ID:zc6PygzS
>>451 土曜早朝までやってた相場は滅茶苦茶だったから
どこもズレテルヨ、国内2社海外2社で見たけど
自己解決マウス感度でした50にしたら良い感じ
>>438 ,439,441
質問するふりしてサイトの作者な気がしないでもないけども。
Account* 系の関数使えばできるよ。
EA起動時にエントリ開始するようにすればいいんじゃないかな。
extern変数のパラメータを変更しバックテストで動かしてみると反映されされません コンパイル後ナビゲータータブでそのEAのパラメータを見てみると反映されてるのですが動かしてみると元の数値のままです・・ 何か分かる方はいらっしゃいますでしょうか?・・・
extern だからコンパイル関係ない。 MT4の expertparamater をクリックして パラメータ入力タブで パラメータ変更する。
同じEAを違う業者のMT4でバックテストすると、同じ価格同じ数量で売買されているにもかかわらず、1回1回のトレードの損益が違います。 スプレッドも同じに設定してあるし両社とも手数料は無料なんですが、なぜ違ってくるのでしょうか?
しかも両社とも売りも買いも、価格差 x 数量の金額より少ないです
違うことはないと思うけど、結果タブの内容を貼ってみ。
スワップが違うんだろう。
売りでも買いでも価格差 x 数量の金額より少ないのはなぜ?
スワップがマイナスの業者なんでは。 通貨ペアのプロパティで見てみ。
>>456 それもやったんですがどういう風にパラメータ変更しても元の数値のままなんです・・
ちなみにextern変数だけ変更出来ず他は変更出来ます
ごめんなさい、モノホンの(MT4)初心者です。 既成品のインジがわりとうまく機能してくれるんで自分でも作りたくなりました。 文系出身でプログラムには皆目無知なんですが、 何を勉強すれば作れるようになりますか?
解決しますた
>>465 MQL。
プログラムプログラムって構えず、見よう見まねでやってみ。
いきなり思った通りのものは作れないだろうけど、少しずつ頑張れ。
いや、豊嶋さんの著作の『FXメタトレーダー入門』の方がいいでしょう。 リファレンスを全部読むより、入門書をさらっと概観して、モノを自作する方が勉強になるよ。 コードは自分でタイピングしないとなかなか身につかないけれど、 こういう勉強は、自分でアウトプットしつつじゃないと、要領が悪くなって、習得が遅くなるよ。 ♯初心者にリファレンスを全部読め、というのは正直理解できない。。。
470 :
Trader@Live! :2014/01/27(月) 14:28:37.09 ID:sFWw2bhQ
>>465 先ずアマゾンで初心者向けでカスタマーレビューの評判の良い本を3冊購入。
1冊ではだめ。分からないところに出くわしたら、それぞれを読み比べると理解しやすいい。
何となくわかってきたら、本にある適当なインジをメタエディターで眺め、
自分なりに少し改造してどこがどのように変わるか確かめる。
これを繰り返せば少しずつ身についていく。
本には、インジの模範的なソース(mq4ファイル)が載っているから、
それを見るのが一番の勉強になる。
あと、わからない語句類はググれば大抵わかる。
言うまでもないが、根性がないとダメ。
471 :
465 :2014/01/27(月) 15:00:55.52 ID:OkUZ1hLK
>>467-470 ありがとうございます。
いただいたレスを総合的に判断して頑張ります。
このスレの終わりまでに何か報告できるよう頑張ります。
ムリなら次スレで・・・(^^;;
>>472 58ページ以降の空白は何だろうね
昔保存したやつは30ページまでだったから、更新していくのかな
そろそろ出るであろうMT4の次のリリースビルドでは、 MetaEditorがMQL5をサポートして、MetaQuotesとしてもMQL5を使ってね、 ってことになりそうだから、今から勉強するならMQL5のほうがほんとはいいような気もする。 けど、参考書がないか・・・。MQL4の知識が無駄になるわけではないから、そこはしょうがないかねぇ。
>>469 > リファレンスを全部読むより、入門書をさらっと概観して、モノを自作する方が勉強になるよ。
> ♯初心者にリファレンスを全部読め、というのは正直理解できない。。。
これはご指摘の通りで、プログラミング言語の入門にはまったく適さないやり方です。
日本語文法をまったく知らない外国人が、国語辞書を一通り読めば日本語で意味の通る作文ができるのか?
というのと同じですね。
>>471 もう解決されたようですが、少しだけ補足を。
今までまったくプログラムを作った経験がないのならば
変数やデータ型、演算子、流れの制御(文)などのプログラムの基本概念の理解に手間取るかも知れません。
さいわいこれらの考え方は、MQL以外の言語で概念をつかめばMQLにも応用できますので
山ほど入門者向きの本が出ているC言語でこれらを理解するのも手です。
(C言語はMQLに非常に似ていますから)
あとは469さんの言う通り、面倒くさがらずに必ず自分でプログラムを書いて、エラーやバグがでるたびに修正して…
を繰り返すしかありません。ご健闘を祈ります。
477 :
465 :2014/01/27(月) 17:13:38.05 ID:OkUZ1hLK
>>472-476 引き続きありがとうございます。
2ちゃん歴10年になりますが、こんなに親切なレスをいただいたのは初めてです( ´Д⊂
みなさんに爆益あらんことを。
478 :
Trader@Live! :2014/01/27(月) 17:23:06.33 ID:UgtYFVuC
MQL4とC言語の関係はなんと表現すればいいんですか? 例えばV C++はWindowsアプリケーションを書くための言語ですよね(?) それはイコールC++なんですか? 同じくC言語というのは「一つだけ」しか存在しないんでしょうか 質問自体もしかしたら意味不明というか全く的外れかもしれませんが・・・
質問させてください。 history\サーバー名フォルダ\ の中に.hstファイルが保存されていますが これをメモ帳で開くと中身が文字化けしています どうすれば.hstファイルの中身が正常表示されるでしょうか?
MQL4、C、C++はコンピューター言語の1つ。 VC++はマイクロソフトの製品名(VisualC++)、Windows用のプログラムを C++で作るための開発環境を提供するアプリケーション。 個々の言語についてはwikiでも読め。
>>479 それで正常。
hstの構造はヘルプに書いてある。
>>478 > MQL4とC言語の関係はなんと表現すればいいんですか?
無関係。
> 例えばV C++はWindowsアプリケーションを書くための言語ですよね(?)
> それはイコールC++なんですか?
> 同じくC言語というのは「一つだけ」しか存在しないんでしょうか
C言語や、C++ というのは、ある種の規格だと思ったほうが良い。
http://ja.wikipedia.org/wiki/C%2B%2B 規格にはバージョン違いがあるから、必ずしも1つとは言い切れない。
その規格にもとづいて、 マイクロソフトが作ったのが VC++
Linuxで動かせるように誰かが作ったのが gcc
みたいな理解で良い。
>>479 Hst2Csv みたいなツールで、 hst形式のファイルをテキストに変換しないと読めないぉ
>>482 無関係じゃない。MQL4の文法はCをベース、MQL5はC++をベースにしている。
あと、gccはGNUのコンパイラな。Linuxとは元々関係はない。
>>483 さん
Hst2Csv使わせていただいているのですが、csvではなくtxtファイルで見る方法はないかと思い、質問しました
やはり文字コードの変更などでは読む事は出来ず、ツールを使って変換してからでないと読めないのですかね
回答ありがとうございました!!
CSVはテキストファイルだからメモ帳で読めるはずだが。 そのhst2csvは4本値以外何を出すんだ?
487 :
Trader@Live! :2014/01/27(月) 21:06:08.06 ID:ywVddQM3
じゃあ「MT4とC言語の関係」は「VC++とC++の関係」と同じで ・C(規格)をベースに開発されたMQL4(一企業による製品名) ・C++(規格)をベースに開発されたMQL5 / VC++(どちらも一企業による製品名) みたいな認識でいいのかな 初心者の巣窟みたいなスレにしてスマン
違う。 MQL4はCをベースにした別の独自言語。MQL5も同じ。 VC++とC++はMT4とMQL4の関係と同じ。
>>487 おしい。
VC++はC/C++規格に基本的に沿ってる。
MQLは、MQL4はCベース、C++はC++ベースではあるが、規格に沿ってるわけではない。
なので、どっちかというと、CをベースにSmalltalkのオブジェクト指向を取り入れた、Objective-Cと分類的には近い。
もちろん、MQL4/5ともに、MT4/5の上でしか動かないので、Objective-Cとも違う存在だけどね。
MetaがC++ベースだと言ってるのにSmalltalkとかObj-Cとか、 なんで関係ない話を持ち出す人が多いんだろうね。
なるほどなんとなく理解できた サンクスです ほぼC++準拠のVC++と違いMQLは独自言語という事ですね
初心者のひとに向けて言うとしたら「Cがベース云々とかは気にすんな」だけどね。 書式とかの仕様に共通点がある(ように作ってある)ってだけで全く別の言語だから MQL習得のためにCを!とかやる必要はない。 もっと言うとMQLプログラミングを始めるにあたっては本を買ったりする必要もない。 MQLはできることが限られている(MT4/5上でインジ、EAとして動作することに特化している)ので 習得は他の言語に比べて容易だ。 完全に日本語に翻訳されたリファレンスもweb上で見られるし 株取引が目的の言語のため、MQLで初めてプログラミングに触れる人が多いので 初心者向けのブログ等の記事も豊富だし 配布されているインジやEAは単機能のものが多く、内容が短いので読み解いて勉強するにも最適だ。 他の言語から入る必要など全くないよ。
んだね、MQLがCベースかどうかはすでに他のプログラミング言語に馴染みのある人でなければ、 特に必要な情報ではないね。 似て異なるものを、あえて知る必要もないし。 DLL作るときになったら、そのときにCなりC++勉強すればいい。
494 :
Trader@Live! :2014/01/28(火) 02:22:29.32 ID:URfBUqJj
MT4の注文価格、指値価格にライン表示させる設定って、どこですか?
VPSでMT4使っている人いますか? スマホでMT4チャート6枚程度見たいのですが、データ転送量 ってどんなくらいになるでしょうか? 1時間1MB程度でしょうか?
Androidタブレットは常に横画面になるけど、縦画面にする方法ってない?
あ?
ん?
>>497 容量なんて測ってないが、10枚くらい余裕でやっとるよ。
2個起動しとるし。
数ヶ月やってるけど警告とかもなし
某所の500円vps
>>501 リナックスにWine入れてやってるんですか?
そそ メール通知とトラリピで
日本時間を表示したいので、テンプレにのってるファイル入れてみたんですが JPN_Time_Subは入れてもどっかのブログとかにのってるような画像みたいに綺麗にならなくて JPN_Time_Subzeroはそもそもファイル入れても認識してくれない CIDP_JPY_Timeはググってもファイルがどこにあるか分からないのですが ご教授お願いします
>>504 「JPN_Time_Sub」より、の改良版の「JPN_Time_SubZero」を使ったほうがいいよ。
表示の違いは区切り時間や、デフォだと表示項目が「時」のみだからじゃないかな。
設定値を調整するればいいよ。
ファイルが認識しないとは、どういったことかしらないが、
エラーが出てるならそれ見て対応して、mqlファイルが壊れてるなら別の所から拾ってくればいいんじゃない。
「CIDP_JPY_Time」は知らない。
>>504 JPN_Time_SubZero の ex4 自体が生成されないのか?
サブウィンドウ内の表示が空っぽなのか?
(背景色とフォントの色が同じで見えないとか?)
詳しく書いてほしいな
>>505 有難う、ZERO入れてみました
0 6 12 みたいな感じでしか時間が表示されないのですが
設定値の調整というのはどうやるのでしょうか?
お願い致します
>>507 どんな通貨ペアの何分足のチャートでやってるの?
画面キャプチャ見てみたい
>>507 設定項目の最初にある「TimeInterval」が区切り時間で、デフォが12になってるはず。
1が1分を表すので、12だと12分ずつね。
これは短い足なら小さく、長い足なら大きく設定しとけばいいよ。
時間の表示は5個目から「YEAR」「MONTH」「DAY」「HOUR」T「Zero_H」「MINUTE」「SECOND」てあるのが、
年月日時分秒の表示を表すので、表示したい項目を「True」にしてやればいい。
そのほかにライン表示やフォントサイズなどの設定もあるね。
表示するチャートの時間足や表示倍率によっては、
細かくて見にくいときあるから、それは自分のお好みで調整ね。
※チャートのグリッド表示は消しておいたほうが見やすいよ。
デフォだとローカル時間を基準に描画してるから、
MT4を日本時間以外の端末で稼動させているなら、その設定をいじらないとだめだよ。
因みにそのインジケータ作ってとお願いしたのはオレ
ありがと、mt4使い始めだけどシストレするEA作るから頑張るわ 爆益だすからみんなに車かってあげるね
513 :
Trader@Live! :2014/01/29(水) 22:17:57.67 ID:tXbS7J9t
以下のようなものをつくりました。 自分の意図としては、Dが2番目のifで弾かれた場合(breakとなった場合)は、@に戻りたいのですが、 実際はCであったり、Cのforの上限に達しBに戻り・・・ といった動きをします。 これを、Dでbreakとなった場合@に戻る方法を教えてください。 for(〜) ・・・@ { for(〜) ・・・A { if(〜) { for(〜) ・・・B { if(〜) { for(〜) ・・・C { if(〜){it(〜){(〜)}else{break;}} ・・・D } } } } } }
MQLgoto文って無いんじゃなかったっけ。 breakは一番最近のループやSwitchを抜けるだけ。 1のfor文の直後に bool Flag = false; とかやって、5の2番目のifで1に戻したい状況になったらFlag = true;にしてからbreak、 234のループの頭にif(Flag)break;を入れとく、とかかな。 でもおれも正直構造見直した方がいいような気がするわ。
>>513 int flag = 0;
for(int i= 0;i<3;i++){
Print("i=",i);
for(int j= 0;j<3;j++){
Print("j=",j);
for(int k= 0;k<3;k++){
Print("k=",k);
if(k==1){ flag = 1;break;}
}
if(flag ==1 ) break;
}
flag = 0;
}
コレ参考に。
>>513 なんで break だとだめなのか、は break が最も内側のループや switch ブロックを抜けるためのものだから。
breakそのままだと、条件を保持する変数を作って
bool restart = false;
とかして、各 for の末尾で if (restart) break;
とかしてあげる方法もあるけど、それなら関数化して return で一気に抜けたほうがわかりやすい。
{} 使い始めてもう1年以上になるけど、この波カッコ使ったことないわ 普通に使うもんなの?
>>519 全角って意味なら打ち間違えじゃない?
まさかと思ってコンパイルしたけど全角はコンパイルエラーになるし。
あ、完全に誤爆しましたw すいません
522 :
Trader@Live! :2014/01/29(水) 23:01:24.44 ID:5M5MiI94
pjdkf457 めちゃくちゃ弱い養殖雑魚少佐の癖にステゲーとかwww どんだけクズなんだよ雑魚、なんで雑魚って何もできないゴミの癖にステゲーするのかね
MT4で、韓国のドル/ウォンとウォン/円の 2つのチャートを見れるところはないですか?
525 :
Trader@Live! :2014/01/29(水) 23:36:54.13 ID:dJc8nRkp
>>525 キャッホー!MQL5が使えるようになる。
timezone jst { "JST" };
timezone ast { "AST" };
calendar cal1 { "2014-01-05T10:34Z", ast };
calendar cal2 { "2014-01-07T11:30+09:00", jst };
datetime sec = cal2 - cal1;
こんな感じで使える時間ライブラリ書こうと思ってる。
なんか凄いことになってるな. MQL5は諦めて、MQL4の近代化改修か。
>>513 breakじゃなくてcontinueでおk
ごめん、うそw
詳しい方至急お願いします
アルパリNZのデモサーバーでMT4を使用していますが
昨日のFOMC発表以降にユーロ円で一時的に107円や10円といった異常値をつけました。
以下の画像はユーロ円の日足のチャートです
http://uploda.cc/img/img52e9ee020085f.png 安値が10円台を付けているため正常なチャート表示が不可能になりました。
なにか復旧させる方法はありますか??
ちなみに異常値がでてるのはユーロ円のみです。
>>531 ヒストリカルデータから当該データを削除してもよいが、
サーバ側で訂正されない限り直ぐに戻るでしょう。
F8押して、プロパティの全般からスケールの固定でしのぐしか無いと思う。
サーバの配信データがおかしいままなら、Alpariに問い合わせたほうがよいのではないかと。
dc1.mt4ecn.alpari.co.nz:443 で demo アカウント作って、
EURJPYの日足チャート出してみたけど異常なとこなさそーだから、
>>532 の言うようにヒストリ消して、更新すれば直る気がする
>>531 私も同じ症状になりました…ユロ円のみです
今ヒストリー消したら直りました。
と思いきやヒストリー消した時間足しか直りません 私は日足チャート使うので、この日足1日分消さないと駄目なのでしょうか・・・
消さずに書き換えればいいんじゃね
サーバ側で訂正されているなら、 一度 MT4終了して、 hstファイル消してから起動するだけでもいいような
なんどもすいません。ヒストリーで自分で安値を編集したら直りました。みなさんありがとうございました。
541 :
531です :2014/01/30(木) 20:15:19.85 ID:rp8mwUIK
1分足から月足まで異常値の個所をすべて手作業にて修正しました。 現在は正常に動いております。 みなさん、ありがとうございました。 今からもう2台目のPCの修正作業にかかります・・・ orz
542 :
531です :2014/01/30(木) 20:37:16.39 ID:rp8mwUIK
直った―!!と思ってMT4を再起動したら4時間より長い足で異常値の表示に逆戻りになりました・・・ みなさん 妙案あったらよろしくお願いします。 似たような症状で直ったって言ってた方ももう一度確認されたほうがよいかと・・・
やってみましたが特に変化無しです
サーバー側が直ってないなら何しても無駄
ま、デモなんだから我慢するしかないね
うん、シストレがストップをはるかに通り越して107円で損切りさせられててワロタ
デモでなくても時々起きる。 クソポジ抱えて見ない振りしてると、唐突に口座残高がゼロになってて 気絶しそうになった奴は数知れずw
その話こわいんだけど。 それ保障してくれるわけ?
550 :
531です :2014/01/31(金) 02:04:12.78 ID:15/jNTRo
いまMT4起動したら普通に直っていました。 サーバー側で修正したようです。こちら側ではとくに何もしていません。 お騒がせしました。 一つ質問なのですが、これが仮にライブアカウントで同じことが起きたとして 昨日のユーロ円でいきなり10円とかになった場合買い注文入れたら通るものなんでしょうか?? イメージ的にはジェイコム株の誤発注騒動みたいに短期でぼろもうけw みたいな・・・ やっぱり注文はじかれるんですかね??
551 :
だるまたんJP_FromTheBarrel ◆damaru5/aw :2014/01/31(金) 03:05:57.74 ID:9WDb8onw
デモ鯖ではログを取得しきれなてない時に良くあるゆ^^ リア口座では見たことにゃい
全くのスレ違いだけど、他に適当なスレも見当たらないので、知っている人いたら教えて。 ツールはtradeinterceptor。 チャートの左上のある注文画面って、どうすれば消せる? あと、直近のローソク足(Last Bar)の枠色を変えたいんだけど、どこで設定すればいい?
>>552 注文画面は、右上のView切り替えで消せたよ。
直近だけローソク足の色を変えることはできないんじゃないかな。
>>553 ありがとう。
でも、もうちょっと詳しくお願いします。
メニューバーの「view」?
ひと通り試してみたけど消せなかった。
他のところ言ってるんでしょうか?
>>554 おお、Mac版とWindows(Java)版でこんなにもUIが違うものだと思ってなかった。
Windows版だと、Options -> General Preferences -> General -> Show quotes をオフで消えた。
チャートの足の色は、 Options -> Color Preferences -> Last bar - negative, Last bar - positive だね。
ちなみに、TradeInterceptorを初めて使って5分ぐらいで
>>555 を探し当てられたから、
もう少しがんばって探せるようになることをおぬぬめするw
できました!サンクスです。 チャート足の色設定はそこで何とかしようとしているのですが、 ローソク足の本体の色は変えられても枠色は変えられないような…
少なくとも最新版5.5.2では足の枠の色なんてないみたいだぞ。 TradeInterceptor自体が古かったりしない?バグかもしれないよ。
ゴミカスOS使ってる人はいろいろ大変ですねw
バーのHighの位置に矢印を表示したのですが、矢印がバーにめり込んでしまいます。 矢印の位置を指定ピクセルだけ上にずらしたいのですがどうしたらいいのでしょうか。
>>560 ObjectCreate の price1 引数をよしなに調整するとよろし。
国内業者だと、どこがお勧めですか?
>>561 やはりそれしかないですか。
それだと通貨ペアやチャート内の最低/最高値によって価格とピクセルを変換する必要が出てくるので
何か方法があるのでは、と思ったんですよね。
素直に関数書くか・・・
Object使わずにバッファで描けば少しましかも。 まぁどっちもどっちではあるけど。
>>563 Priceだとチャートでピクセルがずれるのが気にくわないってこと?
MarketInfo(Symbol(), MODE_HIGH) + 0.01 とかではだめで。
そこまで厳密にしたいなら、
http://codebase.mql4.com/5984 を使ってピクセル高さを出して、
(WindowPriceMax() - WindowPriceMin()) を割って、prices/pixel 出して、
欲しいピクセルに対応するPriceを返す関数作った方がいいね。
window8.1 タブレット Miix 2 8で使うとタッチで右クリックが出来なかった 他のwindowタブで使ってる人は出来てるのかな
>>565 このファンクションのおかげで簡単に実現できました。
ありがとうございます。
>>565 これGetPixel使ってるからクソ重い。
bitbltだと工夫なしでベタに使っても20倍ほど速くなる。
>>568 WindowPriceMax() - WindowPriceMin() が変化したときだけ再計算でも十分なんじゃないかと
570 :
Trader@Live! :2014/02/02(日) 15:24:00.45 ID:wX0ksnJN
レンタルサーバーってどこつかったらよいですか?
500円くらいので十分
----------100.500円 ----------100.000円 -----------95.500円 こういう風に切りのいい50銭区切りで横線が引ける物はありますか。 さらに、色分けや太さが変えられるものがあれば教えて頂きたいです。
GridBuilderってインジがあるわ 色や太さはMetaEditorでソース書き換えればできるよ
プログラム上級者に聞きたいんですが 以前に自分が書いたコードを見て意味が分からなくなることありませんか? こういうことが頻繁にあります・・・コメントアウトがヘタクソなのかな いまいち上達している感がないです 何か巧くなるコツみたいなのないでしょうか?
>>574 リーダブルコード という本を読むと良いよ。
このスレでもらえるアドバイスのほとんどは書いてあるはず。
>>574 それ以前に自分の書いたEAなりインジをアップロードすれば
より具体的なアドバイスがもらえるかもしれん
サンクスです 今ここでさらに抽象的なことを学ぶような本を読んでもさらに混乱してしまうだけかも・・・ 圧倒的に経験が不足しているのかもしれません
スマホ向けメタトレーダーは今のところオリジナルインジケーターの表示ができませんが 将来的にできるようになるんでしょうか? それとも望み薄と考えたほうがいいんでしょうか? 出先でオリジナルなインジを適用させたチャートを見る方法ないですかね^^; リモートで見るというぐらいしか思いつきませんでした
ソースコードをキレイに書くってのはある意味プログラマの永遠の課題(正解はない)のだけど、
EAやインジケータは、そもそも他の言語に比べたらオープンなのが少ないし、
そういう心がけを持って作られたモノもたぶん他のに比べたら少ないだろうから、
参考になるコードが少ないっていう問題はあるかもしれないなと思った。
そういう点を鑑みると、
>>576 の言うようにレビュー形式が一番いいのかもしれない
(レビューアによってばらばらのコメントが付くことも予想されるので、いちがいに良いとは言えないけどね・・・)
公開したくない部分は削除した状態でもどっかにアップしてレビュー求めてもいいかもね。
MT4を起動させたときだけ表示が変になるインディケーターがあるんですが 何が原因なんでしょうか? プログラムのロードに失敗してるんでしょうか 時間軸を切り替えたりすると正常な表示に戻ります
コードてどこへうpすればいいんすか?
587 :
Trader@Live! :2014/02/04(火) 09:16:09.35 ID:chJ5QE3D
Vantage FXのMT4仕様変更の結果、EAがNavivatorから消されてしまった。 MetaEditorからCustom Indicatorsも消えた。どうすれば良い?
>>587 MT4のbuild が600になったとかですか?
589 :
Trader@Live! :2014/02/04(火) 09:24:16.04 ID:lBiB2Xvh
おはようございます。 質問です 国内海外問わずMT4で一番朝一で動く業者はどこになるでしょうか?
>>589 ニュージランド辺りじゃない?
時差的に。
591 :
Trader@Live! :2014/02/04(火) 09:42:34.71 ID:chJ5QE3D
>>587 ,588
通常のbuild更新ではないようだ。ユーザーアカウント制御にOKを出すと
この状況になる。他のFX会社でも同じようにユーザーアカウントのチェック
が入るが、同じようになるのが怖いので「いいえ」にして元のbuild 509のまま
使っている。確かにbuild 600になっているね。
592 :
Trader@Live! :2014/02/04(火) 09:44:53.44 ID:chJ5QE3D
591だが、PCはWindows 8です。
594 :
Trader@Live! :2014/02/04(火) 10:05:30.60 ID:chJ5QE3D
>>593 ありがとう。
今読んでいるが、もう一つよくわからない。Program Files(86)にも
新しく作らられたVirtual Store→Program Files(86)の中にもAdvosors
のファイルがない。標準搭載のEAやIndicatorsはどこに保存されているの?
595 :
Trader@Live! :2014/02/04(火) 10:08:35.88 ID:lBiB2Xvh
>>590 ごめんなさい言葉が足りなかったですね
月曜の朝一ですね動くという意味はすいません
大体どこの業者も7時ですよね
6時とか5時に動くMT4は無いんですかね
国内だったらサクソとかありますが
MT4は無いのかな・・。
>>594 %APPDATA%\MetaQuotes\Terminal\<ID>\MQL4 の中に入ってる。
<ID>は自動生成される文字列なので、
該当のフォルダに入るのは、MetaEditorのフォルダツリーで右クリックして「Open folder」するのがいい。
598 :
Trader@Live! :2014/02/04(火) 11:12:10.79 ID:chJ5QE3D
>>597 大変助かりました。
ところがMetaEditorがうまく機能しません。MEを開いても少し経つと(20秒くらい)
閉じてしまいます。これはWindows 8でもVistaでも起こる不都合です。
現在はあまり使わない口座で試験的にBuild 600への更新におうじていますが、
どうやらいまだ不安定なので、運用口座でしばらくは509のままにしておきます。
metaeditorで2バイト文字使うとカーソル位置がおかしな事になるな
カーソル位置だけじゃなくて表示も重なるな あとアンインストールしようとしても「アンインストールするのに必要なアクセス権がありません」ってダイアログが出て弾かれる Adminでログオンしても弾かれる
601 :
おかみ :2014/02/04(火) 16:50:35.07 ID:dris/VM1
おわた
何が?
603 :
おかみ :2014/02/04(火) 17:09:33.81 ID:dris/VM1
>>600 カーソルはレポっておいた(ベータのときにすでにされてる気もするけど、スレッドが長すぎるので確認はしていない)。
同じ期間のバックテストとリアルトレードとを比較すると、 ほぼ毎回バックテストの方が有利な価格で取引しています。 たとえばリアルトレードでは 2014.02.04 09:23 buy usdjpy 100.988 バックテストでは 2014.02.04 09:23 buy usdjpy 100.976 業者が提示しているスプレッドは1pip前後で安定しています。 バックテストのスプレッドは2を指定しています。 以上のように、 安定して、全期間にわたって、バックテストの方が有利な価格で取引してしまう要因は何がありますか。 モデルは全ティック、業者はアルパリジャパンです。 EAは足が完成したときにしか取引しません。
新バージョンのMT4(600)はなんか重いというか、ちょくちょくUIが固まるな。 MQL5(MQL4++?w)は普通にコピーコンストラクタがちゃんと働くな。 無駄初期化無視か、暗黙的シャローコピーの俺様仕様かと思ってたら 意外とちゃんとしてたw でも、hoge const& test;はなぜかエラーになる。 const hoge& test; const hoge* test; hoge* const test;しか許容 しないらしい。
>>907 ありがとうございます。
OrderSendのスリッページの引数には1を渡しているので、
>>606 の例のように10(しかもほぼ毎回)滑ることは
スリッページだけでは説明できなさそうだと思っています。
24時間MT4でEAを動かしているので実際のレートとヒストリーが異なっていることもないでしょうし。。。
>>609 あるパリってカウントダウン方式じゃなかったですん?
metalang.exeはmql.exeに名前が変わったんか。 直接起動するとconst hoge &とか通らないんだけど、何か引数いるのかな... いまいちわけのわからんエラーが出た。 class hoge {} h; hoge &test(h); error 229: '&' - reference cannot used error 199: 'hoge' - wrong parameters count
>>611 class hoge
{
public:
hoge() { printf("%s", "im default constructor"); };
hoge(const hoge& obj) { printf("%s", "im copy constructor"); };
};
int init()
{
hoge h1;
hoge h2 = h1;
return (0);
}
ん?どゆこと? 参照がおかしいって話なんだけど... って、コピーコンストラクタの引数の話だったかそれは。 普通に変数宣言で const hoge &test(x); とかでエラーになるんだけど..
614 :
Trader@Live! :2014/02/04(火) 21:58:03.33 ID:1IZPtK5t
build600は人柱になった方がいいか?
build600、なんかオブジェクトの奥行判定の方法が変わったのかな。 名前でソートされてたのがおかしくなってる。
>>613 書いたコードの全文を見せてもらえればこっちでも確認してみるけど・・・・・・
いや、単にその2行だけなんだけど.. まぁバケてたからもう一度。 class hoge {} h; hoge &test(h); C++だとhogeクラスの変数hとその参照testの宣言だよね。 もう何年も書いてないからちょっと心許ないんだけどw
まさか仮引数以外で参照変数は使えないとかいうオチがあったりするのかな。
やっぱり
>>618 ってことか....ちょっと衝撃。
(ampersandは半角での書き方忘れたから全角で入れただけ)
>>618 どうもそのオチらしい。
てか、↓が通らん。
hoge& hoge::operator=(const hoge& o) { return (*this); };
↓のようにすれば通るが、無駄に一時オブジェクトが生成されて無為に捨てられる。
hoge hoge::operator=(const hoge& o) { return (this); };
>>621 それだと意味が変わってくるから使えないようにした方がよくないか。
(a = b).c = d;とか。
て、これは正しい式か?w
623 :
Trader@Live! :2014/02/04(火) 23:01:20.14 ID:0D0AzcnL
VTにダブルストキャスってインジがあるんですが、MT4にあるでしょうか?
>>624 それ、build600でも同じ仕様なのかな。
なんか、thisはポインタじゃないとか関数はオブジェクトを返せないとか
すごいことが書いてあるけどw
ごめん、class objectは普通渡さないか、外部ライブラリに。 structのポインタだね、あるとすると。(*hoge の形式で渡さないとすればやっぱり気持ち悪いけど)
なんでこんなに苦労してC++と似ているようで違う言語をつくろうとしているのか理解できん。
仕様変更よりもマルチスレッド対応にして欲しい..
やってみたら、 struct には new ができなくて、struct のポインタは作れなかった。 Cのポインタとして構造体を受けるためには、MQL4側は参照として渡すことでいけた。 仮引数にstruct型を含めるとき、参照形式以外だと 「'SampleData' - objects are passed by reference only」 とか怒られるから、そもそもstructは参照形式以外で渡せない仕様の模様。 classはそうではない(Include/Arrays/List.mqhとか見ると分かる)。 不思議がいっぱい!
> 仮引数にstruct型を含めるとき、参照形式以外だと >「'SampleData' - objects are passed by reference only」 > とか怒られる pure MQL な関数でも、ね。
今後、「新しいMQL4はC++がベースになってますからC++から勉強するのもいいですよ」とか 言い出す人が出てきそうだけど、それは全力で止めたほうがいいw
様子見ですかね。 特にDLLへの引数の渡し方で、不具合でているなら しばらく、変えないつもり。 いままで、mqlのstart()に殆どのDLLの関数達を実行していたけど。 DLL側にmain()みたいなものを作って、DLLでできることはDLL内で実行するのもあり。
DLLを使ってるインジケータ、EAはまるっと作り直しになると思われる。 forum見てると「ShellExecuteAが正常に動かない!」→「ShellExecuteW使えよ」とか回答ついてる。 .hstファイルのフォーマットも変わってるから、チャートまわりのツールも躓くんじゃないかな。
>>632 > pure MQL な関数でも、ね。
どういう意味?
>>636 ごめん、
>>626-627 からの流れで書いたんだ。
struct は参照形式でしか渡せないのは、別にDLLは関係ないよ、ということを補足した。
C++ならアリだけど、まぁそれはおいといて、 それはstructの参照を仮引数にすればDLLともやりとりできるってこと? #import "xxx.dll" void f(struct &s); #import でDLLとやりとりできる? classでもいけるんかな。
逆にMQL55とどう違うんですか?
http://pastebin.com/b1NqkdLp const test& test::operator=(const test& o) { return (*this); };
は
const test* test::operator=(const test& o) { return (GetPointer(this)); };
で、代替できてるように見えるけど、なんか地雷踏んでたりするかな?
乙です > printf("construct test: t3 = t2"); > test t3 = t2; > > printf("t1 = t2 = t3"); > t1 = t2 = t3; 戻り値ポインタ型のoperatorがこの式で発動するのは気持ち悪いと感じるけど、 そういうもんだと飲み込みさえすれば、問題ないのかな?という気がする
連投すまぬ
>>642 の引用文上2行は間違った。
なんだこれ、今までのソースコンパイルしたらエラーでまくりwww やってられんw 509でいけるとこまでいくか...
Include\WinUser32.mqh 見ると int SetWindowTextA(int hWnd,char &lpString[]); int SetWindowTextW(int hWnd,string lpString); int GetWindowTextA(int hWnd,char &lpString[],int nMaxCount); int GetWindowTextW(int hWnd,string lpString,int nMaxCount); ってなってる。 *A系のAPIそのまま使いたいなら char 配列にしないといけなくて、 stringそのままでいきたいなら*Wを呼び出すように修正しないと、DLLを使ったソースはコンパイルが通らないと思われ。
>>642 *, this, GetPointer辺りの挙動が手探りでまだ理屈になってないから、かなりモヤモヤする。
暫く様子を見ないといきなり本番はこえーなorz
>>644 グローバル変数を$hogeとかしてた(テキストエディタでカラーハイライト設定するとグローバル
変数が一目瞭然で便利だった)俺は再コンパイルが全部通らんw
>>645 UTF16になったんだろうから全部W使わないといかんのでは。
>>646 おれのはとりあえず#includeで改行がunix形式とdos形式が混じってたのが
悪かったみたいだ。
>>647 そだ、中身がUTF-16だからA系は使えませんな・・・。
どうしてもA系使おうとしたらWideCharToMultiByte使わないとだめだろうけど、
そこまでしてA系を使うメリットは思い浮かばないですな。
DLLのソースがなくて、W系を提供してない場合ぐらいか。
649 :
Trader@Live! :2014/02/05(水) 04:32:45.57 ID:rUDC8fS4
誰か真面目にMT4使いの人助けてもらえませんでしょうか?本当に困っています 機械音痴で調べるだけ調べました結果自分では解決せず質問しに来ました 簡単に言います、コンピューターからプログラムファイルx86に行き 自分の取引してる業者MT4に行きました、ここまでは言いのですが 肝心のエキスパーツの欄がありません、その原因はおそらく わたくしが前日にその中にある色々な邪魔だと思う物を削除しまくったのが 原因だと思います、もしそうではなければパソコンが原因なんでしょうか? パソコンが原因ではなく違う原因があるなら 素人考えで申し訳ありませんがMT4の中身を復活させることは可能なんでしょうか? 〔自分なりにやることをやったこと〕 MT4をアンインストールしても駄目 パソコン本体も出荷時状態にして改めてMTをインストールしても駄目でした。 とにかくエキスパーツの欄が見当たらなくなりました 言葉足らずで本当にすいません。
650 :
かっちゃん :2014/02/05(水) 04:34:08.24 ID:iSu0FB/f
651 :
Trader@Live! :2014/02/05(水) 04:44:32.29 ID:rUDC8fS4
頑張りますありがとうこざいます もう一台のちゃんと稼動してるMT4の中身をコピーして それを原因のあるパソコンにMT4のコピーを貼り付けることは駄目なんでしょうかね?本当素人考えで申し訳ないですお恥ずかしい 出荷時にして駄目だからエキスパーツの部分だけ破損でもしたのかな・・・困り
652 :
Trader@Live! :2014/02/05(水) 05:32:55.24 ID:GVh99WaU
MEを使っていて、和文(全角)で注釈行を書こうとするとなんだかとても使いづらいです。 何とかなりませんでしょうか。 どなたかよろしくお願いします。
build600を使ってるならバグなのでいまのとこどうしようもない。 ほかのテキストエディタでコーディングするのが得策。 もしくは諦めてコメントも英語なりローマ字なりで書く。
654 :
Trader@Live! :2014/02/05(水) 05:45:48.46 ID:GVh99WaU
次いでで申し訳ありませんがもう一つ(2つ)ご教示いただければありがたいです。 エントリーを起点としての現在のBarの本数、決済を起点としての現在のBarの本数、 を知りたいのですが、なにかスマートな方法がありましたらよろしくお願いします。
ポジションが一個なら、 int g_entriedBars, g_closedBars; のようなグローバル変数用意しておいてエントリ時、決済時のBarsを保存する
656 :
Trader@Live! :2014/02/05(水) 05:54:04.39 ID:GVh99WaU
>>653 早速のコメントありがとうございます。
build509を使っています。
そうなんですか。分かりました。
和文のほうがパッと見て分かるので、なるべく和文でと思ったのですが。
注釈行のことを考えると気が重いです。
509なら、オプションからフォントをMSゴシック、言語を日本語にしてみよう。
658 :
Trader@Live! :2014/02/05(水) 05:59:26.89 ID:GVh99WaU
>>655 またまた早速のコメント感謝です。
初心者の質問で申し訳ありませんが、
「エントリ時、決済時のBars」の何を保存すればよろしいでしょうか
OrderSell/OrderBuyのとき: g_entriedBars = Bars; OrderCloseのとき: g_closedBars = Bars; をした上で、 エントリ起点のBars: Int barsFromEntried = Bars - g_entriedBars; 決済起点のBars: Int barsFromClosed = Bars - g_closedBars;
関数名間違った。 OrderSell/OrderBuyのとき、は OrderSendのとき、の間違い。
662 :
Trader@Live! :2014/02/05(水) 06:33:01.29 ID:GVh99WaU
コメントありがとうございます。
>>657 フォントがHG明朝Eだったので、MSゴシックに変えてみましたが、変化ありませんでした。
>>660 ,661
私の理解では、Barsはチャートに表示されるバーの本数なので、ある固有の定数(例えば100本とか)なのでは?
という気がします。
なので、
Bars - g_entriedBars =Bars - Bars
とはならないでしょうか?
いづれにして、やってみます。
ありがとうございました。
そいつはWindowBarsPerChartだ
664 :
Trader@Live! :2014/02/05(水) 06:39:46.03 ID:GVh99WaU
>>659 コメントありがとうございます。
MT4のインストールフォルダがMEの動作に影響するのでしょうか。
Win7 64bitの環境で、確かにC:\Program Files(x86)にインストールしています。
665 :
Trader@Live! :2014/02/05(水) 07:04:09.43 ID:GVh99WaU
>>663 了解です。
WindowsBarsPerChart
Function returns the amount of bars visible on the chart.
という関数があるんですね。理解不足でした。
一方、Barsの方は
Number of bars in the current chart.
となっているので、どこか(起動時?)を起点とした順番を示す予約変数と理解出来ました。
なので、ご教示の方法で解決できそうです。
ありがとうございました。
仰るとおり、
666 :
Trader@Live! :2014/02/05(水) 07:06:28.31 ID:GVh99WaU
↑文末の 「仰るとおり、」は消し忘れです ><;; すみません。
>>659 横ですが、自分も困ってたので助かりました、ありがとうございます
そんなところにあったのですね
これでこれからは新しい業者のMT4をインストールするたびにNewFileを開いてソースコードをコピペコピペする作業から解放されそうですw
668 :
Trader@Live! :2014/02/05(水) 09:13:55.80 ID:rUDC8fS4
>>659 遅レスですいません
ありがとうございます助かりました
669 :
664 :2014/02/05(水) 09:50:19.02 ID:GVh99WaU
670 :
Trader@Live! :2014/02/05(水) 10:10:42.98 ID:RoP2eyfB
EX4形式のインジケーターファイルを以下のフォルダにコピーしたのですが、「カスタムインジケーター」リストに反映されません。 原因・解決策のアドバイスをよろしくお願いします。 ■OS:windows8 ■サーバー:FXCM-JPYDemo01 ■コピーしたインジケーター形式:EX4 ■コピー先フォルダ:「MetaTrader4」>「MQL4」>「Indicators」
■コピー先フォルダ:「MetaTrader4」>「experts」>「Indicators」 に入れてMT4を再起動、でできないですか?
今確認すべきは、 MT4 の Build 番号だろう・・・ 509以前と それ以降ではフォルダ構成が違う。
xp機最強伝説 なんら不具合なし
674 :
Trader@Live! :2014/02/05(水) 12:30:02.68 ID:RoP2eyfB
>671 「expert」フォルダはありませんでした。 「indicator」を探したところ、インジケーターファイル(すべてMQL形式)がたくさんあったので、そこにコピーしました。
>>670 ,674
build600のフォルダ構成だね。
MetaEditorを起動して、フォルダツリーからIndicatorsを選んで、Open Folderするとエクスプローラで開ける。
676 :
Trader@Live! :2014/02/05(水) 13:16:09.55 ID:RoP2eyfB
>672 600です。 >675 アドバイスありがとうございます。 説明されたとおりメタエディタからフォルダ内を参照しましたが、コピーしたはずのファイルがありません。
677 :
Trader@Live! :2014/02/05(水) 13:21:27.82 ID:RoP2eyfB
>675 すみません。 メタエディタのインジケーターフォルダに直接コピーし、メタエディタからダブルクリック→メタエディタで起動したところ、リストに表示されました。 ただアイコン色が黄色ではなく灰色なので、もうちょっと試行錯誤してみます。 みなさん、ありがとうございまし!
>>676 そこにコピーしないと反映されない。
インストール先フォルダのMQL4はダミーみたいなもん
679 :
Trader@Live! :2014/02/05(水) 13:30:13.64 ID:RoP2eyfB
>678 おお!できました。 すごくたすかりました! ちゃんと作動しているので問題ないとは思いますが、リストで灰色になっている理由はどうしてでしょうか。
/portableつければいいのに。
/portable 付けたところで、フォルダ配置が戻るだけで動かない問題は変わらないよ・・・
わかってまんがな。
683 :
タオパイパイ ◆ILoveSex.o :2014/02/05(水) 17:55:47.01 ID:qPZhwgC3
XMもなんともないんだけど
684 :
Trader@Live! :2014/02/05(水) 18:05:13.02 ID:+r6qgEOK
Build600になったら、インジケーターやEAがおかしくなりました… どなたか、少し前のBuildのMT4がダウンロードできる場所をご存じないですか?
686 :
Trader@Live! :2014/02/05(水) 18:15:47.97 ID:+r6qgEOK
>>685 ありです!
神様のような人がいるんですね…
ところで、このBuild600の不具合はもうしょうがないんですかね?
Labelが後ろに行ったりして挙動がおかしい。
687 :
Trader@Live! :2014/02/05(水) 18:25:01.77 ID:+r6qgEOK
すみません、このBuild509のMT4をバージョンアップさせない方法はあるのでしょうか?
別ブローカーのBuild600にはEAをインストールして動かすことに成功したが AxitraderのBuild600にはどういうわけかEAのインストールが反映されない なんでだろう
UAC機能ONだと次回起動時に警告のダイアログでるから 実行を拒否したら、アップデートされなかった。 数回試してみたけど、問題ないみたいだよ。 毎回起動時にダイアログでるから拒否選択しないとだめだけど。
690 :
Trader@Live! :2014/02/05(水) 18:44:15.99 ID:+r6qgEOK
692 :
Trader@Live! :2014/02/05(水) 19:05:36.88 ID:+r6qgEOK
>>691 ありがとうございます!
度々すみません。
アンインストールしたあとBuild509をインストールすると、すでにBuild600に
なってしまっているのですが、なにか消し忘れているのでしょうか…
違うな、名前を全然見なくなってるな。 名前を変更すると必ず前にくる。 奥行の属性が増えたりしてるのか?
OBJPROP_ZORDERてのがあるな。これ使わないといかんのか。 デフォルトで互換にしとけよ、まったく。
>>692 昔は違ったけど、いまはちょっと古いインストーラを使っても
インストーラが最新版をダウンロードしてインストールするから。
ビルド509のインストール後のイメージ(terminal.exeとか)をもらってこないとね。
697 :
Trader@Live! :2014/02/05(水) 20:47:43.32 ID:+r6qgEOK
>>696 ありがとうございます!
>ビルド509のインストール後のイメージ(terminal.exeとか)をもらってこないとね。
誰か、お持ちの方はいらっしゃいませんか…?
>>697 中身のありそうなサイバーのsetupをダウンロードして
ネットワークを切ってからインストールすればいけるかも。
699 :
Trader@Live! :2014/02/05(水) 21:01:33.68 ID:+r6qgEOK
>>698 ネットワークにつなげないと、インストールできないみたいです…
700 :
Trader@Live! :2014/02/05(水) 21:05:15.89 ID:+r6qgEOK
701 :
Trader@Live! :2014/02/05(水) 21:11:41.11 ID:+r6qgEOK
あ、デモ口座の開設ができないや…
メタエディタが使い難い・・・ 関数リストのプルダウン復活してくれー! Askとかパッと出てないし・・・設定で何とかなるのかな(´;ω;`)
704 :
Trader@Live! :2014/02/05(水) 21:24:09.43 ID:+r6qgEOK
>>702 ありがとうございます!
ただ、これをどうすればよいのでしょうか…
どこのMT4使ってたの?
706 :
Trader@Live! :2014/02/05(水) 21:35:20.11 ID:+r6qgEOK
公式のやつやFXPROです。
500っぽいのならいくつかsetup.exeのストックがあるのだけど FXDDmalta、Axi、Oanda、Pepperstone、ICMarcket、Thinkforex、GalantFX これでできるかはわかりませんがうp希望ならうpします。 あとFXDDはFXDDのサイトにメールアドレス入力してデモ口座を申請する方式だったと思います。
708 :
Trader@Live! :2014/02/05(水) 21:40:48.03 ID:+r6qgEOK
ビルド500は新しすぎる。インストールしたら最新版になるだけ。
>>704 ビルド600にそのterminal.exeとmetalan.exeを上書きして
あとは自動アップデートされないようにすればいいだろ。
勝手にアップされるがな xp機だと
因みに使いたい業者のサーバIPをぐぐって、「ツール」→「オプション」→「サーバ」で IPを指定すれば、どこ製のterminalexeでも基本的には使えるんだけどね 取引商品の違いとかで一部制約が発生する可能性はあるけど
713 :
Trader@Live! :2014/02/05(水) 21:54:36.22 ID:+r6qgEOK
あ、できたかも!
714 :
Trader@Live! :2014/02/05(水) 22:03:44.55 ID:+r6qgEOK
出来ました! どうもありがとうございました!!
GitHubにあげた509のインストーラ、役立たずだと分かったので消した。 インストール時に最新版ダウンロードしてくるとは知らなかったぬ。
716 :
Trader@Live! :2014/02/05(水) 23:01:33.54 ID:+r6qgEOK
>>715 terminal.exeとmetalan.exeが重要なようです。(´・ω・`)
アップデートでMetaEditorにデバッガーが付いたね
>>716 build600ではmetalang.exeは消えてるよ。
古いバージョンに戻したければ古いmetalang.exeとterminal.exeを入手しろ って話であって、ビルド600でmetalang.exeが消えたことは別にどうでもいい。
MT5のMetaEditorがMT4に降臨したというのがどちらかというと正しいような。
自動的にアップデートされるのにどうすんだよ。 意味ねーじゃん terminal.exe自体をBuild500以前に戻す必要性があるんだよ。 そうでないと自動アップデートされるんだから
>>720 >>689 でいけるんだろ。
配列外にアクセスしたら落ちるんならともかく、デバッガは別にい
らないなぁ。そもそもバグなんて出さないから落ちた時にコールス
タック見るくらいしか役に立たん。
必要なのは、インストーラ? FXDDなら445をローカルで使っているけど。 terminal.exe でよければどっかupするよ。
あらら。722で解決でしたかね。 失礼しました。
MT4のデモ、8業社使っているんだが、 午前中に起動させると、8社中6社が自動アップデートされた。 夜、別のパソコンにある同じ8業者のMT4を起動させると 8社中1社しか自動アップデートされなかった。 Build600のあまりの酷い出来に、各業者アップデートを見合わせたみたいだなw
Build600 の MQL4 って,ちゃんとしたドキュメントとかリファレンスとかあるんかな トライアンドエラーで仕様を探るしかないんかw
このスレを読んだかんじだと。 DLLへの引数渡しとか、Array系の関数だな。 基礎的な利用では、問題が起きていないんぽいな。
とりあえず、ラベルの前後関係の仕様が変わったのが許せん。
fai先生がブログを復活するまでか、 豊嶋先生が書籍を書くまで、アップはやめとこう。
スクリプトで試しただけでEAやインジは試してないんですが void start (){ if( false && false || true ) Print("+++ treu +++"); else Print("--- false ---"); } build509で false に、build600で true になるコードです アップデートしてbuild600のterminalで実行したら結果は 旧バージョンと同じ false でした、でも新しいメタエディタで開いて コンパイルしなおしてから実行したら結果は true になりました 再コンパイルしなかったら以前と同じように動くっぽいので 新しいmql.exeでコンパイルし直したときには気をつけたほうがよさそうですね 同様に短絡評価も新しいほうでコンパイルしてからされるようになりました
733 :
Trader@Live! :2014/02/06(木) 02:32:03.14 ID:QWe0ECeP
Build600は、WindowsXPでは動かないね・・・ 起動時にエラーが出て、起動できない。
>>731 これこれ、豊嶋先生はともかくfai先生に催促するんじゃありませんw
人それぞれ都合というものがあるでしょう
>>732 &&と||の評価順が変わったの?
MQL4の評価順は気持ち悪かったけど、互換性がないのもなあ…
評価順序は、forumのリリース情報にも書いてる。
http://forum.mql4.com/60555 Shortened conditions check is now used in logical operations, unlike the old MQL4 version where all expressions have been calculated and the check has been performed afterwards. Suppose there is a check of two conditions with the use of logical AND
if(condition1 && condition2)
{
// some block of operations
}
If condition1 expression is false, calculation of condition2 expression is not performed, as false && true result is still equal to false.
もっとも、こういう変更を自動VerUpで強制しちゃうのはどーかと思うけども。
>>735 ありがと
仕様変更を見越してではなく、自分が混乱しないようにという理由で、
&&と||が混在する式は必ず括弧を付けたことが功を奏するとは
最近、スイーツ()とかが全部関数に見えてくる
Build 600 のMQL4仕様は アップデート後のヘルプマニュアルに記載があるよ。 あと、SSE2必須だから、Pen4より古いCPUのマシンで動かないそうだ。
Build600で新しいEAをデモ口座で動かしたんだが、ロットを0.01に 設定したのに0.02でトレードする。で、Build600の別のブローカーで 同じ設定でやってみたらこっちは0.01でトレードした これって、EAに問題があるのかブローカーに問題があるのか どっちなんでしょうか?
>>739 証拠金額やレバ設定でロットが上がるEAかな?
741 :
Trader@Live! :2014/02/06(木) 08:41:44.23 ID:c8bRlw2g
mt4を起動すると、metaquotes software corp.社のclient terminalという ソフトウェアをダウンロードするかどうかを毎回きいてくるのですが、 のソフトウェアは何ですか?ダウンロードしても大丈夫ですか?
742 :
Trader@Live! :2014/02/06(木) 08:56:38.95 ID:lQzko0Ki
どのサイトのmt4もダウンロード、インストールできません。 どうしてですか?
743 :
Trader@Live! :2014/02/06(木) 09:06:19.26 ID:8bNt2L/x
自分は5〜6社のMT4を使っているが、そのうち1社のみ自動アップデートに応じた。 他社はパソコンが「ユーザーアカウント制御」で「はい」と「いいえ」で訊いて くるので、「いいえ」を選択、元のbuild 509のまま使っている。 評価が固まるまでしばらく様子を見るが、MT4を立ち上げると毎回パソコンが 同じことを訊いてくるので面倒だ。
>>733 えっ、マジ。。
まだXP使ってるんだけど
そろそろマシン入れ替えないとだめかなあ
Build 602 キタ━(゚∀゚)━!
アップデートの時に、metaeditor.exeの中にMal_Xed-3という脅威が居るからと言ってウィルスバスターがmetaeditor.exeを削除してしまうんですが、どう対処すればいいのでしょうか?
>>746 metaeditor.exeを除外ファイルに指定すしてその後に、
誤検出であることを、ウィルス対策ソフトのベンダーに伝える。
>>746 metaeditor.exeを除外ファイルに指定する。
誤検出であることを、ウィルス対策ソフトのベンダーに伝える。
749 :
Trader@Live! :2014/02/06(木) 13:42:01.23 ID:53lBUG5h
一昨日までaviraもmql.dllに反応してたけど 定義ファイルの更新で大丈夫になったな virustotalで調べたら他にマカフィーとTrendMicroがウイルスだって言ってた
Build600にアップデート インストールフォルダ配下のMQL4フォルダに全部格納されてるな(自作も含めて) 新規で作成した奴もそこだ AppDataのほうには保存されてなかった ちなみにAlpari
Build600でお試しコンパイル お喋りEAがまともに喋らなくなり、R用のmt4Rはコンパイルエラー 修正が済むまでは509で運用
>>751 お喋りEAってナニ・・?
というかどういう仕組みでしゃべるの?
753 :
Trader@Live! :2014/02/06(木) 17:46:19.46 ID:Cfq4ZAKo
Build600になったら、メール送信ができなくなりました。 ちなみに、SMTPサーバーのポートが通常の25ではなく、587で設定しています。 もちろん、Build509の時には、問題なくメール送信できていました。 エラーログ見ると、SMTP認証エラーみたいなんですけど・・・ 多分、バクだと思うので、こちらは何も対処できません。。 エラーログ見ると、SMTP認証エラーみたいなんですけど・・・ 多分、バクだと思うので、こちらは何も対処できません。。
お喋りEA復活。元々CStringWで受けてたので簡単に直せた。
>>752 Windows7に音声エンジンがありますが、英語なので日本語エンジンを入れてます。
「電子かたりべ」で入手できます。
SAPI5というインタフェースをDLLで組みました。
stringで数値や漢字入りテキストを渡すと音声出力します。
Build600 問題きとるね メタクォーツ社のせいで困ったもんだわ
756 :
Trader@Live! :2014/02/06(木) 18:31:19.03 ID:yOwSaH6B
質問です 今朝FXDDMT4がアップデートされたんだけど 今まで使っていたインジケータが使い物にならなくなった うまく動かない たとえば直近高値安値の表示も表示されなくなった いろいろ調べたけどフォルダがかわったりとかもあるらしいけど なにが原因かもなおせるのかもわからない だれか直し方わかる人いる? 教えてくださいお願いします それとも使えるようになるまで待つしかないの? 他社のはまだつかえてるけど FXDDは602 他社はまだ600だった
バージョンアップしなくて良かった私
>>754 なんか面白そう!
差し支えなければDLL欲しい・・
>>756 具体的に動かなくなったインジケータのソースコードを
ファイルアップローダに上げないと難しいと思うよ
>>756 ソース見たらもちろん直し方は分かるけどさ。
ソースも見ずに、しかもMQLを知らない人に説明するのは無理。
関数の引数を関数内の配列数にしたいのですがどうすればいいですか? int Kansuu(int Hikisuu) { int Hairetu[Hikisuu]; } これだとコンパイルエラーになってしまいます
ArrayResize()使え。
ArrayResize
>>753 パケットキャプチャして調べてみたけど、587は関係ないわ。
なんとEnvelope-Fromがおかしい(画面で設定したFromになってない)。
どうも Envelope-From が test@ホスト名 で固定になってるw
なので、Yahooとかで送ろうとすると、「いや、そのFromおかしいし」って怒られてメール送信させてくれない。
これは、ローカルのメールサーバ使わないとだめですな。
BlackJumboDogとか使おう。
こんなん 220 smtp508.mail.kks.yahoo.co.jp ESMTP EHLO <ローカルのホスト名> 250-smtp508.mail.kks.yahoo.co.jp 250-AUTH LOGIN PLAIN XYMCOOKIE 250-PIPELINING 250 8BITMIME AUTH LOGIN 334 ******** ******** 334 ******** ******** 235 ok, go ahead (#2.0.0) MAIL FROM: <test@ローカルのFQDN> 521 smtp.mail.yahoo.co.jp closing transmission channel. This email address must be verified first before you can use it for Sender/From field. QUIT
>>758 めたとれなうpろだ
ExpertSpeech.dllとExpertSpeech.txtをどうぞ
使っている業者でMT4のbuild600がリリースされているんだけど、 これ、MT4再起動したら強制アップデート? EAの対応状態を調べないと怖くて怖くて。
>>766 ありがとうございます!
R用のmt4Rは、旧のex4 をそのままコンパイルせずに使うと動くけど、
mt4R.mqh のみ修正してコンパイルしてもダメっぽいですね(T_T)
>>769 なれないPascalソースを拾い物の関数を使って修正したぞい
https://github.com/micclly/mt4R/releases から拾って使ってみて。
MQL4/Scripts/mt4RTest.mq4 しかテストしてない。
あと Win2012R2 + R-3.0.2 でしかテストしてない。
動かなったらゴメン。
wide string を毎度毎度 ansi string に変換する手抜きなので、
多少パフォーマンスは落ちてると思う(微々たる程度だと思われるけど)
強制的にMQL5に移行させようという変更なの?
まあそんなところかなぁ MQL4+MQL5=new MQL4 というおかしなことになった。
Build509より古いの何パターンかあればUPして下さいお願いします
どうせもいいけどlibraryが図書館になってるよね
>>776 MQL4 の string が char* から wchar_t* になったから、
mt4R に限らず、DLLが char* で受けてるライブラリは改修しないと使えない
779 :
Trader@Live! :2014/02/06(木) 23:38:00.18 ID:8bNt2L/x
Alpari UKから今回のbuild 600へのアップデートによるトラブルへの対処策 についてとりあえずのsuggestionが届いた。ここが一番早かったな。EAや インジが作動しないことがあるので、新しく保存されたソースプログラムを 再度コンパイルしてくれとあった。エラーメッセージが出なければ引き続き 正常に作動するとのことだ。
>>778 ありがとう。これを機にsorce()を使ってできるだけ、
RとMT4のやり取りを減らそうかな。
地味に文字化け直ってるね チャート読み込み時の文字化けと通貨ペアの詳細のところの文字化け
Build600は問題がありますね。 一応下記の様なことがあったのでシェアしたいと思います。 FXDD、Alpari、Pepperと使っていますが、メタエディターが起動しても5秒ぐらいで 全て終了してしまいます。 原因はウイルスバスターの下記の削除かと思ったのですが、復活させても 元にもどりません。 2014/02/04 11:50,Mal_Xed-3,不正プログラム,C:\Documents and Settings\All Users\ApplicationData\MetaQuotes\WebInstall\mt4clw.png\ metaeditor.exe,削除済み,リアルタイムスキャン」 それとAlpariさんに質問を出したのですが、下記が回答になります。 弊社はMT4 最新バージョンBuild600について検証中でございます。 MT4 build600は、一部のウイルスソフト(ウイルスバスター)から 誤認識されている事象が起きています。 それに関してはMT4の開発元Metaquotes社に問い合わせしております。 MT4起動中にMetaEditorの不具合がある場合はウイルスソフトの除外対象にするか、 ウイルスソフトを一時停止すれば改善する可能性があります。
>>782 除外しないと、復活させてもすぐ検疫されそうな気がするけど
あ、ごめん、下半分見えてない状態でコメントしちゃった。。。
FXCMのMT4でインジケーターを追加する場所がなくなってるんだけど 改変されたのか?
連投すまん。 誤認識で問い合わせるべきはMetaQuotesじゃなくて、アンチウィルスのベンダー(トレンドマイクロなど)だと思うんだけど。
>>787 しばらく使わなかったパソコンにMT4入れてたらなったんだけど
とりあえずやってみるわ
解決すますた サンクス
790 :
782 :2014/02/07(金) 01:18:34.52 ID:lAkeoj/s
>>786 ちなみに下記を復活させてもウイルスバスターは無反応だよ。
さらにウイルスバスターを終了してMT4を起動しメタエディターを
起動しても5秒ぐらいで終了してしまう。
2014/02/04 11:50,Mal_Xed-3,不正プログラム,C:\Documents and
Settings\All Users\ApplicationData\MetaQuotes\WebInstall\mt4clw.png\
metaeditor.exe,削除済み,リアルタイムスキャン」
問題は、MT4にあるような気がする。
一応明日になってしまうが、トレンドマイクロにも情報は上げる予定です。
メタクォーツ社ってFXのプラットホーム市場でシェア持ってるから 調子こいてるよな 競合会社が出てきてこんな糞会社つぶしてほしいわ
792 :
Trader@Live! :2014/02/07(金) 07:42:16.26 ID:4yM4Z5sp
国内業者が連合してソフト会社を立ち上げればいいのにね 勝算は十分あると思うよ なにしろ、ローソク足、一目均衡をあみだした国民性がある
793 :
Trader@Live! :2014/02/07(金) 07:44:52.32 ID:Z+5uhMtu
こういうことを平気でやるのがいかにも露助の会社
たとえ不安定でもクソ言語のmql4から解放されるなら文句は言わないw
VTでもJForexでも好きなの使えばいいのに...
>>791 競合他社はあるんだよ。
日本国内で強かったVTもあっさり負けた。
MT4の自由度の高さは圧倒的だから。
それにユーザー無料なのが大きい。
ライセンス違反だけどDLL書いて他業者に発注するのもやれちゃうわけさ。
昔InteractiveBrokersに発注する為のDLLを公開してた人がいたが
MetaQuotesの逆鱗に触れたらしい。
797 :
767 :2014/02/07(金) 10:28:01.00 ID:6VGrTe5K
>>765 が build603 で修正された。
>>753 ということで最新の build603 使えばおk
798 :
767 :2014/02/07(金) 10:29:30.97 ID:6VGrTe5K
つーか、MetaQuotes は build ごとの CHANGES 出してほしいな。。。 何が治ったのかさっぱりわからん。
MT4をTWSのAPIへブリッジさせる仕組みだったようだが、ライセンス違反になっちゃうんだよなあ。 それ自体cTraderもPROTRADERもNetTraderAdvisersもVTも同じだから仕方ないわな。 ライセンスしてる業者以外への発注はご法度だから
>>798 大きな変更があった時は公式フォーラムにスレが立つからわかるけど、それ以外はFIXだから
使ってみたら、あっ直ってると気づくくらいなんだよなあ
>>800 そうそう。 forum でレポっても、「直すよ」「直したよ」すら付かないしさ。
他のプロダクトでよくある、チケットシステムおいておいてほしいわ。
>>770 さんのmt4Rで動きました。
mt4R.mqhを一度MetaEditorで読み込み、Save As Unicodeで上書すると
良い感じ。感謝。
>>802 確認ありがとうです m(__)m
そっか、エンコーディング直すの忘れてました。。。
UTF-16 にしたのに更新しておきました。
直しおわった 一仕事だぜ
MetaQuotesとしてはMT5は諦めたの?
こんどはクラスが使える C++にかなり近づいた
ソフトウェア設計において MT4レベルに軽さと多機能を両立させることてそんなに難しいのか? VTとかもう少し軽くならないもんか
>>790 アップデートまたはインストール途中で誤検知して勝手に削除されてます。
バスター終了した状態で再インストしてからバスターを起動し、
できたmetaeditor.exeを復元すれば大丈夫です。
インジのパラメータ変更しても外部変数の値が初期化されない 動かなくなったから若干修正が必要だな
環境によって大分変わるみたいだね OS: CPU:
>>806 でも、テンプレートないからコンテナ書こうとして、!?ってなった。
公式のCArray*に従うならCObjectをスーパークラスにしてアップキャスト/ダウンキャストで
対応すべきなんだろうけど・・・・・・イマイチ気が乗らない('A`)
>>797 build600から、build603に、どうやってアップデートするのですか?
再起動しても自動アップデートしない場合、
本家サイトからDLして上書きインストールするのかな?
>>813 demo.metaquotes.net:443 に繋いで、右下の通信量がうちどめになったら再起動するとアップデートされる。
上書きインストールのが楽かな。
ADXmの色の変化について質問です。 ADX[i]=zdx; if (ADX[i]>ADX[i+1]) fss=1; if (ADX[i]<ADX[i+1]) {if (fss==1) ADXL[i+1]=ADX[i+1]; fss=2;} if (fss==2) ADXL[i]=ADX[i]; else ADXL[i]=0.0; 抜き出すとここなのですが、一本前との比較で大きければADXのまま、小さいとADXLとなり色が変わる ということはわかるのですが、チャートでは時々ADXに変化するはずなのに色が変わらないことがあります これは、何故なのでしょうか?スレチなら質問スレのほうに移動します...
>>815 ADX[i] == ADX[i+1] となる場合の処理を忘れてないかい?
>>816 自作ではなく一般的に出回っているADXmから引っ張ってきています
この条件式を理解しょうとしていますが、何故このような書き方をしているのかがわかりません。
この理由が分かる方に説明してほしく、ラインの傾きで色の変化だと思うのですが、合わない理由も
ここにあるのかと.・・・
build600のメタエディターで新規にカスタムインジケータを指定して作成した、 空のスケルトンプログラムでさえ cannot create interface of mql compiler のエラーでコンパイルできない。 どうして?
>>817 ADX[i]=zdx;
if (ADX[i]>ADX[i+1]) ADXL[i]=0.0;
if (ADX[i]<ADX[i+1]) ADXL[i]=ADX[i];
おかしなコードが何故おかしいかを考えるよりも
単純明快なコードを書いてみて、挙動を比べてみたら分かるんじゃない・・?
>>818 今は Build603 で試したほうが良いかも。
空のスケルトンだと、 OnInit() と OnCalculate(....)の2関数だけで、
40行くらいのですよね?私の環境ではコンパイルできました。
822 :
Trader@Live! :2014/02/07(金) 16:37:42.16 ID:LifqieRF
質問、次の関数を実行すると、正しくaの値==2 が返ってくるのだが、 ifの条件式がfalseの場合でも、aがきちんと宣言されている。 int function(){ if(false){int a = 1;} else a = 2; return (a); } 問題ないのはいいんだが、こういう書き方はよくないのかな? 結構、このような書き方をしてるので、気になる。
>>819 double ad0 = iCustom(NULL,0,"ADXm",1,i);
double ad1 = iCustom(NULL,0,"ADXm",1,i+1);
if(ad0>ad1){
if(hantei !=1 ) UpArrow[i]=Close[i];hantei =1; }
if(ad0<ad1){
if(hantei!=-1) DownArrow[i]=Close[i];hantei =-1; }
これはADXmをiCustomで読み込んで色の変化でシグナル出すのですが
単純明快なコードで実践するとADXmの本体の色の変化と矢印が異なるという結果でした。
そこでなぜそのコードで書かれたのかが知りたくて質問しました。
824 :
Trader@Live! :2014/02/07(金) 16:40:29.07 ID:3Wh4PZKF
シグナルサウンドアラートを一定間隔の時間でリピートさせたいんですが 何か簡単な良い方法はありませんか? いろいろ試しましたがどうも上手く出来ませんので教えてください
>>820 下向きの条件が出た時にADXLがADXIの変わりになるってことですよね。
もとあるADXに上書きでADXLが描写されるってことでいいと思うのですが・・・
その際の条件式が i > i+1とか簡単な条件じゃないってことなのですか?
ADXL[i]=0.0;ADXLを空っぽにしなさい EMPTYにしなさい 結果ADXが
再描写されるってことですよね?
>>825 demo.metaquotes.net:443 に繋いでる?
828 :
825 :2014/02/07(金) 16:51:23.08 ID:dy574LMp
>>827 やっぱ普通にダウンロードしても最新版にはならんの?
830 :
825 :2014/02/07(金) 17:27:49.47 ID:dy574LMp
>>814 にもあるけど
[ファイル] - [デモ口座の申請] で
demo.metaquotes.net:443 を選べばいけた
>>829 ありがとう
http://forum.mql4.com/60694 MetaTrader 4 Client Terminal build 603
1.Terminal: improved routing of trade requests when several of them are sent simultaneously from different MQL4 applications.
2.MQL4: fixed operation of ArrayBsearch binary search function for signed integer arrays.
3.MQL4: improved managing Expert Advisor re-initialization.
4.MQL4: improved debugging of MQL4 applications.
5.Fixed errors reported on the forum and in crash logs.
修正点キテた
>>830 私の場合では、アカウントは何もしなくても、
(接続サーバーはアルパリJ)
上書きで、600 → 603 になりましたw
あと、データーフォルダが、
PC1では、インストールフォルダ内に設定されるのに、
PC2では、Application Data内に設定される違いがよくわかりません。
ちなみにPC1とPC2はXPで、ほぼ同じ環境です。
データフォルダの場所についてご存知の方いますか?
>>832 > 5.Fixed errors reported on the forum and in crash logs.
ここはしょりすぎだろw
>>826 うん、仕組みはその理解であってるね。
> チャートでは時々ADXに変化するはずなのに
というところまで分かってるのだから、そのときのADX、ADXLの値が配列内でどうなってるかわかると、
原因究明できる気がするよ。
ADX[i], ADX[i+1],
ADXL[i], ADXL[i+1]
をログに吐き出しておくといいんじゃないかしら。
build 509 まではそんなことなかったのに、 build 600 からおかしくなった!
というなら、MT4のバグかも。
>>801 そこんとこのサポートは昔っから悪いと言われ続けてきてるけど
改善する氣ないみたい。
>>807 国内ベンダーはどこに重きを置いてるのかわかんない物しか作らない・・・。
ラガルトテクノロジーのTFTraderしかり
トレードをしてマイルを貯めて、そのマイルで勝ち組トレーダーに乗っかろうとか
流行りのソーシャルトレードに対応させたようだが、EA使えるみたいだがMQL4フル互換でない。
海外だとPFSOFTのPROTRADERだとDLLも使えるけど、MQL4で書かれたファイルをインポートすんのがいまいちよくわかんね。
この機能は良いと思ったが
http://www.dotup.org/uploda/www.dotup.org4855269.png Pentium E6600、A10 6800K、i5 4670K(4GにOC)、i7 4770Tの4つで動かしたが
Pentium E6600では重い。
A10 6800Kではサクッとは言えないが動かせる。
あとの2つはサクッと動かせる。
起動前の空き容量は1G近く欲しい感じがした。
マルチコアCPU必須で出来たらAVX対応が望ましい
>>822 #property strict環境だとそもそもコンパイルすら通らない。
838 :
790 :2014/02/07(金) 18:33:25.81 ID:lAkeoj/s
>>808 >バスター終了した状態で再インストしてからバスターを起動し、
>できたmetaeditor.exeを復元すれば大丈夫です。
アドバイスありがとうございます。
無事動作しました。以下、手順とメタエディターの違いなどをシェアしたいと思います。
アドバイス通りにMT4削除→バスター停止→再インスト→MT4起動
→ウイルスバスター起動、metaeditor.exe削除→ファイル復元
以上の内容でメタエディターが正常になりました。
一応参考程度に情報を載せておきます。
正常になったメタエディターは、ver5.0 Build883です。
他にもMT4をインストールしてあるのですが、こちらは何もしてないので
メタエディターが5秒ぐらいで終了になります。
終了になったメタエディターは、ver4.0 Build509です。
どちらもAlpari経由でインストです。
>>815 > チャートでは時々ADXに変化するはずなのに色が変わらないことがあります
って具体的にどんな時?おかしいと思う状態のキャプチャを。
>>805 お前はまた答えも知らないくせにわかったようなこと言って混乱させてるのか。
841 :
835 :2014/02/07(金) 18:42:04.18 ID:6VGrTe5K
>>839 たぶん自分のこと言ってると思うんだけど。
混乱させるようなことを言ってるつもりはないよ?
答えを知ってるつもりでも書いてないし。
「こうしたら答えがわかるんじゃない?」ってことを書くのがダメなスレだっけ
ちょっとわからないけど、 とか書いておけ。
843 :
835 :2014/02/07(金) 18:44:45.18 ID:6VGrTe5K
なんでその但し書きがないと、「わかったこと」になるの?
お前の書きようがそう見えるから但し書きをまず書けと言ってるだよ。 あるいはコテつけとけよ。NGにしとくから。
845 :
Trader@Live! :2014/02/07(金) 18:47:32.25 ID:kMMWUU59
こんちには ウイリアム%R(50%以上なら青 5m15m30m1H) OR モメンタム(0以上で青など)で マルチタイム バー みたいなの ありますか?
846 :
835 :2014/02/07(金) 18:48:39.03 ID:6VGrTe5K
煽りあいをするつもりはないから、もう少し気を付けてかくよ。
どうせ無理なんだろうからコテつけろ。
848 :
835 :2014/02/07(金) 18:54:46.95 ID:6VGrTe5K
なんで決めつけるの?
とりあえず、
>>815 の話題にはもう加わらないことにするから、ごめん。
849 :
Trader@Live! :2014/02/07(金) 18:57:05.50 ID:kMMWUU59
うんこだ お前たち
そもそもおかしいと思うような状況を見たことがないんだが、
これ
>>820 とか見たら答えを知ってるのにわざと書いてるとしか見えないだろ。
>>849 すぐそういう言葉使うのはお里が知れるよ。
852 :
Trader@Live! :2014/02/07(金) 19:14:10.59 ID:FQtsOMXN
build600のトラブル修正方法もやっとすべて判明したようだ。 ここへの投稿を参考にするが一番役に立った。
>>837 >>840 ありがとう。
現状。大丈夫だけど、良くはないという認識でいうことかな。
ちなみに本来のC言語だとアウトかしら。
普通の言語だと変数のスコープはブロック単位。つまりC/C++だとアウト。 宣言した位置以降がスコープになる言語って大昔に何かあったような 気がすけどなんだったかな...
訊いてよかった。ありがとう。 ソースを修正します。
あと、論理演算の||の方が&&より優先順位が高いっていう変な仕様も 大昔の言語であったようななかったような。(これもstrictでC/C++準拠に) 優先順位がない言語ならあったけどなんだったっけ...
857 :
818 :2014/02/07(金) 20:25:45.69 ID:4lzJ+n/h
自己解決。 Aviraで警告が出てるだけと思っていたが、一部正常にアップデート できていなかったみたい。 Aviraを止めて上書きインストールしたら、正常にコンパイルできる ようになった。 あと、FXProで上書インストールしたんだが、Build604になってるね。 表示(V)がちゃんと修正されている。
858 :
815 :2014/02/07(金) 20:27:16.10 ID:k7IGt/Pb
ID変わっていますが
>>815 です
すみません。自分が火種を起こしたみたいで・・
ID:ob9OoRHPさん
キャプチャーしてうpしようと思っています。しばらくお時間ください。明日になるかもしれませんが・・
ID:6VGrTe5Kさん
ログを吐かして参照したほうがいいですね。頭の中ではわかっているはずなのに結果が違って
どうしてなのか疑問に思えて質問しました。レス、本当にありがとうございます。
5分足でADMx 14、 52 レベル25以下での同時で色反転がかなり有効はポイントでそこでのEA作成しようと
思い、まずはサインを出すインジを作ろうと思ったのですが、なかなか上手くいかず、質問しました
みなさん、本当にありがとうございます
>>840 MQL5 から newMQL4 に移行してきたんだけど
hoge() {
for (int i = 0; ...
for (int i = 0; ...
}
っていうのが変数宣言が多重だってエラーになってた
おかげさまでコンパイルできたよ,dクス
既にBuild604 図書館はなおってないw グローバル変数とファンクションの変数名が同じだと警告される。 変数名を別に変えたけど、前のほうが使いやすかった気がします。
861 :
Trader@Live! :2014/02/07(金) 20:56:28.80 ID:Z+5uhMtu
EAの調子が悪いから止めた 来週から前バージョンでやる メタ社は阿呆
>>860 メンバ関数の引数名とメンバ変数名が同じでも警告出る。
this.メンバ変数名で回避できるのにウザい大きなお世話('A`)
metaquotesは無茶しやがるな
864 :
Trader@Live! :2014/02/08(土) 00:17:50.94 ID:EsFDvJ09
うんこ で お宅だ
Build600になってから変だ。 新しいバージョンになってDLしたインジケータが反映されない。 \Program Files (x86)\FxPro - MetaTrader 4\experts\indicators ここに入れているのだがなぜだろうか? 同じ症状の方いますか?
867 :
Trader@Live! :2014/02/08(土) 09:03:38.06 ID:TCA7wkwy
build600から生じたトラブルの解決法は分かったが、今回デスクトップの背景の 壁紙が変えられたり、ネットの開始画面が変えられたりして、かなりの迷惑を 被った。MT4と互換性のあるような新しいプログラム言語作ってくれ。
868 :
815 :2014/02/08(土) 09:17:54.97 ID:R4gVnsqO
869 :
815 :2014/02/08(土) 09:56:42.23 ID:R4gVnsqO
{if (fss==1) ADXL[i+1]=ADX[i+1]; fss=2;}
ここがあるから一本前の数値がADXに変化しても次の足でADXLになると
消されて色の変化がしないってことはわかったのですが、逆にADXLからADXの変化は
一本前の数値にかかわらず変化する。イーブンな変化じゃない条件式だってことはわかりました
ちなみに黄色の○と赤色の○の場所がADXとADXLの変化する際に一本前での変化の違いです
おかしな条件式と思うのは自分がおかしいからですかね?
http://u3.getuploader.com/mt/download/966/ADXm2.jpg
870 :
Trader@Live! :2014/02/08(土) 10:05:15.59 ID:d8aG4PYS
おまおは ラインでもなんでもいーんだけど タッチしたらアラーとがなる。 けど、そのローソク内でタッチしまくるとうるさいから そのローソクでタッチは1回のみなるだけで、 その後はローソク確定まで鳴らさない というサンプルコード教えてください。 上記の質問の要点としては、 @タッチした瞬間を検出するコード high(0)?とかかな? Aアラーとをそのローソク内で2ど鳴らさない というサンプルコードをご教示頂きたいです。 よろしくお願いします。
871 :
Trader@Live! :2014/02/08(土) 10:23:06.57 ID:TCA7wkwy
ADXmはトレンドが読みづらい、ADXの方が真正のトレンドがつかみやすい。
Build604でメニュー欄が、ファイル、ファイル、挿入から、ファイル、表示、挿入に修正されたようですが、 メタエディターがおかしい。以下のように、ダブルクオートの間に日本語を入れるとダブって表示されるのですが、 何か解決法はありますでしょうか? SetIndexLabel(0,"短期移動平均線"); また、コンパイルすると以下のような”warning”が出るのですが、無視してはダメなんでしょうか? not all control paths return a value
アップデート待機中って日本語で出るwww しかも新規鯖で業者名を入力するだけで 一覧がいっぱい出る
>>872 MQ社にクレーム入れるしか無いね。
フォントを日本語フォントに変えると、さらに不便になる。
not all control paths return a value
これは適当に return(0); でも追加しておけばおk
>>870 1.最新の価格はClose[0]で拾える。目標ラインが現在地の上にあるのか下にあるのかで
if(Close[0] >= 目標ライン) なのか if(Close[0] <= 目標ライン) なのかが変わる。
2.datetime形式のグローバル変数を作り、アラートを出したらTime[0]をその変数に格納する。
アラートはそのグローバル変数とTime[0]が同一でない場合にのみ鳴らすようにする。
if(Close[0] >= 目標ライン){
if(作ったグローバル変数 != Time[0]){
アラートを出す;
作ったグローバル変数 = Time[0];
}
}
テストしてると時々OrderClose error 145が出ています。Buildは509です。 (OrderModify error 145 ではありません。) logで確認すると年間500回位ポジションを取って、そのうちの10ポジション程度だけ出ています。 以下、エントリーしてから決済するまでのlogです。 2013.01.18 06:27 TEST EURJPY,M15: open #23 buy 0.10 EURJPY at 120.568 sl: 120.146 ok 2013.01.18 10:51 TEST EURJPY,M15: OrderClose error 145 2013.01.18 10:51 TEST EURJPY,M15: OrderClose error 145 2013.01.18 10:51 Tester: stop loss #15 at 120.146 (120.145 / 120.147) 試しに同じEAでストップロス設定を全く行わない条件でテストするとエラーは一つも出ませんので もしかするとストップの設定で何か問題が生じているのかな?とは思うのですが… どのような原因が考えられるでしょうか?
すみません、コピペの際に見やすくするために余分な箇所を消していたらミスしていました # ×2013.01.18 10:51 Tester: stop loss #15 at 120.146 (120.145 / 120.147) ○2013.01.18 10:51 Tester: stop loss #23 at 120.146 (120.145 / 120.147) #15となっていますが、正しくは#23です。
878 :
Trader@Live! :2014/02/08(土) 11:59:42.62 ID:d8aG4PYS
875さんへ さんきゅーです!! 2についてはサスガですね。こんな方法があったなんて。 1については、ローソクが確定の時になるような形でしょうか? 当方としては、さわった瞬間にって感じなので Bidとかのほうがいいのでしょうか?
こんな感じ? bool AlertFlag = false; int start() { double test; test = iMA(NULL,0,10,0,MODE_SMA,PRICE_CLOSE,i); if( test >= bid ) { if( AlertFlag == false) {Alert(" 平均線に到着しました",test); AlertFlag = true;}} else {AlertFlag = false;} return(0);
>>876 orderTypeがOP_BUY OP_SELL以外のポジションにオーダークローズだしてるんじゃないのかな。
>>878 Close[0]はその時点での最新の値になるからBidと同じ。
>>869 青ラインの上に オレンジラインを書く方式ではどうしようもないですね。
橙 - 青 - 橙
になってほしいのでしょうけど、ラインを表示するために、一つ前の色を塗り替えてるから、
橙 - 橙 - 橙
になってる。
以下の改造でラインをやめてドット表示にすれば、所望の結果を得られる。
init 内に
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,159);
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,159);
を追加して、
判定部分を
ADX[i]=zdx;
if (ADX[i]>ADX[i+1]) ADXL[i]=0.0;
if (ADX[i]<ADX[i+1]) ADXL[i]=ADX[i];
に修正
883 :
Trader@Live! :2014/02/08(土) 12:14:49.25 ID:d8aG4PYS
いつ AlertFlag = true が false になるんだ
>>878 もともと4本値はすべてBidベースだし、Closeは過去Barに於いては終値だけれども
現在Barに於いてはその瞬間の現在値だからCloseでいいんだよ
HighやLowを使っても出来るけど売り条件、買い条件で使い分けなければいけないので面倒
885 :
Trader@Live! :2014/02/08(土) 12:16:39.45 ID:d8aG4PYS
みんなありがとう 884 めちゃくちゃわかりやすい説明ありがとう
886 :
Trader@Live! :2014/02/08(土) 12:27:42.09 ID:d8aG4PYS
応用的質問いいですか? 当方が意図してるのは、1分や5分のチャートでタッチしたらアラートをだす,というものを作ろうとしてるのですが、 自分の意図してるそのタッチするレート条件は、4Hや1Dで算出したレートでアラートをだすというものをつくってます。 そのローソク内(1分や5分)での追加アラートは879さんの回答の方法で回避はできるですが、 4Hや1Dのローソクが確定するまでアラートは抑制するという方法はありますでしょうか? 皆様の頭脳、知識、拝借させてください。
509でコンパイル→600で動く 600でコンパイル→509で動かない この認識で合ってますか・・・?
890 :
Trader@Live! :2014/02/08(土) 12:52:44.01 ID:d8aG4PYS
888さんありがとうございます。 ↓と同じってことですよね? 2.datetime形式のグローバル変数を作り、アラートを出したらTime[0]をその変数に格納する。 アラートはそのグローバル変数とTime[0]が同一でない場合にのみ鳴らすようにする。 if(Close[0] >= 目標ライン){ if(作ったグローバル変数 != Time[0]){ アラートを出す; 作ったグローバル変数 = Time[0]; } }
891 :
872 :2014/02/08(土) 12:58:13.62 ID:2fSB4tc6
>>874 レスありがとう。
>MQ社にクレーム入れるしか無いね。
まだ、使えるレベルではないですね。
>not all control paths return a value
>これは適当に return(0); でも追加しておけばおk
質問の仕方が悪かったのですが、私的に作った関数でこのような警告が出ております。
出てるのは、bool型の関数で、void型、double型では出ておりませんのですが…
これとは別に、自作インジをコンパイルすると、
"no colors defined for indicator plot"なる警告が出るインジもあり orz
>>890 そうです。ちなみにアラートだけではなくて、タッチしたかどうかの判定も全部別の時間枠でやりたい場合には
Close[]ではなくiClose()(さっきのURLの左側にあります)を使うなど、別の時間枠を参照できる関数を使う必要があります。
893 :
Trader@Live! :2014/02/08(土) 13:19:16.98 ID:d8aG4PYS
892 ありがとうございました!!
894 :
Trader@Live! :2014/02/08(土) 13:33:29.90 ID:d8aG4PYS
ちなみにこれわかります? 【背景・現状】 H4やD1でとあるレートを算出する。 そのレートにタッチしたら矢印をつける。 H4やD1でのチャートでは、そのローソクのところに矢印が表示されるが、下位の時間足 にチャートを切り替えると、H4やD1のスタート時間に矢印が表示されてしまう。 じゃなくて、意図したい内容は、時間足を切り替えた時に、タッチした時間(分)の箇所に 矢印がくるようにしたい。 【質問事項】 意図したい内容は、時間足を切り替えた時に、タッチした時間(分)の箇所に 矢印がくるようにしたい。
>>894 1分足チャートを元に矢印を正しい位置に表示できるようにしておけばいいんじゃね?
896 :
Trader@Live! :2014/02/08(土) 14:13:16.32 ID:d8aG4PYS
それがわからない!!
>>770 さんのmt4Rの検証報告
RGetBoolで変数名が1文字しか渡されない不具合があります
>>894 タッチした時のチャート上の時刻をどこかに保持しておいて、
時間足を変えた時はその保持している情報を元に矢印を配置しなおすというのはどうですか?
>>897 に追加。RGetIntegerも同じ現象です
なんでデモでログインすると604にUpdateされるんだろ へんなの
901 :
sage :2014/02/08(土) 15:27:49.37 ID:tXR+6wo7
Build604になってExpertsフォルダがユーザーのAppDataフォルダを見るようになったのは仕様? 何のために\MQL4\Experts\フォルダがあるんだろうか
/portable オプション付けて起動したときには、そこを使う。 オプション付けないときにも存在している意義は知らん。
Build604でチャートにEAを設定して、 全く別のEAとかインジケータをコンパイルすると、設定したEAが再起動する。 EAを稼動させながらの開発ができない。何か防ぐ方法がないかな。
>>901 俺のも build604 なんだけど
C:\Program Files (x86)\MetaTrader 4\MQL4\Experts
がナビゲーターカラムで参照されてるぞ
もちろん起動オプションは付けてない
何が違うんだろう
\MQL4\Experts\が本来のExpertフォルダだね アップデートしたらとりあえずEAはぜんぶ\MQL4\Experts\に移動すべき
>>869 ADXという性質から妥当なところじゃないか。
>>891 >not all control paths return a value
値を返さずにreturnしている場所があるという警告なので
必要な値を返すようにすれば警告は出なくなる。
>>894 矢印を作る自にTime[0]ではなく、TimeCurrent()を使えばいい。
908 :
タオパイパイ ◆ILoveSex2k :2014/02/08(土) 20:19:05.18 ID:H3ZEY2hP
EA作ろうと思ってメタエディタいじってたら 偶然ウィルス作ってしまって セキュリティソフトが反応して MT4が開けなくなったんですけど こんなことってあるんですか?
ない。
910 :
891 :2014/02/08(土) 21:01:04.24 ID:2fSB4tc6
>>907 if
else if
else//<--これで解決した。ありがとう。
911 :
タオパイパイ ◆ILoveSex2k :2014/02/08(土) 21:01:17.23 ID:H3ZEY2hP
まぁ世界的な新発見は偶然の産物が多いらしいからな
ミラーまで用意してご苦労なこった
市況2の3大嫌われ者 真正キチガイ・ダルマたんJP 沖繩の底辺・タオパイパイ バカ大工・大棟梁
>>903 自己解決
MetaEditorでなく、SciTEなど外部エディターでコンパイルすれば良い。
915 :
Trader@Live! :2014/02/08(土) 23:49:58.00 ID:TCA7wkwy
みんなbuild600にアップデートされて困っているようだが、こちらのパソコン はWindows7だけど一向にアップデートされないのはどうしたわけ? VistaとWindows8はNTTのウイルスクリア、7はMicrosftのSecurity Essentials が入っている。7は相変わらずbuild509のままだよ。
>>915 起動時のターミナルログに ニューバージョン来てるって ログ残ってない?
>>915 問題が多発したから、ブローカーがアップデートを見送ってるのだと考える。
同じブローカーでも、早い時期に再起動した場合は、自動アップデートして、
build600になってしまったが、
苦情殺到でアップデートを中止した時期に、再起動した場合は、
>>915 のままだと思う。
なぜならばw
私の同じ環境の複数台PCが、再起動するタイミングが遅いPCは、
build509のまま、何も変わらないのに、
早いタイミングで再起動した場合のみ、
build600にアップデートしているからw
×
>>915 のままだと思う。
○ build509のままだと思う。
失礼すますた
new MQL4 で string [] をDLLに渡すとき、 いままでのMQL4どおり MqlStr のような構造体を作って受けなきゃいけないのは変わってないんだけど、 その構造体がいままでどおりのをwchar_tに変えただとダメ。 struct MqlStr { int len; wchar_t* str; int dummy; }; どうももう4バイト必要らしい。 さらに、配列の要素2個目からはlenが0に見える。 この辺のこと、ぐぐってもいまいち情報が出てこないなあ。
>>923 > 変更点はRGetString/RGetStringVector/RGetBool/RGetIntegerのしょーもないバグ修正です。
間違えました。
RAssignString/RAssignStringVector/...
です。
925 :
Trader@Live! :2014/02/09(日) 08:12:02.71 ID:H9oy0tOu
チャートをスクロールするのに、マウスのホイールでやるとカクカクと波打って見づらいです。 なんとかならないでしょうか。よろしくお願いします。
926 :
Trader@Live! :2014/02/09(日) 10:03:37.58 ID:818mKNql
PCが異常に重くて、その要因が分からず、 仕方なくリカバリして、再度MT4を入れなおしたら、過去のログインを受け付けてくれない・・・ これって、再度デモ申請しなきゃいけないの?
927 :
タオパイパイ ◆ILoveSex2k :2014/02/09(日) 10:05:15.29 ID:aAp0jeCt
IDとパスワードをメールからコピペして貼り付けてログイン
928 :
Trader@Live! :2014/02/09(日) 10:11:30.15 ID:818mKNql
それやったんだけど、回線不通なんだよね。
929 :
タオパイパイ ◆ILoveSex2k :2014/02/09(日) 10:19:28.16 ID:aAp0jeCt
もう新しく作ったほうが手っ取り早い
930 :
Trader@Live! :2014/02/09(日) 10:20:49.10 ID:818mKNql
そうだね ありがとう
931 :
タオパイパイ ◆ILoveSex2k :2014/02/09(日) 10:28:54.71 ID:aAp0jeCt
ずーっとEA作ってるんだけど動かない テストジェネレーターアンマッチデータエラーって出てる 調べてみたらバックテストの基本からできてなかったっぽい periodconvertrとかなんだよ 前まで普通にバックテストできてたのに
933 :
タオパイパイ ◆ILoveSex2k :2014/02/09(日) 10:45:03.20 ID:aAp0jeCt
934 :
Trader@Live! :2014/02/09(日) 10:48:49.95 ID:RnSQvQxb
>>918 なるほど。確かに7は最近使っていなかったんだ。
ありがとう。
935 :
Trader@Live! :2014/02/09(日) 11:06:51.02 ID:RnSQvQxb
豊嶋先生はいち早く「FXメタトレーダー4&5」を出されていたが、今回の build600へのアップデートを予想されていたのだろう。買ってそのままにして あるが、これ読めば今回の更新後のEAやインジ作成に役立つの?
>>935 new MQL4 は MQL5 に近いから役に立つよ
937 :
Trader@Live! :2014/02/09(日) 12:16:12.84 ID:RC4qwkji
907さん回答ありがとう。
でもこれわからないよ〜↓
>
>>894 > 矢印を作る自にTime[0]ではなく、TimeCurrent()を使えばいい。
具体的のどーすんだ??
>>937 矢印はオブジェクトで描いてるんだろう?
そうであれば時刻指定にTimeCurrent()の値を使えばいい。
index buffer使っているならコードの修正が必要かな。
言語仕様を今時に変えて意味あるんかな。 個人的には手続き型で十分なんだけどな。 そんなに長いコード書くわけじゃないし。
940 :
Trader@Live! :2014/02/09(日) 14:00:29.04 ID:RC4qwkji
>>938 つーことは、タッチしたとこは、一度変数に確認して覚えておいて、 オブジェクトクリエイトでその変数を指定 ってことかな??
941 :
Trader@Live! :2014/02/09(日) 14:01:17.73 ID:RC4qwkji
上記 まちがえた ×つーことは、タッチしたとこは、一度変数に確認して覚えておいて、 ○つーことは、タッチしたとこは、一度変数に格納して覚えておいて、
int r/o のr/oって何ですか?
インジに書き込んだ、deinit()関数について、 バックテストにおいてどのタイミングでdeinit()が実行されますか。 可能性として以下の3つだと思いますが、実際の実行タイミングが 解る方いらしゃいますか。 @バックテスト終了時に自動的に実行 Aバックテスト中に「ストップ」ボタンが押された時 BチャートをMT4から削除した時
945 :
942 :2014/02/09(日) 15:31:08.35 ID:zzxawUDb
946 :
Trader@Live! :2014/02/09(日) 16:53:19.65 ID:fF1WFoRU
質問 MT4アップデートで600とか602にされたのを 509になんとかもどしたんだけど フォルダ構成とか他社の名前がはいってたりするんだけど問題ないのかな? ログイン申請とか位置ずれてたり名前がちがうだけぽいんだけど
947 :
タオパイパイ ◆ILoveSex2k :2014/02/09(日) 17:25:47.35 ID:aAp0jeCt
また変なプログラムの組み方しちゃってPCフリーズしたから再起動したんだけど 再起動したらさっきまでのメタエディタのデザインと変わってるんだけど これが噂のbuild600なのか? インジ自体はさっきのまま使えてるからいいけど アイコンとかも変わっちゃってて編集しにくいんだけど
948 :
タオパイパイ ◆ILoveSex2k :2014/02/09(日) 17:28:11.14 ID:aAp0jeCt
でもこれタグの色が何を示してるのか色分けされてるっぽいから慣れたら見やすくなるかも
>>944 さん
その関数の中にアラート出す処理とか入れた状態で
@ABを実行してみるのはどうですか?
>>944 1と2だね。3はバックテスト終了後に開くチャートということならEAには関係なし。
ちなみに、UninitializeReason()は2の場合は4(REASON_CHARTCLOSE)で
1の場合は0。
951 :
タオパイパイ ◆ILoveSex2k :2014/02/09(日) 19:43:16.08 ID:aAp0jeCt
新しくインジ作ろうとして新規作成から作ったら 今まで出なかったエラーが出た 確認したら一番上の方に #version"1.0"ってのと #strivt ってのがあったんで それ消したら普通にコンパイルできた
952 :
タオパイパイ ◆ILoveSex2k :2014/02/09(日) 20:29:24.92 ID:aAp0jeCt
コンパイルしても出てこない・・・
構って土人がウザ過ぎる
Twitterにでも呟いとけ、だれかかまってくれるよきっと。
955 :
タオパイパイ ◆ILoveSex2k :2014/02/09(日) 20:49:31.48 ID:aAp0jeCt
復元したら治った
/\___/\ / ::\ | :| | ノ ヽ、 :| どこのスレでもウザがられる構って土人 | (()), 、 (()) 、.:: :| \ ,,ノ(、_, )ヽ、,, ::/ /`ー `ニニ´一''´ \
今度はここに居着いたのか。 負けるたびに、FXなんてバカクセーやめたー、とかほざいてたのに。 市況2の三大バカと言われるだけはあるね。
958 :
タオパイパイ ◆ILoveSex2k :2014/02/09(日) 21:07:24.80 ID:aAp0jeCt
土人、泣いてんのか?
879 名前:タオパイパイ ◆aZPandora. [] 投稿日:2012/07/20(金) 21:19:15.64 ID:labNmWfD [18/26]
1.2194 L 発射
886 名前:タオパイパイ ◆aZPandora. [] 投稿日:2012/07/20(金) 21:32:32.84 ID:labNmWfD [22/26]
>>885 ここは簡単には抜けんよ
http://iup.2ch-library.com/i/i0695342-1342787527.jpg 887 名前:タオパイパイ ◆aZPandora. [] 投稿日:2012/07/20(金) 21:35:35.17 ID:labNmWfD [23/26]
ユーロドルは今月1.2600まで上がる
890 名前:タオパイパイ ◆aZPandora. [] 投稿日:2012/07/20(金) 22:06:45.75 ID:labNmWfD [24/26]
なんだよこれ!!FXおもしろくない!!
やーめた!!FXやーめた!!
779 名前:タオパイパイ ◆aZPandora. [sage] 投稿日:2012/07/20(金) 23:11:42.92 ID:labNmWfD [5/5]
もういやだああああああああああああああああああ!!!
FXなんてもう嫌だああああああああああああああああ!!!
FXなんてだいっきらあああああああああああああああい!!
848 名前:タオパイパイ ◆aZPandora. [sage] 投稿日:2012/07/20(金) 23:21:16.34 ID:labNmWfD [7/7]
どうせ俺みたいなダメ人間は何をやってもダメなんだよ
一生誰かにこき使われて毎月家系は火の車で家族もろとも苦労して
死んでいく運命なんだよ
俺の人生なんてどうせそんなもんさ
気付いてはいたんだよ
でもちょっとだけ・・・1%でも可能性があるならそれに賭けてみたかったんだよ
961 :
タオパイパイ ◆ILoveSex2k :2014/02/09(日) 21:45:08.27 ID:aAp0jeCt
>>960 2012/07/20(金) 21:19:15.64
にせんじゅうにねんなながつ!?
wwwwwwwwwwwwwwwwwwww
すごいねきみ
2012年7月から粘着してるの?
すげーわwwwww
あっぱれw
他にやることねーの?
すげーわ
962 :
タオパイパイ ◆ILoveSex2k :2014/02/09(日) 21:45:44.21 ID:aAp0jeCt
俺もすげーな 何度も諦めても立ち上がるとか おれすげーわ
963 :
タオパイパイ ◆ILoveSex2k :2014/02/09(日) 21:47:02.21 ID:aAp0jeCt
粘着荒らしが来ちゃったし他のスレにいきまーす ハ,,ハ ( ゚ω゚ ) ご迷惑をおかけしましたー / \ ((⊂ ) ノ\つ)) (_⌒ヽ ヽ ヘ } ε≡Ξ ノノ `J
/\___/\ / ::\ | :| | ノ ヽ、 :| 逃げた先のスレでもフルボッコされる粘着ナマポ土人 | (()), 、 (()) 、.:: :| \ ,,ノ(、_, )ヽ、,, ::/ /`ー `ニニ´一''´ \
965 :
Trader@Live! :2014/02/09(日) 22:46:54.77 ID:f84NxTRQ
MT4で表示されている、損益計の計算式 誰か教えて。
966 :
タオパイパイ ◆ILoveSex2k :2014/02/09(日) 22:55:16.15 ID:aAp0jeCt
ダメな人間は何をやってもダメ 生活保護の金でトレードするようでは虫けら以下
このスレ終わったら、新たに起てず もう一つのメタトレスレに移動、統合しような。
これを機にオブジェクト指向始めようぜ
すみません。MT4がおかしいのでアンインストール&再インストールしたのですが、今まで使用していたインジケータ(RCI等)の表示が変なんです。 MT4はforex.comです。インジを保存する場所がMQL4という今までと違ったフォルダになってますが、ここで良いのでしょうか? 他の愛用インジも、チャート上に表示されるはずなのにサブウィンドウに表示されたり、グチャグチャです。全て削除したりしていて、バグが起きてしまったのでしょうか? これが表示できないとトレードどころじゃないです・・・ 至急、直したいので対策を教えてもらえますでしょうか?宜しくお願いします
お、そういえばFOREX.comもbuild更新あきらめたみたいだなw
>>970 古いbuildに戻すか新しいbuildに合わせてインジケーターの修正をすればいい。
build604になっても、まだメール送信がバグってますね。 オプションからのテスト送信は正常に動きますけど、 EAから送ると、エラーも吐かずにメールが消えますw
>>972 うそん。forumに「直ったありがとう」って言っちゃったごめん。
いま改めて確認してみると、メール送信は成功していると思います。
が、ヘッダのFromが
From: "Expert Advisor" <>
とかいうふざけたことになってて、たぶん、携帯キャリアメールとかだとスパムで落とされてると思うです。
ためしに、Gmailあたりに送信してみてください。
迷惑メールフォルダに入ると思います。
forumにはもっかいレポっておきますね。申し訳ない。
974 :
Trader@Live! :2014/02/10(月) 15:37:19.27 ID:fxcPp+XO
こんにちは。 エラー処理と思われる箇所でよく見かけるのですが、 if(A==B)return(-1); のように、returnの引数が-1の場合、 MT4は具体的にはどのような反応をするのでしょうか?
>>974 その返り値を受取る部分が作りこまれていれば、
値によって何かしら反応が変わるんだけど、
これまでのMT4では特に変化無かったよね。
Build600 以降はどうなんだろう
Build600以降のnew MQL4だと、 OnInit だけ int 値を戻すことが許可されてる。 旧来の int/deinit/start の場合も、 init だけ有効だと思う。 MT4のHelp→MQL4 Referenceで参照できるヘルプで、 「Event Handling Functions」を見てみるのが良いかと思う。 説明の限りでは Strategy Tester でしか OnInit の戻り値は影響しない。 実際に試してみたけども、 return INIT_FAILED; としても、Strategy Testerではエラーログが出るけど、普通に動かすと何も出ない。
メールは携帯のなりすまし設定とかをあまーくすれば受信できるようになります
しかし、毎回毎回よくこんなしょーもないバグを仕込むもんだな。 QAもろくにしてないんだろうか。
979 :
Trader@Live! :2014/02/10(月) 16:45:34.43 ID:dAvzJKRU
現在 Build604にアップ中
980 :
Trader@Live! :2014/02/10(月) 18:00:57.21 ID:fxcPp+XO
974です。 ありがとうございます。 戻り値に対する記述がとくになければ、 return(0)でもreturn(-1)でも深い意味はないという認識で良いのかな。 init内で不適切な外部変数の組み合わせに(-1)を返せば最適化の時間を少しは節約できたりとか? Referenceも読んでみます。
>>973 確かに、From: <Expert Advisor> とかなってるw
テスト送信だとFrom: "Client terminal" になってる。
なるほど携帯だとスパム扱いされるのか。
謎が解けましたw
982 :
Trader@Live :2014/02/10(月) 19:35:32.02 ID:D7bqNVPA
2時間足を表示させようと、Period_Converter_Opt.mq4を入れてみたんですが、 カスタムインディケータに表示されません。 なんか、スクリプトに似たようなのが入ってるが関係ないみたいだし。 無理やりカスタムインディケータにぶっこんでも 薄く表示されて無反応でわけわからん みなさん、どうやって他の時間足をだしていますか?
ま、SendMailも数日のうちに直ると思いますけども。。。
MT4がビルド600にアップデートされ、今後はMT5に移行していく可能性が高いようなので、 そろそろMT5の導入を考えているのですが、MT5のインジケーター製作代行業者はまだあまりいないのでしょうか? これまでMT4のインジ製作をお願いしていた方々にことごとく断られ、すっかり意気消沈です。 MT4ビルド600対応もしくはMT5のインジケーター製作代行業者をご存知の方がいらしたら、ぜひご教示いただけますと幸いです。 よろしくお願いいたします。
>>985 MT4がbuild600でMQL4にMQL5を取り込んだということは、MT4がまだ死なない、
むしろこれからもメンテナンスしていく、っていうことだと見た。
なので、いまのとこ国内での採用がほぼ皆無なMT5に
これから急に移行が進むということは可能性はそんなに高くないのではないかな?
質問に答えてなくてすみません。
>>985 英語が話せるなら海外の有料フォーラムで対応してくれていたような。
どうせMT5が両建てに対応すれば一気に普及するんだろ?
>>985 まともなプログラミング能力がある人ならMT4でもMT5でも受けてくれるんじゃない。
ただ、今の段階からMT5を導入する必要があるとはとうてい思えないんだが。
初心者用のサイトをみると int Ticket; Ticket = OrderSend() という記述を見ますが、Ticketを宣言する意味が分かりません。 なぜこれで注文処理が行われるのですか? また、Ticketを使わずにそのまま OrderSend() だけではダメなのでしょうか?
OrderSendが成功したらTicketにチケット番号が返される。 これが必要であればこうするし、不要ならばOrderSend()でも構わないだろ。 しかし普通、失敗したら何かしらの動作をさせるはずだからTicket = OrderSend() のほうが都合がいい。
> 今後はMT5に移行していく可能性が高いようなので なんでそういうことになるんだ?逆でしょ? ビルド600をリリースしたことでMT5がとりあえずしばらく消える こんなに混乱してるのに MT4 / MT4ビルド600 / MT5なんて3つも乱立させるわけない とりあえずビルド600の混乱を収束させるために すべてのリソースと時間を使うだろ
993 :
Trader@Live! :2014/02/10(月) 22:46:42.34 ID:0QhDEzDb
日ノ丸印のプラットフォームが待たれるね
MADEinJAPAN神話なんてもうとっくに崩壊している
MT5が思うように採用されないので、MT4の内容を実質的にMT5に置き換えたんだろうな。
>>986-987 >>989 >>992 皆様レスありがとうございます。
>今後はMT5に移行していく可能性が高いようなので
この情報についてですが、今回ビルド600にアップデートされたことによってかなりMT5寄りの仕様に変更されたので、
今後メタクオーツ社は今回のように無理やりにでも変えて行っていずれはMT5に移行させようとしている、と色々なブログ等で見て、
すっかりその気になってしまっただけですので、初心者の勘違いでしたら申し訳ありません。
現在はビルド509の業者をメインに使用していますが、サブMT4は既にビルド600に強制アップグレードされ、
メインの業者もいつ600を導入してくるのか毎日びくびくしています。
今回のアップグレードによって、今までMT4で使用していたインジが一気に動作しなくなってしまったので。。
そんなに嫌なら文句言いながら600使ってないで、
509に戻して強制アップデート禁止しておけばいいじゃん。
いまは509でサーバに接続できるんだし。
>>966 読んだ?
次スレ建ててくる
と、思ったら建てられなかったスマン!!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。