【MT4/5】MetaTrader質問スレ ★1

このエントリーをはてなブックマークに追加
1Trader@Live!
メタトレーダー4 MQL言語リファレンス日本語翻訳マニュアル ver1.1
ttp://www.metasys-seeker.net/MQL4_Reference_ver1/MQL4_Reference_Contents.html

【MT4/MT5】 EA開発研究スレ Part14
ttp://hayabusa3.2ch.net/test/read.cgi/livemarket2/1373882612/

【MT4/5】MetaTrader初心者専用39【ゆとり隔離スレ】
ttp://hayabusa3.2ch.net/test/read.cgi/livemarket2/1374765632/



■回答者側簡易ルール■

○重複質問やくだらない質問でも優しく誘導してあげるか
  さっさと回答して次の質問に行きましょう。
○説教、雑談は控えるように。
○誤答を発見した場合は、他の回答者がフォローしてあげると前向きなスレになると思います。
○出来るだけコード付きで回答しましょう。

■質問者簡易ルール■
○過去ログも目を通しましょう。ちょっと前に似たような質問が有ったりします。
○他スレとマルチで質問はマナー違反なのでやめましょう。
○まずは自分で調べてみる癖をつけましょう。
  ttp://www.google.co.jp/
  他の人が書いたEAやインジ
○回答してもらった時は簡単でいいので「ありがとう」と言いましょう。
○回答者は完璧ではありません。回答者は善意で回答していることをふまえ
  誤答や取りこぼしの回答、言葉足らずの回答があっても文句を言う立場ではないことをご理解ください。
  誤答を許せない人や、完璧な回答をお望みの方はお取り扱い業者へ直接質問されたほうが賢明です。
2Trader@Live!:2013/09/05(木) 04:17:23.44 ID:CSbNY91y
3Trader@Live!:2013/09/20(金) 19:52:05.12 ID:zfSHpAkX
すいません
巨大なヒストリーデータをCドライブ以外に保存する方法はありませんか?
4Trader@Live!:2013/09/20(金) 19:58:32.32 ID:fhsFczMj
>>3
シンボリックリンクを検索してみたら?
5Trader@Live!:2013/09/20(金) 19:59:11.35 ID:Qyt9m5Ig
>>3
windows シンボリックリンク で検索するといい
6Trader@Live!:2013/09/20(金) 20:15:59.22 ID:zfSHpAkX
>>4-5
おお、ありがとうございます
早速やってみます
7jjjjjjjfx:2013/09/22(日) 19:12:13.66 ID:kUuns4D2
メタトレーダーのOrderSend()関数について質問します。

最後のパラメーターは、チャート上の建玉バーに矢印を表示させるものですが、例えば、「Red」と記入しても、 発注時にデモトレード画面で何も表示されません。何が原因か分からず泣いてます。

ちなみに、OrderClose()関数ではきちんと表示されます。

どなたか原因の分かる方がいらしたらご教示願います。
8Trader@Live!:2013/09/23(月) 12:19:41.07 ID:DRUbauP8
自作インジが重くて困ってます
現在、レートが更新される度に再計算してるのですが
これを
新足が作成された時だけ計算して、計算頻度を減らしたいのですが
どう書いたら良いでしょうか?
アドバイスお願いします
9Trader@Live!:2013/09/23(月) 12:58:07.16 ID:gJFd3tjo
Time[0]を記録しておいて
記録した日時とTime[0]が違ったら実行する
みたいな感じにすればいいんじゃね
10Trader@Live!:2013/09/23(月) 14:47:17.82 ID:DRUbauP8
>>9
ありがとう
やってみて、再計算の頻度は減ったんだけど
やっぱり重い
計算過程が多すぎるのと5通貨表示させてるのが問題なのかなぁ・・・
11Trader@Live!:2013/09/23(月) 15:48:54.72 ID:7BpWMofl
>>10
どれだけすごい計算してるんだよw
12Trader@Live!:2013/09/23(月) 16:38:04.05 ID:DRUbauP8
計測期間短くして、チャートを5分足から30分足に変えたら、軽くなった
ループ時間が長すぎたみたいだ
1310:2013/09/24(火) 00:30:01.79 ID:8epMVXHc
datetime var = iTime(NULL,0,0);
int NowHour = TimeHour(var);
int NowMinute = TimeMinute(var);

if(LastCheck!=(NowHour*60+NowMinute)){
while(i <= Bars)
{
計算色々
   }
int LastCheck = NowHour*60+NowMinute;

/////////////////////////////////////////
上のソースで計算部分を新足作成された時に1度だけする様にしたんだけど、
うまく動いてないみたい。。。
どこか間違えてます?
14屑ニート ◆Kuz/9Ib0FA :2013/09/24(火) 00:36:57.15 ID:gknmNiXH
int Nowbar;
///////

int start()
{
if(Nowbar!=Bars)){
while(i <= Bars)
{
計算色々
   }
Nowbar = Bars;

////////
15Trader@Live!:2013/09/24(火) 00:37:22.95 ID:In0K2PhU
LastCheck が while の中で定義されてるから、上の if では参照できてないのと
i の値あたりに問題あるんじゃね?
16Trader@Live!:2013/09/24(火) 00:53:46.53 ID:ygVIgNXB
static datetime t;

if (Time[0] != t) {
 計算色々
 t = Time[0];
}

>>14
それ、オプションで足の数の最大を1000とかにしてても問題ないの?
17屑ニート ◆Kuz/9Ib0FA :2013/09/24(火) 01:14:20.91 ID:gknmNiXH
>>16
確認してみたら、チャートの最大数を5000にしてMT4立ちあげると
Bars=5000
で、新しい足が形成されると5001、5002、ってなってく
チャートの最大数ってMT4立ちあげ時の数字で
それ以降は加算されてくみたいお
1810:2013/09/24(火) 01:17:40.11 ID:8epMVXHc
ありがとう〜
>>16の「static」使ったら出来ました〜
感謝です
19Trader@Live!:2013/09/24(火) 01:20:40.85 ID:ygVIgNXB
>>17
チャートの最大数じゃなくてヒストリーの方でも?
20屑ニート ◆Kuz/9Ib0FA :2013/09/24(火) 01:26:38.96 ID:gknmNiXH
ヒストリーってバックテスト上でのこと?
それでも増えるみたい。
21Trader@Live!:2013/09/24(火) 01:28:28.24 ID:ygVIgNXB
オプションに足の数の設定は2か所あるでしょ。それのヒストリーの方。
22屑ニート ◆Kuz/9Ib0FA :2013/09/24(火) 01:30:10.64 ID:gknmNiXH
と思ったけど何か違うな
待っててください
23屑ニート ◆Kuz/9Ib0FA :2013/09/24(火) 01:34:10.25 ID:gknmNiXH
ヒストリー内の最大バー数を1000にしても
1000以上カウントされるみたいですお
今、メインで使ってるMT4でバックテスト中なので綺麗に足が揃ってるMT4がないから
ちゃんと調査できませんお
24屑ニート ◆Kuz/9Ib0FA :2013/09/24(火) 01:36:38.90 ID:gknmNiXH
ちゃんと1000以降も更新されるみたいお
25Trader@Live!:2013/09/24(火) 01:53:55.80 ID:ygVIgNXB
まじか。
じゃぁ起動中は足を増える限り保持して終了時に切り捨てたりしてるのかな。
26Trader@Live!:2013/09/26(木) 12:30:41.76 ID:bAbn3RE7
<<<8月 1.2.3.4.5.6.(略).25.26.27.28.29.30.31 >>>10
こう言う横長のカレンダープラグインってないですか?
27Trader@Live!:2013/09/26(木) 16:23:41.85 ID:bAbn3RE7
誤爆してたorz
28Trader@Live!:2013/09/28(土) 02:31:05.00 ID:VDYJRk/8
すみません、教えてください
int X[];

int i=0;
while(i <= 100){
if(条件){X[i]++;}
i++;
}
Comment(X[1]);

このソースでX[1]を出力したのですが、値が0として出力されます
条件にはあっていても、カウントアップされてない様なのですが、どこか間違えてるでしょうか?
29Trader@Live!:2013/09/28(土) 03:36:04.37 ID:2Ls1WMXP
配列Xのサイズ/初期値を宣言していないので問題になる。
30Trader@Live!:2013/09/28(土) 09:52:26.10 ID:VDYJRk/8
>>29
色々やってみたのですが、わかりません・・・
具体的にどう書けば良いのでしょうか?
31Trader@Live!:2013/09/28(土) 09:59:47.95 ID:VDYJRk/8
あ、出来たのかも・・・
この場合
nt X[100];
と宣言したら表示されました。
これで良かったんですか?
32Trader@Live!:2013/09/28(土) 10:14:10.26 ID:ldTQgKfW
>>31

初期値も入れとかないとね
0が入ってる保証はないよ

int X[100];の下に
ArrayInitialize(X,0);
33Trader@Live!:2013/09/28(土) 14:03:24.31 ID:VDYJRk/8
>>32
ありがとうございます!
34Trader@Live!:2013/10/01(火) 12:27:51.92 ID:EQLikCvh
チャートの背景に、通貨ペア名をデカデカと表示しておきたいんですが
そういうスクリプト(?)ってありますか?
35Trader@Live!:2013/10/02(水) 05:08:23.34 ID:heo7pjoV
ipad版の、背景色を黒にする方法、
あと左に出る発注パネルを右にする方法とかってありますか?
36Trader@Live!:2013/10/02(水) 08:54:40.78 ID:VrXYNJ5t
>>34
背景ちうか、テキストオブジェクトで描いてるのはみたことあるぞ
37*_*:2013/10/03(木) 12:50:38.33 ID:fQZw8rwy
短期と長期の2種類の単純移動平均線(例えば3日と20日等)の乖離率を表示できるインジケータを探してます。
単純にMQLは勉強始めたばかりでよくわからないですが、単純にMACDのソース中のEMAをSMAに変えれば使用できるものでしょうか?
38*_*:2013/10/03(木) 12:50:59.28 ID:fQZw8rwy
短期と長期の2種類の単純移動平均線(例えば3日と20日等)の乖離率を表示できるインジケータを探してます。
単純にMQLは勉強始めたばかりでよくわからないですが、単純にMACDのソース中のEMAをSMAに変えれば使用できるものでしょうか?
39*_*:2013/10/03(木) 13:30:02.22 ID:fQZw8rwy
38です。見つかりました。
40Trader@Live!:2013/10/05(土) 13:51:06.13 ID:E4f3Uing
こんにちは。
質問させて下さい。

バックテスト用のヒストリカルデータをFXDDからダウンロードして使用しているのですが、データに抜けがあります。例えば最新だと、2013.04.13 - 2013.05.19の期間が丸々ない状態です。信頼性のあるデータを作るには、皆さんどうされていますか?
41Trader@Live!:2013/10/05(土) 13:54:14.72 ID:2d5srd8a
>>40
地道にいろんなブローカーに口座を開設して、
日々、リアルタイムに真のヒストリカルデータを貯めてゆくことだ。

自分自身の手でデータを集めるのが一番確実だ。
42Trader@Live!:2013/10/05(土) 14:44:19.07 ID:E4f3Uing
>>41
ありがとうございます。
常にMT4を起動し、利用する通貨ペアのリアルタイムデータを取得する、ということですね。
なるほどです。
43Trader@Live!:2013/10/05(土) 18:23:11.36 ID:F+ZgjMdG
取りあえず>>42をNGIDにぶち込んでおくべきことは確か。
44Trader@Live!:2013/10/06(日) 13:51:21.69 ID:fcB3abwr
>>42
取得するのは1Mだけでいいよ、
テスト時にスクリプトで上位時間足を生成しないと
各足参照しているようなEAだとモデリング品質が上がらないから。
45Trader@Live!:2013/10/06(日) 14:00:10.63 ID:qwDGaJlI
10年後には Tickの動きもテストで再現できるだろうから、
1Mで妥協しても良いのかな?とぉもったり。
46Trader@Live!:2013/10/06(日) 18:29:13.10 ID:fcB3abwr
なんちゃってティックだからねw
47Trader@Live!:2013/10/07(月) 14:37:40.26 ID:FDXWW+Yp
サブウィンドウで他の時間足を見るインディケーターって無いですか?
5分足と15分足を同時に見たいんだけど。
48Trader@Live!:2013/10/07(月) 14:51:01.41 ID:9CoQhuYJ
探せばある・・とだけ。
49Trader@Live!:2013/10/07(月) 15:03:20.44 ID:FDXWW+Yp
3日くらい探してるけど一向に見つかりません。
50Trader@Live!:2013/10/07(月) 15:34:15.77 ID:9CoQhuYJ
>>49
では、艦これ動画でも見て休憩しましょう。
http://www.youtube.com/watch?v=YHDooEaDIgg
http://www.youtube.com/watch?v=Gc486JCuQ5I
51Trader@Live!:2013/10/15(火) 09:34:53.78 ID:mZ6v3dQW
質問です。FXproのMT4で金や日経225、ダウ、原油を表示させているのですが、
原油だと#CLX3と表示されてしまいます。慣れるしかないのでしょうか?
名称変更なんかはできないのえしょうか?
52Trader@Live!:2013/10/15(火) 11:50:49.63 ID:192LPKv5
できまえん
53Trader@Live!:2013/10/16(水) 01:16:59.27 ID:N8TTqy/H
>>51
それって、そのチャートを作ったあとにでっかく”原油”とかってインジ貼れば?
そしてそのチャートをテンプレートで保存すりゃいいだけだと思うけど?
54Trader@Live!:2013/10/17(木) 07:03:10.39 ID:BeJtAdO+
質問です
モバイル環境でオリジナルインジケータを使いたいのですが
泥やりんごのスマホアプリでもMT4が使えるようですが
インジケータはまだ30ほどのようで、もちろんオリジナルは使えません。

WINDOWSPHONEとかなら表示できるのでしょうか
それともSURFACEとかのモバイルパソコンまで行かないと無理でしょうか
より小さく持ち運べるものでオリジナルインジケータを使いたいのですが。
55Trader@Live!:2013/10/17(木) 15:41:55.38 ID:w49wPkvK
>>54
自宅のPCで動かして、その画面をスマフォで観る。リモートデスクトップとか、チームビューアーとか。

あるいは、自宅のPCからチャート画像をうpして、それをスマフォで見る。

しかない。
56Trader@Live!:2013/10/17(木) 17:59:01.34 ID:Cz/bg0nA
>>55
それかvpsしかないということですね。
まあある程度のモバイルpcならMetaTraderくらいは動かせそうだけど
57Trader@Live!:2013/10/18(金) 05:02:00.85 ID:dPUZjjcE
Auto Fibo のデフォルトの色 黄色→緑にしたいのですが

どこを修正すればいいですか?
教えていただける方いませんか?

(色を▲から選択できることは知ってますが、
    根本的にC言語みたいな所?から直したいです)

*何といって説明したらよいかわからないのでC言語と言ってるだけです
58Trader@Live!:2013/10/20(日) 17:47:13.05 ID:OjiltMA4
ストラテジーテスターの
ビジュアルモードってとこマックスにしても
以前よりかなり遅いんだけど
早くする方法ない? スキップじゃなくて
59Trader@Live!:2013/10/20(日) 18:36:31.68 ID:VeDHB8RV
>>58
おれもだわ、明らかにスペックの高いやつで走らせてるのにスペック低いやつより遅くなったりしてる。
誰か知らないかな
60Trader@Live!:2013/10/20(日) 19:02:18.36 ID:OiXHbpGE
>>58
>>59
MT4のビルド番号と業者教えてください
61Trader@Live!:2013/10/21(月) 09:29:37.98 ID:2AEQwtvv
コロナチャートという信号処理を応用したトレーディングシグナルの中の、
CoronaSwingPositionというインジケータ値をicustom関数を使って取り込み、
当インジケーターの値が4以上なら売りシグナル、-4以下なら買いシグナルを矢印で
生じるようにインジケーターを作成したのですが、何もチャート上に表示されません。

コロナチャートのコードと説明は下記になります。
forexwinners.net/forex/corona-indicators/
yamazakura32.blog59.fc2.com/blog-entry-31.html
www.forexmt4.com/mt_yahoo/Corona/CORONACHARTS.pdf
※URLの頭を貼り付けると書き込みエラーになりました。

コードは下記となりますが、問題がどこにあるのか分かりません。
どなたか解決のためのアドバイス・ヒントをくださいませ。
6261:2013/10/21(月) 09:32:56.38 ID:2AEQwtvv
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Aquamarine
#property indicator_color2 Red
#property indicator_color3 Blue

double BufCoronaSwing[];
double BufBuy[];
double BufSell[];

int init()
{
SetIndexBuffer(0, BufCoronaSwing);
SetIndexBuffer(1, BufBuy);
SetIndexBuffer(2, BufSell);

SetIndexLabel(0,"CoronaSwingPosition");
SetIndexLabel(1,"BuySignal");
SetIndexLabel(2,"SellSignal");

SetIndexStyle(1, DRAW_ARROW, STYLE_SOLID, 1, Red);
SetIndexArrow(1,233);

SetIndexStyle(2, DRAW_ARROW, STYLE_SOLID, 1, Blue);
SetIndexArrow(2,234);

return(0);
}
6361:2013/10/21(月) 09:37:22.26 ID:2AEQwtvv
int start()
{
int counted_bar = IndicatorCounted();
int limit = Bars-counted_bar;

if(counted_bar == 0) limit -= 100; //100バーからシグナル表示
for(int i=limit-1; i>=0; i--)
{
BufCoronaSwing[i] = iCustom(NULL,0,"CoronaSwingPosition",0,0,4,NULL,NULL,NULL,NULL,1,0,0,0);
}

if(counted_bar == 0) limit -= 100; //100バーからシグナル表示
for(i=limit-1; i>=0; i--)
{
BufBuy[i] = EMPTY_VALUE;
if(BufCoronaSwing[i] < -4) BufBuy[i] = Open[i];

BufSell[i] = EMPTY_VALUE;
if(BufCoronaSwing[i] > 4) BufSell[i] = Open[i];
}
return(0);
}
64Trader@Live!:2013/10/21(月) 13:01:16.99 ID:ZXk+y3WX
インジでiCustom使えるん?ごめんチラ見しかしてないから検証してないけど
65Trader@Live!:2013/10/21(月) 13:32:26.44 ID:rcZTF2Vf
>>61
一番疑わしいiCustom()で値が取れているのかいないのかくらい書かないと
BufCoronaSwing[i] = iCustom(NULL,0,"CoronaSwingPosition",0,0,4,NULL,NULL,NULL,NULL,1,0,0,0);
この部分を
BufCoronaSwing[i] = 5; や BufCoronaSwing[i] = -5; に変更して矢印が描画されるようならiCustom()の問題でしょう
(index0のラインはプライスとは関係のない値なのでもともと描画されないはず)

上のテストで矢印が描画されたときは、CoronaSwingPositionをチャートに描画して、
そのときのパラメータとiCustom()を見比べるくらいかな
6661:2013/10/22(火) 00:59:39.12 ID:rPTngvDM
返信ありがとうございます。さっそく定数を入れてみると、
びっちり始値の所に赤矢印(青矢印)が表示されていましたw
うーむ…。元コードやパラメータと睨めっこするしかないか…。
67Trader@Live!:2013/10/22(火) 09:36:50.89 ID:pmU38cPq
>>53
ありがとうございます!
なるほど、インジでそういうのあるんですね。
探してみたんですが良くわかりませんでした。
申し訳ないんですがやりやすいインジありませんか?
68Trader@Live!:2013/10/26(土) 21:53:19.73 ID:ejp3PMx2
トレードをしない時間を以下のように、
カンマ左が時間、右が分という形(CSV)で保存しています。

「2,30
4:30
5;30


・」


MQLのif文で表現すると、

if(Hour()==2&&Minute()==30)TRADE=0;
if(Hour()==4&&Minute()==30)TRADE=0;
if(Hour()==5&&Minute()==30)TRADE=0;

となりますが、
時間一覧は300行近くありif文も300行になるのですが、何か完結に表現できる方法はないでしょうか。
69Trader@Live!:2013/10/26(土) 22:11:28.87 ID:QyLZEvdu
>>68
int NGtime[};

で、配列宣言して、
ArrayResize(NGtime, 300);

で配列確保して、
NGTime[0] = 2*60 +30;
NGTime[1] = 4*60 +30;
NGTime[2] = 5*60 +30;
・・・
となるように、CSV読み込み時に代入ループを回す。

んで、判定条件は、

TRADE = 1;
int tm = Hour()*60 + Minute();

for(int i = 0;i<配列サイズ数 ;i++){
if(NGTime[i] == tm){
TRADE = 0;
break;
}
}
70Trader@Live!:2013/10/27(日) 00:43:10.72 ID:NZ6HDVlo
>>69
おお、配列を使うんですね。
MQLではまだ使ったことなかったのですが、
別の言語で概念は分かるのでコードの意味は分かります。
配列に読み込んだ時間一覧をfor文で照合する感じですね。
CSV読込の仕方はググってあとは回答のコードを参考に書き上げてみます。
かなり簡潔なコードになりそうです。
分かりやすい解説で助かりました。
本当にありがとうございました。
71Trader@Live!:2013/10/28(月) 06:11:57.92 ID:5BjxkCcU
すみません、あれからずっとCSVの読込についてコード書いて試行錯誤してたのですが、
結局CSVから配列変数に値を格納することが出来ませんでした。
色んなサイトを参考に書いてみて、


//---------------------------------
int NGTime[];

int init()
{
  ArrayResize(NGTime,300);
  int handle=FileOpen("NGTime.csv",FILE_CSV|FILE_READ);
  if(handle>0){
  int i=0;FileSeek(handle,0,SEEK_SET);
  while(!FileIsEnding(handle)){
   NGTime[i] = FileReadNumber(handle);
   if(FileIsEnding(handle)==TRUE)break;
   i++;
FileClose(handle);
}


//---------------------------------

としてみたのですがフリーズします。
多分致命的なミスがあると思うのですが分かりません。
上手く読み込むのはどうしたら良いでしょうか。
ご指摘頂けると有り難いです。
72Trader@Live!:2013/10/28(月) 07:34:41.01 ID:5BjxkCcU
何とかあれこれ試して配列変数に格納出来ました。
お騒がせしました・・・。
73Trader@Live!:2013/10/30(水) 12:30:55.89 ID:v+J6mqDT
MT4から5分間隔で4本値とインジケータの値をcsvファイルとして出力する
スクリプトを下記のように作成いたしましたが、このことでご質問がございます。

extern datetime StartTime; // 開始日時
datetime EndTime; // 終了日時
extern string customind = "Custom_Indicator";//呼び出し先indicatorのファイル名 
extern int iperiod = 5;//呼び出し先indicatorの時間足 1,5,15,30,60,240,1440,10080,43200

double Custom_Indicator;

int start()
{
int handle = FileOpen(Symbol()+Period()+".csv", FILE_CSV|FILE_WRITE, ',');
if(handle < 0) return(-1);

int iStart = iBarShift(NULL, 0, StartTime);
EndTime = TimeCurrent();
int iEnd = iBarShift(NULL, 0, EndTime);

FileWrite(handle, "Date", "Time", "Open", "High", "Low", "Close", "Custom_Indicator");
for(int i=iStart; i>=iEnd; i--)
{
string sDate = TimeYear(Time[i]) + "/" + TimeMonth(Time[i]) + "/" + TimeDay(Time[i]);
string sTime = TimeHour(Time[i]) + ":" + TimeMinute(Time[i]);
double Custom_Indicator = iCustom(NULL, iperiod, customind, 0, i);

FileWrite(handle, sDate, sTime, Open[i], High[i], Low[i], Close[i], Custom_Indicator);
}
FileClose(handle);
MessageBox("End of OutputIndicators");
return(0);
}
74Trader@Live!:2013/10/30(水) 12:38:53.92 ID:v+J6mqDT
@5分おきにcsvファイルを自動的に出力できるようにする。
Aエクセル側でcsvファイルを取り込んで自動的に更新する。

上記の作業を行いたいのですが、@についてはコードを、
Aについては何か上手い方法はございませんでしょうか。

Aに関しては、excel[データ]-[外部データの取り込み]-[テキストファイル]
からcsvファイルをインポートし、プロパティから5分毎に更新する設定にすれば良いのですが、
Windows7を使っているため、MT4からcsvファイルがエキスポートされるfilesフォルダが互換モードを
クリックしないと表示されません。そのため、excelインポートのファイル選択時には何も表示されず、
files配下のCSVファイルを選択できません。しかも、MT4のcsvファイル出力先変更方法も不明です。

どなたか@とAについて良いお知恵がございましたら、ご教示くださいませ。
75Trader@Live!:2013/10/30(水) 13:36:19.02 ID:c4sVbmY3
@スクリプトでやろうとせず、インジとして作る。
 5分足で足が更新されたら、というのがまぁ簡単(精密ではないが)
A?俺はwin8だしよくわからんがMT4のインストール先を変えるとか??
 とりあえずExcel2007とwin8 64bitで
 テキストファイルのインポート選んでみたら
 MT4フォルダ内Experts内files内にあるcsvファイルが普通に見られた。

それより、以下俺が昔やったことで気になる点がひとつ。

Excelでcsvファイルを開いているときって
MT4からそのファイルにアクセスしたら失敗しなかったけ?
上書きするだけなら大丈夫なのかな、それとも
外部データの取り込みという形ならおk?
まぁその点は問題ないことを確認しているんなら老婆心失礼した。
76Trader@Live!:2013/11/02(土) 15:17:24.79 ID:HPNaxcfy
どこで聞いたらいいのかわからないのでこちらで質問させてもらいます
MT4を開いたら「旧バージョン」と表示されて接続されなくなりました
前にこうなった時はUPDATEの更新をしてください的なダイアログが出て
それを押したら更新されて使えるようになったと記憶してます
ですが今回はそういったものが何もでません
どうしたらいいのかわからないのでとりあえずファイルの中の「LiveUpdate.exe」と
いうのをクリックしてみたのですが何も起きません
最近PCの調子がちょっと悪いと思っていたのですがそのせいでしょうか?
わかる方いたらお願いします
77Trader@Live!:2013/11/02(土) 15:21:58.78 ID:vXVgUdnl
そのMT4はどれくらいぶりに起動した?
最近使っていたなら、しばらく前から
自動(強制)アップデート式に切り替わっているので
そういった事が起こりにくいはずだけど。

あとは使用している業者からインストーラーを
再ダウンロードしてインストールすればいいと思うけど
設定を移動したりするのは…俺は詳しくないので
検索か過去のレスでも確認してくれ。あるいは誰か教えてあげて
7876:2013/11/02(土) 15:40:15.56 ID:HPNaxcfy
>>77
返事ありがとうございます

起動したのは1週間ぶりです
アップデートが自動になっていたのですか
気づきませんでした もしかして何回かされていたのでしょうか

>使用している業者からインストーラーを・・・
できればいいのですが事情があってそれはできないのです

引き続きわかる方お願いします
79Trader@Live!:2013/11/05(火) 06:08:23.31 ID:jdB2ax5z
EAを入れる前に既に待機注文がある場合、
そのチケット番号を取得するにはどうすれば良いですか?
市場注文(ポジション)であれば、for分とOrderSelect(ticket,SELECT_BY_POS)で取得できるのですが。
80Trader@Live!:2013/11/05(火) 08:44:43.14 ID:jdB2ax5z
すみません、MODE_TRADESで解決しました。
81Trader@Live!:2013/11/12(火) 03:37:09.66 ID:G7bNuOpb
以下は1次元配列のcsvファイルを読み込むロジックなのですが、
2次元配列のcsvファイルを読み込む場合はどこをどのように修正すれば良いでしょうか。
test.csvを配列変数DATAに取り込みます。


//ここから
   int handle = FileOpen("test.csv", FILE_CSV | FILE_READ, ",");
   int cnt = 0;
   while(true)
   {
     FileReadString(handle);
     if(FileIsEnding(handle)) break;
     if(FileIsLineEnding(handle)) cnt++;
   }
   
   Count = cnt-1;
   
   if(cnt == 1) NoData=true;
   else //array set
   {
     NoData = false;
     ArrayResize(DATA Count);
     ArrayInitialize(DATA, 0);
     FileSeek(handle, 0, SEEK_SET);
     while(true) 
     {
      FileReadString(handle); //subject
      if(FileIsLineEnding(handle)) break;
     }
     for(int i=0; i<cnt-1; i++)
     {
      DATA[i] = FileReadNumber(handle);
     }
     ArraySort(DATA);
   }
82Trader@Live!:2013/11/12(火) 13:22:58.54 ID:A6h73r9h
>>81
2次元の配列のCSVをとりあえず、そのロジックで全部読み込める?

もし、読めるなら、全部読み込んだ配列から、
二次元配列に上手くコピーしなおせば良いと思う。
83Trader@Live!:2013/11/12(火) 13:45:09.87 ID:Rf57uVef
>>81
CSVファイルのフォーマットと、MQL4側の配列フォーマットをまず定義してくれ。
要するに、「何を?」「どういう形で?」読めればいいのか分からんと何も言いようがない。
84Trader@Live!:2013/11/13(水) 00:59:38.12 ID:r01qdpwN
>>82
2次元配列のcsvは読み込めますが1列目しか読み込んでいません。


>>83
csvはカンマ区切りで、

0,288
1,925
2,355




という内容で、
これをDATA[x][y]という配列変数に取り込みたいです。
85Trader@Live!:2013/11/13(水) 01:36:18.28 ID:i3CtOq8E
>>84
DATA[0][0] == 0
DATA[0][1] == 288
DATA[1][0] == 1
DATA[1][1] == 925
DATA[2][0] == 2
DATA[2][1] == 355
と格納されればいいの?

だとしたら、FileReadArrayの引数にDATA渡すだけで読み込めたはず。
なんらかの事情で1個ずつ読み込みたいなら
DATA[i] = FileReadNumber(handle);

DATA[i / ArrayRange(DATA, 1)][i % ArrayRange(DATA, 1)] = FileReadNumber(handle);
としてもいけると思うけど・・・・・・
86Trader@Live!:2013/11/13(水) 03:01:57.41 ID:r01qdpwN
>>85
その形式で格納したいと考えています。
FileReadArrayはバイナリ形式でないと読み込めないらしく、
色々試したのですが(主にcsvをバイナリ形式にする方法が分からず)結局扱えず1個ずつ読み込むことにしています。
バイナリファイルが扱えるようになれば、FileReadArrayの方が便利だと考えています。

頂いた、

DATA[i / ArrayRange(DATA, 1)][i % ArrayRange(DATA, 1)] = FileReadNumber(handle);

はエラーが出ています。
申し訳ないのですがDATAの[][]の内容が私には理解出来ず修正の方法が分かりません。
87Trader@Live!:2013/11/13(水) 04:58:19.77 ID:sDV8nF8d
>>86
DATAはちゃんと2次元配列(int DATA[][2])として定義されてる?

[]の中身は・・・・・・
まずArrayRangeは(0インデックスで)N次元目の要素数を返す関数。
っで、int DATA[][2]; ArrayRange(DATA, 1); の場合は2になる。

っで、iが0, 1, 2, 3, 4, 5と増えていくとすると
i = 0 の時、i / 2 = 0、i % 2 = 0 で、DATA[0][0] を指すことになる。
i = 1 の時、i / 2 = 0、i % 2 = 1 で、DATA[0][1] を指すことになる。
i = 2 の時、i / 2 = 1、i % 2 = 0 で、DATA[1][0] を指すことになる。
i = 3 の時、i / 2 = 1、i % 2 = 1 で、DATA[1][1] を指すことになる。
i = 4 の時、i / 2 = 2、i % 2 = 0 で、DATA[2][0] を指すことになる。
i = 5 の時、i / 2 = 2、i % 2 = 1 で、DATA[2][1] を指すことになる。
88Trader@Live!:2013/11/13(水) 06:45:17.06 ID:r01qdpwN
>>87
これは解説を頂かないと分かりませんでした。
何とトリッキーな代入。私では到底思いつくことはなかったです。
ご指摘の通り2次元配列の定義がされてないことが原因でした。
ということで無事DATAに2次元配列test.csvを読み込むことが出来ました。
FileReadArrayについては、もう少し納得のいくまでググってみたいと思います。
とても丁寧に解説して頂きとても助かりました。
本当にありがとうございました。
89Trader@Live!:2013/11/13(水) 06:51:56.98 ID:Rf1uaUTW
おつかれ
90Trader@Live!:2013/11/20(水) 22:21:36.65 ID:g1mnVfqR
オブジェクトの操作のために、n本分未来のバーのdatetime値を得たいのですがやり方が思い付きません。

(1)Time[-1*n]
全然ダメ

(2)Time[0]+(Time[0]-Time[1])*n
週明けなどの時ダメ

(3)Time[0]+Period()*n
(2)と同様

良い方法ありましたら教えて教えていただけると助かります。
91Trader@Live!:2013/11/20(水) 22:35:45.42 ID:lydmH878
>>90
datetimeは1が1秒だよ
60足せば1分先。
92Trader@Live!:2013/11/21(木) 02:38:57.69 ID:trjgKmtT
>>91

そうなのですが、例えば週末のバーのひとつ未来のバーのdatetime値は、単純にPeriod()秒を足した値ではなく2日分の時間を加算する必要がありスマートなコードとならず困っています。

また、業者によっては4時間足が飛び飛びの時刻規(00:00,04:00,11:00,15:00,19:00,23:00)となっている場合もあり、そういう場合でもスマートに対応出来るコードにしたいのです。
93Trader@Live!:2013/11/21(木) 07:35:28.65 ID:IctcY0fk
>>92
おれの週末判定の方法は

まず先週末を探して
それと同じ曜日、時間を週末としてるでも夏時間とかあるから完璧じゃないね
他に方法あったらおれも知りたいな
94Trader@Live!:2013/11/21(木) 08:04:11.19 ID:5Rm0p12j
>>92
-----------------------------------------------
まず、ある時刻が休みかどうかを判定する関数を作る。
bood IsHoliday(datetime tm )

次に、その関数を利用して、未来に対して 休日をスキップしつつ
足をカウントできる関数を作る。
datetime GetNextNbarTime(int n)
-----------------------------------------------

基本的な考え方はこれで良いよね。
(3)Time[0]+Period()*60*n と書くところを GetNextNbarTime(n) と書けば良いだけになるから。


あとは、IsHolidayの中身を
土曜6時〜月曜6時
の単純な判定処理にするか、
CSVから休日データを読み込んで判定するか、
自分の必要に応じて複雑化させればいい。
95Trader@Live!:2013/11/21(木) 09:04:36.54 ID:WTSnzGW2
>>93
>>94
なるほど、夏時間も考慮が必要ですね。
先輩方の意見を纏めるとやはり週末を自力でスキップするしか無さそうですね。
ありがとうございました。
96Trader@Live!:2013/11/24(日) 00:36:58.04 ID:J2wsM20i
dat落ちしそうなのでageます、申し訳ありません
ご教示いただきたいのですが、

ku-chartをストラテジテスタで再現したいのですが、MT4では複数通貨のデータを同時に扱うことができないようで、
d.hatena.ne.jp/FxNONO/20130327/1364360742
からStrategy Testerで複数通貨ペアを扱えるライブラリをダウンロードして使ってみましたが
そこで公開されているKu-chart-Maker2-nonoGetPrice.mq4はオリジナルのものと計算方法を変えてあるそうで
実際にオリジナルのものと比較しても挙動が違います

そこで、オリジナルのKu-chartを「よんでね.txt」にしたがって書き換えようと思いましたが
プログラミングには暗いのでどうしてもうまくいきません。
できれば、このバージョンを
ux.getuploader.com/fai_fx/download/287/Ku-chart-Maker2b.mq4
ストラテジテスタで動作するようにしたいので、どこをどのようにすればよいか
お知恵を拝借させていただければと思いますので、よろしくお願いいたします。
97Trader@Live!:2013/11/24(日) 00:38:10.50 ID:J2wsM20i
96の書き込みですが
規制のため、リンク2つの前にhttpが抜けています、すみません
98Trader@Live!:2013/11/24(日) 01:52:52.91 ID:0xOfT8Mf
>>96
テスターでも少し制限はあるが複数通貨は扱える。
できないのは他の通貨でオーダーを出すこと。
99Trader@Live!:2013/11/24(日) 13:54:51.14 ID:1L4mDIRw
>>96
なるほど!!
他の通貨の情報をhistoryデータから取得するライブラリーを作り、ソース上のiClose()などを作成したライブラリーの関数(nonoClose()など)に置き換えることで動作させる仕組みですね。
勉強になります。
添付ファイル内のものはKu-ChartソースのiMA()の箇所をMA_nonoGetPrice(オリジナルのMoving AverageのソースのClose[]などの箇所をnonoClose()に変えsymbolやヒストリファイル情報を渡せるようにしたもの)に換えているだけのように見えます。
Ku-Chartのオリジナルソースは見たことがありませんがiMA()やiClose()などの箇所を一つ一つ変えて行けば完成するのでは?と思います。

>>98
ライブラリーを作らないで他通貨のデータをストラテジーテスター利用時に得る隠し技があるのですか?
是非その技を知りたいです。
100Trader@Live!:2013/11/24(日) 14:39:39.15 ID:0xOfT8Mf
>>99
隠しも何も、普通に参照できるけど?
[0]のデータが正しく更新されない以外に問題は知らないな。
参照するシンボル名を間違ってるんじゃないか?
101Trader@Live!:2013/11/24(日) 17:24:37.68 ID:RNLSeUaX
>>100
ストラテジーテスターのビジュアルモードを実行中に一時停止ボタンを押して複数の通貨ペアを使うインディケーターを追加すると確かに正しく表示されますね。

ただ、その状態から一時停止ボタンを押してバーを進めると、私の環境だとテスターで選択している通貨ペアは正しく表示されますが、他の通貨ペアは一時停止ボタンを押したときの情報のまま(古い値)が取得されてしまいます。

念のためにiClose(通貨ペア,0)もiClose(通貨ペア,1)など[0]以外の値も使ってみたのですがバーが先に進んでも一時停止時点の値が取得されてしまいます。

MT4ではなくMT5の場合や、ブローカーの仕様の違いなど、何か見落とし事項ありますでしょうか?
102Trader@Live!:2013/11/24(日) 17:48:20.58 ID:0xOfT8Mf
そもそもVisual modeに後からdropされたインジケーターはサポートされて
いないんじゃないか。
おれが言ったのはEAの中から参照する時の話。
103Trader@Live!:2013/11/24(日) 22:31:04.28 ID:WtzhIYPe
そもそも、インジケータってどういう使い方が標準なのですかね。
iCustom()で使えるが、Visual modeにdropすると使えない関数があったり、
逆にVisual modeにdropでないと、インジ表示できなかったり。
104Trader@Live!:2013/11/24(日) 22:52:52.53 ID:0xOfT8Mf
チャートに入れて使うのが標準?だろ。
visual modeに入れないと表示できないものなんて見たことないんだが。
105Trader@Live!:2013/11/24(日) 22:54:27.28 ID:WtzhIYPe
EAでiCustomで入れても表示しないの意味すた
106Trader@Live!:2013/11/24(日) 23:07:45.99 ID:0xOfT8Mf
visual modeへのdropには対応していないとしてもまだ疑問があるのか?
107Trader@Live!:2013/11/24(日) 23:31:36.77 ID:WtzhIYPe
インジケータってどういう使い方が基本なの?
@iCustom やiMAとかで EAや他のインジに組み込む。
Avisual modeへのdropして、テクニカルを画面に映し出す。

バックテストなどで、@で利用できていた変数が、Aでも使えるんじゃね。
と思っていたら使えなかったり。
まあ、よく分かってないんだな。
108Trader@Live!:2013/11/24(日) 23:31:59.54 ID:0xOfT8Mf
>>105
visual modeを止めた時の話だと仮定すると、表示されないのは
タイムフレームが違っているからだろう。
109Trader@Live!:2013/11/24(日) 23:33:18.93 ID:0xOfT8Mf
うむ、質問の意図がまったくわからん。
とりあえず、質問は1つづつにしてくれないか。
110Trader@Live!:2013/11/24(日) 23:40:44.32 ID:WtzhIYPe
そうだな。
あなたの作ったインジ[.mq4]は、iCustomで使っているのが多い?
それとも、チャートにドロップしてテクニカルをみてる方が多い?
111Trader@Live!:2013/11/24(日) 23:54:56.18 ID:0xOfT8Mf
そんなこと聞いても解決しないだろw
一番いいのはこういうコードを書いたが思ったように動かない。
こう動くと思ったけど結果はこうだった、とか書くこと。
それに一般的な話は既に答えた>>104
112Trader@Live!:2013/11/25(月) 00:02:51.47 ID:Q0Fi6h4k
蒟蒻問答・・・
113Trader@Live!:2013/11/25(月) 00:08:21.44 ID:hetc47CK
最初の >>96さんの質問がKu-ChartをStrategy Testerで表示したいと
あったので、Strategy Testerのビジュアルモードでインディケーターを
表示するときの話だと解釈して、>>99>>101 を書いていました。

>>100さんの回答はEAの話とのことで、下記サンプルプログラムを動かし意味が分かりました。
確かに他通貨のデータが表示されました。
『[0]のデータが正しく更新されない』というのも、選択している通貨ペア以外
のClose[0]がtickごとの呼び出し時に更新されないという意味だったのですね。
理解出来ました。
ありがとうございます。

--- sampleEA.mq4 ---
string Close10Str(string sym)
{
string str =
sym +
" Close[1] = " + DoubleToStr(iClose(sym,Period(),1),MarketInfo(sym,MODE_DIGITS)) +
" Close[0] = " + DoubleToStr(iClose(sym,Period(),0),MarketInfo(sym,MODE_DIGITS));
return(str);
}

int start()
{
string msg =
Close10Str("EURUSD") + "\n" +
Close10Str("GBPUSD") + "\n" +
Close10Str("USDJPY") + "\n" +
Close10Str("EURJPY") + "\n" +
"";

Comment(msg);

return(0);
}
114Trader@Live!:2013/11/25(月) 02:18:19.95 ID:1JZlshyC
最初から、個別の問題の解決法を聞いているわけではないんだけどな。
>>104が答えならOK。サンクス。
115Trader@Live!:2013/11/25(月) 02:51:24.77 ID:TqZQFLL8
なんかよくわからんがそうなのか。
>>107でも変数とか書いてたのでてっきりプログラムでの利用方法についての
質問だとおもってたんだが違ったのかw

話は変わるが、バックテストしててt/pになったポジの利益がどうも指値と
ずれることがたまにあっておかしいなと思ってたらこれはスワポが考慮され
てるのか。しかも週末は3倍ついてるとか、初めて気が付いたw
116Trader@Live!:2013/11/25(月) 16:37:19.42 ID:TqZQFLL8
>>113
そう。[0]は常にその時点での最新(つまり、ヒストリーファイルに記録され
ている値そのまま)が取れてしまうので、[0]に依存しないEAであれば複数通
貨を利用したものテストすることができると思う。
これに気づかないと爆益EAを手に入れたつもりになる。
これはチャートに表示されたインジケーターをみてこのインジケーターで
爆益!と思うのと同じこと。
117Trader@Live!:2013/11/28(木) 18:19:23.76 ID:OVNzyrcJ
豊嶋久道先生の近著「FXメタトレーダー4&5」では入門編・実践編では
対応していなかったカウントダウンでの問題(成行き注文関数中に損切り、
利確が入らないという問題)は新たにライブラリーを用意することで解決
されたようである。他人の作ったライブラリー関数をそのまま使うのは、潔し
としない人がいるのは仕方がないが、そのこと以外にライブラリーを使うデメ
リットあったら教えてほしい。
118Trader@Live!:2013/11/28(木) 18:51:43.34 ID:vvC5uYfK
そのライブラリを理解する必要がある。
そのライブラリの作法に則る必要がある。
バグがあるかも知れない。
ウィルスが仕込まれてるかもしれない。
119Trader@Live!:2013/11/28(木) 19:20:33.52 ID:OVNzyrcJ
>>118
なるほど、固有のリスクがあるということと汎用性が低下するということ
ですね。ありがとう。
120Trader@Live!:2013/11/29(金) 20:11:56.82 ID:c8LcQaYh
>>116
これはClose[0]を使わずBid,Askを使った方が
よりリアルトレードに近いバックテスト結果を得られるということですか?

× if(iBands(NULL,0,20,2,0,PRICE_LOW,MODE_LOWER,0)>Close[0])...
○ if(iBands(NULL,0,20,2,0,PRICE_LOW,MODE_LOWER,0)>Ask)...

みたいに。
私もプログラムいじっててClose[0]の方が利益が高いことには気づいてたのですが。
121Trader@Live!:2013/11/29(金) 20:49:32.23 ID:kqOk4a7i
違う。
テスターで動かす場合に他通貨の[0]が正しく取れないって話。
122Trader@Live!:2013/11/29(金) 21:17:32.71 ID:c8LcQaYh
>>121
他通貨を参照する時の話ですか・・・。
自分の疑念と重なったようで少し見当違いしておりました。
123Trader@Live!:2013/11/29(金) 21:37:14.44 ID:kqOk4a7i
ちなみに、Close[0]と同じなのはBidなのでAskを使うと
利益が変わるのはある話。
124Trader@Live!:2013/11/29(金) 22:08:54.25 ID:c8LcQaYh
>>123
おお、本当ですね。
よくこれを知らずにプログラムしてたなという感じです。
勉強になりました。
125Trader@Live!:2013/12/01(日) 13:05:39.24 ID:0pvzUmVa
自前のDLLでOrdersend,Ordercloseに代わるものを作成して
発注処理にかかる時間をより短くしたいのです
126Trader@Live!:2013/12/01(日) 13:07:51.05 ID:lnOSOoZY
>>125
諦めなさい。

定期的にサーバと通信して、
ネゴシエーションを繰り返さないようにすれば、
発注処理に掛かる時間を減らせるらしいけどね。
127Trader@Live!:2013/12/04(水) 03:32:44.98 ID:439sk8Q7
レイテンシのことはよく考えるけど発注の内部ロジックまでは・・・。
多分普通のLANケーブルを1m単価1万円級の高級LANケーブルにするのと同じくらいの効果しか期待できない。
128Trader@Live!:2013/12/07(土) 04:43:52.90 ID:NW7hn7jd
>>125
自前の処理を速くしてもブローカーの処理が問題になるのは
かつてのアービトラージで実証済み。
無駄な妄想と時間を他のものに使いなさいなw
129Trader@Live!:2013/12/07(土) 09:41:24.35 ID:cI76BhtC
MT4が出た当時はシングルコアCPUがメインでしたが、
今はマルチコアが普通です
DLLでマルチコア対応することで高速化も可能?
特に指標時の応答性が改善されると思ってます
130Trader@Live!:2013/12/07(土) 19:07:02.35 ID:3cBdQTXt
回答無視して次の質問てようやるわ・・・。
131Trader@Live!:2013/12/07(土) 19:28:21.46 ID:UF2USGEB
DLLでマルチコア対応すると、改善効果は高いでしょうね。
おそらく光の速さを超えるかもしれない。
132Trader@Live!:2013/12/08(日) 09:19:15.28 ID:0zUBMd/5
まささんという方が作ったトラリピ用EAを使っているんだが、最近M2J社の特許
紛争に巻き込まれて、そのEAを公開しなくなった。また、少し進化させたもの
を商材会社が販売していたが、それも中止に追い込まれている。
まささんに訊けないので、誰かおしえて!
EAでは int start()直後にdoTraprepeatifDoneなる関数を使っているのだが、
その関数は、#includeのなかの stdlib.mqhで定義されていないのになぜ使える
のか?また、その何行か後では、int doTrapRepeatifDoneとint変数扱いで
使われてもいる。このあたりの関連性分かる人教えて!
133Trader@Live!:2013/12/08(日) 09:42:03.35 ID:l6eJ+oCY
>>132
startのあるソースに記述されてんじゃないの?
134Trader@Live!:2013/12/08(日) 13:34:25.24 ID:susFGWey
初心者スレから転載です。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というのもピンとこないです。
よろしくお願い致します。
135Trader@Live!:2013/12/08(日) 23:41:06.11 ID:XEqhQmK9
スクリプトでIsTradeAllowed()を実行すると、土日でトレードできない状態なのに、
Trueを返します。

以前、「エキスパートがトレードを許可されて、トレードのスレッドが占有されていない場合は、TRUE を返し、そうでない場合は、FALSE を返します。
という関数だから」と言う返信を受けました。

土日でエキスパートがトレードを許可されていないので、やはりFALSEだと思うのですが、
違うのでしょうか。
136Trader@Live!:2013/12/08(日) 23:51:33.50 ID:SyeVS+/w
>>135
仕様を決めるのはMetaQuotesであってあなたではない
それだけのこと
137Trader@Live!:2013/12/09(月) 00:24:25.70 ID:1gGd2Jr/
>>135
土日でも注文だせないとこまるんじゃねーすか
138Trader@Live!:2013/12/09(月) 00:26:07.91 ID:p+KSZk+4
>>136
どの部分を読んで私が仕様を決めたと感じたか分かりませんが、差し支えなければ、
私の質問に対するMetaQuotes社の仕様を教えて頂けないでしょうか。
139Trader@Live!:2013/12/09(月) 00:30:02.89 ID:p+KSZk+4
>>137
いや土日で注文だせない事は確認済みです。

実際エキスパートの方でIsTradeAllowed()の戻り値を見ると、
しっかりFALSEを返します。

何故かスクリプトだとTrueを返すんですよね。
スクリプトだと常にTrueを返す仕様となっているんでしょうか。
140Trader@Live!:2013/12/09(月) 00:37:58.50 ID:1gGd2Jr/
>>139
じゃあそういうことなんだろうね
141Trader@Live!:2013/12/09(月) 00:41:34.33 ID:hTnzj1cd
>>138
以前回答を貰ったんでしょ。リファレンスは読んだのかい?
リファレンスも読まないでここで仕様にけち付けたってどうしようもない
MQLが気に入らなければ他を使えばいいし、気に入る関数を自分で実装してもいい
EAも条件が揃えば土日でもtrueを返すよ
142Trader@Live!:2013/12/09(月) 01:24:29.49 ID:hZKraLZa
>>137
最初にもらった解答が全てのように思うんだが・・・。
トレードのスレッドが占有されて無くてEAが取引を許可されてたら(ニコニコマークになってたら)true、それ以外はfalseって関数だろ。
「実際に注文が出せるか」はこの関数ではチェックしない。
143Trader@Live!:2013/12/09(月) 01:25:18.11 ID:hZKraLZa
あっ、アンカーミスった
>>135 宛てです失礼
144Trader@Live!:2013/12/09(月) 02:03:06.52 ID:hTnzj1cd
>>142
重箱の隅を突付いて申し訳ない
リファレンスの the expert is allowed to trade の部分が曖昧で具体的に何を指すかは不明瞭
関係しそうなのはEA全体に影響するMT4のツール-オプション-エキスパートアドバイザーにある、
「エキスパートアドバイザーを有効にする」と「自動売買を許可する」ですが、
これはIsTradeAllowed( )には関係ないようです→ニコニコマークでは判断できない
個別チャートのエキスパートアドバイザー-設定...-全般にある「自動売買を許可する」のほうが
IsTradeAllowed( )に影響を与えるようです

サーバーとの接続の有無や取引時間内であることなどは関数の戻り値に影響を与えないという仕様なら、
質問者もそれを受け入れるしかないでしょう
それを妥当と考えるか理不尽と感じるかは勝手ですが
145Trader@Live!:2013/12/09(月) 05:20:24.66 ID:DT5wSQHo
日経などCFDのチャートをしっかり表示してるブローカーってある?
色々ググって幾つもブローカー試したけど
一番マシなとこでもローソク足が飛び飛びでまともに表示されないし
146Trader@Live!:2013/12/09(月) 08:13:59.35 ID:p+KSZk+4
>>141
リファレンスを読んだ上で質問させて頂いています。

MQLを気に入らないとは一言も言っておらず、何故スクリプトではFLASEを返すのかと言う点が
気になったので質問させて頂いた次第です。
147Trader@Live!:2013/12/09(月) 08:15:48.87 ID:p+KSZk+4
間違えました。
何故スクリプトではTRUEを返すのかと言う点が気になったので、
質問させて頂いた次第です。
148Trader@Live!:2013/12/09(月) 08:20:33.98 ID:p+KSZk+4
>>144
大変勉強になりました。
丁寧なご回答ありがとうございます。
149Trader@Live!:2013/12/11(水) 01:10:11.67 ID:tEWBa+vE
最近MQ4のプログラミングを勉強し始めて、ネットを徘徊しているうちにポジションを一つしかとらないプログラムなら書けるようになりました。
今作成しているものはポジションが決済されるまでは次のポジションを取らないので
取引条件に本当に期待値があるのかどうか測りかねています。

そこでポジション数の制限を無くし、条件を満たした場合は全部ポジションを取っていくという方法をとりたいのですが
その方法が良くわからないため書き込みさせていただきました

よく以下のような記述を見かけるのですが、リファレンスを見ても部分的にしか理解できず困っています
分かる人には簡単すぎる内容だと思い、申し訳ないのですが以下の記述の意味を詳しく解説していただけないでしょうか?

CurrentPosition=-1;
 for(cnt=0;cnt < OrdersTotal();cnt++){
   OrderSelect(cnt,SELECT_BY_POS);
   if(OrderSymbol() == Symbol()) CurrentPosition=cnt;

宜しくお願いします。
150Trader@Live!:2013/12/13(金) 08:14:12.39 ID:um2aLTSp
CurrentPositionを-1で初期化しておいて、
for文で全部のポジションを呼び出す
現在と同じシンボルのポジションならcntをCurrentPositionに保存する
ループ後にCurrentPositionが-1なら該当なし
151Trader@Live!:2013/12/13(金) 12:38:07.35 ID:MJbQfs/T
”FXメタトレーダー実践”という本のフィルターシグナルでモーメンタムを
使おうと思っていますがコンパイルでエラーになってしまいます。どうしたらいいでしょうか。
教えてください(>_<)

extern int MomPeriod = 20; // モメンタムの期間

// フィルター関数
int FilterSignal(int signal)
{

// モメンタムの計算
double mom1 = iMomentum(NULL, 0, MomPeriod, PRICE_CLOSE, 1);


int ret = 0;
if(signal > 0 && mom1 > 100) ret = signal;
if(signal < 0 && mom1 < 100) ret = signal;

return(ret);
}
152Trader@Live!:2013/12/13(金) 13:00:34.95 ID:/QfOVMmw
>>151
エラーメッセージみなされ
153Trader@Live!:2013/12/13(金) 13:29:22.42 ID:MJbQfs/T
>>152 ↓のように表示されましたがどう直してよいかわかりません。教えていただけるとうれしいです。

Function "FilterSignal" is not referenced and will be removed from exp-file


機能(「FilterSignal」)は参考文献として載せられず、exp-ファイルから取り除かれるだろう。
154Trader@Live!:2013/12/13(金) 13:38:26.95 ID:/QfOVMmw
>>153
その関数は使われてないから消してもいいぞってことじゃないか
155Trader@Live!:2013/12/13(金) 13:41:40.38 ID:/QfOVMmw
>>153
それとそれはエラーじゃないからコンパイルはできるよ
できないなら他のところにミスがあるんでしょう
156Trader@Live!:2013/12/13(金) 14:56:56.10 ID:MJbQfs/T
>>154
何とか直してコンパイルできました。(^^ゞ
スタート関数に「エントリーシグナルのフィルター」が書いていませんでした。
157Trader@Live!:2013/12/13(金) 14:59:54.77 ID:MJbQfs/T
>>154
何とか直してコンパイルできました。(^^ゞ
スタート関数に「エントリーシグナルのフィルター」が書いていませんでした。
158Trader@Live!:2013/12/15(日) 00:47:43.35 ID:MXG+uW+D
このツール使って儲かってますか?
159Trader@Live!:2013/12/15(日) 22:55:14.63 ID:ql9ypI+y
初心者だけどrsi20で買って70で決済、80で売って30で決済という簡単なシステムを作りたいんだけど
これでいいですか?収益グラフが変になります。(下は主な部分のみです。)

// 外部パラメータ
extern double Lots = 0.1;
extern int Slippage = 3;
extern int RSIPeriod = 14; // RSIの期間

// エントリー関数
int EntrySignal(int magic)
{
// オープンポジションの計算
double pos = MyCurrentOrders(MY_OPENPOS, magic);
// RSIの計算
double rsi1 = iRSI(NULL, 0, RSIPeriod, PRICE_CLOSE, 1);

int ret = 0;
if(pos <= 0 && rsi1 < 20) ret = 1;
if(pos >= 0 && rsi1 > 80) ret = -1;
return(ret);
}

// エグジット関数
void ExitPosition(int magic)
{
// オープンポジションの計算
double pos = MyCurrentOrders(MY_OPENPOS, magic);

// RSIの計算
double rsi1 = iRSI(NULL, 0, RSIPeriod, PRICE_CLOSE, 1);

int ret = 0;
if(pos < 0 && rsi1 < 30) ret = 1;
if(pos > 0 && rsi1 > 80) ret = -1;

// オープンポジションの決済
if(ret != 0) MyOrderClose(Slippage, magic);
}
160Trader@Live!:2013/12/15(日) 22:56:33.56 ID:ql9ypI+y
追加
「メタトレーダー実践」という本のリスト4.2ジェネリックシステム2です
161Trader@Live!:2013/12/16(月) 05:35:44.58 ID:NC8BYUFE
>>159
保有中のポジションのチェックがないからエントリーシグナル発生中にtickごとにポジションをとる。
162Trader@Live!:2013/12/16(月) 16:33:30.50 ID:1oMeoB8G
>>161
説明があまりわかりません。初心者ですいません
どこを変えればよいですか?
163Trader@Live!:2013/12/16(月) 16:43:02.19 ID:65QGvMzr
その前にさ、「収益グラフが変になります。」じゃどう変なのか本人以外にはわからない。
どういうグラフを期待したのにどうなったのか説明したほうがいいと思うよ。
164Trader@Live!:2013/12/16(月) 18:52:51.51 ID:/hsMge4P
収益グラフの何が変かは知らんけど
少なくとも

>rsi20で買って70で決済

ってことなら、 ExitPosition(int magic) の中はこうすべきじゃね?

× if(pos > 0 &amp;&amp; rsi1 > 80) ret = -1;
○ if(pos > 0 &amp;&amp; rsi1 > 70) ret = -1;
165Trader@Live!:2013/12/17(火) 22:19:27.63 ID:vt/ZKYqJ
>>164 間違えました。
厳しい条件でエントリー、危なくなったら決済が私の投資スタンスなのでこのようなシステムを作ろうと思っています

// 外部パラメータ
extern double Lots = 0.1;
extern int Slippage = 3;
extern int RSIPeriod = 14; // RSIの期間

// エントリー関数
int EntrySignal(int magic)
{
// オープンポジションの計算
double pos = MyCurrentOrders(MY_OPENPOS, magic);
// RSIの計算
double rsi1 = iRSI(NULL, 0, RSIPeriod, PRICE_CLOSE, 1);

int ret = 0;
if(pos <= 0 && rsi1 < 20) ret = 1;
if(pos >= 0 && rsi1 > 80) ret = -1;
return(ret);
}

// エグジット関数
void ExitPosition(int magic)
{
// オープンポジションの計算
double pos = MyCurrentOrders(MY_OPENPOS, magic);

// RSIの計算
double rsi1 = iRSI(NULL, 0, RSIPeriod, PRICE_CLOSE, 1);

int ret = 0;
if(pos < 0 && rsi1 < 30) ret = 1;
if(pos > 0 && rsi1 > 70) ret = -1;

// オープンポジションの決済
if(ret != 0) MyOrderClose(Slippage, magic);
}
166Trader@Live!:2013/12/17(火) 22:33:07.32 ID:vt/ZKYqJ
>>164
初歩的なミスでした。(^^ゞ  
質問する側なのにすみません。
でもなんで>>159の時は収益グラフが変(売り買いが繰り返される)になったんだろ
167 ◆N5NekoNeko :2013/12/17(火) 22:41:46.98 ID:RSwx3G4z
retが1でも-1でもMyOrderClose(Slippage, magic)で呼んでるけど、意味あるのか微妙じゃない?
MyOrderCloseの中で方向見てるならこの関数自体意味ないし、見てないなら多分これが原因だと思うけど
168Trader@Live!:2013/12/17(火) 22:50:33.40 ID:dQVoghUF
>>165
だから収益グラフの何が気に入らないのか書かないと、他人には全然わからないって。
一度もエントリしないのか、予想の100倍以上のポジションを持ってしまうのか。
それとも売買結果が大きなマイナスになるのが気に入らないのか。
イグジット条件がRSIの30と70だけじゃそのうち決済はされるでしょうけど、
その時にはとんでもないマイナスになっている可能性もかなりある。
169 ◆N5NekoNeko :2013/12/17(火) 22:52:19.88 ID:RSwx3G4z
ごめん 勘違い
MyCurrentOrders(MY_OPENPOS, magic);が多分、買いでプラス、売りでマイナスを返すならエントリーもエグジットも問題ないか
自分で作ったのか、何かを参考にしたのかわからないけど、
多分売り買いが繰り返されるのはMyCurrentOrders()に問題がある
170168:2013/12/17(火) 22:59:55.10 ID:dQVoghUF
あれ?ちょっと微妙だけど解決したのかな?
リロードしてなかったのでよけいなこと書いちゃったね。
解決したのならごめん。忘れて。
171Trader@Live!:2013/12/17(火) 23:09:59.50 ID:5PNbv0au
int counted_bars=IndicatorCounted();
int limit=Bars-counted_bars-1;

このlimitは、足が増えた分、0から1ずつ増えるという意味でいいのですか?
最初の総数であるbarsから、カウントされていない数を引いたという意味だから、
インジが開始されてからカウントされた足の数を返すという意味でしょうか?
172Trader@Live!:2013/12/17(火) 23:34:12.80 ID:IkwBssMI
IndicatorCounted()は計算済みの本数だよ。
Barsが総数だからそれから引いた残りが計算しないといけない本数。
173Trader@Live!:2013/12/18(水) 00:10:21.52 ID:msxtA6Jj
たとえばインジが起動したとき足の総数が10本あったとしたら、一番最初は動いているわけだから
barsは10、indicatorCounted()は9で、1本足が増えたらbarsは11、ind〜は9のまま、limitは11−9−1=1という理解でいいですか?
174Trader@Live!:2013/12/18(水) 00:12:51.01 ID:dqVarRcW
IndicatorCounted()の最初は0だよ。
175Trader@Live!:2013/12/18(水) 00:44:39.14 ID:msxtA6Jj
え@@;
176Trader@Live!:2013/12/18(水) 11:02:57.26 ID:msxtA6Jj
過去5本分の陰線と陽線の差を5本だけ表示させる計算はこうでいいですか?

int start() {
int oo,i,k;
int counted_bars=IndicatorCounted();
int limit = Bars - counted_bars -1;
i=Bars-5+1;
if(counted_bars>5-1) i=Bars-counted_bars-1;
oo=0;

k=i+5-1;
while(k>=i)
{
if(Open[k]<Close[k])
{
oo=oo+1;
}
else if(Open[k]>Close[k])
{
oo=oo-1;
}
else if ((Open[k]==Close[k]))
{
oo=oo+0;
}
rr[k]=oo;
SetIndexLabel(1,oo);
k--;
}
return(0);
}
177Trader@Live!:2013/12/18(水) 17:37:18.91 ID:M0dWJzgw
MT4で、2年以上自作EAを動かしているものですが、

int Ticket;
while(IsTradeContextBusy()) Sleep(10);
Ticket = OrderSend(...);

OrderSendが成功しても、Ticketに-1もしくは0が返されることはあるのでしょうか?
今回初めてこういった現象が発生したのですが、、、MT4はカウントダウン方式の業者です。
178Trader@Live!:2013/12/18(水) 17:52:43.13 ID:dqVarRcW
OrderSend()のエラーは-1だけ。GetLastError()の結果は?
エラーならログに出てるはずだけど、わからないならここに貼れば。
179Trader@Live!:2013/12/18(水) 17:56:30.43 ID:dqVarRcW
Sleep()したらRefreshRates()呼ばないとエラーになる可能性はある。
その書きようだと今回の件とは関係ないんだろうけど。
180Trader@Live!:2013/12/18(水) 18:16:41.18 ID:M0dWJzgw
エラー処理ルーチンは使ってないけど、操作履歴にエラーは出ていない。
実際、オーダーは通っているし、問題は、単ポジのEAなのに2ポジのオーダー
が通ってしまっていること。Ticket>0(トレードプールにポジがある)の場合は、
エントリーできないように対策もしてあるんだけど。訳がわからない。
181Trader@Live!:2013/12/18(水) 18:23:47.01 ID:dqVarRcW
最初の質問と矛盾してないか。
こっちが訳がわからん。お前のエラー処理ルーチンなんて知らんよ...
もう少し整理して質問しろ。
0は有効なticketなんだからTicket>0の場合てのがまずいんじゃないのか。
トレードプールてのもの何のことかわからんけど。
182Trader@Live!:2013/12/18(水) 18:26:28.80 ID:dqVarRcW
あぁ、プールってのはOederSelect()の対象か。
poolなんて表現してたんだな。
183Trader@Live!:2013/12/18(水) 18:28:32.01 ID:dqVarRcW
>>180
ログは2か所あるけど、両方見た?
というk、そもそもエラーじゃないんだろ。
どっちにしろ、そのEAにバグがある可能性が100%だと思う。
184Trader@Live!:2013/12/18(水) 18:37:18.70 ID:M0dWJzgw
>>178 >>179 >>181 >>182 >>183
みんな、気、使ってくれてありがとう。

今日一日、ソースの見直しをやっても解らなかったので質問させてもらったんだけど、
もう一度、ソースのチェックやってみるわ。バグかも知れん。
185Trader@Live!:2013/12/18(水) 18:41:24.78 ID:dqVarRcW
みんなww
OrderSend()のログは残ってるだろうからそのあたりのログを
調べるとか、そのポジのマジック番号を調べて本当にそのEAの
管理下で複数ポジになったのかとかも調べてみたら。
186Trader@Live!:2013/12/18(水) 18:50:34.57 ID:M0dWJzgw
>>185
操作履歴、エキスパートログともチェック済。マジックはチェックできないけど、
エントリーコメントではチェック済。同一口座で複数のEAを走らせているけど、同
時刻に他のEAはポジを持とうとしていない orz
187Trader@Live!:2013/12/18(水) 18:54:13.54 ID:dqVarRcW
どういうケースでそうなるのか調べてみたら。
その結果の質問が
「OrderSendが成功しても、Ticketに-1もしくは0が返されることはあるのでしょうか?」
であれば、そもそも-1ならエラーだし、0はあり得る、が答え。
188Trader@Live!:2013/12/18(水) 19:03:31.14 ID:M0dWJzgw
>>187 確かに。
ターミナルウインドウの「取引」タブの「注文番号」には、0より大きい番号(チケット番号)が
表示されてたけれど、内部変数Ticketには、何らかの理由で、0が代入されたということから、再
考してみるわ、ありがとう。
189Trader@Live!:2013/12/19(木) 02:22:01.92 ID:67iGkIEo
質問させてください。
売買条件を満たした場合に
・過去10本以内の足で既にエントリーしていた場合は売買条件を満たしてもエントリーしない
・過去10本以内の足でポジションを取っていなかった場合はエントリーする
という事をやりたいのですが、どういう記述をすればよいのかわかりません。

何か方法があれば教えていただければと思います。
190Trader@Live!:2013/12/19(木) 02:54:12.51 ID:uNhXdAaz
こんな感じ。breakのコメントは保証はないけど外してもいいかな。
  datetime t;
  for (int i = OrdersTotal() - 1; i >= 0; i--) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderOpenTime() > t) {
        t = OrderOpenTime();
        //break;
      }
    }
  }
  if (t < Time[10]) {
    OrderSend(...);
  }
191Trader@Live!:2013/12/19(木) 03:15:54.34 ID:JmvhfaOm
裁量や他のEAが出したオーダーは気にせず、そのEAがオーダーを出してなければ、というだけの条件でいいなら
グローバル変数を1個用意しておいて、
ポジションを持ったときに注文時間かその足のopen時間を保存、
その後条件を満たしたときはその変数をTime[9]と比べる、とかでもできるよ。
192Trader@Live!:2013/12/19(木) 03:56:42.31 ID:67iGkIEo
189です。
回答ありがとうございます。

今出先なので帰ってからあらためて読みます
ありがとうございます
193Trader@Live!:2013/12/19(木) 09:34:46.76 ID:wKKeJDuc
>>187 以下のように訂正して、デモ口座で動かしてみるよ。参考になったよ。

//注文送信関数 <2013.12.19>訂正
bool OrderEntry(int type,double lots,int slippage,string comment,int magic)
{
bool OrderSended = false;
int Ticket;
if(type == OP_BUY)
{
while(IsTradeContextBusy()) Sleep(10);
Ticket = OrderSend(Symbol(),type,lots,MarketInfo(Symbol(),MODE_ASK),slippage,0,0,comment,magic,0,Blue);
}
if(type == OP_SELL)
{
while(IsTradeContextBusy()) Sleep(10);
Ticket = OrderSend(Symbol(),type,lots,MarketInfo(Symbol(),MODE_BID),slippage,0,0,comment,magic,0,Red);
}
if(Ticket >= 0)//関数OrderSendが成功しても極稀にチケット番号を返さない事象が発生する("0"のまま)様なので,if(Ticket > 0)を訂正<2013.12.19>
OrderSended = true;
if(Ticket == -1)//if(Ticket <= 0)を訂正<2013.12.19>
OrderSended = false;
if(OrderSended == true)
return(true);
if(OrderSended == false)
return(false);
}
194Trader@Live!:2013/12/19(木) 09:47:37.05 ID:X9peEqNF
増えた足の数を取得する方法はありますか?
195Trader@Live!:2013/12/19(木) 12:18:04.41 ID:67iGkIEo
>>190さん
for文で直近のポジションのエントリー時刻 t を調べ、下段のif文で10本前の足の時刻と比較し
t が10本前の足よりも小さければ(1970年からの経過秒数が小さければ)ポジションを取る
という事ですね

>>191さん
その条件で考えていました。
なので、教えて頂いた方法でも書いてみようと思います

初心者なので時間がかかりましたが、ようやく理解できました。
すごく助かりました。ありがとうございました。
196Trader@Live!:2013/12/19(木) 18:57:06.81 ID:uNhXdAaz
>>193
多分別のところの問題があるんじゃないかなぁ。
>>194
void start()
{
  static int lastBar;
  
  int addedBar = Bar - lastBar;
  Print("addedBar= ", addedBar);
  
  lastBar = Bar;
}
197Trader@Live!:2013/12/20(金) 00:37:18.68 ID:uz+Pdpwe
1週間ばかし悩んでるのだが教えてくれ。
4つ前から1ずつ増やして斜線を延ばしたいのだが1つ前からずっと0になるんだどうすればいいですか
int start() {
int k=0;

int counted_bars=IndicatorCounted();
int limit = Bars - counted_bars -1;

int i=3;
if(counted_bars>0) i=Bars-counted_bars-1;
while(i>=0)
{
rr[i]=k;
k++;
i--;
}
198Trader@Live!:2013/12/20(金) 01:15:56.37 ID:BWCQcSag
void start()
{
  for (int i = 3; i >= 0; i--) {
    rr[i] = 3 - i;
  }
}
199Trader@Live!:2013/12/20(金) 02:29:14.37 ID:uz+Pdpwe
>>198
走らせたらずっと最初の3本だけ斜線で後ろは全部ゼロになったっす。
200Trader@Live!:2013/12/20(金) 02:33:33.37 ID:BWCQcSag
うまくいったわけだな。
201Trader@Live!:2013/12/20(金) 03:13:51.99 ID:uz+Pdpwe
値が3で止まっており、「斜線を延ばしたい」という要件を満たしてないっす
202Trader@Live!:2013/12/20(金) 03:17:37.61 ID:BWCQcSag
4つ前から伸ばしてるだろ。
203Trader@Live!:2013/12/20(金) 03:32:38.02 ID:uz+Pdpwe
斜線が止まってるので延ばしてるとはいえないっす誰かタスケテ
204Trader@Live!:2013/12/20(金) 03:34:43.33 ID:BWCQcSag
ちゃんと説明しろ。
説明できないなら図で示せ。
205Trader@Live!:2013/12/20(金) 08:56:28.10 ID:uz+Pdpwe
../
./
/
↑起動直後がこう(高さが3)で、足が増えるたびに
.../
../
./
/
↑4,5,6〜と高さを増やしたいです。高さ=rr[i]みたいな図を描きたいですところが今まで試すとどうしても
....../
...../
____/
↑高さが3で止まってしまいrr[4]以降が0なんですよね〜おねがいします。
206Trader@Live!:2013/12/20(金) 09:15:24.67 ID:hHWnfpXO
誰か教えてくれよ〜頼むからさあ〜〜〜
207 ◆N5NekoNeko :2013/12/20(金) 14:11:03.09 ID:4AQ25C1H
>>205
initで
arrayinitialize(rr,0);

int time=0;
int start(){
if(time==Time[1]){return(0);}
tiime=Time[1];

int i;
for(i=100;i>0;i--){//シフト
rr[i]=rr[i-1];
}
rr[0]=rr[1]+1;
return(0);
}

直で書いたけどたぶんコンパイル通るかな
208Trader@Live!:2013/12/20(金) 14:30:31.27 ID:U/aMFPcc
209Trader@Live!:2013/12/20(金) 15:14:57.84 ID:k9wG0BkK
>>206
ほらよ。
void start()
{
  static datetime t;
  static int n = 3;
  
  if (t != Time[0]) {
    for (int i = 0; i <= n; i++) {
      rr[i] = n - i;
    }
    t = Time[0];
    n++;
  }
}
210Trader@Live!:2013/12/22(日) 02:42:58.11 ID:ybWjsCcn
>>207>>209
中身がよくわからんがどうもありがとうございます!
4kプラスほどある本を買ってきて何とか自分でも作り上げました。動くかどうかは月曜待ち。
ところで足を指定した平均値は足が増えると値は変わるんですかね?

例えばiMA(NULL,0,MAperiod,0,MAmethod,PRICE_CLOSE,3)で、4つ目の足の終値の平均値を求める式は、
一つ足が増えたら増えた時点での4つ目の足の値を返すんですかね??
211Trader@Live!:2013/12/22(日) 16:48:10.96 ID:gAa55MKz
>>210
そう。iMA()とかの関数はすべて最新の足を0とした位置で指定する。
212Trader@Live!:2013/12/24(火) 03:26:47.21 ID:yMozukIz
>>207>>209
逆引きハンドブック片手に非常に勉強になりましたありがとう!
213Trader@Live!:2013/12/24(火) 04:46:37.69 ID:f2l9Ad8V
>>212
逆引きハンドブックみながらソースみると素人でも中身読めるようになりますか?
214Trader@Live!:2013/12/24(火) 10:13:51.47 ID:CwpiBQh9
6
215Trader@Live!:2013/12/24(火) 10:20:25.45 ID:CwpiBQh9
MT4で15分おきにタイマーが鳴るようなインジありませんでしょうか?

PCから時間を取り正確には足の出来る前の14分から15分おきに29分44分という具合にアラートが鳴り
音も選べたらいいのですが、、

外為オプション専用タイマー
で検索していただくと出てくると思うのですが ウラルが何故かはれないので、、

例えば上記のサイトにあるソフトは10分事になるのですが
これは00分からの10分間隔でしか融通がききません。足ができる瞬間を確認でkません
これの改良版みたいなものはありませんでしょうか

よろしくお願いします
216Trader@Live!:2013/12/24(火) 10:32:16.53 ID:gzBuweOe
>>215
vector で 普通のタイマーソフトを探してみたらどう・・?
217 ◆N5NekoNeko :2013/12/24(火) 10:46:25.39 ID:IXsS4Im1
>>215

extern int second=25;//足更新25秒前に鳴らす
int time=0;
int start(){
if(Time[0]<=2*Time[1]-Time[2]-second||time==Time[1]){return(0);}
time=Time[1];
PlaySound("sound.wav");//MT4のSoundフォルダにファイルを用意
return(0);}

確かめてないけどこれでいけるんじゃね
218 ◆N5NekoNeko :2013/12/24(火) 11:00:40.04 ID:IXsS4Im1
>>217
今動作確認はできないけど、ちょっと違ったかも

extern int second=25;//足更新25秒前に鳴らす
int time=0;
int start(){
if(TimeCurrent()<=Time[0]+Time[1]-Time[2]-second||time==Time[1]){return(0);}
time=Time[1];
PlaySound("sound.wav");//MT4のSoundフォルダにファイルを用意
return(0);}
219Trader@Live!:2013/12/24(火) 11:19:52.02 ID:gzBuweOe
>>215 >>217
Neko殿はお優しいですね。

インジケータなら先頭に一行追加しておく必要有りです。
#property indicator_chart_window
220Trader@Live!:2013/12/24(火) 11:37:53.04 ID:CwpiBQh9
>>216
ありがとうございます ソフトはどんな高スペPCでも全て遅れるんです
>>218
>>219
ありがとうございます
すぐに確認できませんが、、、なにかありましたら又教えて頂けたらありがたいです
221Trader@Live!:2013/12/24(火) 12:19:56.91 ID:gzBuweOe
>>220
Graphic-Clock
ttp://www.vector.co.jp/soft/winnt/personal/se044499.html

これの Peridical timer も試してみた?
Start 時刻を 0:14 にして、interval を 15 にすれば実現可能だけど。
これもPCの時計見てるから、これで遅れるなら PCの時計がおかしいと思うぞ?
222Trader@Live!:2013/12/24(火) 13:11:10.87 ID:CwpiBQh9
>>221
ありがとうございます
試してみます!!
223Trader@Live!:2013/12/24(火) 16:30:42.80 ID:7hqrFAY4
MT4で作るならスクリプトにするとかしないとね。
インジケーターだとtickがこなければ動かないので。
224Trader@Live!:2013/12/25(水) 03:06:13.45 ID:N5IiaElp
斜線何とか出来上がったよみんなありがとう。
>>213
2ヶ月前までCのfor文くらいしか分かってなかったけど作りたいインジがあったんで一所懸命勉強したわ。
標準インジを色々改良してくと中身が見えてきたりするよ!逆引きで理解が高まった感じっす
225Trader@Live!:2013/12/25(水) 07:54:24.17 ID:hr2BL06Y
取りあえずその少年みたいな喋り方やめろ
226Trader@Live!:2013/12/25(水) 08:36:01.72 ID:dTwJEbhg
チャートが動かんww
227Trader@Live!:2013/12/25(水) 08:36:58.47 ID:MBk+Wwa8
>>215

私の場合は、情報表示用に常に開いている1分足チャートに
下のサンプルのようなインディケーター(M15_alerm.mq4)を入れてます。
( 関係ない機能を削除し15分足専用に纏めました。 )

Byouyomi_sound(Byouyomi.wav)は、60秒の音声wavファイルを自作し、
"バー確定1分前→30秒前→20秒前→10・9・8・7・6・5・4・3・2・1・0"
のように新しいバーが出来るまでカウントダウンするようにしています。
( Byouyomi_minutes分前に鳴り出します。 )

バー確定時には、M15_sound(M15_alerm.wav="15分足確定")が鳴ります。

tick通知が正確に来ないで微妙に秒がずれる場合もありますが、
カウントダウンとM15_soundの2つの音とバー確定の目視をするためか
それほど不便を感じたことはありません。

--- M15_alerm.mq4 ---
#property indicator_chart_window

extern string M15_sound = "M15_alerm.wav";
extern string Byouyomi_sound = "Byouyomi.wav";
extern int Byouyomi_minutes = 1;

datetime old_Time1 = 0;

int
init()
{
old_Time1 = 0;

return(0);
}

int
start()
{
if (Time[1] <= old_Time1) {
return(0);
}
old_Time1 = Time[1];

int day_minutes = TimeHour(Time[0]) * 60 + TimeMinute(Time[0]);

if (day_minutes % (15) == 0) {
PlaySound(M15_sound);
} else if ((day_minutes+(Byouyomi_minutes)) % (15) == 0) {
PlaySound(Byouyomi_sound);
}

return(0);
}
228Trader@Live!:2013/12/25(水) 09:05:58.81 ID:0oZzsCb+
同じくチャートが動かん 初めてだ
229Trader@Live!:2013/12/25(水) 09:47:26.81 ID:F0w6MXl3
クリスマス ブローカー依存だけど数少ないFXの祝日みたいなもの
230Trader@Live!:2013/12/25(水) 10:53:56.24 ID:0oZzsCb+
そうなんですか。ググったらそんな感じの情報がたくさん;
教えて頂きありがとうございました
231Trader@Live!:2013/12/26(木) 07:12:59.58 ID:w27wWUrl
MT4動かないんだが
232Trader@Live!:2013/12/26(木) 08:17:09.45 ID:hU1YXy1t
動かん、何時頃動き始めるのか教えて。
233Trader@Live!:2013/12/26(木) 08:33:26.30 ID:2hROqREj
んー、mt4が無いとポジションが持てない
234Trader@Live!:2013/12/26(木) 09:04:10.36 ID:4zO/Xqjn
俺もMT4が無いと取引しにくい。いつになったら動くのか教えてエロい人。
235Trader@Live!:2013/12/26(木) 10:04:51.73 ID:K9mzPbKK
海外のクリスマスが開けてから。
236Trader@Live!:2013/12/26(木) 10:18:27.60 ID:9hg9/R9e
23日、24日は海外も通常営業なのに全く動かず
そんで今日はまだ海外止まったままなのにドル円50PP近く動くとかww

ホント、なに要因で誰のどこの国のポジションで価格動いてるのか意味不明だな
クリスマスどうこう以前に、一部の指標イベント日を除いて11月から全然動かねえだろ

そんでなんで今海外クリスマス空けてなくて、2時間ちょいで50PPも動いてんだこれ
237Trader@Live!:2013/12/26(木) 11:01:34.23 ID:K9mzPbKK
流動性が低い時に、大きな注文が入ると
カバー先銀行が妥当なプライスを出しにくくなって、大きく動いちゃうんだよ。
238Trader@Live!:2013/12/26(木) 11:16:57.39 ID:NNMQpo3D
>>234

ご利用業者のホームページに記載されている年末年始のお知らせを見ると稼働状況が分かります。

OANDA Japan
12/26 07:00〜
01/01 〜03:00
01/02 07:00〜

FXTF
12/26 08:00〜
01/01 〜02:00
01/02 07:00〜
( 注意:FXTFは(火)〜(金)に10分間(06:55〜07:55)の利用停止時間帯があり )

Alpari Japan
12/26 16:00〜
01/01 〜03:00
01/02 07:00〜

Forex.com
12/26 20:00〜
01/01 〜06:00
01/02 07:00〜
239Trader@Live!:2013/12/26(木) 11:21:03.02 ID:kpi1KPsk
>>238
やさしいね!!
240Trader@Live!:2013/12/26(木) 11:27:42.01 ID:w27wWUrl
GJ!
241名無し募集中。。。:2013/12/26(木) 11:31:06.35 ID:KWNYZ8Fw
5年目なんだが・・毎年mt4動かねええと、焦って質問スレにきてる気がする

クリスマスだからお休みっていう感覚は来年も忘れてるだろうな俺
242Trader@Live!:2013/12/26(木) 11:59:16.52 ID:K9mzPbKK
クリスマスは祝日という習慣が日本に無いのが原因かもだねぇ・・
243Trader@Live!:2013/12/26(木) 14:09:04.57 ID:qN7HtebX
XPでMT5が動かなくなった
244Trader@Live!:2013/12/26(木) 16:05:07.69 ID:2hROqREj
移動平均崩壊ww
今日は使えないな
245Trader@Live!:2013/12/26(木) 16:53:55.09 ID:qN7HtebX
MT5動き出した
246Trader@Live!:2013/12/26(木) 17:45:15.66 ID:Zfibp5sk
cやphpなどでspritf("%.2f",val);こういう感じのことをやりたいのですが
doubleの1をstringの"1.00"に変換するいい方法ありますか?
247Trader@Live!:2013/12/26(木) 17:48:30.80 ID:vIIRJ8Eq
いまMT4起動したらデータが飛んでるw
248Trader@Live!:2013/12/26(木) 17:52:32.71 ID:5q1bC3N1
>>246
DoubleToStr(val, 2)
249Trader@Live!:2013/12/26(木) 17:56:17.09 ID:hU1YXy1t
fxcmでmt4のデモ口座つくったのですが、mt4がインストールできません。
フォルダだけできて中身が空です。
誰か分かる方いませんか?
250Trader@Live!:2013/12/26(木) 17:57:14.41 ID:qN7HtebX
インストロールから出直せばOK
251Trader@Live!:2013/12/26(木) 17:58:12.16 ID:Zfibp5sk
>>248
出来ましたどうもありがとうございます
252Trader@Live!:2013/12/26(木) 17:59:44.88 ID:vIIRJ8Eq
12,3時間データ飛んでるな
253Trader@Live!:2013/12/26(木) 18:24:38.91 ID:qN7HtebX
エンジニアがクリスマス休暇のためまた飛ぶ恐れがあるとかないとか
254Trader@Live!:2013/12/26(木) 19:22:17.75 ID:FrhUFT+v
質問するところが見当たらないからここに書き込むんだけど、VTトレーダーが使えないくなってるけど、対処法知ってる人いる?
255Trader@Live!:2013/12/26(木) 20:04:54.26 ID:K9mzPbKK
>>254
ブローカーに電話した方が早いよ
256Trader@Live!:2013/12/27(金) 08:24:34.58 ID:NqXXhdU6
MT4インストール出来ない〜〜〜〜
本家サーバー止まってるのかな???
257Trader@Live!:2013/12/27(金) 10:09:23.89 ID:qKvQjhA/
>>256
自分もそれで困ってたんだけど
サイバーエージェントのmt4だけインストールできたよ。
258Trader@Live!:2013/12/27(金) 10:53:33.14 ID:NqXXhdU6
>>257
なるほどー
有難うございました
259Trader@Live!:2013/12/30(月) 10:48:25.21 ID:ST+suRzW
質問させてください。
初心者用サイトなどで解説を見ていると

int Ticket;

  if( kakoa > kakob && gennzaia <= gennzaib)
   {
     Ticket = OrderSend(Symbol(), OP_SELL, 1, Bid, 3, 0, 0, "Sell", 0, 0, Blue);
   }

のように、最初にint Ticket; と宣言してから、ポジションを取る時に
 Ticket = OrderSend()
のように記述してあるのですが、なぜTicketを宣言するのか、その理由が分かりません。
OrderSend()だけでも注文は執行されますよね?

int Ticket; と宣言せず if 内の処理で
『Ticket = OrderSend()』 の部分を
『OrderSend()』と書くのと何が違うのでしょうか?

以上です。よろしくお願いします。
260Trader@Live!:2013/12/30(月) 11:06:58.75 ID:yq9hUQBi
OrderSendは注文が成功するとチケット番号を、失敗すると-1を返す。
つまりTicketにはチケット番号(192832みたいな数)や-1が入る。
注文が成功したかどうか確認して、if(Ticket<0)...として注文が失敗した時の処理を書いたり、チケット番号で注文やポジを管理するために変数に格納している。
261Trader@Live!:2013/12/30(月) 11:16:51.98 ID:ST+suRzW
>>260
即レスありがとうございます。
書いて下さった説明を読んでTicketを宣言する意味が理解できました。
ありがとうございました。
262Trader@Live!:2013/12/30(月) 13:35:38.93 ID:gIQwegEp
ある時間足だけ(15分足だけとか)斜めに引いたラインがやたらずれてることがあるんだけどこれはしゃーないの?
263Trader@Live!:2013/12/30(月) 13:59:57.40 ID:Jx7EQrAn
>>262
ずれてる時間足(短期の時間足)よりも長期の時間足に合わせてラインを引いた場合は、
長期の時間足の開始時間の位置に設置されるから、それよりも短期の時間足で表示した場合は意図した位置よりずれる。
たとえば、ある4時間足の高値にラインの開始位置を設定した後に表示を15分足にすると、
実際の高値の位置が4時間のうちの2時間半だとしても、4時間足の開始時間の位置にラインが設置される。

それと、長期の時間足でラインを引いて、短期の時間足で表示してときにチャートのデータ不足で正しく表示されずにずれる。
とかかな。
264Trader@Live!:2013/12/30(月) 20:29:52.23 ID:o0+jCbmT
>>263
始点の関係でずれるっていうのはわかる、それはよくあるんだけど
明らかに位置が違うときだけあるんだよね
↓1時間足と5分足のチャートだけど、緑の線の位置が全く違うっていうか5分足ではすでに突破したことになってる
で、こんなずれてるのは5分足だけ

ttp://www.dotup.org/uploda/www.dotup.org4772713.png.html
ttp://www.dotup.org/uploda/www.dotup.org4772715.png.html
265Trader@Live!:2013/12/30(月) 20:36:08.85 ID:o0+jCbmT
そしてかなり遡ってスクロールさせたりしてたら直った なんだこれ
チャートシフトの関係かな?
266Trader@Live!:2013/12/30(月) 21:26:31.41 ID:UqS2MtCa
それ、M5の足が無かっただけじゃないのか。
267Trader@Live!:2013/12/30(月) 21:36:44.42 ID:Jx7EQrAn
>>265

俺(2つ目に上げたの)や>>266が言ったように足不足だね。
ライン引くのに必要な期間の足を準備すればOK。

あ、誤字あった。
>短期の時間足で表示してときに
短期の時間足で表示したときに
268Trader@Live!:2013/12/30(月) 22:32:53.93 ID:o0+jCbmT
あざっす 直せるんだねこれ
269Trader@Live!:2013/12/31(火) 21:57:39.81 ID:jcGxq8I2
通貨の強弱をはかるインジケーター、k-chartとccfpをMT4に入れてみたの
ですが、FXCMのMT4では正しく表示されますが、FOREXのMT4だと全く表示
されません。これはどうしてでしょうか?
何か対策はありますか?
270Trader@Live!:2013/12/31(火) 22:02:13.46 ID:On/teFBq
>>269
通貨名が、 EURUSD から EURUSDFXF みたいに違うからでは?
271Trader@Live!:2014/01/02(木) 12:24:38.94 ID:kNSNI6wM
インジケーターの勉強したいんだけど、辞典もしくは特集した本はないですか?
272Trader@Live!:2014/01/02(木) 13:04:51.11 ID:kNSNI6wM
自己解決アマゾンで見つけた
273Trader@Live!:2014/01/02(木) 20:42:50.56 ID:jtptTItM
>>272
なんて本買ったの?
274Trader@Live!:2014/01/02(木) 22:40:24.59 ID:h7A5jbRg
>>270
275Trader@Live!:2014/01/03(金) 01:23:20.30 ID:JJ8agGal
>>273
FXメタトレーダーベストインジケータパック 2013って本
インジの勉強したいのに丁度よさそう。
ところでreturn(0)ってプログラムを終了するって意味でいい?
if(Volume[0]==0)return(0);
としたら足の開始時にだけ閉じるってことだよね?
276Trader@Live!:2014/01/03(金) 02:23:48.76 ID:SpGCQUIL
return(0)はその返値を0としてその関数から戻る文。
ちょっと質問の意味がわからんが、Volume[]が0になるかどうかは
サーバー次第なのでそういう書き方はよくないね。
277Trader@Live!:2014/01/03(金) 13:03:59.30 ID:JJ8agGal
0になるかどうかって、データが飛ぶこともあるのか。
↓足の出現時に値をリセットしようとしてみたんだけど。
1tickごとの平均を求めようとしたんだけど動かないんだどこか変?

double j=0;
double b=0;
int i=0;
int start() {

double a;
int counted_bars=IndicatorCounted();

if(counted_bars<=0||Volume[0]==0){
b=Close[0];
j=0.0;
i=0;
}


a=Close[0]-b;

j=j+a;

tck[0]=j/i;

i++;
b=Close[0];
}
278Trader@Live!:2014/01/03(金) 13:15:21.13 ID:kJkbIYMt
足の開始はVolume=1じゃない
でも1がないときもあるんだけどね
279Trader@Live!:2014/01/03(金) 13:42:47.22 ID:92lOMxSF
>>277
足の更新はVolumeじゃなくてバーの開始時間を使え

動かないのは tck[0]=j/i; のとこでゼロで除算してるからだ
280Trader@Live!:2014/01/03(金) 15:58:57.08 ID:JJ8agGal
開始時間がわからないからhigh[]=-low[]にしてみた。
ゼロ除算はif文で回避してみた。でもなんかおかしい。

double j=0;
double b=0;
int i=1;
int start() {

double a,j;
int counted_bars=IndicatorCounted();

if(counted_bars<=0||High[0]==Low[0]){
b=Close[0];
j=0.0;
i=0;
}
a=Close[0]-b;

j=10*(j+a);

if(i>0)tck[0]=j/i;

i++;
b=Close[0];
}
281Trader@Live!:2014/01/03(金) 19:48:56.17 ID:4JSsJs4S
質問お願いします。
MT4でストップを設定すれば損切りは出来るかと思いますが、これを終値でストップを割ったら損切りするようなインジケータやスクリプトはないでしょうか?例えば100円を終値で割ったらその瞬間ストップ発動といった具合です。
わかりづらかったらすいません。
ググっても分からなかったので誰か教えて頂ければ幸いです。
282Trader@Live!:2014/01/03(金) 21:09:25.52 ID:a4duP7oJ
>>281
できる。作るとしたらこんな仕様かな。
設定に必要なデータはストップロス値
スクリプトがドロップされたら入力画面が出てストップ値を設定する。
ドロップされた通貨ペアが少しでも両建てされていた場合は処理しないで終了する。
処理中の場合は右上に以下のように表示(例)する。

ストップロス:95.2(色は白)
ストップロスの条件を達成した場合は、赤字にする。

ロスカットの条件(ロング)
Low[0]<ロスカット値 安値がロスカット値を下回った場合
ロスカットの条件(ショート)
High[0]>ロスカット値 高値がロスカット値を上回った場合
次の足のOpen[0]で損切りする。

内部処理
ロスカット条件
time !=0 && Time[0]>ltime 次の足でロスカットする。
ロスカットが決定したときにTime[0]を変数ltimeに記録する。

先にif文の処理をしてからロスカットかどうか調べる
こうしないと、次の足でロスカット条件が成立していた場合、ltimeが書き換わり
ロスカットしなくなる。

さぁだれかコードをww
283Trader@Live!:2014/01/03(金) 21:11:26.74 ID:a4duP7oJ
ロスカット条件
time != 0じゃなくてltime !=0
284Trader@Live!:2014/01/03(金) 21:11:39.75 ID:SpGCQUIL
ひっでぇ仕様だな、しかし。
そもそも顧客の要望をまったく理解していないし。
285Trader@Live!:2014/01/03(金) 21:18:08.62 ID:4JSsJs4S
早速ありがとうございます。
しかしプログラミング知識のない私には少し難易度が高いようです。教えて頂いたレスを元に少し調べてみます。
しかし裁量では終値ってかなり大事だと思うんですがネット上に転がってないところを見るとあまり需要ないのかな?
286Trader@Live!:2014/01/03(金) 22:08:11.28 ID:Giras7Zp
>>281

スクリプトやインディケーターではなく、EAで実現するのが良いと思います。

下のEA281sample.mq4を、管理するポジションのUSDJPY×対象時間足のチャートに貼り付けて、
LowerPrice=100.0、LowerPriceBreakAction=1 とすれば、終値が100.0を割ったときに
ロングポジションが決済されると思います。


--- EA281sample.mq4 --- (改行多すぎエラーが出たので改行取りました)
extern int ManagementMagicCode = 0;
extern double UpperPrice = 0.0;
extern int UpperPriceBreakAction = 0; // 1:Close All Buy Positions, 2:Close All Sell Positions, 3:Close All Buy/Sell Positions
extern double LowerPrice = 0.0;
extern int LowerPriceBreakAction = 0;
extern int Slippage = 3;

datetime old_Time1 = 0;

int start() {
if (/* Volume[0] <= 1 || */ Time[1] > old_Time1) { // バーの始値か?
if (UpperPrice > 0.0 && Close[1] > UpperPrice) { CloseAllPositions(ManagementMagicCode, UpperPriceBreakAction); }
if (LowerPrice > 0.0 && Close[1] < LowerPrice) { CloseAllPositions(ManagementMagicCode, LowerPriceBreakAction); }
}
old_Time1 = Time[1];
return(0);
}

int CloseAllPositions(int magic, int closeMode /* 1:Buy, 2:Sell, 3:Buy&Sell */ ) {
int tCount = OrdersTotal();

int ret = 0;
for (int i = tCount - 1; i >= 0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) { ret = -1; continue; }
if (OrderSymbol() != Symbol()) { continue; }
if (magic != 0 && magic != OrderMagicNumber()) { continue; }
if (OrderType() == OP_BUY && (closeMode&1) == 1) {
RefreshRates();
if (!OrderClose(OrderTicket(), OrderLots(), Bid, Slippage)) { ret = -1; }
}
if (OrderType() == OP_SELL && (closeMode&2) == 2) {
RefreshRates();
if (!OrderClose(OrderTicket(), OrderLots(), Ask, Slippage)) { ret = -1; }
}
}
return(ret);
}
287Trader@Live!:2014/01/03(金) 22:13:47.42 ID:a4duP7oJ
ロスカットの条件(ロング)
Close[0]<ロスカット値 && Time[0]+(Period()*60)-n秒前 < TimeCurrent()
ロスカットの条件(ショート)
Close[0]>ロスカット値 && Time[0]+(Period()*60)-n秒前 < TimeCurrent()

以上の条件のときにロスカットする
288Trader@Live!:2014/01/04(土) 10:39:02.19 ID:8OgWydnY
皆様ありがとうございます!参考にしてやってみます。
289Trader@Live!:2014/01/07(火) 01:09:09.42 ID:eX4UO7cZ
ストラテジーテストをやっているところなのですが、
テストをやっても結果が真っ白になります。

ヒストリカルデータはちゃんと作りました。
何が原因なのでしょうか?
290Trader@Live!:2014/01/07(火) 01:11:59.34 ID:eX4UO7cZ
オリジナルEAを作ってテストをしているのですが、
バックテストというのが全く上手くできません。
結果が真っ白になります。
MT4にはじめから入っている「MACDナントカ」というのだけが
結果が出るのですが、なぜですか?
ネットで拾ったモノでテストしても
結果が真っ白になります。
どなたか教えてください。
291Trader@Live!:2014/01/07(火) 01:57:17.54 ID:ys9khbf1
まずEAをどこかに
アップロードしなはれ
292290:2014/01/07(火) 02:18:34.50 ID:eX4UO7cZ
>>291
まずバックテストで真っ白になる原因を教えてください。
293Trader@Live!:2014/01/07(火) 02:19:41.24 ID:l19FbYxh
まず、ログにはなんて出てるんだよ。
294Trader@Live!:2014/01/07(火) 02:23:02.41 ID:iMEAZzjx
売買してないってことでは?

画面キャプチャをうp希望
295290:2014/01/07(火) 03:02:48.85 ID:eX4UO7cZ
>>293
バックテストのログなんか出るんですか?
ターミナルの操作履歴には
インジケータが動いたというログしかありません。
>>294
296290:2014/01/07(火) 03:11:26.08 ID:eX4UO7cZ
「MACD sample」っていう初めから入ってるEAは
ちゃんと結果が出るのに
ネットで落としたやつとかでテストすると
全部真っ白になるのはなぜなのでしょうか?
297Trader@Live!:2014/01/07(火) 03:39:11.75 ID:ys9khbf1
>>292
そのために上げろといってるのだが…
ま、がんばって。
298290:2014/01/07(火) 04:35:24.38 ID:eX4UO7cZ
299Trader@Live!:2014/01/07(火) 08:09:25.22 ID:iMEAZzjx
>>298
キーワードが付いててダウンロードできないんだが?
300Trader@Live!:2014/01/07(火) 08:44:01.44 ID:eX4UO7cZ
>>299
3210です
301Trader@Live!:2014/01/07(火) 09:12:58.25 ID:iMEAZzjx
なんで、 ex4 ファイルだけなんだよ^^;
302Trader@Live!:2014/01/07(火) 09:18:19.96 ID:qBxqCp95
>>300
まず、お前が上げたファイルはex4ファイルで、これは製作者以外中身を確認できないファイルな。
だからここに上げて誰も回答できない。

で、真っ白になるっていうのは
サンプルのMACDでテストすると折れ線グラフで結果が表示されるのに、
そのEAでは折れ線グラフが表示されずに真っ白な結果になるって事でいいな?

その原因は恐らく取引が行われていないから。取引が行われない理由は、
■1テスト方法をミスしているか、■2期間内に売買サインが出ていないから、■3もしくはプログラム自体にミスがあるか。

□1、MACDサンプルではテストできているみたいなのでテスト方法は問題ないだろう(一応、テスト期間や通貨ペアその他の項目を見直せ)
□2、ここでは回答できない
□3、ここでは回答できない

>>290
>オリジナルEAを作ってテストをしているのですが 
と言っているが、お前が作ったEAじゃないよな?どこからかダウンロードしたEAだろ?
ならば動かない原因はそのEAを公開してる奴に質問しろ。
なぜならお前がアップロードしたのは、製作者以外中身を見れないものだから。
もし、拡張子が「.ex4」ではなくて「.mq4」のファイルがあるならアップし直せ。mq4ファイルなら中身を確認する事ができるから。
303Trader@Live!:2014/01/07(火) 09:32:42.11 ID:eX4UO7cZ
>>302
mq4をあぷしました。
その通り、このEAだけ真っ白になります。
全くのオリジナルなんですが。
304Trader@Live!:2014/01/07(火) 09:39:53.22 ID:yiNBCNbp
>>303
「最適化結果」タブで右クリックして「マイナスの結果を表示しない」がチェックされていればチェックを外す
こういうこと?
305Trader@Live!:2014/01/08(水) 09:44:30.53 ID:WDBbRnLW
うちのGCI止まっててデモアカウントも作れないんですがみなさんどうですか?
306Trader@Live!:2014/01/08(水) 10:05:08.92 ID:usHqzdp6
GCIがこわれた?
デモ口座できない
307Trader@Live!:2014/01/08(水) 12:08:06.50 ID:B0ur0sZo
>>305
同じです
ブロコみたいに潰れたのかなw
308305=そうちゃん:2014/01/08(水) 12:14:51.40 ID:WDBbRnLW
liveアカウント申請したけど運転免許証
だけでよかっただろうか、パスポートも
いるように見えたけど。

言われたら送ろう。

ダウ、ナス、ハンセン、米10年、金、原油、
が見たい…。
309Trader@Live!:2014/01/08(水) 18:37:52.09 ID:9FZUiP60
GCI、元に戻ったようですね、
駄目な間はFXProを使っていました。
ダウ先と日経先物のコードが違うし、10年T先物もないけど、とりあえずの避難先にはよいと思います。
310Trader@Live!:2014/01/08(水) 19:24:06.53 ID:usHqzdp6
だけど
ローソク足が大部分抜けてる
311Trader@Live!:2014/01/09(木) 01:31:13.53 ID:xCOo2GDC
1tickごとの値幅平均を示すインジをやっと作り上げた。あと上下どちらに振れたかのインジもつくった。
組み合わせるとなかなか面白い。
312Trader@Live!:2014/01/09(木) 04:44:05.09 ID:2zbcVFy+
>>311
コード公開してください!
313Trader@Live!:2014/01/09(木) 09:09:37.27 ID:q8HWvILF
雑談は他スレでどうぞ
314Trader@Live!:2014/01/12(日) 01:39:58.45 ID:lZVWXMPO
なんかインジ作りたいんだけどアイディアくれ
315Trader@Live!:2014/01/12(日) 22:07:31.07 ID:LjPyJLko
とりあえずMTF化しまくれば
316Trader@Live!:2014/01/12(日) 23:58:49.99 ID:PbsQFhdw
>>314
日本語のニュースを表示するインジを作ってください
317Trader@Live!:2014/01/13(月) 03:36:32.40 ID:BV2y10jF
ここ超えたら転換するっていうボーダーラインでも作ってみようかな
318Trader@Live!:2014/01/13(月) 04:00:04.28 ID:YM+1JfQH
>>317
どうやって決めるの?
319Trader@Live!:2014/01/13(月) 07:14:48.01 ID:fZfevdUC
metalang.exeがたまに127を返して終わるんだけどなんだろこれ。
320Trader@Live!:2014/01/13(月) 09:56:56.03 ID:BV2y10jF
>>318
ローソクのhighやlowの位置で判定しようかなあ。一定期間の値動きの幅とか。
321Trader@Live!:2014/01/13(月) 20:40:49.39 ID:RtoA5TIX
EA開発研究スレでやれば?
322Trader@Live!:2014/01/14(火) 03:34:18.65 ID:kv7BmbBt
なんでもMTF化はできると思うけど、あんまメリットがわからんのよね。
ボーダーラインは2種類作ったけど平均線使ったやつのほうが若干反応が早かった。
323Trader@Live!:2014/01/17(金) 20:30:12.51 ID:Ls+pfiXY
Liquidity Connection というのはどこのブローカーもしくはサーバーでしょうか?
324Trader@Live!:2014/01/17(金) 20:34:49.65 ID:5/1JWwhp
>>323
ttp://hayabusa3.2ch.net/test/read.cgi/livemarket2/1386557357/
ゆとり専用スレ

ゆとりはこっち行け
325Trader@Live!:2014/01/18(土) 04:04:16.55 ID:smj4KXc1
何故MT5は普及しないの?(´・ω・`)
326Trader@Live!:2014/01/18(土) 07:37:53.75 ID:1hPKu+C2
普及したところで君には無関係w
327Trader@Live!:2014/01/18(土) 08:27:10.46 ID:+xnIOmqv
>>325
> むかしむかし、とある日本の証券会社が MT5の魅力にいち早く気づきました。
> その証券会社は、日本初の MT5-FX採用業者を目指して、
> いっぱいいっぱい MT5 のテストをしました。
>
> 社内テストをし、デモ口座を公開し、遂に、モニターユーザによる
> 実口座での運用テストまでこぎつけました。
>
> そして1年が過ぎた頃、、突然、大証FXの廃止計画が発表されました。
> この瞬間、MT5を大証FXに対応させるための全ての労力と時間が水の泡と消えました。
>
> 困った証券会社は、店頭FXを行う資格をとり、関連会社から MT4 を譲渡してもらいました。
> そして無事、 MT4 で FX業務を続けることができましたとさ。 めでたしめでたし


こんな話しもあるからな。導入には時間が掛かるんだよ。
328Trader@Live!:2014/01/18(土) 14:12:04.97 ID:chwrNiyE
MT5はチャート見るの専用に使ってる
軽いし良いよ
329Trader@Live!:2014/01/18(土) 18:47:43.68 ID:DkOjR2no
>>327
> >>325
> > むかしむかし、とある日本の証券会社が MT5の魅力にいち早く気づきました。
> > その証券会社は、日本初の MT5-FX採用業者を目指して、
> > いっぱいいっぱい MT5 のテストをしました。
> >
> > 社内テストをし、デモ口座を公開し、遂に、モニターユーザによる
> > 実口座での運用テストまでこぎつけました。
> >
> > そして1年が過ぎた頃、、突然、大証FXの廃止計画が発表されました。
> > この瞬間、MT5を大証FXに対応させるための全ての労力と時間が水の泡と消えました。
> >
> > 困った証券会社は、店頭FXを行う資格をとり、関連会社から MT4 を譲渡してもらいました。
> > そして無事、 MT4 で FX業務を続けることができましたとさ。 めでたしめでたし
>
>
> こんな話しもあるからな。導入には時間が掛かるんだよ。

東証FXがMT5に対応すればいいだけの話だろうが。
330だるまたんJP_FromTheBarrel ◆damaru5/aw :2014/01/19(日) 00:04:05.73 ID:wc7OWB6M
雲(先行スパン1と2の間)を塗り潰さないMTF一目均衡表を作ってくらはいm(*^□^*)m
331Trader@Live!:2014/01/20(月) 20:30:07.63 ID:hl1dD6V0
>>324
○重複質問やくだらない質問でも優しく誘導してあげるか
  さっさと回答して次の質問に行きましょう。
○説教、雑談は控えるように。
332Trader@Live!:2014/01/20(月) 20:34:42.65 ID:T5wGohev
>>331
わざわざスレまで貼って優しく優しく誘導入ってるのになんで説教されたと思ったの?
333Trader@Live!:2014/01/20(月) 21:02:35.29 ID:Ka4CM2kP
>>332
「ゆとりはこっち行け」

これがダメだったとか?w
334Trader@Live!:2014/01/22(水) 02:14:37.07 ID:0gw6Y9gV
MT4で米10年債のチャートの出し方教えてください
335だるまたんJP_FromTheBarrel ◆damaru5/aw :2014/01/22(水) 03:58:51.38 ID:ZEPGvAWg
>>334不可能
336Trader@Live!:2014/01/22(水) 04:46:25.69 ID:Nj0wypQQ
iPhoneのmt4だとポジの一部決済ができるんだけど。pcの方は一度に10枚ポジったら一度に10枚全部決済しかないの?
一部決済が見当たらない。
337Trader@Live!:2014/01/22(水) 15:03:07.72 ID:ZaB10h+A
>>336
アイフォは全決済しかない
338Trader@Live!:2014/01/22(水) 15:09:45.92 ID:ZaB10h+A
ごめん、アイフォの下りは忘れてくれ・・・。
当然PCも一部決済は可能だ。
建玉ダブルクリック→「注文の発注」画面→数量に決済したい数量を入力→成行決済。
339Trader@Live!:2014/01/22(水) 19:46:03.88 ID:VC/IZu5m
極論するとチャートツールって
大人の投資家連中が飯のタネとなる養分を釣るために考案された
ただのエサでしょ?
340Trader@Live!:2014/01/22(水) 19:47:15.91 ID:cOdRnyed
極論すると>>339って
ただのバカでしょ?
341Trader@Live!:2014/01/22(水) 19:52:32.24 ID:H5rrxsm1
>>340
その通り
342Trader@Live!:2014/01/22(水) 19:56:24.87 ID:bD7CHcGm
>>339
極論すると、FXそれ自体が
大人の銀行や証券会社が飯のタネとなる養分を釣るために考案した
ただのエサなんですよ
343Trader@Live!:2014/01/23(木) 03:03:04.86 ID:DIeFsQRt
付属のメタエディタで書いているのですが、例えば部分的に

int A = 2 ;
int B = 3 ;
int X = 2 * 3 ;
print ( X ) ;

というコードを書いた後に、想定通りの動きをしているかどうかのテスト手順として
・まずはtest.mq4という部分動作テスト用に作ってあるファイルにコードをコピペ
・コンパイルする
・テスターの[エキスパートアドバイザ]からコンパイルしたtest.mp4を選択してスタートボタンでテストスタート
・[操作履歴タブ]を選択して、プリントされている(X)の値を確認する
という手順を踏んで確認しています

しかしこの方法だと手間がかかるため、もう少し手間がかからない方法があるのでは、と思っています。
みなさんは部分的に動作テストをする場合、どういう手順を踏んでいますか?
コンパイルしてからもっと簡単な手順で動作テストする方法があれば教えてください
344Trader@Live!:2014/01/23(木) 03:09:42.63 ID:Q267K6+o
それでできるテストなら関数にしておいてinit()から呼べばいいのでは?
345Trader@Live!:2014/01/23(木) 05:02:01.64 ID:Tmd2vd6L
>>338
さんくす
今までやり方わからなくて困ってたから助かった
346Trader@Live!:2014/01/23(木) 18:18:54.85 ID:uwoTS1qW
「VQ2」の別ウインドウ表示されるのを一時的に全チャートで停止させたいんですが、
分析ツールから削除する以外に方法はないでしょうか?
347Trader@Live!:2014/01/23(木) 18:20:22.25 ID:PXIjV5+Q
VQ2.ex4 を一度削除して、MT4再起動するとか。
348Trader@Live!:2014/01/24(金) 11:38:30.31 ID:0P7sHVpp
>>336
決済注文で抜きたいロット数入力して決済する
349Trader@Live!:2014/01/24(金) 11:57:30.71 ID:pNXg8BkZ
チャートのログが溜まり過ぎて起動が遅くなったためヒストリーの中を全部消したら
動作が不安定になり再インストール
チャートの組やインジ点プレは保持されるので組表示させたらCPU100%張り付きで起動不可
しょうがないので1つ1つチャートを表示させてインジテンプレを当てる
最後の1つになって節目の価格にライン引いたらまた100%張り付き発生
もう1回やり直し

みなさんどうしてます?
350Trader@Live!:2014/01/24(金) 12:02:56.55 ID:XvBW+Vo6
それはどれかのインジが無限ループかそれに近い状態になってるだけでは。
ヒストリーが多くて困ることはないからなぁ。
351Trader@Live!:2014/01/24(金) 12:03:55.65 ID:wg2SEByb
>>349
config/terminal.ini を消去
352Trader@Live!:2014/01/24(金) 12:29:32.63 ID:pNXg8BkZ
アリ、こんどやってみる
353Trader@Live!:2014/01/24(金) 13:37:40.23 ID:vKyYN5MI
vps上でインジのサインでメール発信させて携帯(iPhone)で受け取る設定にして順調にメール受信出来てたのだけど、
MT4がフリーズしてどうしようもなくなったのでフォルダを削除して再インストールしたらメール届くのが遅くなってしまいました。
何度インストールし直しても同じで
1時間以上経ってやっと受信する状態で困ってます。
フリーズしたMT4のフォルダはゴミ箱からも完全削除しました。
どうすれば直りますか?
354Trader@Live!:2014/01/24(金) 21:42:42.97 ID:wg2SEByb
>>353
メールを大量に送信してしまったのなら意図的に遅延してるのかもしれません。
メールの送信時間と受信時間を比較してください。

方法
1.送信元のSMTPサーバを変更する または、受信サーバーを変更する
355Trader@Live!:2014/01/25(土) 02:06:22.95 ID:Tc6slrgS
>>353
MTAはローカルのを使ってる?
外部サーバ使ってるならローカルのを使ってみたら
356Trader@Live!:2014/01/25(土) 14:28:51.24 ID:bsO1Hvjt
質問だけど
mt4で自動的に取引可能な最大ロット数で取引するにはどうしたらいいの?
いつもいちいちロット数の数字を設定してるんだけど
357Trader@Live!:2014/01/25(土) 15:03:58.55 ID:07Vawshu
 




























 
358Trader@Live!:2014/01/28(火) 13:33:01.65 ID:/j9r9T2r
サブウインドウ1と3の表示位置を入れ替えるとかはどうやればいいんでしょうか?
359Trader@Live!:2014/01/28(火) 13:35:56.55 ID:xzd96/qQ
>>358
一度MT4を終了して、チャート設定ファイルを書き換える
360Trader@Live!:2014/01/28(火) 21:54:52.86 ID:URfBUqJj
MetaTrader 4の新しいバージョンがリリースされるのは、2月3日ぼ認識で合ってますか?
http://www.mql5.com/en/market/mt4
361Trader@Live!:2014/01/28(火) 22:04:43.43 ID:xzd96/qQ
>>360
どんなスケジュールにも遅れはつきものだ。
362Trader@Live!:2014/01/28(火) 23:08:14.20 ID:X3cx8R6U
>>360
最新のMQL5リファレンス見てたんだが、昔見た時よりスゲー拡張されてて
殆どフルセットのC++クラスが使えるようになってる。
363Trader@Live!:2014/01/29(水) 09:33:15.82 ID:hRz5ALa5
MT4ストアみたいなのが作られるね
多重起動が出来なくなりそう
364Trader@Live!:2014/01/29(水) 15:12:20.89 ID:uxZ1k9NC
MT4 build 574の変更点が大規模で笑ってしまったよ
フォルダ構成も言語仕様もごっそり変わってる
if文の挙動変えてしまって大丈夫なのか?
ソース上書きしたらUTF-16にされてるしw
365Trader@Live!:2014/01/29(水) 17:49:05.43 ID:aqw07Amo
旧runtimeを使うから互換性あるって書いてるけど、#property strict
て書かなければそうなるのかなぁ。詳細の方にはそういうの書いてないから
心配。
366Trader@Live!:2014/01/31(金) 23:44:18.74 ID:WsivegBn
インジケーターからある指定した日付を
自動的にチャートを動かして表示する方法ってありますか?
367Trader@Live!:2014/02/01(土) 10:13:35.83 ID:hyyaM4dF
おはようございます。初歩的な質問ですみませんが

//-------------------------
int count = 0;

int start()
{
  print(count);
  //count = 3;

 retun(0);
}
//--------------------------

上の処理を実行すると、print(count) で[0]が表示されますが
途中コメントアウトしてる部分のコメントアウトを外すとprint(count)でいきなり[3]が表示されます

[count = 3;]よりも[print(count);]の方が上にあるので、最初の一度だけはcount[0]になると思っていました。
最初からcount[3]になる理由が分からないので解説していただけるとありがたいです。
お願いします。
368Trader@Live!:2014/02/01(土) 10:49:00.48 ID:R9KSpLFB
>>367
スクリプトで実行するとゼロだねぇ

その現象が起きたのは インジ?
369Trader@Live!:2014/02/01(土) 11:04:57.69 ID:hyyaM4dF
>>368
スクリプトで試すと0でしたね。
>>367の現象はエキスパートアドバイザーで書いたものです。
370Trader@Live!:2014/02/01(土) 11:09:20.86 ID:hyyaM4dF
すみません、新規ファイルの作成からやりなおしてもう一度試したら今度はちゃんと0になりました。

他の部分に記述ミスがあったみたいです。
本当に申し訳ありません…
371Trader@Live!:2014/02/01(土) 11:48:04.44 ID:hyyaM4dF
以下が実際のコードですが、やはり>>267の状況になります

//--------------------------------
int count = 0;

int start()
{
  print(count); 

  if (count < iBars(NULL, PERIOD_D1))
{
  Print("TUUKATEST"); 
    //(計算処理)
    count = iBars(NULL, PERIOD_D1); //これで日足が更新された最初だけifを通貨すると考えてた
  }
  /*  
    注文処理
  */
 retun(0);
}
//----------------------------------
int startのすぐ下に[print(count);] を置いていますが、print(count)の結果は0ではなく1002と表示されます
ですがif文の中にあるprint("TUUKATEST")は表示されません。
if文は通っていないのにcountにはiBarsで取得した値が入った状態でprintで表示されているので
そこが疑問です。
こういう時は何か凄く初歩的な間違いを犯している事が多い気がしますが…
ちなみに自分がやりたい事は、日足が新しく出来た時だけ計算しなおすという処理ですが
それよりも、なぜこうなるのかが分からずハマってしまっています><
372Trader@Live!:2014/02/01(土) 12:00:56.81 ID:hyyaM4dF
計算処理の中にも決済処理の中にもcountは一つも存在しません。
一か所インデントがおかったので、ズレを訂正します。、連投になってしまい申し訳ありません
int count = 0;

int start()
{
  print(count); 

  if (count < iBars(NULL, PERIOD_D1))
  {
  Print("TUUKATEST"); 
    //(計算処理)
    count = iBars(NULL, PERIOD_D1); //これで日足が更新された最初だけifを通貨すると考えてた
  }
  /*  
    注文処理
  */
 retun(0);
}
373Trader@Live!:2014/02/01(土) 12:40:11.29 ID:b9TEwafp
>>371
EAだと、startはtickごとに呼ばれるから、グローバル変数は前回のstartの値になるよ。
int count = 0;
int bars = 0;
とでもして、 iBars の値を bars に入れて、countはstartごとにインクリメントするようにして、
countとstartを両方Printするようにしてみたら動きがわかるんじゃないかな?

> int startのすぐ下に[print(count);] を置いていますが、print(count)の結果は0ではなく1002と表示されます
> ですがif文の中にあるprint("TUUKATEST")は表示されません。

同じ日足で2回目以降のstartならそれで正常だから。
374Trader@Live!:2014/02/01(土) 12:44:50.42 ID:R9KSpLFB
>>372
int startCounter =0;

int start()
{
startCounter++;
Print("startCounter = ",startCounter);

Print(count); 
//以下略

}

こんなコードを追加してみて、 start が何回呼ばれているか確認してみたら?

startCounterが1 の時に、 count がいくつなのか知りたい。
375Trader@Live!:2014/02/01(土) 13:03:04.07 ID:hyyaM4dF
>>374
書いてくださった記述を追加してテストした結果
startCounter = 181858
から始まり1ずつ増えていきました。

>>373
今自分でもテストを繰り返した結果ある程度分かってきましたが、
int barsも追加して動きを見てみます。

レスありがとうございました。
一応自分のやりたかった事は計算だけなので、とりあえずはvolumeを使ってみようと思います。
それと連投してしまいすみませんでした。
376Trader@Live!:2014/02/01(土) 13:08:22.96 ID:R9KSpLFB
>>375
> >>374
> 書いてくださった記述を追加してテストした結果
> startCounter = 181858
> から始まり1ずつ増えていきました。

つまり、自分が1回めの実行と思っていたのは実は、181858回目の実行だったということだね。
興味深い。。
377Trader@Live!:2014/02/01(土) 15:41:21.17 ID:hrXYHnQZ
>>367
それ、メッセージに表示されてないだけよ。
ログファイルを直接見てみ、きっと出てるから。
378Trader@Live!:2014/02/01(土) 20:41:12.85 ID:hyyaM4dF
>>377
ありがとうございます。
さっき帰ってきて確認したら、確かに全部出ていました。
自分は[操作履歴]タブしか見ていませんでした。
[操作履歴]ではほんの一部分しか表示されない事を知りませんでした。

startCounterがなぜか181858から始まっていたり
最初に書き込んだ質問も本当は正しく動作していたのに、自分の確認方法が間違っていただけという事でした。
お騒がせして本当にすみませんでした
379Trader@Live!:2014/02/04(火) 09:03:36.51 ID:sBgsGbXk
MetaTrader 4 Build 600 with Updated MQL4 Language and Market of Applications Released
http://forum.mql4.com/60555
380Trader@Live!:2014/02/04(火) 19:26:27.24 ID:zn4S9G3C
マルチすんな、カス。
381Trader@Live!:2014/02/04(火) 21:54:06.19 ID:1IZPtK5t
build600は人柱になった方がいいか?
382Trader@Live!:2014/02/05(水) 06:54:01.06 ID:jubvFgN5
update(→build600)したら、日本語表示の場合、画面の左上が

‘表示(V)’が‘ファイル(F)’になってしまい
‘ファイル(F)’が2つになるバグが出てしまった.。orz...
383Trader@Live!:2014/02/05(水) 06:56:20.84 ID:LhLRSxGX
再起動したらbuild600になってインジの表示がおかしくなったんだが
自動アップデートなんてあったの?
384Trader@Live!:2014/02/05(水) 07:27:37.84 ID:YyhLnqnr
>>382
ファイル(F)がふたつだね。
「ALt+F」を2回押せば、「表示」側のファイル(F)を選択できるよ。
紛らわしいから修正してほしいけど。
あと、MetaEditorの2バイト文字のカーソルずれも。

>>383
mqlの仕様を大幅に変えたみたいね。
一応、互換性を保てるようにしたけど、
DLLなどを使ってるようなのは正常に動作しない可能性があるから、
手を加える必要があるみたいだね。
385Trader@Live!:2014/02/05(水) 07:30:45.27 ID:YyhLnqnr
>>383
メタトレーダー起動中にバックグラウンドで、
アップデートデータをダウンロードしてて、
次回起動時に自動アップデートされるみたい。
UACがONの場合は確認のダイアログが表示されるけども。
386Trader@Live!:2014/02/05(水) 08:23:29.37 ID:Pp3JGCW0
builld 6.00 フォルダ構成が全く変わってるし、
以前のインジケータをそれっぽいところに入れても動かない(フォルダ間違って入れてるかもしれないが)

誰かいれるフォルダを教えてくれ。
387Trader@Live!:2014/02/05(水) 08:24:49.82 ID:h1T6flxr
ダウンロードした記憶が無いけどアップデートされてるね
388Trader@Live!:2014/02/05(水) 08:49:40.77 ID:SjiFT/VW
C:\Users\<ユーザー名>\AppData\Roaming\MetaQuotes\Terminal に変わってるね
389Trader@Live!:2014/02/05(水) 08:53:31.93 ID:SjiFT/VW
>>386
MetaEditorを起動して左端のツリーからIndicatorsを右クリックしてPropertiesを選ぶと場所が分かるよ
390Trader@Live!:2014/02/05(水) 13:32:25.00 ID:wVAT6Usv
これ、EAが動かなくなるとかある?
391Trader@Live!:2014/02/05(水) 13:42:05.53 ID:cqLZ2vVC
ある
392Trader@Live!:2014/02/05(水) 15:15:43.08 ID:bG7J8Z2l
こんにちは。超最初の質問ですみません。
以前デモ口座申請で、ちゃんと円でできてましたが、
何度円にしても、ドルなどほかの通貨でとなってしまいます。
誰か解決法を教えていただけませんか?
393Trader@Live!:2014/02/05(水) 15:27:17.02 ID:cqLZ2vVC
他の業者にしなさいな
394Trader@Live!:2014/02/05(水) 15:50:52.31 ID:OveAItEJ
インジ作ってコンパイル成功しても一覧に表示されない。
event handlers of the expert advisorってなんだ?
395Trader@Live!:2014/02/05(水) 15:53:11.74 ID:cqLZ2vVC
EAのイベントハンドラってことでしょ。

EAに必要な関数が無いとか・・?
396Trader@Live!:2014/02/05(水) 16:06:15.36 ID:IYWHVAjq
build600はスピードも速くなってるて書いてあるけどどのくらい速く
なったんだろか。
397Trader@Live!:2014/02/05(水) 16:14:55.68 ID:EjpyKXxk
>>392
どこの業者
398Trader@Live!:2014/02/06(木) 02:00:55.22 ID:6tdodW+X
C:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\Community\Market\Images\1

ここに画像ファイルがあるんだけど何すかこれ
399タオパイパイ ◆ILoveSex.o :2014/02/06(木) 02:05:38.14 ID:oyhVWlXA
>>394
インジ作ったのか?
EA作ったのか?
インジ作ったのにEAになってないか?
メタエディタ新規作成の時最初にファイル形式見たいのを選ぶとき
エキスパンスアドバイザーで作ってないか?
インジならインジケーターにチェック入れないと出ないよ
400Trader@Live!:2014/02/06(木) 02:32:43.80 ID:QWe0ECeP
Build600は、WindowsXPでは動かないね・・・
起動時にエラーが出て、起動できない。
401Trader@Live!:2014/02/06(木) 02:33:29.92 ID:nMCRHLar
どっかのforumトピックからリンクでたどって、どこで見たか探せずもやもやしていたもの:
http://www.mql5.com/en/docs/runtime/running
init/deinit/start に変わるイベントハンドラの説明。
>>394 の役に立つんじゃないかと思う。
402Trader@Live!:2014/02/06(木) 02:37:22.29 ID:nMCRHLar
>>400
OSのせいじゃなくて、CPUのせいだと思う。PenIIIマシンだったりしない?
http://forum.mql4.com/60555

> Terminal: All client terminal components require support for SSE2 instruction set by PC's processor for efficient operation and high performance.
がPen4より古いCPUのマシンでBuild600が動かない理由。
403Trader@Live!:2014/02/06(木) 11:52:06.40 ID:cllC6OG+
>>399
new>>welcome to mq4 wizard>>custom indicator>>name入力(indicators\は消した)>>

あ。indicators\を消さないでやったら作れた。
404Trader@Live!:2014/02/07(金) 03:43:14.76 ID:ae35lif1
>>402
> >>400
> OSのせいじゃなくて、CPUのせいだと思う。PenIIIマシンだったりしない?
> http://forum.mql4.com/60555
> の
> > Terminal: All client terminal components require support for SSE2 instruction set by PC's processor for efficient operation and high performance.
> がPen4より古いCPUのマシンでBuild600が動かない理由。

ビンゴ!
ありがとう。
405Trader@Live!:2014/02/07(金) 11:06:59.48 ID:NE9QURbm
やっぱアップデートだったのか
ウイルスにやられたのかと思ったわw
使えなくなってるインジあるね
困った・・・
406Trader@Live!:2014/02/07(金) 19:07:01.28 ID:7jBKg6UJ
質問です。
MT4で定型チャートを保存できないのですが、
どうすればいいのでしょうか?
何度やっても定型チャートに保存しても表示されません。
ちなみにWindows8です。
407Trader@Live!:2014/02/07(金) 21:48:55.21 ID:jyD98RNZ
いやー参った、注文とポジ管理のEasyOrderっての使ってたんだが、このうpデートで使えなくなってもーた
悲しいことにEx4ファイルを認識してくれないみたいなんだ・・
これが便利だから分割でポジって一気に決済とかできてたのに・・
408Trader@Live!:2014/02/07(金) 21:54:58.77 ID:j+iUZNJv
>>407
開発者に相談を
409Trader@Live!:2014/02/07(金) 21:57:03.50 ID:j+iUZNJv
>>406
定形チャートのファイルをテキストエディタで開くと
ちゃんとデータ書かれてる?
410Trader@Live:2014/02/08(土) 09:00:58.77 ID:QYt4o4M3
>>409
多分、ないと思います。
てゆうか、どうやっていいやら。
普通に定型チャートを出したいだけなんですが。
以前はできてたのに。
411Trader@Live!:2014/02/08(土) 15:39:51.99 ID:zuK64y+J
imomentumの計算って当日値からx日前値を引いた数?
MT4だと当日値/x日前値*100になってるらしいんだけど?
412Trader@Live!:2014/02/08(土) 17:11:40.20 ID:zuK64y+J
インジ作ろうとしたら予測機能が落ちててやりづらい
413Trader@Live!:2014/02/08(土) 19:38:14.63 ID:aw6B6+Ep
 









 









 









 
414タオパイパイ ◆ILoveSex2k :2014/02/08(土) 20:18:07.34 ID:H3ZEY2hP
EA作ろうと思ってメタエディタいじってたら
偶然ウィルス作ってしまって
セキュリティソフトが反応して
MT4が開けなくなったんですけど
こんなことってあるんですか?
415Trader@Live!:2014/02/08(土) 20:23:19.85 ID:IhrweQvw
ない。
416タオパイパイ ◆ILoveSex2k :2014/02/08(土) 21:00:56.64 ID:H3ZEY2hP
まぁ世界的な新発見は偶然の産物が多いらしいからな
417Trader@Live!:2014/02/09(日) 15:33:53.25 ID:XXeEUSNm
アップデートしたらFileWriteできなくなったお。

嗚呼・・・
418Trader@Live!:2014/02/09(日) 15:39:17.57 ID:XXeEUSNm
EAのエラーでlogsフォルダの中のlogが50GBくらいになった時があるお。
419Trader@Live!:2014/02/09(日) 17:44:57.12 ID:XXeEUSNm
ダメらったれすお。
FileOpenしてcsvファイルにデータを保存することができなくなったので、
MetaTraderのフォルダごと復元しましたお。

当分このままでやりますお。
420Trader@Live!:2014/02/09(日) 19:35:06.99 ID:42M4xeYJ
EAつくる君とか、EAクリエイターを使ってプログラムを書くのは、
このスレ的には失笑者ですか?

移動平均線を使ったEA位だったら、ソフト買う金で本を買って勉強した方がいいのかな…?
421Trader@Live!:2014/02/09(日) 19:35:35.06 ID:42M4xeYJ
EAつくる君とか、EAクリエイターを使ってプログラムを書くのは、
このスレ的には失笑者ですか?

移動平均線を使ったEA位だったら、ソフト買う金で本を買って勉強した方がいいのかな…?
422タオパイパイ ◆ILoveSex2k :2014/02/09(日) 20:08:05.36 ID:aAp0jeCt
そんな簡単なのならググったらいろんなサイトでわかりやすく説明されてる
俺はそれ読みながら作ってる
423Trader@Live!:2014/02/09(日) 21:07:52.46 ID:XXeEUSNm
本を買えばそこにアドレスが載ってるから、そのアドレスにあるEAをそのまま使うかちょっと改変して使うだけでいいのでないですかお?

ぽれなんかEquityがBalanceの80%になったらクローズする。とかくらいしか使ってないけどお。
おっとアジアぷらぷらの時間ですお。
424Trader@Live!:2014/02/09(日) 21:52:02.63 ID:R0Q0Dr3d
たった60行のインジ見ても何が書いてあるのか意味わかんねwww
425Trader@Live!:2014/02/09(日) 22:03:06.66 ID:RkXhECZA
build600になってい--な(らな)い--業者ってある?
とりあえずそこで作業しようかと・・・
426Trader@Live!:2014/02/09(日) 22:53:10.50 ID:RnhkvRGh
674 名前:タオパイパイ ◆aZPandora. [sage] 投稿日:2012/07/25(水) 23:37:30.66 ID:6GHz5USC [32/34]
>>672
今巷で話題のタオパインジ

692 名前:Trader@Live![sage] 投稿日:2012/07/25(水) 23:40:46.10 ID:PcGgzIh3 [26/27]
>>674
タオパインジ
ぐぐったらわろたw
ユロドルのすれしかないw

700 名前:Trader@Live![sage] 投稿日:2012/07/25(水) 23:42:49.12 ID:nxU7MGvc [14/14]
>>692
最初はタオパイEAつってて
みんなに「お前EAの意味わかってねーだろ」って突っ込まれて
タオパインジって名前変えたのはワロタ
427タオパイパイ ◆ILoveSex2k :2014/02/09(日) 22:55:52.45 ID:aAp0jeCt
600で苦労してる人はこのサイトで509に戻せるらしいよ。俺は2月5日の復元ポイントで復元した
http://www.softgate.co.jp/ja/resources/blog/item/20120206-avoid-updating-to-mt4-600-ja
コメント欄に509に戻すためのファイルも貼られてたよ
428Trader@Live!:2014/02/09(日) 23:31:38.95 ID:NQfdWeub
ダメな人間は何をやってもダメ
生活保護の金でトレードするようでは虫けら以下
429Trader@Live!:2014/02/09(日) 23:44:45.55 ID:L01J0RtL
タオパイ、古巣にもどれw
430Trader@Live!:2014/02/09(日) 23:55:35.82 ID:RkXhECZA
>>427
おお、さんくす
業者比較した時の(その業者の)mt4が残ってたのでなんとかなりそう
431Trader@Live!:2014/02/10(月) 03:03:07.16 ID:JzOYweHS
旧ビルドのフォルダ、普通バックアップとるだろ
432Trader@Live!:2014/02/10(月) 09:08:18.30 ID:izYo2TBE
もう一つのスレが荒れているから、こちらで訊くけど;
今朝、FXCM Japan のMT4立ち上げたらbuild604に更新された。
どこが変わったのかわかる人教えて?
433Trader@Live!:2014/02/10(月) 10:01:12.60 ID:E3pB0aBH
>>432
MQLの文法とか、諸々の動作不良とか挙げればきりがないよ^^;
434Trader@Live!:2014/02/10(月) 10:11:23.56 ID:rAipHspS
435Trader@Live!:2014/02/10(月) 11:40:15.52 ID:izYo2TBE
>>434
これって、600と同じものではないの?
動作不良が直されたのかな。トレンドマイクロが誤認識しなくなるとか。
436Trader@Live!:2014/02/10(月) 11:46:12.41 ID:rAipHspS
>>435
あ、 600 -> 604の変更点ってことね。509から60xへの変更点だと思っちゃった。
http://forum.mql4.com/60694
に603のは書いてるけど、あんまり参考にならないかな。。。
> 5. Fixed errors reported on the forum and in crash logs.
が手抜きすぎて。
437Trader@Live!:2014/02/10(月) 11:48:41.37 ID:GAHDxeo1
Unicode 形式のソースファイル、UTF-16になったのほんと勘弁してほしい。
string の内部エンコードと合わせたかったんだろうけど。
バージョン管理ツールとかが通常バイナリと認識してしまって使いづらいわ。
設定でなんとかならないところもあるし。。。
438Trader@Live!:2014/02/10(月) 12:19:21.36 ID:LCtfNWCG
metaのフォルダの下を直接管理してんの?MT4複数だと大変じゃね?
ソースは一元管理で各MT4にコピーして使ってるので特に問題なし。
439Trader@Live!:2014/02/10(月) 12:20:20.88 ID:LCtfNWCG
しかし、build600系が入ると面倒だな。
#ifdefがちゃんと使えればいいのに...
440Trader@Live!:2014/02/10(月) 12:27:12.95 ID:GAHDxeo1
>>438
ううん、別のディレクトリで管理してる。
日本語含む場合、UTF-16じゃないとだめなんだろうなと勝手に思い込んでたんだけど、
Shift_JISでも、きちんとMT4内部でUTF-16の文字列に変換してくれるのね。
利便性を考えたらShift_JISで管理したほうがよいかー。。
Shift_JISをUTF-16に変換してくれるなら、なおさらソースファイルはUTF-8にしてほしかったと思うところ。。。
441Trader@Live!:2014/02/10(月) 12:54:24.39 ID:xUxToAVn
mt4更新したらしょっちゅうファン廻るようになってウゼェええええええ

オレだけか?????
442Trader@Live!:2014/02/10(月) 12:59:54.58 ID:I/wgn7co
>>441
同じく
CPU使用率上がったよな
443Trader@Live!:2014/02/10(月) 12:59:57.68 ID:LCtfNWCG
>>440
元々Shift JISだってちゃんとサポートされてるわけじゃないから
日本語はほとんど使ってないや。
日本語のせいでコンパイルできないとか、あまり質問が出ないのが不思議w
444Trader@Live!:2014/02/10(月) 13:06:21.51 ID:Xynvzjzq
今まではチャート・インジと同時に足取得
今はチャート・インジを表示させてから足取得
445Trader@Live!:2014/02/10(月) 14:29:03.64 ID:JzOYweHS
>>441
マシンスペックは?
446Trader@Live!:2014/02/10(月) 14:45:26.73 ID:xUxToAVn
AMD A4-3305M APU
+メモリ4GB
447Trader@Live!:2014/02/10(月) 21:13:08.44 ID:izYo2TBE
Windows 8もVistaもbuid600や604に更新されたが、Wndows7のみは509のまま
だった。突如本日から7にも一斉の更新通知が来た。当面509のまま使うこと
にするが、機種によって更新のアイミングが異なるの?
448Trader@Live!:2014/02/10(月) 21:16:03.34 ID:LCtfNWCG
業者によるつってんだろ。
449Trader@Live!:2014/02/10(月) 22:29:16.10 ID:izYo2TBE
>>448
違うよ。
同じFXCM Japanでも違うんだよ。
他の会社も全く同じなんで???なんだよ。
450Trader@Live!:2014/02/10(月) 22:31:27.51 ID:gRwpf+DP
ヒストリカルデータ去年のから
たった1年分入れようとしてもフリーズする。
旧バージョンも同じことが有り今built600入れたけど
それも駄目。Windows7 64bitだけど解決法無いでしょうか?
451Trader@Live!:2014/02/10(月) 23:00:01.66 ID:LCtfNWCG
>>449
そりゃ業者も複数サーバー運用してたら違うだろ。
>>450
build600からバイナリ互換ないでしょ。
csvのインポートは試してないけど。
452Trader@Live!:2014/02/10(月) 23:26:11.33 ID:LCtfNWCG
>>449
あと、サーバーも回線も容量ってもんがあるから一気に全員を対象に
することもないだろう。その選択にOSが入っていても不思議はない。
453450:2014/02/11(火) 00:59:55.17 ID:6JJP54gd
>>451
Build 509で再インストしても駄目でした
fxddにあったのをインポートしてもダウンロードでも
一応管理者権限で実行してます
454Trader@Live!:2014/02/11(火) 01:24:42.46 ID:ZSM4rhJy
>>453
http://www.fxdd.com/us/en/forex-resources/forex-trading-tools/metatrader-1-minute-data/
これ?
build604でAUDCADをためしにインポートしてみたけど何の問題もなく取り込まれたよ。
455Trader@Live!:2014/02/11(火) 01:33:02.82 ID:ZSM4rhJy
>>447
再起動したタイミングで結果が違うと思われますよ。

ゆとりスレからの引用

【MT4/5】MetaTrader初心者専用41【ゆとり隔離スレ】
http://hayabusa3.2ch.net/test/read.cgi/livemarket2/1386557357/727
>727 :Trader@Live! :2014/02/06(木) 00:25:28.46 ID:ptw7dUer
>MT4のデモ、8業社使っているんだが、
>午前中に起動させると、8社中6社が自動アップデートされた。
>
>夜、別のパソコンにある同じ8業者のMT4を起動させると
>8社中1社しか自動アップデートされなかった。
>
>Build600のあまりの酷い出来に、各業者アップデートを見合わせたみたいだなw
456Trader@Live!:2014/02/11(火) 03:04:10.37 ID:oQCncCNh
初心者の勘違いについて指摘しておく。
フォルダ構成が変わったが、
Build509から600になっても、基本、単体のEX4は正常に動く。

正常に動かないのは、DLLなど使っているタイプのやつ。

それから、
フォルダ構成が変わって、ファイルの質が変わっているのに、
旧expertsと新MQL4/Expertsにあるファイルをコピーしたり、
無知にいじくると、Build509に戻しても無駄になる。

そもそも、Build509に戻すなんて、
短期間にしか通用しない、その場しのぎの対応。
後で困るぞw
457Trader@Live!:2014/02/11(火) 03:25:16.53 ID:ZSM4rhJy
いちおう、ここにも報告しておきます。
StringToCharArray は string から char[] に変換する関数ですが、
おそらくバグと思われる挙動をしています。
Win32APIのWideCharMultiByteを使って変換した場合とは、異なる結果が得られます。
具体的には、変換後の文字列が、途中で欠けてしまいます。

forum にはレポっておきましたが(すでに誰かがレポってたかもしれないけど)、
とりあえず StringToCharArray は使わないことをお勧めします。
既存のDLL呼び出しを改修しようとしている人は要注意です。

http://forum.mql4.com/60694/page4#906986
にコードと結果を貼ってるので、興味のある人はご確認ください。
458Trader@Live!:2014/02/11(火) 03:26:20.38 ID:ZSM4rhJy
なお、試してみた範囲では、
CharArrayToStringはいたって問題なく動いてるようです。
459Trader@Live!:2014/02/11(火) 03:32:47.11 ID:aPJvwNao
最初の方、ArrayResize()してないがそれはいいのかい。
460Trader@Live!:2014/02/11(火) 03:34:57.37 ID:aPJvwNao
StringToCharArray()がresizeしてくれるのか。
461Trader@Live!:2014/02/11(火) 03:37:03.59 ID:ZSM4rhJy
uchar ansiString1[1000];
とかしても、結果がおかしいのは変わりありませんね。

uchar ansiString1[];
をそのまま渡して(変な)結果が入ってるので、
変換後の文字列長を計算(WideCharToMultiByteを引数NULLにして呼び出して普通はやる)して、
内部でArrayResize相当をしているはずです。
462Trader@Live!:2014/02/11(火) 09:29:30.25 ID:eCggHibb
>>453

以前のバージョンに復元


で検索
463Trader@Live!:2014/02/11(火) 12:12:30.04 ID:XJdZM4Mp
ん?うん
464Trader@Live!:2014/02/11(火) 13:19:50.25 ID:jmrI/V3v
>>451
しったかぶりは言わないで。
セキュリティソフトのせいだと分かったよ。
465Trader@Live!:2014/02/11(火) 14:57:33.95 ID:AFhhdv1R
ゆとりスレのdeinit()の挙動について

カスタムインジケータを他のEAのバックテスト中に
チャートでドラッグさせたときの挙動です。
カスタムインジケータのdeinit()にある関数を仕込んで
動作を確認しました。

deinit()が実行された。
インジケータをチャートから削除するとき
チャートを(閉じるボタン)を使って削除するとき

deinit()は実行されない。
バックテスト中に「ストップ」ボタンを押すとき
バックテスト期間が終わり、終了したとき

上の様子から、画面上から対象のカスタムインジケータが削除された
場合に実行しているようです。

また、これはドラッグなどで挿入されたカスタムインジケータの話であって、
EAに組み込まれたカスタムインジケータでは、少々挙動が違うようです。

EAに組み込まれたカスタムインジケータでは
バックテスト期間が終わり、終了したときでも
deinit()が実行されているようです。

自分の検証では断定できませんので、興味のあるかた検証してみてください。
466Trader@Live!:2014/02/11(火) 15:50:03.56 ID:fV0VW611
手動で設定できるシンプルなエリオット波動が引けるインジはないのでしょうか?
できれば波ごとに番号を振ってくれるような
467450=453:2014/02/11(火) 16:54:33.02 ID:6JJP54gd
ヒストリカルデータのインポート問題ですが、
分足チャート1枚だけの表示中は問題無く出来ました。
build600です。でもいつも使ってる複数チャート構成の
画面に切り替えるとやっぱりフリーズ(分足〜週足まで7枚表示)。
こうなると強制終了してアンインストールする以外手立てなし。
C:\Users\◯◯\AppData\Roaming\MetaQuotes\
とかも消しても駄目でした。

>>454
それです。報告ありがとうございます。
>>462
そのサイトたぶん見てます。build400番台でもフリーズしてたので
バージョンは関係ないかもしれません。
468Trader@Live!:2014/02/11(火) 18:37:28.50 ID:aPJvwNao
>>465
え、そんな話だったの?
EA自信の話じゃないのか。
そりゃvisual testのチャートに落としたインジのdeinit()がチャートも
閉じないのに呼ばれることはないでしょ。普通にチャートに落としたのと
同じだと思うけど。
EAのdeinit()と同じreasonがくるのかは見てないけど、EAに組み込まれた
ものが呼ばれるのもあたりまえでしょ。
469Trader@Live!:2014/02/11(火) 18:39:50.58 ID:aPJvwNao
>>467
フリーズの原因はインジのどれかが時間がかかっている、あるいは無限ループ
これ以外に遭遇したことはないな。
470Trader@Live!:2014/02/11(火) 18:40:13.45 ID:ZSM4rhJy
>>467
> 画面に切り替えるとやっぱりフリーズ(分足〜週足まで7枚表示)
試しに7枚ぐらい表示して、昨日試した全く同じAUDCAD.hstをインポートしてみたところ、、、
VPSがクラッシュして再起動してしまったです。。。

何枚まで大丈夫なのか?はさすがに何度も再起動食らうのは嫌なのであれですが、
チャート非表示の状態でインポートするのが得策かもですね。

ちなみに、クラッシュしてOS再起動まで食らいましたが、
MT4自体はいたって普通に起動できてるので、
アンインストールしないとどうしようもなくなる、のはよくわかりませんね。
起動ができなくなるんですか?
471Trader@Live!:2014/02/11(火) 18:42:58.74 ID:aPJvwNao
VPSがクラッシュとか、それVPSに問題あるよw
472Trader@Live!:2014/02/11(火) 18:47:08.60 ID:ZSM4rhJy
うんまあ、そうかもしれない。
お名前VPSだから、Hypver-V型。なので、WebKeepersなどのParallels系のようなおかしなことはいまのとこ使っててないけどね。
473Trader@Live!:2014/02/11(火) 23:09:00.76 ID:jmrI/V3v
build 600から604に更新した後、build 509に戻したんだが、若干困ることが
ある。標準搭載されているインジのうちCustom IndicatorsはソースがNew MT4
で書かれているため、コンパイルするとエラーになる。やむなくまだ更新して
いないMT4のインジをコピペして何とかなったが、もう少し賢い方法があれば
教えてほしい。
474Trader@Live!:2014/02/11(火) 23:36:02.12 ID:dQbfmoEs
604重たいな
同じインジなのに、チャートの組表示(1画面6枚表示)
を切り替えると、えらく時間がかかる
改悪じゃねーか
ぎりぎりまで以前のバージョン使うわ
475450=453=467:2014/02/12(水) 00:05:39.23 ID:uZDpcv90
>>469-470
解決しました。
原因は出来高を表示するインジケータで(スケール固定時に使うため)
Volume_JMA_OptionZeroCheck1.mq4
を削除したらヒストリカルデータを入れてもフリーズしなくなりました。
Volume JMA Option2.mq4 ←これも同じ作者なのか同じくフリーズします。

代用で以下を試したら問題無く機能しました。
Volume with custom MA.mq4
volumeMA.mq4
Volumes.mq4

ご協力ありがとうございました。
476Trader@Live!:2014/02/12(水) 00:26:16.61 ID:gRVM1g1o
確かに重くなったわ
477Trader@Live!:2014/02/12(水) 20:01:57.77 ID:zSg/afVD
600って改良点ってないの?
478Trader@Live!:2014/02/12(水) 21:19:46.72 ID:aXUxPh3t
古いCPUを切り捨てて、新しい命令使用=高速化

のはずなのに、遅いらしいしなー
479Trader@Live!:2014/02/12(水) 23:43:40.18 ID:9pfNEi/k
600以降のものに対応するために、MQLを修正すると、
それは以前のバージョンでは使用できない?
という認識OK?
480Trader@Live!:2014/02/12(水) 23:49:24.09 ID:yzVcKbQu
おk
481Trader@Live!:2014/02/12(水) 23:56:07.04 ID:9pfNEi/k
>>480ありがとう。

ちょっと、前から気になってんたんだけど。
このスレでお昼に書き込む人たちは、専業の方たちですかね。
うらやます。
482Trader@Live!:2014/02/13(木) 00:03:31.42 ID:yzVcKbQu
自営業だよw
483Trader@Live!:2014/02/13(木) 00:40:18.30 ID:xWNIX2c/
チャートの右端の空白にするボタンがありますが、この空白の幅を変更ってできますか?
484Trader@Live!:2014/02/13(木) 00:49:01.45 ID:QFciBqp7
チャート上の▽をドラッグ
485Trader@Live!:2014/02/13(木) 01:09:32.28 ID:xWNIX2c/
>>484
ありがとうございます
帰ったら試してみます
486Trader@Live!:2014/02/13(木) 16:00:50.29 ID:gSrdx46Y
最近のMT4ってカスタムインジを格納する場所が変わりました?
だいぶ前にインストールしたMT4はexpertsフォルダがありましたが、今日インストール
したMT4にはexpertsフォルダが見当たらず、MQL4フォルダにindicatorsフォルダが有り、
そこにインジを入れるとようやくMT4で表示されました。
487Trader@Live!:2014/02/13(木) 17:46:19.48 ID:NE68RJ+x
>>486
場所も変わって、言語仕様も変わって大騒ぎしてるよ
488Trader@Live!:2014/02/13(木) 19:16:44.25 ID:JdGtqRJM
Windows7を再インストールしてmt4をいれなおしました。
設定はそのままにしたかったので、プログラムファイルをUSBにバックアップして、インストールしたmt4に上書きしました。
すると以前まで軽かったのが急に重たくなりました。
もちろん、ニュースやアラート設定はオフですし、チャートのデータは2000にしています。
こういう事はあるのでしょうか?解決方法あればお願いします。
489Trader@Live!:2014/02/13(木) 19:21:40.21 ID:IFlLghqj
>>487
どうもありがとう。
490Trader@Live!:2014/02/14(金) 07:43:51.36 ID:IASs9XgN
アプリを起動すると
ユーザーアカウント制御でプログラムのアクセス許可求めてくるのですが
遠隔操作みたいなことにはならないでしょうか?
491Trader@Live!:2014/02/14(金) 08:23:52.51 ID:LYQiPqXh
>>490
起動したアプリによる。
492Trader@Live!:2014/02/14(金) 08:44:47.90 ID:IASs9XgN
>>491
MT4のデモ口座でIPアドレスがGCIなんです
1台のPCだけアクセス許可出るんですよね
493Trader@Live!:2014/02/14(金) 09:32:39.57 ID:LYQiPqXh
>>492
他のPCはUACをオフに設定している可能性は・・?
494Trader@Live!:2014/02/14(金) 09:36:25.27 ID:IASs9XgN
>>493
すいません
詳しくないのでUACってなんでしょうか?
セキュリティの詳細とかでしょうか?
495Trader@Live!:2014/02/14(金) 10:18:15.16 ID:LYQiPqXh
>>494
私も詳しく知らないので、UACをオフ でググってみて。
http://search.yahoo.co.jp/search?p=UAC%E3%82%92%E3%82%AA%E3%83%95&ei=UTF-8&fr=sb-jane
496Trader@Live!:2014/02/14(金) 11:02:38.73 ID:IASs9XgN
>>495
ありがとうございます
UACはユーザーアカウントのことだったんですね
497Trader@Live!:2014/02/14(金) 11:29:48.02 ID:ye1r1vPq
>>488
セブンが重いんだろ
エイトにしなさい
498Trader@Live!:2014/02/14(金) 11:30:52.06 ID:T2dM3Xzr
8.1
499Trader@Live!:2014/02/14(金) 11:52:31.17 ID:iuRCpOrY
>>497
返信ありがとうございます。
7を再インストールした理由は、もともとSSDだったのですが、容量に不安があったので大きめの容量のSSDに転送した為です。
OS自体は快調なんですが、特定のインジケータを表示させるとダメなんです。
500Trader@Live!:2014/02/14(金) 12:29:10.16 ID:+xImnLHV
スローストキャスティクスがクロスしたらメール送信するインジ探してます。ストキャスティクスのは有るのですが探したけど有りませんでした。またストキャスティクスの設定を変えてスローストキャスティクスと同じにする事は可能でしょうか?
よろしくお願いします
501Trader@Live!:2014/02/14(金) 16:34:11.83 ID:iuRCpOrY
>>488
自己解決しました。ありがとうございました。

感じたのですが、サーバーは関係なく業者によって重い場合ってあるのでしょうか?
502Trader@Live!:2014/02/14(金) 17:25:37.34 ID:7rF7zWVF
MT4build604ですが、ChartXYToTimePrice()で
timeはきちんと取得できるのですが、priceがでたらめな値です。
絶対におかしいと思うんですが・・・。
誰か試してみてください。そして対策をお願いします。
503Trader@Live!:2014/02/14(金) 17:47:51.36 ID:hxYkoJ/s
>>502
ちょうど俺も同じ問題にぶち当たってたわww
上下が逆になってるんだよな
上に行くほど price が安くなっていく・・・
でも対策をお願いするのはここじゃないと思うぞw
504502:2014/02/14(金) 18:33:23.60 ID:7rF7zWVF
>>503
そうなんですよ。逆になるんです。
でも何かの値だと思うんです。
うまく何かとプラスマイナスして欲しい値にならないものかなと。
505Trader@Live!:2014/02/14(金) 18:34:09.49 ID:r0LVbwzb
>>502-503

The origin is in the upper left corner of the window/subwindow.
506Trader@Live!:2014/02/14(金) 19:11:36.00 ID:r0LVbwzb
>>502-505

実際に動作させてみておっしゃっている意味が分かりました。

確かに、CharXXToTimePrice()の引数での戻り値(price値)が正しく取得出来ないですね。
507Trader@Live!:2014/02/14(金) 21:10:45.54 ID:r0LVbwzb
OnChartEvent()でチャートウィンドウの一番下をクリックしたときに得られる
Y座標値をChartXYToTimePrice()に渡してPrice値を確認する作業を繰り返すと
次のことが分かりました。

≪測定条件≫
[チャート]-[プロパティ]で[スケールの固定]で、
[上限設定]=102、[下限設定]=100 にした状態確認。

≪測定結果≫
(1) 最下部(100付近)をクリックするとPrice値がほぼ100付近で合っている。
(2) チャートの中間地点(101付近)をクリックすると、ほぼ99付近となりました。
(3) チャートの最上部(102付近)をクリックすると、ほぼ98付近となりました。

≪バグを補正する計算式≫
ChartXYToTimePrice値(バグPrice値) ≒ チャート最下部 − (クリック場所のPrice − チャート下部Price)
  ↓
クリック場所のPrice ≒ チャート最下部Price値×2 − ChartXYToTimePrice値(バグPrice値)
508Trader@Live!:2014/02/14(金) 21:22:42.42 ID:r0LVbwzb
build604以前の場合は、次のコードで良い?

if(ChartXYToTimePrice(0,x,y,window,dt,price)) {
price = WindowPriceMin(0) * 2 - price; // これを追加
509502:2014/02/14(金) 21:36:28.54 ID:7rF7zWVF
>>507
神様ありがとうございます。
バグが修正されるまでこの計算式を使います。
510Trader@Live!:2014/02/14(金) 21:53:26.14 ID:/coHLzfA
build606 がリリースされました。変更点は不明です。
demo.metaquotes.net:443 につないでてもアップデートされません。。。
demo.metaquotes.net:444 につないでデモアカウントを作成し、
再起動するとアップデートされました。
情報元: http://forum.mql4.com/60694/page10#909666
511Trader@Live!:2014/02/14(金) 22:07:12.55 ID:RD+Jqp/i
これからmeta traderを使ってFXを始める場合、4と5、どちらがおすすめですか?
512Trader@Live!:2014/02/14(金) 22:19:05.01 ID:LYQiPqXh
>>511
5
513Trader@Live!:2014/02/14(金) 22:36:03.06 ID:Q0kwfgda
>>511
4
514Trader@Live!:2014/02/14(金) 22:48:02.93 ID:fQm3aPlx
MT5なんて誰も使ってねーだろw
515Trader@Live!:2014/02/14(金) 22:51:01.81 ID:/coHLzfA
>>502,503
一応ご連絡まで、build606 でも y が上がるほど price が小さくなる結果になりました。
mql5.com の Service Desk に投げてみます。
516515:2014/02/15(土) 00:25:57.73 ID:3ao8e3+N
Fixed.
って Service Desk から返ってきたので、次のリリースビルドには直ってると思われます。
(1時間ぐらいで Fixed が返ってきたのでびっくりした)
517502:2014/02/15(土) 00:40:37.31 ID:zKO3wYIP
>>516
ありがとうございます。助かりました。
518Trader@Live!:2014/02/15(土) 00:42:27.43 ID:bMWe80+l
>>511

今まではMT5に対応している業者がほぼ0だったのでMT4一択でした。

しかし、MT4 build 600 でMT5の文法が標準になり、どの業者でもMT5の文法
が使えるようになったので、今後はプラットフォームはMT4、コーディングは
MT5風の新文法というのが主流になると予測しています。

昨日、MT4 build 600 に付属しているATR.mq4をエディタで開いてみて、
MT5がなかなか広まらないのでMetaQuotes社が本気でMT5の文法を広めに来た
と感じました。

ただ、MT4のアップデートという形で、文法やディレクトリ構成などを変え
しかもバグだらけという状態は利用者としては非常に迷惑に感じています。
519Trader@Live!:2014/02/15(土) 00:46:38.74 ID:7rOaE6Si
バグは2つか3つしか確認してないが、バグだらけって言うほどバグあるのか?
リストあったら教えてくれ。
問題なのはバグより仕様に互換がないところだな。
これからどうなるんだろ。仕様自体もまだ変わるのかね。
520Trader@Live!:2014/02/15(土) 01:22:55.04 ID:43MRpInn
自分でプログラム書けるようになりたいんだけど、構文変わるとか難易度高杉
521Trader@Live!:2014/02/15(土) 01:30:03.36 ID:7rOaE6Si
追加されただけで別に今まで通りでいけるでしょ。
522Trader@Live!:2014/02/15(土) 01:38:54.99 ID:AfnsGPYR
>>520
何事も始めてみないと始まらない。
始めたら、諦めない限り大抵の事はできるようになる。
それをしないのは、それ程の欲望ではないか必要性が足りないから。
俺も同じ。でも一応準備は進んでるかな。
523Trader@Live!:2014/02/15(土) 01:46:36.92 ID:jTOa73Ya
誰かが発言した文そのままじゃないかw
524Trader@Live!:2014/02/15(土) 02:06:50.53 ID:AfnsGPYR
>>523
520には悪いけど、その気になればそこそこ使えるもの稼働させるのに一ヶ月はかからないと思う。
MT4関連の本は2冊読んでるしアイデアもある。本職SEだし。
525Trader@Live!:2014/02/15(土) 02:09:11.87 ID:43MRpInn
>>524
まあ、なんていうか、図星だわw
526Trader@Live!:2014/02/15(土) 02:22:47.98 ID:AfnsGPYR
>>525
プログラミング自体は高校の勉強くらいの難易度だよ。
MQLはFXに特化した言語だから比較的簡単にできてる。

気が向いたら先入観持たずに手を出してみるといいと思うよ。
最初はちょっと苦労するだろうけど、そこを越えれば必要な部分て以外と少ないから。
527Trader@Live!:2014/02/15(土) 05:33:28.07 ID:cQOdm0Br
隔離スレが見当たらないのでここでの質問です。
buildは509です。

int Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, 3,Bid+(stoploss*Point) ,0 , "Sell",MAGIC, 0, White);
OrderSelect(Ticket,SELECT_BY_POS);
datetime timeopen=OrderOpenTime();
とやって、売りのポジションを持った時の時刻を取得したいのですが、timeopenには0が入っていてopenの時刻を取得できません。
どこに誤りがあるのでしょうか?
528Trader@Live!:2014/02/15(土) 05:39:53.72 ID:OFkgKDl4
>>527
そりゃ、 SELECT_BY_TICKET 使わなきゃダメだべぇ?
529Trader@Live!:2014/02/15(土) 05:39:59.15 ID:cQOdm0Br
質問の補足です。
OrderSelect(Ticket,SELECT_BY_POS);
を省略すると、timeopen=OrderOpenTime();
で得られるtimeopenには一つ前のOrderの時刻が入っています。
530Trader@Live!:2014/02/15(土) 05:49:14.08 ID:cQOdm0Br
>>528
ありがとうございます。
SELECT_BY_TICKET 
でopen時刻取得出来ました。
これで一日悩んでいました。
531Trader@Live!:2014/02/15(土) 08:45:43.56 ID:KjkWLum0
英語ができなくて今600以降のMQL勉強しようと思ったら、MT5の本を買うのがベスト?
日本語リファレンスってまだないよね?
532Trader@Live!:2014/02/15(土) 09:07:37.61 ID:bMWe80+l
>>531

もしかして英語を習得できる大チャンスかも?

私は学校英語は最低ランクでしたが、プログラミング用の技術文書や
自分が興味を持っている分野の英文は意外と読めてしまった経験があります。
533Trader@Live!:2014/02/15(土) 13:25:27.84 ID:F/b0V9Z8
技術文書はちゃんと配慮されてて案外読めるから英語のまま読んだほうがいい。
翻訳を読むと「? これは英語では何て書かれていたのか?」と考えてしまう。
534Trader@Live!:2014/02/15(土) 14:13:41.59 ID:gMQx/oUW
プログラマーがFXを始めたらMT4で自動取引をやってみようと思うのは当然の流れだな
プログラマーとFXは赤い糸で結ばれていると言っても過言ではない
535Trader@Live!:2014/02/15(土) 14:18:52.90 ID:0+vZb3HG
質問です

MT4がバージョンアップされて(最新バージョンは610)
今までふつうに仕えていたインジがソースが原因で動作しなくなったり
してるんですが
みなさんはこういうときどうしてますか?
自分で手直しできる人はいいけどできない人は?
手直しできないひとのほうが多いでしょ
世の中に出回ってるほとんどが旧バージョンに対応だし

どこか新バージョン対応のインジ置き場とかないんですかね?

情報求む
536Trader@Live!:2014/02/15(土) 14:56:11.54 ID:NBkDdVgu
とりあえず古いバージョン(5XX系)に戻すのがてっとりばやいね
俺はそうした
戻し方(と自動アップデートを防ぐやり方)はぐぐればでてくる
古いバージョンは1週間ぐらい前だったらサイバーにあったけど今はどうだろう?
3ヶ月もすれば落ち着くでしょ
537502:2014/02/15(土) 15:26:11.32 ID:zKO3wYIP
MT4 build610にしました。
ChartXYToTimePrice()が直ってない。orz
短期の足でやってみたらうまくいってると思ったんですが、
日足レベルでやると全然ダメです。使えません。
次まで待つしかないですね・・・。
538Trader@Live!:2014/02/15(土) 16:03:01.62 ID:6Fq7iOSj
build610がリリースされたけど、変更点は?
539Trader@Live!:2014/02/15(土) 16:34:57.36 ID:ZGP75OYu
>>535
古いバージョンでコンパイルしたEX4を使う分には
多くの場合は従来通りに動くから、とりあえずそれでしのぐ。

それで動かないものは頑張って自分で直すか誰かにお願いする。
540503:2014/02/15(土) 17:40:09.63 ID:tpsIomUW
>>537
俺の意見だけど,これはバグでは無くて仕様なんだと思う
なぜなら公式ドキュメントに >>505 って書いてあるから.
だから修正されるってことも無いのかも知れない.不便なので仕様変更して欲しいが…

そこで,仕様に沿った(?) 以下のコードを提案する
ObjectSetInteger(0, (string)0, OBJPROP_CORNER, CORNER_LEFT_LOWER); // 基準を左下に
ChartXYToTimePrice(chart_id, x, y, sub_window, time, price);

これで一応うまくいっているようです
541503:2014/02/15(土) 17:45:10.42 ID:tpsIomUW
ごめん,別にキャストなんて使う必要ないですね,すいません
ObjectSetInteger(0, "0", OBJPROP_CORNER, CORNER_LEFT_LOWER); // 基準を左下に
ChartXYToTimePrice(chart_id, x, y, sub_window, time, price);
542515:2014/02/15(土) 18:03:14.10 ID:3ao8e3+N
>>540
>>537 は、H1とかだとそれなりの精度で返ってくるのが、
D1 や W1 にすると、price が 0.1以上ずれてることを言っていると思います。

ついでに、 ChartTimePriceToXY で戻したらどうなるんだろう?と試してみたところ、
(x1, y1) -> ChartXYToTimePrice() -> (time, price) -> ChartTimePriceToXY() -> (x2, y2)
なぜか (x1, y1) と (x2, y2) が若干違いますね(1ぐらい)

それはともかく、 y1=0 となる位置で ChartXYToTimePrice すると time が原点の1970/1/1, price が 0 になったりしますし、
バグってるのは確かかと思います。

検証に使ったコード: http://pastebin.com/tzaw7daJ
543515:2014/02/15(土) 18:18:17.02 ID:3ao8e3+N
ちなみに、
y 座標が上の方向に移動すると price が小さくなる現象は、
MetaQuotes がバグと認めて、それ自体は修正されている、という状況です。 (>>515,516)

> The origin is in the upper left corner of the window/subwindow.
これはたぶん、ドキュメントバグじゃないかと思います。
引数 x, y のところにこの説明がついてるべきだと思います。
544503:2014/02/15(土) 18:33:50.82 ID:tpsIomUW
>>542
>y1=0 となる位置で ChartXYToTimePrice すると time が原点の1970/1/1, price が 0 になったりします
とありましたが,チャート領域の座標の最小値は (x, y) = (3, 3) です
ですから (x, y) = (0, 0) などと指定するとおかしな値か返ってくるのは至極当然なのです

>>543
そうでしたか,解りました
545503:2014/02/15(土) 19:05:51.18 ID:tpsIomUW
>>542
>>537 が一体 何と比較してズレているのか解らないので答えになっているか知りませんが
Horizontal Line と比較してズレているということでしたら,>>542 で検討されているように
確かに 1px ズレていると思います
ChartXYToTimePrice(chart_id, x, y + 1, sub_window, time, price);
とすると,ピッタリ合いました

D1 や W1 にするとズレるという話は,縦軸の最大値から最小値までの値幅が大きくなるために
1px の変動が大きくなった,ということでしょう
別に全然ダメで使えない関数だとは,わたくしは感じませんでした
1px ズレてるのは事実ですが,実用上は問題無いと考えます (まぁピッタリ来てほしいですけど
546503:2014/02/15(土) 19:20:32.44 ID:tpsIomUW
次のコードを実行して,Horizontal Line を上下に動かしてみてください
どうです,ピッタリでしょう?
http://pastebin.com/FK3FWtVr
547Trader@Live!:2014/02/15(土) 19:48:53.18 ID:0+vZb3HG
インジのソースでwarningがでててわからないので教えてほしい

if (c != CLR_INVALID) { が
expression is always true とでてる


if ((frame == CLR_INVALID) || (frame != c))が
expression is always false と表示されてる

if (frame != CLR_INVALID) {が
expression is always trueと表示


for (cc = CLR_INVALID, y = 0; y < h; y++, cc = c) {が
truncation of constant value とでてる

if (c == CLR_INVALID) {が
expression is always falseとでてる



教えてください
  
548Trader@Live!:2014/02/15(土) 20:39:00.66 ID:3ao8e3+N
>>547
それはたぶん、 GetPaneHeights というライブラリではありませんか?
http://codebase.mql4.com/5984

ソース全体が分かったほうが明確な回答が付きやすいので、名前とかリンクとか載せたほうがいいですよ、公開されてるものであれば。

c != (int)CLR_INVALID とすると warning がなくなるのですが、
そもそも warning になる意味がちょっと自分にはわからないので、できたら他の方の回答を待ってください。

(long と int の比較でも always true にはならないよなあ、と > 意味がわからない)
549537:2014/02/15(土) 20:43:13.93 ID:zKO3wYIP
>>542
>>545

コードまで書いてくださりありがとうございます。

座標位置がint型であるがゆえに誤差が生じるといった感じでしょうか。
なるほど。勉強になりました。
550515:2014/02/15(土) 21:27:18.64 ID:3ao8e3+N
>>547
ご指摘ありがとうございます。
改めて線を引いてみると、priceの誤差は影響ないレベルですね。
int <-> double の変換で精度が落ちることを考えて落としていました。

>>549
>>545 のコードに、
・元の y を price に変換したライン(赤)
・元の y に +1 して price に変換したライン(黄)
を書くのを追加したのをあげておきます。参考にしてください。
http://pastebin.com/yqbtSZAD
551457:2014/02/15(土) 21:46:41.12 ID:3ao8e3+N
一応ご報告です。 >>457 の不具合は build 610 で修正されました。
http://forum.mql4.com/60983

FileReadString がまだ実はバグってるので、日本語含む文字列を FileReadString するのは避けてください。
552Trader@Live!:2014/02/15(土) 22:35:08.23 ID:7rOaE6Si
>>547
0xFFFFFFFFはintの範囲を超えてるのでunsigned intとして扱われる。
cはintなので0xFFFFFFFFになりえないので常にtrueになるということ。
truncationはunsigned intをintでは表現できないので削ったよと。
553537:2014/02/15(土) 23:03:57.72 ID:zKO3wYIP
>>550
またまたありがとうございます。

実はChartXYToTimePriceで得たpriceと
Crosshairで出た値を見て???ってなってました。
単純にカーソル下での価格を大きく表示するインジを
作成しようとしていたのですが、ちょっと?となる
インジとなりそうです。
554Trader@Live!:2014/02/15(土) 23:15:06.00 ID:drc4gOGJ
XMのMT4にしたらインジ入れられなくなった。何やってもダメだ
555548:2014/02/15(土) 23:28:05.41 ID:3ao8e3+N
>>552

> 0xFFFFFFFFはintの範囲を超えてるのでunsigned intとして扱われる。
なるほど、解説ありがとうございます。

変数を (uint) でキャストするか、定数を (int) でキャストするかのどちらかで対処すればいいですね。
検証コード: http://pastebin.com/XLCCuWEq
556Trader@Live!:2014/02/16(日) 01:21:16.87 ID:VirRItMe
以前のMT4のインストーラーでインストールしたらどのバージョンインストールできる?509?それとも最新?
557Trader@Live!:2014/02/16(日) 01:51:39.37 ID:RClrv19x
最新
558Trader@Live!:2014/02/16(日) 01:52:55.87 ID:RClrv19x
稀に特定のバージョンが入るカスタムのインストーラもある
559Trader@Live!:2014/02/16(日) 02:36:37.34 ID:+YP5i9BV
公式の最新のインストーラを使っても最新 build が入らないこともあるけどなw
560Trader@Live!:2014/02/16(日) 02:52:12.73 ID:JBkenIIV
DLLバンバン使っているし、Rも使っているし、sqlも勉強した。
ここになって、アップデートは大変そうだな。今年のうちに完成はしたいけど。
561Trader@Live!:2014/02/16(日) 05:23:50.77 ID:+YP5i9BV
>>560
詳しくないから適当なこと言うけど
ほとんどを DLL みたいな MQL 外で実装してた方が,結果的には楽なんじゃないかとも思うw
"MQL 部分" および "MQL と DLL の接続部" だけ いじればいいわけじゃん?
562Trader@Live!:2014/02/16(日) 08:34:56.92 ID:xQLge53h
土日のmt4が接続してないときに
インジmq4をコンピューターに入れても
mt4ファイルは生成されないですか?
表示されないんですけど。
563Trader@Live!:2014/02/16(日) 08:41:12.69 ID:uJ3ctOSY
>>562
コンパイルしないとだめ
564Trader@Live!:2014/02/16(日) 09:26:03.59 ID:xQLge53h
>>563
つまり月曜ってことですね?
ありがとう。
565Trader@Live!:2014/02/16(日) 09:32:38.42 ID:yxZ3UZGi
ダウや日経の動きをみながら、ドル円の自動売買なんてできるの?
566Trader@Live!:2014/02/16(日) 10:05:48.89 ID:JBkenIIV
>>561
DLL側でmain関数みたいなものをおいて、DLLで自己完結できるようなものにしないとね。
MQLがしょっちゅう、DLLを呼び出しているような感じでつくってからorz。

Rに関してもmt4R.dllを使わないで、直接myDLLからRをいじれるようにしたいけど、
そこまでの技術がない。
567Trader@Live!:2014/02/16(日) 10:20:51.53 ID:1UVd8IZv
>>566
dllを使う理由って、同じロジックの使い回しだと思うけど、発注部分などをdllで作り込んで、呼びにいってるの?
568Trader@Live!:2014/02/16(日) 10:23:45.01 ID:Mibbot8b
自作インジケータ使っているのだが
build600系になって遅くなった原因が見えてきた
俺の場合、ibandsの要因が大きそう
569Trader@Live!:2014/02/16(日) 10:29:59.16 ID:JBkenIIV
発注のシグナルを決めるのはDLLだよ。
それをインジに渡して、EAに渡す。
570Trader@Live!:2014/02/16(日) 10:32:14.13 ID:Mibbot8b
ちがった icustomだ
571Trader@Live!:2014/02/16(日) 11:39:56.82 ID:Mibbot8b
icustomを排除しなきゃ
めんどうくせええええ
572Trader@Live!:2014/02/16(日) 22:31:45.49 ID:WxXuda+Z
サイバーでチョコチョコやってたんだけど、どうも会社自体が怪しいので
他の業者へ移ろうと思ってる。
MT4が使える業者でオススメはどこ?
573Trader@Live!:2014/02/16(日) 22:52:15.29 ID:X0qeBic9
時刻が日本なんでわかりやすいforex.com
指標時はたまに固まるがスプが狭めなalpari
574Trader@Live!:2014/02/17(月) 01:26:08.99 ID:gE+MWenq
バージョン600 もしくは602 と 最新610? ってなにが違うの
復元で600にもどしたんだけどインジがつかえる

自分の勘違いとかじゃなきゃ610だとつかえない?
600のまま当分つかおうとおもうんだが支障あるかな?
チャートでインジだけつかえればいいんだけど
EAとかは使ってないから
あぷで落ち着いて安定したら少し研究しないとな
575Trader@Live!:2014/02/17(月) 04:28:55.99 ID:fFsIU5rM
こりゃ一気にMT5に切り替えたほうが近道だな
4&5の互換性を考えてもややっこしいだけだしそのうちどうせMT5に完全移行するのが目に見えているわけだから
早いうちにキッパリ路線変更をすべきだ
576Trader@Live!:2014/02/17(月) 07:12:12.33 ID:T4+l/Eo3
MT5は一応64ビット対応らしいけどむしろ重くなってメモリ食いなだけの
ウンコプログラムらしいな
そのくせFX業者にはいつでも生殺与奪できる政治力をもっている
死ねばいいのに
577Trader@Live!:2014/02/17(月) 07:49:49.21 ID:TVed7iJu
>>574
build 600に戻しても意味ないだろう。
自分は旧版のbuild 509に戻したが、再度アップグレードされないようにしている
ので、今のところ満足だ。
ちょっと心配なのは、新しいFX業者のMT4をダウンロードしたくてもできないの
ではないかということ。その場合、DL先をC\ProgramFileではなく、C直接にすれば
いいのかな。詳しい人教えて。
578Trader@Live!:2014/02/17(月) 08:45:18.25 ID:M7S3ra5I
MT4には、Build600になってもiTriX関数はないようですね。
じゃあ、どうすりゃいいのよ?
579Trader@Live!:2014/02/17(月) 09:43:50.38 ID:HrjyEZTa
http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:trix

Calculation

TRIX is the 1-period percentage rate-of-change for a triple smoothed exponential moving average (EMA), which is an EMA of an EMA of an EMA. Here is a breakdown of the steps involved for a 15 period TRIX.

1. Single-Smoothed EMA = 15-period EMA of the closing price
2. Double-Smoothed EMA = 15-period EMA of Single-Smoothed EMA
3. Triple-Smoothed EMA = 15-period EMA of Double-Smoothed EMA
4. TRIX = 1-period percent change in Triple-Smoothed EMA

だそーな。
580562:2014/02/17(月) 10:11:30.78 ID:mPBLnsUW
インジがコンパイルされてないわ。
バージョンアップの影響かな。
MT4は前のままなのに。
581Trader@Live!:2014/02/17(月) 10:40:40.90 ID:M7S3ra5I
>>579
まあ、自作関数を作ればいいようなもんだけど、MQL4 Reference ChartXYToTimePriceの解説のところの
サンプルコードの中で,iTriX関数は使われているんよね。それに加えて、iMACDの引数の数が…
こりゃ、先が思い遣られるわ orz
582Trader@Live!:2014/02/17(月) 10:48:32.35 ID:HrjyEZTa
>>581
やっつけてみたんですけど、どーですかね。
http://pastebin.com/pyJggded
>>579 の 3 までをやってみました。間違ってたらごめんなさい。
MT5のとは比較していません。
583Trader@Live!:2014/02/17(月) 11:05:36.19 ID:hZlCnEVL
山ほどあるけど、これじゃいかんの。
http://www.mql4.com/search#!keyword=trix&module=mql4_module_codebase
584Trader@Live!:2014/02/17(月) 11:06:53.72 ID:HrjyEZTa
あちゃー
なぜか iTrix でしか検索してなかった私。
ダメですねー。
585Trader@Live!:2014/02/17(月) 11:13:31.94 ID:hZlCnEVL
>>581
それ、MT5のサイトでなくてMT4のヘルプでも?
build600全部消しちゃったからわかんないや。
586Trader@Live!:2014/02/17(月) 11:20:48.25 ID:M7S3ra5I
>>582
新しいMQL4に既に対応されているのが羨ましい。
>>583
参考になるわ。ありがとう。
587Trader@Live!:2014/02/17(月) 11:26:07.56 ID:HrjyEZTa
>>585
build 610 のヘルプの Reference には載ってないですね。
コンパイルしようとしても iTriX - function not defined。
588Trader@Live!:2014/02/17(月) 11:33:48.54 ID:M7S3ra5I
>>585
MetaEditor5.00 Build883
ヘルプ(H)->MQL4 Referenceを開いてます。
589582:2014/02/17(月) 11:52:30.20 ID:HrjyEZTa
案の定バグがボロボロでした。
こっそり更新してますけど、使わないでください m(_ _)m
失礼いたしました。
590Trader@Live!:2014/02/17(月) 12:36:57.87 ID:fFsIU5rM
MT4に執着するのは逆張り
MT5に切り替えることは順張り
591Trader@Live!:2014/02/17(月) 12:40:53.62 ID:X68c176m
今年1年は、おそらく、新MQL4系のMT4が続くんじゃないかな。
592Trader@Live!:2014/02/17(月) 12:48:05.25 ID:VU3wAUV7
>>573
ありがとう。
MT4の視点で調べたことなかったので、アルパリは知らなかった。
指標は触らないし、スプ狭いのは魅力。
(FXCMも低スプレッドうたってるけど、更に低いしね。)
各社無料EA提供ってあるけど、あてにしない方がいいよね?w
もう少し調べてみる。
593イベリコ:2014/02/17(月) 18:33:54.27 ID:ANs3jzuP
       __         / 〉 
     __ \ `Y´  ̄ く_/
  ~γ´    〉.   .  .ヽ  
   !     {   ( l l ) |   
   `、     ヽ      ノ    MT4、初心者です。 MT4で、AVのモザイクは消せますか?
    `し ⌒ し" 一‐し´
594Trader@Live!:2014/02/17(月) 19:23:04.44 ID:+HoMSEaX
>>593
こ、根性でいけっ
595Trader@Live!:2014/02/17(月) 19:24:35.14 ID:X68c176m
>>593
MT4で金を稼いで、モザイクの無いAVを買えばええんや。
596Trader@Live!:2014/02/17(月) 19:33:06.39 ID:A/JSLpAM
>>593
MT4より心眼を鍛えなされ
597Trader@Live!:2014/02/17(月) 19:41:28.09 ID:HrjyEZTa
>>505,579
mql5.com の Service Desk に報告したら、1営業日で

Support Team 2014.02.17 10:34
Thank you for your message. All errors have been fixed. Update will be available automatically.

って返ってきました。ご報告まで。
598597:2014/02/17(月) 19:42:37.88 ID:HrjyEZTa
ありり、アンカを間違えました。
>>505.581
です。
599Trader@Live!:2014/02/17(月) 19:48:25.15 ID:hZlCnEVL
iTriX()が増えたりMACDの引数が変わると!?
600597:2014/02/17(月) 20:04:17.65 ID:HrjyEZTa
>>599
ドキュメントバグとして報告してるので、ドキュメントが正しくなるだけだと思いますです。
601Trader@Live!:2014/02/17(月) 20:18:08.18 ID:o6SWrvSQ
DLL内で、mqlの関数を直接記入することは無理ですかね。
簡単な計算式なら、改めてDLL内で作り直しますが、iBarshift()とか、利用するならmqlで実行した方がいいかなと。
そうすると、他の関数との関係で、mql⇔DLLの間で、引数を渡す為に往復実行がこまめに発生してます。
なにか解決策ありますか?
602イベリコ:2014/02/17(月) 21:02:19.76 ID:ANs3jzuP
       __         / 〉 
     __ \ `Y´  ̄ く_/
  ~γ´    〉.   .  .ヽ  
   !     {   ( l l ) |   
   `、     ヽ      ノ    mql5.com の Service Desk に報告したら、1営業日で
    `し ⌒ し" 一‐し´

Support Team 2014.02.17 10:34
Thank you for your message. All AV Mosaic Pixelization have been removed. Update will be available automatically.

って返ってきました。ご報告まで。
603Trader@Live!:2014/02/17(月) 21:22:25.38 ID:Ttn4UtVB
AAでキャラ付文化は10数年前に通り過ぎた文化だぞ
604Trader@Live!:2014/02/18(火) 03:40:40.57 ID:VV+izaE8
バージョンアップするとこれまでの
mt4のインジは全て使えなくなりますか?
605Trader@Live!:2014/02/18(火) 08:17:48.89 ID:C0ysLbpH
MQL4からMQL5にすればインジが使えるってことでしょ?
なら書き換えうようなソフトがあればいいってこと?
そういうソフトとかないの?
やったことあるひといる?
めたくおーつ社はそういうの提供する義務あるとおもうんねんけど
どこかにそういうソフトない?
606イベリコ:2014/02/18(火) 08:32:30.32 ID:/D94FIgE
>>605
ゆとり的な発想やな。
607Trader@Live!:2014/02/18(火) 10:17:12.51 ID:02hHrdPb
build 509に戻した後、新たに同じ会社のMT4をC直下に別のFolderを用意して
そこへダウンロードしてみた。こちらはアップデート後のbuild 610だが
すでにbuild509用のMetaEditor.exeやTerminal.exe等で固定しているせいか、
無効口座となって起動しなかった。同じパソコン内では新旧バージョンは
同居できないようだね。
608Trader@Live!:2014/02/18(火) 10:25:13.42 ID:6UjNLfqE
妙な結論出すなよ。同居はできるわ。
無効口座になるのは別問題。
609Trader@Live!:2014/02/18(火) 10:47:32.78 ID:02hHrdPb
>>608
それなら安心だが、どこがおかしかったのだろう。
もう一度やってみる。何かヒントくれる?
610Trader@Live!:2014/02/18(火) 12:27:44.01 ID:02hHrdPb
>>608
何とかguid 509も600も入った。
ただ元のタミナルアイコンが消されてしまったな。
復活させたらMetaquotes社の標準的なものになった。
611Trader@Live!:2014/02/18(火) 15:29:33.63 ID:C0ysLbpH
612Trader@Live!:2014/02/18(火) 19:05:30.25 ID:kou2VZpe
http://forum.mql4.com/60555/page40#910251
angevoyageur 2014.02.15 11:00
Moderator


The best approach in my opinion the following, I take example of an EA :

Use the old .ex4, compiled with 509 (maybe a good idea is to rename it using a suffix _509).
And run this one to trade. The backward compatibility with old .ex4 seems excellent, though not 100%.

Work on a copy of the original .mq4 source code if you need to change your code and then to compile it with new build 6xx. Run it only on a demo account.

This way you can compare and check that the new compiled code was running fine under build 6xx.

http://forum.mql4.com/60555/page41#910364
angevoyageur 2014.02.15 14:45
Moderator

> graziani:
> can you please specify what is not working?

Sorry I am not sure what you ask.

From my personal experience, I only see a .ex4 library which presents some problems (but I don't have the code so I can't be more precise).
All the rest is working, but it's only my limited experience.
613Trader@Live!:2014/02/19(水) 01:27:31.63 ID:MGFjoICL
>Sorry I am not sure what you ask.

kusafukahi
614Trader@Live!:2014/02/19(水) 18:52:47.61 ID:3Hane2Uf
mt4の最新バージョンをインストールしたらKairiというインジが動かないですが対処法ありませんか?
615Trader@Live!:2014/02/19(水) 20:29:08.40 ID:X60PKqSw
>>614  →611 みて
616Trader@Live!:2014/02/19(水) 20:44:44.87 ID:3Hane2Uf
>>614 訂正
zero divideエラーが出るのはデバッガで確認しましたが
修正点がわからないのでどなたか頼みます。
ゼロで割り算してるのを止めさせればいいとは思うのですが。
617Trader@Live!:2014/02/19(水) 21:22:18.09 ID:98LRzvCq
>>614,616
zero divide を回避するコードを単純に入れてみました。
https://gist.github.com/micclly/9090831
変更箇所は
https://gist.github.com/micclly/9090831/revisions

中身は全然詳しく追ってないので、はたしてこのコードを入れる「だけ」で正解なのかどうかはちょっと自信ありませんが。
618Trader@Live!:2014/02/19(水) 21:49:15.82 ID:3Hane2Uf
>>617 ありがとうございます^^
とりあえずエラーはでなくなりました。
ワーニングメッセージはターミナルのエキスパート欄に出るんですね。
619Trader@Live!:2014/02/20(木) 18:23:09.33 ID:NieKT0Ys
iMAが一定以上になったら発注するようにしてるのですが、
EAオンのままMT4を閉じてある程度時間を経過させて再び起動すると、
前回閉じたときのレートから現在のレートの差分チャートを取得中の間、
そこが連結してるものと見なされてるようで、
iMAが瞬間的に増加、勝手に発注されてしまいます。
一定時間以上おいて起動してもチャート取得中iMAが誤作動しないようにするにはどうすればよいですか。
620Trader@Live!:2014/02/20(木) 21:06:46.01 ID:vVatoYKT
>>619
EAの再生ボタン止めてから終了。
起動してから再生ボタン押す癖をつける。
とりあえずこれが一番簡単で確実な方法
621Trader@Live!:2014/02/21(金) 02:45:37.76 ID:lt86QSn9
build 604でPeriod_Converter系インジは使えないのでしょうか?
新規チャートにドラッグしても表示中の罫線分析ツールの文字が
無効になってます。他のインジは普通に使えてます。
対処法ご存知の方いたら教えて下さい。
622Trader@Live!:2014/02/21(金) 05:14:10.78 ID:bNZbbPve
>>619
たとえば MA の期間が 13 なら、
Time[0] - Time[12] の差が PeriodSeconds() * 12 より大きかったらスキップ、
ってすると回避できるんじゃないかと思います。
623Trader@Live!:2014/02/21(金) 11:28:33.83 ID:UqmnsiVr
今現在のMT4の最新バージョンっていくつ?
624Trader@Live!:2014/02/21(金) 15:04:57.32 ID:F9Fo0ruA
>>622
ありがとうございます
なぜかTime使うの忘れてました
ちとやってみます・・・
625Trader@Live!:2014/02/21(金) 17:31:47.16 ID:F9Fo0ruA
<<622
出来ました!ありがとうございました!
626Trader@Live!:2014/02/21(金) 17:59:40.22 ID:ABwy9Rjv
旧MQL4における、BarsとIndicatorCounted()の関係と
新MQL4における、rates_totalとprev_calculatedの関係について、
以下のサンプルコードのように考えて間違いないのだろうか?
@まず最初に、ヒストリーデータに基いて計算(予備的計算)
A次に、ティックが動く毎に計算

http://u3.getuploader.com/mt/download/972/AverageTrueRange.mq4
627Trader@Live!:2014/02/21(金) 21:52:54.19 ID:9rc+Sjpl
今までチャートを「ウィンドウの整列」で縦3?横2で6個きれいにまとめて見れてたのですが
なぜかさっきから「ウィンドウの整列」をすると縦2?横3になってしまい前のように表示することができません
任意のチャートを一括で縦3?横2で表示する方法をご存知のかたはいらっしゃいますか?
よろしくお願いします。
628Trader@Live!:2014/02/23(日) 21:21:18.77 ID:mjBBSTde
>>597 MQL4リファレンス、修正されましたね。
ありがとうデス。。
629Trader@Live!:2014/02/24(月) 10:20:07.69 ID:WFc2NBEj
build600で、IchimokuのチンコウスパンがとうとうChikouに修正されていたw
630Trader@Live!:2014/02/24(月) 10:59:09.03 ID:WFc2NBEj
それなのに1日ズレは修正されてない
631Trader@Live!:2014/02/24(月) 18:24:08.59 ID:h+SS2dp3
>>353
フォレックス、MT4でメールアラート機能を使用してたんですけど
yahooメール経由で1月末頃より遅延がはじまり
今はまったくメールが送られなくなりました
yahooメールより直接iphoneにメールは遅れるので
スマホの受信設定は問題ないです。
同じく遅れなかった人いませんか?そして解決できた人いないでしょうか?

どうにもならないからgmailをためしてみます。
632631:2014/02/24(月) 18:25:38.47 ID:h+SS2dp3
ジャーナルには下記のようになってます
2014.02.24 18:24:38.512 Mail: login to smtp.mail.yahoo.co.jp:587 failed
2014.02.24 18:24:38.512 Mail: 535 authorization failed (#5.7.0)
633Trader@Live!:2014/02/24(月) 20:27:57.29 ID:fJ3kJlQT
>>631
仮想デスクトップ型じゃないVPSでしたら、ローカルにMTAたてるほうがいいですよ。
仮想デスクトップ型のVPSでも、もしかしたら適当な1024以上のポートだったらMTAたてられるかもしれません(利用規約でアウトかもしれませんが)。
634Trader@Live!:2014/02/24(月) 20:59:45.34 ID:fJ3kJlQT
>>632
authorization failed ということは、単純に認証が失敗してる可能性はありますね。

ただし、
> yahooメール経由で1月末頃より遅延がはじまり
> 今はまったくメールが送られなくなりました
ということなので、認証エラーなら最初から送れないのでは?と思います。

自分の MT4 build 610 で smtp.mail.yahoo.co.jp:587 を使ってみましたが、
特に問題なくテスト送信、 SendMail からの送信ができました。

「だんだんと送れなくなった」というのは、あまりに短時間に大量に送りすぎていて、
規制をしていることも考えられます。

gmail にして遅延がなくなれば、 Yahoo の送信規制かもしれないですね。

外部SMTPサーバを使うと、予期せず規制にひっかかる可能性はあります。
635Trader@Live!:2014/02/24(月) 21:25:57.45 ID:fJ3kJlQT
ローカルSMTPサーバを構築するのは
http://www.vector.co.jp/soft/win95/net/se240895.html
をいれて、起動するだけ、が一番簡単だと思います。

MT4 のメール送信の設定は

SMTP server: localhost
SMTP login: 空
SMTP password: 空
From: よしなに設定
To: よしなに設定

とします。
VPSに適当なMXレコードが無い場合、 From: をどう設定しても、
通常SPFレコードチェックではじかれてしまうので、
携帯キャリアメールで受ける場合は From メールアドレスで許可設定をしましょう。
636631:2014/02/24(月) 21:51:24.92 ID:h+SS2dp3
mt4インストールしなおしたら メール機能は回復しました

おさわがせしました 回答してくださったからありがとうございました
637Trader@Live!:2014/02/25(火) 15:23:16.43 ID:Sdq0z7aW
1万本前のCloseを取得するにはどうすればよいですか。
Close[10000]ではエラーになります。
638Trader@Live!:2014/02/25(火) 17:42:54.57 ID:9/molziv
>>637
それでいいけど、どんなエラーになる?
ヒストリーに足がないだけじゃないの。
639Trader@Live!:2014/02/26(水) 00:46:56.90 ID:9Nplrttz
>>627
MT4の仕様変更のせい?
俺も8ウインドウを縦4、横2で配置していたけど
今やると縦2、横4になってしまう。
誰か助けて下され。。。
640Trader@Live!:2014/02/26(水) 01:22:53.36 ID:ROkQf8hA
fai さんのウィンドウ配置スクリプトはもう動作しない?
641Trader@Live!:2014/02/26(水) 03:45:57.79 ID:5JQUdX/C
すみません教えて下さい。

MT4にTHV V4をインストールしたのですが、サブで表示されるはずのtrixが表示されません…
これはインストールが上手く出来てないせいなのでしょうか?!

インストールを詳しく解説してるサイトを見ながらやったので、インストールが失敗してるとは考えにくいです。
どなたかわかる方よろしくお願いします。
642Trader@Live!:2014/02/26(水) 03:55:11.35 ID:wEGuZApw
>>640
build 610 でやってみましたけど、問題なく動作しました。

>>627,639
fai さん製のスクリプトを使ってみるといいでしょう。
http://d.hatena.ne.jp/fai_fx/20091115/1258211891
643Trader@Live!:2014/02/26(水) 04:29:27.42 ID:wEGuZApw
>>641
・MT4 の build 番号
・解説サイトのURL
を書いてください。

とりあえず、
http://www.forexfactory.com/showthread.php?t=127271
から V4..zip をダウンロードしてみて試してみましたが、
ディレクトリ構成が build 509 前提なので build 600 以降の場合は自分で適切な場所にインジケータのex4を移動する必要がありますね。

テンプレートを試してみたところ build 610 でもサブウィンドウに TriX が表示されました。
644641:2014/02/26(水) 19:13:33.89 ID:5JQUdX/C
>>643さん

導入サイトを何度も読み返したら方法がわかりました。
ヒントを教えて下さいましてありがとうございました!本当に助かりましたm(._.)m
645Trader@Live!:2014/02/27(木) 21:13:04.49 ID:CZ/IGuSl
誰か教えて
インジケーターで高値安値を自分で期間設定できたりするいいやつなんかない?
なんこかあったらそれもおしえて
646Trader@Live!:2014/02/27(木) 21:25:24.16 ID:8lyZyuhk
インディゲーターを一覧表を見ながら修正しようとしたけど、勉強不足で分からないや。
http://www.trading-automatique.fr/doc/MQL4to5.htm
Timeframeの扱い方が変わったみたい。


しょうがないからC:\Program Files (x86)に
別フォルダ作って旧版の509をインストールして古いターミナルとエディタ、metalang.exeを後入れで上書きして、コンパイルした。

>>611の方法も試してみようとは思うけどすべてのインジゲーターが上手く変換されるか不安。
647Trader@Live!:2014/02/27(木) 22:28:19.09 ID:G+h6BNVa
>>646
new MQL4 はたしかに MQL5 の大部分の機能を取り込みましたけど、
旧来の関数や定数が使えなくなったわけではないので、
MQL4 と MQL5 の差分を調べるのはちょっと違いますね。

DLL呼び出しているなら文字列まわりの仕様変更を知るべきですし、
ほかには if 文の短絡評価や演算子の優先順序変更、
ディレクトリ構造変化に伴うパスの変化などが動かなくなる要因として考えられます。

http://docs.mql4.com/mql4changes
ここに目を通すべきでしょう。
648646:2014/02/28(金) 16:59:20.08 ID:GY8fpdkQ
お、鯖復活した。

>>647
ありがとうございます。よく読んでおきます。
649Trader@Live!:2014/02/28(金) 20:50:29.40 ID:D8DZJycO
http://www.mql5.com/en/articles/249
この4.1の例と同じようなことをやって、

http://www.mql5.com/en/forum/5785
と同じようなUnhandled exception 0xE0434352が出るのですが、
原因は分からないでしょうか?
650Trader@Live!:2014/03/01(土) 02:19:09.70 ID:zMdqaN+V
移動平均線と現在値の一定の乖離で
アラーム音が鳴るインジを探しています。
bild 604 で正常に動作するものは無いでしょうか?
宜しくお願いします。
651649:2014/03/01(土) 09:23:17.41 ID:prkjxTUh
自己解決できました。
652Trader@Live!:2014/03/01(土) 09:25:40.59 ID:3d9iBzM2
ちょっとスレチかと思うんですが、ここの方が詳しそうなので

日経の株取引に使えるメタトレーダーみたいなツールってありませんか?
653Trader@Live!:2014/03/01(土) 09:29:02.70 ID:dcv6UYMi
MT4のGCデモ口座Iが回線不通で動かなくなりました
ログインしなおしても同じ症状なのですが・・・アップデートしなかったからかな?
654Trader@Live!:2014/03/01(土) 10:22:08.15 ID:gHeeQUMx
期限切れじゃね?
655Trader@Live!:2014/03/01(土) 10:58:37.92 ID:dcv6UYMi
>>654
そうなんですかね?
期限ってどれくらいで切れるんですか?
656Trader@Live!:2014/03/01(土) 11:01:48.62 ID:prkjxTUh
>>653
回線不通は土日ならよくある。
1ヶ月ぐらいログインしなかったら期限切れとなる。
657Trader@Live!:2014/03/01(土) 16:46:58.07 ID:ztF0rp43
MT4のメールをヤフーに送ってるんだが
夜の遅延が酷過ぎる 数分遅れはざら
自宅メールサーバーにすると改善するかな
658Trader@Live!:2014/03/01(土) 17:15:21.03 ID:ztF0rp43
自分で書いておいて
さすがに自宅メールサーバーはハードル高いんで
まずは夜の遅延が少ない無料メールのお勧め教えて
659Trader@Live!:2014/03/01(土) 18:16:49.38 ID:0WTn9rWd
VPSを使ったメールも相当遅れるね。
これじゃ意味ない。Alertで音を出す方が確実。
660Trader@Live!:2014/03/01(土) 19:53:43.05 ID:pA9Iu/AE
>>658
おすすめの無料メールはわからないので答えられないけど、
簡単に自宅(VPS)をメールサーバにする方法は以前 >>635 に書きましたので、
試す気があったら試してみてください。

>>659
相当、というのがどれくらいを指すのかしら。
10数秒程度ならメールの性質上しょうがないといえばしょうがないです。

-----
メール全般について
-----

メールというものが、即時性が保障されていないシステムなので、
「絶対に遅延の無いメールサーバ」というのは存在しないと思っていいです。

潤沢なインフラを持ってる Gmail や Yahoo だって遅延するときは遅延します。
また、メールサーバはスパムの大量送信、受信と常に戦っているので、
頻繁にアラートメールを送っている場合も規制にひっかかって遅延することもあります。

一番遅延する可能性が少ないメール送信方法は、
MT4を動かしているサーバを(手軽にやるなら >>635 の方法で、本腰入れるならもうちっとがんばる)
メールサーバにすることです。

サーバから直接メールを送る場合、DNSのMXレコード、TXTレコード、ついでに逆引きレコード
を考えないといけなかったりもしますが、
受信側(携帯キャリアなど)の設定で、Fromメールアドレスをホワイトリストに
入れることでなんとかなる場合もあります。

めんどくさいことは考えたくない、けど絶対遅延してほしくない、お金もかけたくない、
となれば >>659 のように音を鳴らすのが一番いいでしょう・・・。
661Trader@Live!:2014/03/01(土) 20:28:59.85 ID:pA9Iu/AE
ちなみに、Android や iPhone に MT4 のモバイル版をインストールして、
SendNotification する方法もあります。
http://docs.mql4.com/common/sendnotification
(送信側 MT4 の設定で、MT4 モバイルの MetaQuotes ID を登録する必要あり
http://www.metaquotes.net/en/metatrader4/news/3786

ドキュメントによれば、
・1秒間に1回まで
・1分間に10回まで
という基本制限がついてるので、それを超えない範囲で利用することが可能であれば、
メール通知の代替手段として検討するのもありでしょう。

もちろん、 Apple や Google の通知サーバが落ちないとは限らず、遅延が発生しない、とも言えないので、
代替手段として適切かどうかはなんとも言えません・・・。
(SendNotification の利用実績が豊富な方のコメントがいただけたら嬉しいです)
662Trader@Live!:2014/03/01(土) 21:49:06.28 ID:dcv6UYMi
>>656
昨日の米国時間から切れたんですよ
月曜日またつながるかみてみます
663Trader@Live!:2014/03/01(土) 22:48:44.01 ID:ztF0rp43
>>660
dクス さっそくやってみるわ
664Trader@Live!:2014/03/01(土) 23:12:42.74 ID:pA9Iu/AE
>>663
できたら、最初は、 To: を gmail.com などのメールアドレスで試してください。
というのは、 From: を適当に設定(詐称)している場合、
なりすましになるので、 To: が携帯宛てだと捨てられる場合があります。

gmail 宛てなら、最悪迷惑メールフォルダで済むので、「届いていること」が確認できます。
665Trader@Live!:2014/03/02(日) 06:49:07.63 ID:XuifAHIr
MT4バージョンアップしたらデバック機能ついた?
これはうれしい
666Trader@Live!:2014/03/02(日) 07:46:16.29 ID:pfgSAffG
俺もメール機能使ってるんだが、確かに急変で送られるメールの遅延も困っているし、
メールが届いても自分の状況次第で、即座に対応できないことがあるのも困っている。
そこでメールをPC上のテキストか何かにリアルタイムで出力させられないものか。
それをUWSCなどで定期的に監視させて即効で決済だけはさせたいので。
使っているインジはEX4ファイルで、サインの割り当てもバッファ(〜8)の中に無いので、
別な手段で読み出せないため、メールか警告のサインを出力させて何とかしたいのだが。
667Trader@Live!:2014/03/02(日) 09:17:50.65 ID:KWfqHT9T
>>666
ex4 がやってる SendMail をどうにかハンドルしたい、ってことですよね?
Linux 環境だったらローカルユーザにメール送信して、 .forward とかでコマンドキックして
とか簡単な方法すぐに思いつくんですけど、Windows だとそういうのに対応してる(かつ導入が簡単な)メールサーバ
ってあるのかしら?という疑問。。。

基本的には、

・MT4 にローカルメールサーバを設定
・ローカルメールサーバで、メールを受信し、メール body をパース
・パース結果に従って、テキストを書き出すなどをする
・あわせて、通常ルートのメール送信もする

っていうことにはなると思います。
668Trader@Live!:2014/03/02(日) 09:46:22.70 ID:HoDE7VCV
>>666
その ex4 は、メール以外にアラートは出せないのか?

アラートダイアログが出るとか、
画面に矢印オブジェクトが出るのなら、
それを監視したほうが楽かも?
669Trader@Live!:2014/03/02(日) 10:01:04.08 ID:pfgSAffG
>>667
通常ルートのメールは、それ用にもう一個MT4立ち上げればいいだけだけど、
それ以外はハードル高いな。さっきPapercut - Homeって見つけたんだけど使えるかな?
670Trader@Live!:2014/03/02(日) 10:42:57.86 ID:KWfqHT9T
>>669
Papercut だと、とりあえず受信したメールがインストールフォルダに *.eml として保存されるので、
それの最新を何らかの方法で監視するようにすればいけないことはないですね。

hMailServer
http://www.hmailserver.com
こいつが Free でかつ VBScript も実行できて、いい感じそうなんだけど、
うまく VBScript を実行できなくてなやみちうです。。。
671Trader@Live!:2014/03/02(日) 11:28:38.81 ID:pfgSAffG
>>635
これもやってみたが、全く送れない。
迷惑メールフォルダにも入っていない。
何で?
672Trader@Live!:2014/03/02(日) 12:08:50.92 ID:KWfqHT9T
>>671
MT4を動かしている環境は、なんでしょうか?
・自宅マシン
・VPS(専用サーバ)
・仮想デスクトップサービス

OP25B とよばれる制限がかかってる可能性があります。
673Trader@Live!:2014/03/02(日) 13:12:15.64 ID:pfgSAffG
>>672
自宅マシンWIN7Ultimateなんだが
OP25B?管理者権限だけじゃ駄目なんだ?
674Trader@Live!:2014/03/02(日) 14:34:10.71 ID:KWfqHT9T
>>673
いやーごめんなさい、OP25Bのことをすっかり考え落としていました。
多くのプロバイダで、スパム防止のため、25番ポートの外部接続を制限しています。
(なので、だいたい送信メールサーバは587番ポートが使われている)

hMailServer を使ってうまいことできる方法がわかったので、
いままとめてます。もう少しお待ちください。
675Trader@Live!:2014/03/02(日) 15:16:45.43 ID:pfgSAffG
(⌒-⌒) はいっ♪
676Trader@Live!:2014/03/02(日) 15:58:38.74 ID:KWfqHT9T
>>675
書きました
https://github.com/micclly/hMailServer-run-vbs-and-relay

図に全然加工してなくてわかりづらいかも。すみません。

ひととおりやると、 C:\Windows\Temp\mail-from-mt4.txt に本文が書き出されます。
これを監視してもいいですが、 VBScript から直接外部コマンド実行するほうがもう少し効率的だと思います。
677Trader@Live!:2014/03/02(日) 17:54:35.98 ID:o2u6ZCGi
ちょっとスレチかと思うんですが、ここの方が詳しそうなので

日経の株取引に使えるメタトレーダーみたいなツールってありませんか?
678Trader@Live!:2014/03/02(日) 18:16:11.47 ID:pfgSAffG
>>676
これは凄い、感激です。
さっそくやってみます。
679Trader@Live!:2014/03/02(日) 19:05:28.34 ID:KWfqHT9T
>>678
ちなみに、メール送信があったら全決済したいのであれば、
・メール送信される
>>676 の仕組みでどこかにファイルが作られる
・MQLでファイルが存在するかどうかをチェックする(build 600以降なら OnTimer が便利)
・存在したら全決済する
・全決済したらファイルを削除する

ってなのが素直かなーと思います。
680Trader@Live!:2014/03/02(日) 20:11:50.73 ID:pfgSAffG
>>679
メール送信、ファイル書き込み共に無事成功しました。
こんなに早く実現できて感激です。ありがとうございました。
681Trader@Live!:2014/03/02(日) 20:54:26.84 ID:e6Mpu/kE
まだアップデートしていないのですが、Build509でコンパイルされた.ex4ファイルはBuild600以降でもそのまま動くという認識で合っていますか?
682Trader@Live!:2014/03/02(日) 22:07:43.72 ID:KWfqHT9T
>>680
動いてよかったです。

>>681
一応 build 509 でコンパイルされた ex4 が一番互換性が高いです。
ただし、動くかどうかはモノによるので、こればっかりは動かしてみないとわかりません。
683Trader@Live!:2014/03/03(月) 12:17:17.06 ID:9GSEPGYy
日経の株取引に使えるメタトレーダーみたいなツールってありませんか?
684Trader@Live!:2014/03/03(月) 13:32:40.16 ID:MkuEQ9Cr
MT4で自動アップデートされないように以前設定したのに今日起動したらそれでもアプデ求めてくる!!
なにこれうざったい 
ちなみにこうやってアプデ阻止してますhttp://zodiacfx.blog.fc2.com/blog-entry-7.html

アプデされないようにするための情報なにかありませんか?
教えてください
685Trader@Live!:2014/03/03(月) 14:14:10.07 ID:zgcmT5so
509と600ではアップデート阻止の方法が微妙に違うので、そのへんも確認してみ。

ttp://www.softgate.co.jp/ja/resources/blog/item/20140213-avoid-updating-to-mt4-600-2-ja
686Trader@Live!:2014/03/03(月) 17:18:11.47 ID:5EMSonCB
>>683
いい加減諦めてくれないか?
687Trader@Live!:2014/03/03(月) 17:27:33.28 ID:vIzz4hNa
同じ物なんてねぇ〜よ
だから世界がMT4使ってるんだろ
688Trader@Live!:2014/03/03(月) 17:28:23.31 ID:vIzz4hNa
それに同じ物があったら乗り換えてるわw
689Trader@Live!:2014/03/03(月) 20:53:33.41 ID:ODPvWRYL
>>685
600にしたのなら、その都度アップデートするほかなさそうな。
(あえて600を使用し続ける意味があるのだろうか?)

なので、509でアップデート阻止さえ分かればいいや。
690Trader@Live!:2014/03/03(月) 21:40:35.88 ID:BBPoEzVN
MT4以外のチャートソフトって存在価値あるの?
691Trader@Live!:2014/03/03(月) 22:26:26.86 ID:wl2Y751y
newMT4だと、マルチスレッドに対応してる?
692Trader@Live!:2014/03/03(月) 22:27:25.53 ID:qXPdCFiB
昔からマルチスレッドで動いているけど。
693Trader@Live!:2014/03/03(月) 22:32:04.22 ID:wl2Y751y
マルチスレッドというのじゃないのか?
マルチコアのCPUに複数同時に処理させるっていうのは?
694Trader@Live!:2014/03/03(月) 22:43:22.88 ID:qXPdCFiB
だから昔からマルチスレッドで動いているけど。
EAはそれぞれ別スレッドだし。
695Trader@Live!:2014/03/03(月) 23:37:28.94 ID:lqpgZMIQ
最新でフォルダ構造が元に戻されたってほんま?
696Trader@Live!:2014/03/04(火) 05:25:59.28 ID:r1AXME43
>>682
今回は大変お世話になりました。
無事、ファイルの対象通貨を確認して、決済できるようになりました。
ただ、UWSCが短いサイクルで動きっぱなしで、余りにも忙し過ぎる気がしてきました。
hMailServerを使って、メールを送るタイミングで、
場所の例として(***¥***¥監視と決済.uws)を起動できないものでしょうか?
697Trader@Live!:2014/03/04(火) 07:55:47.11 ID:in7REj0u
日経の株取引に使えるメタトレーダーみたいなツールってありませんか?
698Trader@Live!:2014/03/04(火) 09:30:40.65 ID:3/SMZUMk
>>694
マルチスレッド対応とマルチコア(CPU)対応は違うんだよ
http://www.atmarkit.co.jp/ait/articles/0503/12/news025.html
693氏が尋ねているのは新ビルドがマルチコアに対応するようになったか、ということ
俺は509のままなんでわからん
699Trader@Live!:2014/03/04(火) 09:35:19.79 ID:a/wqrge8
文脈を考えると、
質問者が期待するようなマルチスレッドには対応はしてない。
だろうね。
700Trader@Live!:2014/03/04(火) 09:41:46.44 ID:3/SMZUMk
>>697
マネックス証券のツールが株取引に使えると思う
自分でプログラムできて自動売買もできるみたい
http://www.monex.co.jp/AboutUs/00000000/guest/G800/tradetool/mtrader/function/func04.htm

ところで「日経の株取引」って何? 日経225みたいなデリバティブのことかな?
だとしたら上記のツールで取引できるかはマネックスに確認した方がいいよ
701Trader@Live!:2014/03/04(火) 09:49:26.87 ID:in7REj0u
>>700
ありがとうございます
702Trader@Live!:2014/03/04(火) 09:50:57.60 ID:ymCgpuZT
よかったな。もう2度と書き込むな。マルチもやめろよ。
703Trader@Live!:2014/03/04(火) 10:13:00.55 ID:EwA6ah2Q
>>698
マルチコア対応はOSがやってるだろ。
お前今時シングルコア使ってんのか?
704Trader@Live!:2014/03/04(火) 11:30:23.17 ID:3/SMZUMk
>>703
せっかくリンクまで貼り付けてやってんだから文献をちゃんと読め。読んでもググっても理解できないんだったら黙っていろ
705Trader@Live!:2014/03/04(火) 11:50:14.88 ID:EwA6ah2Q
そんなゴミみたいなリンク貼る前に日本語を勉強しろ。
706Trader@Live!:2014/03/04(火) 12:04:01.96 ID:nk2pBTK8
横から本末転倒な事を言うが、CPUが1コアだとしても8コアだとしても、MT4と複数EA程度の処理なら余裕
対応してるかどうかなんて論じるだけ無駄
メモリ増やしてストレージ高速化、それでオッケーでしょ
707Trader@Live!:2014/03/04(火) 12:10:57.64 ID:EwA6ah2Q
MT4は32bitアプリだからメモリ増やしても意味ないんだな。
ほとんどオンメモリで動くからSSDにしたところで起動が速くなる程度。
708Trader@Live!:2014/03/04(火) 12:44:05.84 ID:a/wqrge8
旧来のMT4ユーザの望みは、

・バックテストの最適化の際に、全コア使いたい。
・複数のリアルな注文処理を同時に処理したい。

この2点に尽きると思う。
709Trader@Live!:2014/03/04(火) 12:47:22.79 ID:EwA6ah2Q
全コアをフルに、だろ?
素人でもデフォルトなら全コア使ってるはタスクマネージャー見ればわかるだろ。
710Trader@Live!:2014/03/04(火) 13:06:28.81 ID:gGZpG+mb
MT4は全てのインジがUIスレッド(メインのメッセージループを処理してるスレッド)で動いてる。
だから、256コア1024物理スレッド(ただし1物理スレッド当たりの性能はPenMの1/2レベル)
とかいうCPUだと、どんだけコアや物理スレッドが余っててもMT4ごとクッソ重くなる。

WinRT(API)だと自然とマルチコアが活用されるらしいけど、C++/CXとか使ってる奴を見た
ことがねーw
C++/CLIをあっさり見限った態度とか見てると、C++/CXもどうせWin9が出たら見限るんだ
ろ?って気がしてならない。ウミステイクナイ('A`)
711Trader@Live!:2014/03/04(火) 13:12:20.03 ID:EwA6ah2Q


712Trader@Live!:2014/03/04(火) 14:07:29.19 ID:E2og5d8u
とにかく目盛りの文字の大きさが小さすぎるからなんとかしろ
713Trader@Live!:2014/03/04(火) 14:08:35.47 ID:nk2pBTK8
虫眼鏡を買え
714Trader@Live!:2014/03/04(火) 15:14:19.42 ID:vKKQANJD
拡大鏡のアプリがあるやろ
715Trader@Live!:2014/03/04(火) 18:32:36.86 ID:r1AXME43
>>696
が見過ごされそう。。。
716Trader@Live!:2014/03/04(火) 18:54:40.02 ID:d25O6aOF
MT4が突然起動しなくなりました。
ソフトをアンインストールした後、再度インストールしなおしましたが、全くだめです。
ネットで色々徘徊して、色々な方法を試みましたが、結局起動せずお手上げ状態です。

windows8で購入して2ヶ月のパソコンです。
今日の昼までは、問題なくMT4を使えてました。

MT4以外は、ネットやメール、その他ソフト、その他FX業者ソフト問題なく使えます。

解決策わかる方いたら教えてください。

お願いします。
717Trader@Live!:2014/03/04(火) 19:03:11.60 ID:/KvCJ7uV
>>716
システム復元で使えたころの日にちに戻ってみたら?
718Trader@Live!:2014/03/04(火) 19:51:11.61 ID:+ikDu2VN
profilesの内容を削除(またはコピーして退避)しとくと、デフォルトの状態に戻って起動するんじゃないかな。
無限ループするインジ作ってしまったとき、これやった。
719Trader@Live!:2014/03/04(火) 20:29:35.79 ID:d25O6aOF
>>717

ありがとうございました!
とりあえずは、システム復元で使用可能になりました!

>>718
アドバイスありがとうございます。
かなり初心者なので、勉強になりました!

"VistaやWindows7ではProgram Filesにインストールすると、削除したファイルが元に戻る等の
不具合が発生するらしい"との書き込みを見たので、次回、MT4をインストールしなおす時は、C直下にインストールしようと思います。

レベルの低い質問で申し訳ありませんでした!助かりました!
720Trader@Live!:2014/03/04(火) 20:48:08.37 ID:r1BWCvNz
>>715
hMailServer は
・GUIを表示しないアプリを
・SYSTEMユーザで起動
するので、無理です。

できるかなと思ってやってみましたが、起動すらできませんでした。
721Trader@Live!:2014/03/04(火) 23:54:10.63 ID:ymCgpuZT
結局。マルチコアCPUにMT4は対応してたの?

MT5には対応してるようなんだけど。
http://d.hatena.ne.jp/fai_fx/20100731/1280522145
722Trader@Live!:2014/03/05(水) 00:01:54.51 ID:0JyCvbtV
タスクマネージャで分かるんじゃね
723Trader@Live!:2014/03/05(水) 00:08:47.77 ID:5H0WSSUp
旧MT4だけどタスクみたらね、確かに二つのコアで動いているように見えるんだわ。

「バックテストの高速化に、MT5を利用する」とかよくネタにあるけど
それとは関係のない話かしらん。
724Trader@Live!:2014/03/05(水) 00:11:18.71 ID:miax1xz1
>>720
そうですか。。。残念です。
725Trader@Live!:2014/03/05(水) 08:57:53.90 ID:n5JAUQfr
MT4はマルチコア使っててもCPUコアフルじゃなく1コア分の性能を分散使用だから
マルチコアフルで稼動する事はないんだよねー
726Trader@Live!:2014/03/05(水) 14:32:43.43 ID:EVGSbvpy
二代目のノートパソコンを買いたいのですが、古いノートと新しいノートに同じ業者のMT4を一台ずつ入れても大丈夫でしょうか?
古い方のMT4をアンインストールしてから新しいノートにインストールした方がいいのでしょうか?
727Trader@Live!:2014/03/05(水) 14:35:50.48 ID:2PU1GFok
メタトレーダーでみなさんが使用しているFX業者ってどこですか?
728Trader@Live!:2014/03/05(水) 14:36:32.72 ID:LBjNEupM
問題なし。
同時に起動して同じアカウントで同時にログインできるよ
729Trader@Live!:2014/03/05(水) 18:41:30.22 ID:GTr/ZQ+y
>>727
オレはXEMarkets
730Trader@Live!:2014/03/05(水) 21:57:49.05 ID:8DxEHu3L
この流れは!?C言語から始めろの流れではw
731Trader@Live!:2014/03/05(水) 23:29:25.92 ID:eekHJxsg
>>725
MT4がマルチスレッドアプリでもマルチコアフルで稼働するとは限らないってこと?
違いがよく分からんわ orz
732Trader@Live!:2014/03/05(水) 23:36:10.17 ID:tkWZpo2y
>>731
全てのWINアプリは、必ずマルチスレッドで動く
往々にしてPCの理屈はオフィス業務に例えると分かり易い

貴方は、仕事Aと仕事Bを交互にできる
電話が鳴れば作業を中断して電話を取り、終われば作業に戻る
これがマルチスレッドで、仕事ではなく貴方自身の能力に大きく左右される

一方で、マルチコアに対応するという事は、
貴方と同僚が同時に同じ仕事を分担して行えるという事だ
この場合、仕事そのものを分担前提に組み直しておく必要がある
2人でレポートを書こう、俺は文章でお前はグラフを頼む
文章が決まらないとグラフが造れないような構造のレポートは、分担できない
733Trader@Live!:2014/03/05(水) 23:46:35.08 ID:eekHJxsg
>>732
何となくボンヤリとわかったような…w
確かに二人でやれれば仕事は短時間で済むよね!
だったらMT4がマルチスレッドで動いてるということと、マルチコア対応とは別物ということやね!
アリガトン!
734Trader@Live!:2014/03/06(木) 00:52:19.76 ID:aDwAYT2G
わけのわからない喩えが役に立たない好例だな。
そもそもわからないやつにたとえ話で納得させてもわかったつもりになるだけの意味しかない。
735Trader@Live!:2014/03/06(木) 06:39:49.14 ID:VLKskg4k
>>732
横からですが、わかりやすい例えでの説明ありがとうございます。
特に、
「文章が決まらないとグラフが造れないような構造のレポートは、分担できない 」
は納得です。MT5は分担に対応した構造で作られているということですね。
MT5習得へのモチベーションがあがりました。
ただ、国内のブローカーにライブでMT5が使えるところが見当たらないのが・・・(orz)
736Trader@Live!:2014/03/06(木) 10:03:20.68 ID:TqEyaPKX
732のたとえでいいんじゃないかな。
>この場合、仕事そのものを分担前提に組み直しておく必要がある
これは「「多数のコアにタスクを分担させて効率よく動くようにプログラムする必要がある」と言うことだろう。
OSのスケジューリング機構だけでは無理だからね。(そもそもプログラム側の話だから)

今、2コアCPUでちょっと時間のかかる計算をさせてタスクマネージャで見てるけど、terminal.exeの
スレッド数は7でもCPU使用率は50%前後。
725の言う「1コア分の性能」で、マルチコア環境を効率よく使っていないのがわかる。

ま、「マルチスレッドだからマルチコアで効率よく動ける…(ハズ)」って勘違いを信じてる人は多いからね。
737Trader@Live!:2014/03/06(木) 10:39:23.25 ID:aDwAYT2G
お前プログラム書いたことあんの?
MT4でスレッドがどう使われてるかわかってる?
その時間のかかる計算てのはまさかインジケーターでとかじゃないよね?
738Trader@Live!:2014/03/06(木) 12:17:15.68 ID:X7GSbOun
どこの業者のMT4がレート変動速いのですか?
739Trader@Live!:2014/03/06(木) 12:43:56.16 ID:TqEyaPKX
>>737
君は一昨日から人のレスにケチばかりつけているが
他人の意見が間違っていると主張したいなら
MT4がマルチコア環境ではタスクを割り振って、すべてのコアを使って効率よく処理していることを自分で説明して
その証拠か文献を示さないと反論にならないんだよ。それがわからないか。
740Trader@Live!:2014/03/06(木) 13:16:56.20 ID:lB941ixd
MT5のソースを見たことも書いたこともないけど。
マルチコアに対応するプログラムを書こうとするならば、今までと異なる書き方になる?
MT4だと、start()の中で、そのまま順に処理していく形だけど。
並立して処理をさせるには、並立しても問題ない関数を指定してあげないといけなかったり。
グローバル変数を多用していたなら、変数が変わったかチェックしたりするような、ものが欲しいよね。

結構、マルチコアに対応するプログラムって難しいんじゃない?
素人なのでわからんけど。
741Trader@Live!:2014/03/06(木) 13:58:51.98 ID:aDwAYT2G
>>739
お前が何言ってるのかさっぱりわからんから無理。
742Trader@Live!:2014/03/06(木) 14:01:25.65 ID:aDwAYT2G
>>740
MT5ではバックテストを複数コアやPCを使って同時に実行できるので
最適化が速くできるってだけだよ。
プログラムの構成に変わりがあるわけじゃない。
743Trader@Live!:2014/03/06(木) 14:16:50.43 ID:lB941ixd
複数のEAを同時にバックテストしたときに、効率的に振り分けるならわかるのだけど。
1つのEAを2つのコアで処理して、効率化するのもできるのかな。

素人考えで、手順を踏んでプログラムを処理する限り一つのコアで処理するしかないように思える。
たとえそれを、二つのコアA・Bで分担するとしても、Aのコアで前の処理が終わるのを待機してから、
Bのコアで処理をするのじゃないのかな。
先のタスクマネージャで二つのコアがフルに処理できないのはその理由かしらん。

と思うと、二つのコアでフルに処理させるには、プログラム自体に仕掛けが必要だと思うんだが。
744Trader@Live!:2014/03/06(木) 14:55:48.06 ID:QFPmyfzg
いや、その通りだよ。
ただ、一つのEAをライブで運用しているときに
マルチコアで実行する必要なんか、普通ないだろ。
あるなら、DLL作って、そのなかで並列化すればいい話で、
MQLにそこまで望んでも仕方ない。
745Trader@Live!:2014/03/06(木) 15:15:37.32 ID:lB941ixd
そうですね。一応バックテストの効率化ということで。
結局、MT4とMT5の違いって何なのでしょう。
スレをまとめてみると

MT4 一応マルチスレッドで、マルチコアが利用できる。ただし、同時処理ではない。
MT5 マルチスレッドで、マルチコアが利用できる。同時処理が可能。つまりコアフル可能

のような感じかな。でもMQL4とMQL5でプログラムの構造に差がないとするなら、
MQL5のコンパイラで、同時処理が可能になるようにコンパイルしている。
と、推理するけど。間違ってたらどなたか訂正を。
746Trader@Live!:2014/03/06(木) 16:57:55.98 ID:arHtMWax
今現在の
MT4最新のバージョンっていくつ?
747Trader@Live!:2014/03/06(木) 18:10:09.26 ID:GfCIhVdS
>>745
微妙な表現の怪しさはあるものの正解だよ
748Trader@Live!:2014/03/06(木) 18:26:59.21 ID:AKG7gWr9
MQL5は、プログラムの構造(文法)そのものに、
マルチコアができるようになっている
いわゆるオブジェクト指向ってやつ、クラスとか。
わかり辛い比喩を使うと、
MQL5では、オムレツを作るときに、
コンピューターが、玉子焼きとケチャップごはんを同時に作ることができる
ところが、MQL4では、どこからどこまでの作業が
玉子焼き作りか、ケチャップごはん作りか分からなかった
だから、順番に処理していくしかなかった
749Trader@Live!:2014/03/06(木) 18:44:22.65 ID:GfCIhVdS
>>748
オムライスとオムレツの区別がつかずに許されるのは小学生までなんだからねっ///
750Trader@Live!:2014/03/06(木) 18:54:14.63 ID:GfCIhVdS
MQL4低負荷時
コア1君「いやぁ余裕だな。俺1人でMT4しつつ裏でyoutubeも流せちゃうわw」
コア2君「あ、じゃあ電気もったいないから俺寝てるわ」

MQL4高付加時
コア1君「ちょっと今日のMT4やべえよ…youtubeまでは無理だよ><」
コア2君「じゃあ俺youtubeやるわ。」

MQL4超高付加時
コア1君「もう無理だって!いっぱいいっぱいだよ!誰か、はよ!」
コア2君「ごめんね、余裕があるけど助けられん。youtubeは任せとけってw」

MQL5超高付加時
コア1君「もう無理(ry」
コア2君「俺の仕事まだyoutubeだけだし、手伝ってやるよ」
751Trader@Live!:2014/03/06(木) 19:19:51.72 ID:QFPmyfzg
理解してないくせにいい加減な比喩を並べてデタラメな説明するのはやめてくれ。
752Trader@Live!:2014/03/06(木) 19:38:25.06 ID:aDwAYT2G
>>748
おいおい、うそつくなよ。
MQL5はオブジェクト指向だが並列処理のサポートはないだろ。
知ったかもいい加減にしろ。
753Trader@Live!:2014/03/06(木) 19:47:16.27 ID:aDwAYT2G
>>744
1つのEAならどうだけど、複数のEAを同時に動かす場合は有効だな。
まぁEAは前から別スレッドなので今さらだけど、MQL4側の処理で
制限を受けるのでよっぽど重いEAじゃないとメリットなさそうだけどね。
754Trader@Live!:2014/03/06(木) 19:49:02.37 ID:aDwAYT2G
>1つのEAならどうだけど
<1つのEAならそうだけど
755Trader@Live!:2014/03/06(木) 22:09:49.10 ID:Y7gTyWZW
無知だったり理解が足りないのは別にどうってことないですけど、
それをあたかも本当のように力説するのはやめていただきたいですね。
756Trader@Live!:2014/03/06(木) 23:14:53.75 ID:6b0cLe0O
オブジェクト指向言語だと(JavaやC#のように)クラスでスレッドを抽象化して並列処理をサポートするのが一般的かもしれないが
MQL5だとC++レベルの並列処理とはなんの関係もないクラスだよな。たぶん。
757Trader@Live!:2014/03/06(木) 23:23:08.04 ID:lB941ixd
うんんん。
つまるところ、MT5にしても、1つのEAを並立化させてバックテストを高速化させるようなことは
できない。でよろしゅうございますか?

そうだと、余計MT5にメリットを感じないですねえ。
758Trader@Live!:2014/03/06(木) 23:29:13.59 ID:aDwAYT2G
こことか読んでみたら?
http://d.hatena.ne.jp/fai_fx/20100731/1280522145
759Trader@Live!:2014/03/06(木) 23:52:10.37 ID:SO3FzovZ
俺らにとってはツールという意味しか持たないので、何ができてどう便利なのかが全て
原理は割りとどうでも良かったりする
とはいえ原理を知ってこそ使い道が分かるってのも否定はしない
ただ正確な比喩である事はそれほど必要な事ではない
760Trader@Live!:2014/03/06(木) 23:56:11.52 ID:lB941ixd
わかった!かな。
>>758はオプチテストですね。
オプチなら、各プロパティ毎にテストを行うわけだから。
MT5において各テストで並立化ができると、、。
761Trader@Live!:2014/03/07(金) 08:58:42.09 ID:gp5SONUl
hMailServerを紹介して下さった方、いらっしゃいますか?
実は、とても困った問題が昨日発生しました。
決済サインによって、メールが送信され、テキストに書かれた直後(ほぼ同時に)、
別な通貨の買いや売りのサインが発生して、メールが送られ、それが上書きされてしまい、
最初の決済サインのテキスト文が無かったことになる事例が発生しました。
これは、かなり稀なことなのかもしれません。
そこで、テキストに一行ずつ書き加えるように出力するのは難しいでしょうか?
(何行あっても、UWSCで一行づつ確認して処理することは可能なので)
駄目ならば、監視サイクルを極力短くし、発生したら諦めるしかないですが。。。
762Trader@Live!:2014/03/07(金) 09:39:17.43 ID:xfSPG3gE
>>761
ReceiveFromMT4 関数の中の CreateTextFile を、
OpenTextFile ファイル名, 8, True, 0
と置き換えるといいと思います。

その場合、延々とファイルが肥大化するので、そこだけ注意してください。

また、 WiteLine から Write にしたほうがいいかもです(改行の問題)

いずれも、試してません。

中身はUWSCのスクリプトとたいして変わりないVBSなので、探せば情報はかなりあります。
ご自分でお調べになったほうが早く解決できると思いますよ(^^)
763Trader@Live!:2014/03/07(金) 09:39:53.85 ID:xfSPG3gE
貼ろうと思って貼り忘れました。
OpenTextFile
http://www.happy2-island.com/vbs/cafe02/capter00214.shtml
764Trader@Live!:2014/03/07(金) 09:57:06.17 ID:gp5SONUl
>>762
素早いお返事に感謝
やってみます
765Trader@Live!:2014/03/07(金) 10:33:41.32 ID:xfSPG3gE
>>764
前に書きましたけど、VBScript は hMailServer の管理画面で reload しないと変更が反映されないので注意してください
766Trader@Live!:2014/03/07(金) 13:15:04.64 ID:AuP/Q1eg
俺、MT5になればくそ重いEAが並列処理されて、軽くなるのかと思ってたわ。
>>743はひどいミスリードだな。
767Trader@Live!:2014/03/07(金) 13:29:46.92 ID:gp5SONUl
>>765
↑の分かり易い完璧なマニュアルにしっかり書かれてあったので、
そのことも、すっかり頭に刻まれておりますので大丈夫です。
本当に細かいお気遣いをして頂き、ありがとうございます。
768Trader@Live!:2014/03/08(土) 10:24:51.29 ID:XtRjt1I6
関数を作って、配列を参照渡しするようにしたのですが、Close、High等は
constant variable cannot be passed as reference
と表示されてうまく行きません
別に配列を作ってClose等をコピーするしか方法はないのでしょうか?
他にやり方があれば教えて下さい。
769Trader@Live!:2014/03/08(土) 11:16:12.11 ID:3cFx1w7R
>>768

以下のサンプルコードのようにconstを付ければ解決すると思います。

constを付けないと関数内で配列の値を書き換えることが可能なため、
コンパイル時に配列値を変更してはならない配列変数を渡すコードを
見つけるとコンパイル段階でエラーにしているのだと思います。

void func(const double c[])
{
Print(DoubleToStr(c[0],Digits));
}

int start()
{
func(Close);
return(0);
}
770Trader@Live!:2014/03/08(土) 11:32:36.30 ID:XtRjt1I6
>>769
解決しました!数時間ggって、最後の最後ここで質問して良かったです( ;∀;)
771Trader@Live!:2014/03/08(土) 11:36:40.09 ID:XtRjt1I6
ありがとうございます!
(ちなみにconst近辺には行き着いていましたが「なにこれOnCalculate()?MQL5?カンケーねーじゃんstart()の代わりじゃん」とスルーしたのは内緒です)
772Trader@Live!:2014/03/08(土) 12:32:12.48 ID:OYmPsgR6
外出先でも使えるようにタブレットでも使えないのか
773Trader@Live!:2014/03/08(土) 12:33:06.92 ID:1NuF4BLO
win8なら余裕じゃね
774Trader@Live!:2014/03/09(日) 03:35:12.39 ID:Tw9MGlW7
糞バージョンアップのせいで自作EA書き換えるの大変だったわ
775Trader@Live!:2014/03/09(日) 09:59:13.87 ID:n5iJKnZ/
時間や通貨限定で構わないので、
5時間以内で10pipsで良いので
確実に取れるインジケーターを教えて下さい
776Trader@Live!:2014/03/09(日) 11:14:31.34 ID:FwePdI8U
>>775
仮に、そんなものがあるとしたら、
世界の貧困問題は解決しているよ。

日本政府だって、消費税を上げる必要もなく
そのインジケータで稼げばいい。
777Trader@Live!:2014/03/09(日) 14:22:17.60 ID:n5iJKnZ/
えぇー、じゃあ俺たちは何をやっているんだ。。。
778Trader@Live!:2014/03/09(日) 14:27:31.87 ID:MOaXCerR
政府・中央銀行がインジケータで稼ぎまくれていたらすげー
779Trader@Live!:2014/03/09(日) 14:35:57.65 ID:FwePdI8U
>>777
「確実に取れる」という点だけは諦めれば良い。

基本的に、少人数で少額で使っているだけなら
取れる可能性が高いインジケータなら存在する。
780Trader@Live!:2014/03/09(日) 14:53:32.13 ID:n5iJKnZ/
>>779
じゃあ、それで良いので
教えて下さい
781Trader@Live!:2014/03/09(日) 15:47:21.43 ID:O7soGfRz
>>780
100万円で教えてあげよう(´・ω・`)
782Trader@Live!:2014/03/09(日) 15:52:28.30 ID:dDKc9zH4
ワンクリック注文すると
約定通知メッセージ
出るんやけど
出さない設定どなたか知りませんか?
783Trader@Live!:2014/03/09(日) 16:48:14.91 ID:Tw9MGlW7
mt4のビルド600以前とビルド600以降は別物すぎてワロタ
互換性無視でバージョンアップしたら混乱するやろw
mt4の進化版はmt5に任せとけば良かったんや
ソース書き直しで数日潰してもうたわ(´・ω・`)
784Trader@Live!:2014/03/09(日) 17:01:44.91 ID:n5iJKnZ/
>>781
了解です。それで儲かったお金で支払います
遅れた分は消費税の年利8%で上乗せします
785Trader@Live!:2014/03/09(日) 18:58:27.75 ID:n5iJKnZ/
インジ まだーーー
786Trader@Live!:2014/03/09(日) 20:07:52.17 ID:FwePdI8U
>>785
これは本当にごく一部の人しか知らないインジなんだが、
Forex-TSD のエリートセクション・アドバンスドに nmaシリーズのスレがある。
そのレス内にあるひとつのインジが便利だよ。
787Trader@Live!:2014/03/09(日) 23:01:36.41 ID:n5iJKnZ/
インジ まだーーー
788Trader@Live!:2014/03/10(月) 01:58:41.72 ID:2Tz+RPrD
>>775
オプションの売りをやったら。
99.9%勝てるよ。
ただし、ある程度儲かったら、止めてね。
789Trader@Live!:2014/03/10(月) 04:12:12.56 ID:z/eYobWK
そんなには勝てない
790Trader@Live!:2014/03/10(月) 12:30:12.46 ID:2Tz+RPrD
オプションの売りはほぼ勝てるって。
791Trader@Live!:2014/03/10(月) 12:53:00.04 ID:z/eYobWK
勝ち負けの基準にもよるが、99.9%勝つってことは1000回に1回しか負けないってことだぞ
792Trader@Live!:2014/03/10(月) 13:10:51.71 ID:Svd514K4
1万円の勝ちを999回重ねたところで、
1億の負けを1回喰らえば・・・・
793Trader@Live!:2014/03/10(月) 13:15:40.33 ID:OXd+CsVk
1回の負けで999回の利益をすべて吐き出してさらに借金を作る
それがオプションの売りでしょ
だから788にはある程度で止めろと書いてある
ナンピン+マーチンやトラリピと同じ図
794Trader@Live!:2014/03/10(月) 13:17:55.72 ID:OXd+CsVk
ごめん。かぶった
795Trader@Live!:2014/03/10(月) 13:46:29.97 ID:Svd514K4
でもそんな話しをしても無駄無駄。

賢い奴は、ふふ〜ん オプションで大負けする時は、
ファンダメンタルに異常が起きた時だけでしょ?
普段から政治経済情勢に注目していれば確実に避けられる話しだ。

と言って聞かないからな。
796Trader@Live!:2014/03/10(月) 19:07:21.04 ID:7xPXHuv4
311の阿鼻叫喚を思い出すだけで寒気がする

オレは相場脳にはなっていなかったんだな
プットの買いすら思いつかなかった(w
797Trader@Live!:2014/03/10(月) 19:59:27.85 ID:tG2SrGde
FXですらメンテ明け急変でポジ0口座残高0の悪夢見るのに
オプションの売りとかノイローゼになるレベルw
798Trader@Live!:2014/03/10(月) 20:15:39.30 ID:l3SYL94H
質問でないばかりかメタトレーダーにすら関係ないな
799Trader@Live!:2014/03/10(月) 22:05:36.55 ID:qh0nLaL0
メタトレーダーのライバル()のトレードシグナルを使っていた、
ひまわり証券は、顧客がやらかした先物・オプションのおかげで、
いろいろ撤退する羽目になったという。
800Trader@Live!:2014/03/11(火) 00:14:13.36 ID:twtldhTQ
半透明の図形描けると最高なんだけど
801Trader@Live!:2014/03/11(火) 00:51:49.03 ID:X/eKXXzT
世界情勢に注目してれば相場の急変に対応できるとか勘違いしてるアホほどほどにしろよw
802Trader@Live!:2014/03/11(火) 10:15:25.14 ID:7L4SsKXN
質問スレとして機能しておりません
803Trader@Live!:2014/03/11(火) 10:27:48.64 ID:TfWmpWk2
804Trader@Live!:2014/03/12(水) 02:23:13.81 ID:P3CGamaF
便所の落書き=2chなんてこんなもん
Googleからも違法性あるサイトと認定w
805Trader@Live!:2014/03/12(水) 10:45:07.69 ID:S5oxYPxX
って言われてもな〜
806Trader@Live!:2014/03/14(金) 08:47:28.02 ID:5+/tSJgS
MT4のlogの保存先を変更する方法ないですか?
ググるとログの自動削除とかは乗っているのですが・・・
807Trader@Live!:2014/03/14(金) 09:19:22.89 ID:zN27gMow
>>806
フォルダ自体をハードリンクで別の場所にするみたいなのは?
808Trader@Live!:2014/03/14(金) 10:37:01.11 ID:sFKujNu4
>>806
フォルダのショートカットを作成するとかは?
809Trader@Live!:2014/03/14(金) 15:59:06.56 ID:5+/tSJgS
>>807,808
レスありがとうございます
設定で保存フォルダは変更できないのですね
冗長目的ではないのですが、バックアップソフトでミラーリングすることにします
810Trader@Live!:2014/03/15(土) 22:26:15.91 ID:z/zra6M3
通貨ポイントのSYMBOL_POINTが0.00000だと0になるんだけどこれはなぜなんだ?
馬鹿だからわからねー
0.00001になるんじゃねーのかよ
811810:2014/03/16(日) 00:31:43.66 ID:3PYN0sFF
>>810
解決したから忘れてくれ
812Trader@Live!:2014/03/16(日) 21:50:06.79 ID:ECHw7WNg
hMailServerを紹介して下さった方、いらっしゃいますか?
実は色々やっていて、混乱やブッキングが発生しました。
これはMT4を2台使えば、問題無くスッキリしそうです。
つまり、一台のwin7パソコンで、
MT4@のメール情報をmail-from-mt4@.txt
MT4Aのメール情報をmail-from-mt4A.txt
それぞれに出力することは可能なのでしょうか?
これ以上に下手に続けると全てが滅茶苦茶になりそうなので、
度々ですいませんが、教えてください。
813Trader@Live!:2014/03/16(日) 22:20:43.99 ID:/iAoHDZ+
>>812
MT4@から送られるメールと、MT4Aから送られるメールに、
特定可能な特徴がないと難しいです。
件名や本文に、「これこれの文字列が含まれていたら@、A」と特定可能な
条件はありませんか?
814Trader@Live!:2014/03/16(日) 22:23:42.30 ID:/iAoHDZ+
もしくは、メールの送信先に gmail を使っていいなら
自分のアカウント[email protected]
自分のアカウント[email protected]
のように、メール送信先を変えることで、 hMailServer で判定することも可能です。

現在キャリアメールを宛先にしているようなら、
Gmail からキャリアメールに転送するように設定する必要があります。
815Trader@Live!:2014/03/16(日) 22:26:22.39 ID:ECHw7WNg
考えている@とAは違うインジのサインなので、
件名に特定できる文字列はあります。
もしかしてMT4が1台でも振り分け可能だったりします?
816Trader@Live!:2014/03/16(日) 22:32:37.05 ID:ECHw7WNg
>>814
プロバイダのファミリーメールとヤフーメールなら、
この2つのアドレスに振り分けて送られても混乱しません。
817Trader@Live!:2014/03/16(日) 22:45:41.19 ID:ECHw7WNg
理想は、一台のMT4で、
ある特定のインジの件名のものは、mail-from-mt4@.txtに、
(このインジだけは、ex4のため何も書き換えできないため)
その他のインジ全ては、mail-from-mt4A.txtに出力されれば、混乱はなくなります。

不可能なら、2台のMT4で、送信先メールアドレスをそれぞれ変えることは可能です。
818Trader@Live!:2014/03/16(日) 22:56:20.56 ID:/iAoHDZ+
>>815
それならMT4、1つでできますね。

Events\EventHandlers.vbs に書いてる
ReceiveFromMT4 プロシージャを、以下のように書き換えるといけると思います。

すでに原型はないと思いますが、元の私のサンプルでいうと、以下のファイル名設定部分の変更です。

filename = objShell.ExpandEnvironmentStrings("%TEMP%") & "\mail-from-mt4.txt"

ここを、

If oMessage.Subject = "USDJPY" Then
filename = objShell.ExpandEnvironmentStrings("%TEMP%") & "\mail-from-mt4-01.txt"
ElseIf oMessage.Subject = "EURJPY" Then
filename = objShell.ExpandEnvironmentStrings("%TEMP%") & "\mail-from-mt4-02.txt"
Else
filename = objShell.ExpandEnvironmentStrings("%TEMP%") & "\mail-from-mt4-03.txt"
End If

というような感じに変更します。
見てお分かりのとおり、 oMessage.Subject に件名が入っています。

実際には、「件名がXXXで始まるとき」という判定にしないといけないかもしれません。
それ自体は一般的なVBScriptの書き方の範疇なので、自分で調べてみるといいです。
819Trader@Live!:2014/03/16(日) 22:59:19.43 ID:ECHw7WNg
>>818
ありがとうございます。
やってみます。
820Trader@Live!:2014/03/16(日) 22:59:47.71 ID:Dv2yLTA4
水を差すようでアレだが・・・
そもそもインジでメールって何の意味が有る?
メールは大なり小なり必ず遅延するし、メールを見てから何か動作を起こしてたら更なる遅延を招く。
せっかく頑張っても何の役にも立たないと思うぞ。
821Trader@Live!:2014/03/16(日) 23:06:27.60 ID:ECHw7WNg
>>820
そうなんですよ。数分から10分以上のこともざらです。
だからテキスト監視で、大転換時に秒単位で即効自動処理させるためです。
そこから、この話は始まっています。
822Trader@Live!:2014/03/16(日) 23:21:36.74 ID:/iAoHDZ+
>>820
話のはじまりはどこだったかなーと探してみて
>>666,667
あたりでした。

ex4 しかないけど SendMail をどーにかしたい、っていう要件ですね。
823Trader@Live!:2014/03/16(日) 23:41:14.59 ID:ECHw7WNg
>>822 
そうですね。
エントリーサインは出た後の動き、押し戻しを見て慎重に入るもの。
もしそれが出来なかったり、分からないときは諦めればいいだけ。
でも、せっかく利が順調に伸びて、決済サインのメール遅れで、
ストップに引っかかってガッカリすることが多かった。
それが今は、最低限の利は確保できるようになりました。
何より、最近は安心して外出できるのは大きいです。
824Trader@Live!:2014/03/16(日) 23:43:33.25 ID:Nf2Fhwgw
安心か?ホントにそうなのか?なんかメール来るたびにビクッとしそうだがw
825Trader@Live!:2014/03/16(日) 23:47:21.75 ID:Oolm/kfP
ビクっとしそうなのは同意だけど、まぁ本人が納得しているのなら、それ以上はこのスレで言及すべき問題でもないw
826Trader@Live!:2014/03/16(日) 23:53:10.18 ID:ECHw7WNg
安心は言い過ぎたかも。
一番嫌なのは行って来いの展開です。
最近多くて。。。雑談になっちゃってますね。
すいません。これで落ちます。
827Trader@Live!:2014/03/17(月) 14:58:29.34 ID:HujdkhVD
持っているポジションを指値決済したい場合どのコマンドを使えば良いでしょうか

新規注文する際のOrderSendを使えば指定できると思うのですが、その段階ではまだ決済の指値が決まっていません
OrderCloseを使用しpriceに定数を入れて色々いじってみましたが何の値を入れても成行で決済されてしまいます
よろしくお願いします
828Trader@Live!:2014/03/17(月) 15:11:00.88 ID:mv3hoNPZ
>>827
OrderModify()ですな
829Trader@Live!:2014/03/17(月) 15:36:18.43 ID:HujdkhVD
>>828
できました!
ありがとうございます
830Trader@Live!:2014/03/21(金) 03:25:42.76 ID:J0EWkwAS
BBands STOP With alert
http://fast-uploader.com/file/6950894962290/
を使ってドテン売買してるんだが、
転換時にラインにタッチするとアラート音とポップアップサインが、
頻繁に出ることがあって煩いし勘違いしてドテン連発して失敗してしまう。
これを足が確定したら、アラート音とポップアップサインが出るように出来ないでしょうか?
(一本遅れの始値で出てしまって構わないので)
831Trader@Live!:2014/03/21(金) 03:34:38.96 ID:J0EWkwAS
書き方が悪かったかもしれないので、↑に補足すると、
足が確定した時点で終値がラインを抜けていたら、
矢印サイン、アラート音、ポップアップサインを出してほしいってことです。
832Trader@Live!:2014/03/21(金) 14:58:04.75 ID:GaNmyyWU
if (SoundON==true && shift==0 && !TurnedUp)
if (SoundON==true && shift==0 && !TurnedDown)
の2行のshift==0をshift==1にすればいいように思う。

現在足のARROWも表示させたくないなら、
 UpTrendSignal[shift]=bsmin[shift];
 DownTrendSignal[shift]=bsmax[shift];
の2行の前にif (shift!=0) を加えるかな。動作確認はよろしく。
833Trader@Live!:2014/03/21(金) 17:34:35.39 ID:J0EWkwAS
>>832
そこだけで良かったんだ。
俺、基本的なことが分かってなくて、
そこに-1入れ、駄目でほかも弄り回して動かなくなっちまったんだ。
さっそくやってみるわ。サンキューw
834Trader@Live!:2014/03/21(金) 18:38:36.33 ID:J0EWkwAS
>>832
dクス。上手くいったみたい。
実は、これのMAをEMAにしたいんだが、
全く分からん。これって容易じゃないのかな。
835Trader@Live!:2014/03/21(金) 22:32:23.85 ID:Iig71LPg
Bands.mq4の中身の
>iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i);

>iMA(NULL,0,BandsPeriod,BandsShift,MODE_EMA,PRICE_CLOSE,i);
に変えればおk

それか別に自作でBansを作って
iBansの部分をiCustumにするか
836Trader@Live!:2014/03/21(金) 23:22:49.50 ID:J0EWkwAS
>>835
サンキュー、やってみるわ。
837Trader@Live!:2014/03/22(土) 06:43:03.55 ID:IiA4YGMw
int cnt, CurrentPosition;

こういう書き方をすると

cntが変数

CurrentPositionこれも変数なんですか?

もし変数なら

int cnt;
int CurrentPosition;

この書き方ではだめなのですか?
838Trader@Live!:2014/03/22(土) 07:12:20.08 ID:LNBUiCf/
そうです。

だめじゃないです。
839Trader@Live!:2014/03/22(土) 07:14:18.67 ID:wuH/G1qq
>>837
int って二回書くのが面倒だから、一つにまとめてるだけ
840Trader@Live!:2014/03/22(土) 07:30:28.32 ID:IiA4YGMw
>>838
>>839

ありがとうございます。
841Trader@Live!:2014/03/22(土) 20:48:04.20 ID:vFLO7PKs
特定のインジを時間指定して
止めるインジって存在しないですか?
842Trader@Live!:2014/03/22(土) 21:38:29.57 ID:oGzYXWzV
有効にしたい時間でだけiCustomで呼ぶインジ作れば
843Trader@Live!:2014/03/22(土) 23:35:50.05 ID:wyVhSXda
ちょっと聞きたいんだけどmt4のビルド600以降ってmql5も動くようになったの?
844Trader@Live!:2014/03/22(土) 23:41:01.20 ID:wyVhSXda
も、というか4は捨てて5になったのか
コンパイル済みの4は動くけどソースいじるには5にしなきゃならない?
845Trader@Live!:2014/03/22(土) 23:57:43.07 ID:wyVhSXda
きっぱりと5になったわけじゃないのか
4の古い構造を残しつつなんだな
相当ややこしいな
846Trader@Live!:2014/03/23(日) 00:02:23.30 ID:X+HTFzqH
build600 で動くようになったのは MQL4 でも MQL5 でもなく
newMQL4 っていう別の言語と思った方がいい

あと,ソースをいじる場合でも MQL4 のままでいけることもあると
俺の少ない経験では感じた
847Trader@Live!:2014/03/23(日) 00:13:40.84 ID:h11z0nDz
d 古いmql4もコンパイルできたわ
mql5は内部構造が全く違うから合わせられなかったか
848Trader@Live!:2014/03/23(日) 00:19:43.52 ID:8YQo71vF
条件発生時に、(ASK + 10 * Point)をKAKAKUに代入しています
その後現在価格がKAKAKU以上になったらエントリーさせたいのですが


if(条件発生)
{
 KAKAKU = ( ASK + (10 * Point) );
}

Print("KAKAKU=" + KAKAKU) //実際に動作させるとここでは意図したとおり通り正常に条件発生時プラス10ピプスの価格が入っている事を確認済みです


if( Close[0] >= KAKAKU ) //ここで期待した動作をしてくれずエントリーしてくれません.
{
 (エントリー)
 Print("TEST"); //動作させても"TEST"はプリントされません
}

"TEST"がプリントされないため
(エントリー)部分の if を通過していない事は分かるのですが、なぜ通過しないのかが分かりません。
何か間違いを犯しているはずなのですが、どこで間違えているのかが分かりません。
ご指摘いただければありがたいです。
849Trader@Live!:2014/03/23(日) 00:24:17.92 ID:Gx1LtUAW
Close[0]がKAKAKU以上になってないから。
その変なコード通りならだけどな。
850Trader@Live!:2014/03/23(日) 00:25:17.03 ID:LbwVHdch
>>848
記されているソースを見る限りでは間違いはありません
851Trader@Live!:2014/03/23(日) 00:32:13.43 ID:LbwVHdch
超エスパーレスしてみる
double KAKAKU; を
static double KAKAKU; にしてみたらどうか
852Trader@Live!:2014/03/23(日) 00:41:45.55 ID:8YQo71vF
回答ありがとうございます。
やはりコード自体はあっているという事と、staticにしてもダメでしたので、他の部分で何か間違えているという事になりますね。
テスト実行時にclose0 >= KAKAKU も、もちろん満たしていますので他の部分の記述を確認してみます。
ありがとうございました
853Trader@Live!:2014/03/23(日) 01:06:22.64 ID:Gx1LtUAW
エスパーすると、Close[0]がKAKAKU以上になる前に条件が発生して更新されている。
せめてAskとかClose[0]とか書け。
それすら間違ってるようでは可能性は無限大。
854Trader@Live!:2014/03/23(日) 01:09:54.31 ID:Gx1LtUAW
>>851
その可能性のがあるか。
>>852
ローカル定義してるならグローバルに定義するかstaticをつける。
855Trader@Live!:2014/03/23(日) 01:11:38.37 ID:Gx1LtUAW
と、思ったらstaticでダメだったのかw
実際のコードを見たら一瞬だろうけどな。
856Trader@Live!:2014/03/23(日) 01:32:41.16 ID:h11z0nDz
>staticにしてもダメでした
っていうかstaticにしなきゃならないんじゃないの?
それともグローバルに定義してるのかな

>if(条件発生)
ここが怪しい
if(Close[0]>MA)
 KAKAKU=Ask+10pips
if(Close[0]>=KAKAKU)
 Print("TEST")
とかやってるんじゃないの
この場合はif(Close[1]>MA)にするべき
857Trader@Live!:2014/03/23(日) 01:37:26.24 ID:Gx1LtUAW
そんなわけのわからないコードを書いてするべきとか言われても...
858Trader@Live!:2014/03/23(日) 01:40:13.61 ID:h11z0nDz
何を言いたいか伝わらなかったかな
上のコードじゃ絶対に下の条件文に入らないってことなんだけども
859Trader@Live!:2014/03/23(日) 01:47:25.97 ID:Gx1LtUAW
そんなのそのMAだかに何が入ってるかによるだろ。
860Trader@Live!:2014/03/23(日) 01:50:09.24 ID:h11z0nDz
MAつうのは仮の値
イメージとしては移動平均
よく移動平均超えたらエントリーしたいんですけどーみたいな書き込みあるじゃん
861Trader@Live!:2014/03/23(日) 01:55:28.48 ID:Gx1LtUAW
Close[1]>MAだとしても同じようなもんだと思うが。
>>853の意味以上のものがあるなら言ってくれ。
862Trader@Live!:2014/03/23(日) 02:01:05.64 ID:h11z0nDz
まあどうでもいいよ
いろいろ想像したところで本人がいなきゃどうにもならん
863Trader@Live!:2014/03/23(日) 02:04:43.49 ID:Gx1LtUAW
そう言ってるのにごく僅かな例を出したのはお前。
お前の例で言っておくと、それを解決するには普通はクロスしたかどうかを判定する。
864Trader@Live!:2014/03/23(日) 02:19:58.82 ID:9cpXEGeC
個人的に853を支持
865Trader@Live!:2014/03/23(日) 03:45:22.29 ID:AFKj3Rr+
>>848
Close[0]=Bid=Ask-スプレッド
ですから、
Close[0]>=KAKAKU
の条件は
Ask-スプレッド>=KAKAKU=Ask+10*Point
つまり
スプレッド<=-10*Point
となります。
スプが-10pipsの業者はあり得ませんから、エントリー出来ないと思われます。
>>856さんが示されているように、
if(Close[1]>=MA)
とされるのが吉です。
Close[0]にしたい気持ちはわかりますが、Close[1]等を用いてください。
Close[1]は確定した値ですが、Close[0]はBidと同じですから、刻々と変化していることにご注意ください。

Close[1]でもだめな場合は、他にも原因があるわけですが、それはわかりません orz
866Trader@Live!:2014/03/23(日) 03:52:57.89 ID:AFKj3Rr+
>>865
☓ if(Close[1]>=MA)
○ if(Close[1]>=KAKAKU)
です。
念のため
867Trader@Live!:2014/03/23(日) 05:54:12.05 ID:dQZ+WO2P
MT4で注文を出したらMT4を閉じても注文は有効ですか?
868Trader@Live!:2014/03/23(日) 06:10:58.79 ID:ox7zN5sV
Pointはその通貨の最小単位だから10*Pointは10pipsじゃなく1pipsじゃね
あとAskはスプレッド分含まれるから注意
869Trader@Live!:2014/03/23(日) 06:41:06.63 ID:yANftjFT
AskもClose[0]とともに変化するのだから、Askより大きいKAKAKUを、BidであるClose[0]が上回る訳がない
条件文の手前でKAKAKUだけをプリントするような片手落ちをなぜするかねぇ
Close[0]もプリントすれば上回っていないことは一目瞭然だろうに
870Trader@Live!:2014/03/23(日) 06:56:27.04 ID:Gx1LtUAW
条件発生とかいうのが適切ならそんなバカな話にはならない。
871Trader@Live!:2014/03/23(日) 07:02:31.84 ID:yANftjFT
要は条件発生に問題があってKAKAKUが固定されていないってことだね
872Trader@Live!:2014/03/23(日) 07:10:09.04 ID:Gx1LtUAW
質問者のレスをちゃんと見てればそんなバカな話をするはずがない。
873Trader@Live!:2014/03/23(日) 08:46:29.30 ID:LbwVHdch
↑↑↑↑ここまで 価格.com のステマ↑↑↑↑
874Trader@Live!:2014/03/23(日) 09:26:21.60 ID:Gx1LtUAW
金融商品取引業廃業のお知らせ
http://kakakufx.com/
875Trader@Live!:2014/03/23(日) 21:03:14.94 ID:sM8kyh/T
どなたかbuild600で使えるHi-lowバンド作ってくれませんか?
876Trader@Live!:2014/03/23(日) 23:13:39.96 ID:Fev9vxf0
>>875
http://blog.livedoor.jp/aburakatabura1/archives/789406.html
とか
http://kimama00.atgj.net/indicators-f%20to%20j-/00-highlowband_v100
ここにあるやつだったら普通にコンパイルできて動いてるように見えますね (build 625)。
何種類かあるようなので、どれのことなのか提示したほうがよいかと思います。
(それでも誰かが直してくれる保証はないですけども)
877Trader@Live!:2014/03/24(月) 00:37:48.18 ID:c0q74xqA
MT4で注文を出したらMT4を閉じても注文は有効ですか?
878Trader@Live!:2014/03/24(月) 11:35:05.68 ID:CvYS3s10
国内業者でEA動かせる業者はどこが良いですか?
EA使える国内業者って何社くらいあるんでしょうか?
879Trader@Live!:2014/03/24(月) 11:35:57.11 ID:WSFPz+Ef
>>877
もちろんです
宅配ピザを頼めば、電話を切っても届きますw
880Trader@Live!:2014/03/24(月) 11:51:11.22 ID:xUUryoxq
ウメーw
881Trader@Live!:2014/03/24(月) 12:07:13.77 ID:ys8baCW3
ピザだけにwww
882Trader@Live!:2014/03/24(月) 20:16:34.83 ID:wvbv8uxs
>>876
ありがとうございます。
コンパイルできました!
883Trader@Live!:2014/03/25(火) 07:04:34.60 ID:hEEZQ9XC
1つのEAで複数の通貨の取引をしたいと考えており、ティックの値の取得で困っています。

現在のティックの値をiClose(通貨)コマンドで逐一取得しているのですが、
このコマンドは指定の通貨のBidの値を取ってきていますが、Askの値を取得するにはどうすればよいでしょうか?
今開いているチャートの通過であれば単純に“Ask”コマンドで得られると思いますが、
他通貨の場合どのようにすれば取得できますか。
884Trader@Live!:2014/03/25(火) 07:48:30.88 ID:q7NTpNhy
MarketInfo(symbol, MODE_ASK);
885Trader@Live!:2014/03/25(火) 08:08:21.52 ID:hEEZQ9XC
>>884
ありがとうございます
886Trader@Live!:2014/03/25(火) 08:28:42.45 ID:XlJhKgzO
下のMQL4コードについて質問です。

Build 600以前はWingdingsコード表通り『反転文字の@』の一文字がチャート右上に表示されていましたが、
Build 600以降だと『@』と『左を指差した手』の2文字が表示されてしまいます。

Build600以前の表示をさせたいのですが、どのようにしたら宜しいでしょうか?

string obj_name = "xxx";
ObjectCreate(obj_name , OBJ_LABEL, 0, 0, 0);
ObjectSet(obj_name , OBJPROP_CORNER, 1);
ObjectSet(obj_name , OBJPROP_XDISTANCE, 1);
ObjectSet(obj_name , OBJPROP_YDISTANCE, 1);
ObjectSetText(obj_name , CharToStr(139+1), 18, "Wingdings", Red);
887Trader@Live!:2014/03/25(火) 08:34:54.09 ID:q7NTpNhy
試してないけどこんな感じでいけるのでは。
uchar c[1] = 139+1;
ObjectSetText(obj_name , CharArrayToString(c, 0, 1), 18, "Wingdings", Red);
888Trader@Live!:2014/03/25(火) 08:36:05.72 ID:q7NTpNhy
と、思ったら同じようなことなのか。
それだとひょっとしてMT4のバグかもね。
889Trader@Live!:2014/03/25(火) 08:38:26.44 ID:q7NTpNhy
と思ったけど、現象からみるにその場合はASCIIコードそのままを渡すように
しないとダメなのか。
890Trader@Live!:2014/03/25(火) 13:25:32.83 ID:XlJhKgzO
追加情報です。

build610で下記コードをコンパイルし0〜255全ての文字コードを確認すると
129〜159、224〜252の範囲が『@+左向きの手』で表示、他は正常表示されました。

ビルド509の下記コードのex4ファイルをbuild610上で動かすと全ての文字コード
が正しく表示されました。

for (int y = 0; y < 16; y++) {
for (int x = 0; x < 16; x++) {
string obj_name = "LABEL_" + y + "_" + x;
ObjectCreate(obj_name , OBJ_LABEL, 0, 0, 0);
ObjectSet(obj_name , OBJPROP_CORNER, CORNER_LEFT_UPPER);
ObjectSet(obj_name , OBJPROP_XDISTANCE, x * 30);
ObjectSet(obj_name , OBJPROP_YDISTANCE, y * 30);
ObjectSetText(obj_name , CharToStr(y*16+x), 15, "Wingdings", Red);
}
}
891Trader@Live!:2014/03/25(火) 13:47:12.16 ID:aFMQYYRB
>>890
mql5.com の Service Desk に聞いてみたほうがいいかもです。
バグであればなんらかの返答をくれます。たぶん。
892Trader@Live!:2014/03/25(火) 18:54:31.76 ID:gXPNmkHC
http://www.fx-mt4ea.com/ea3/FractalZigZagNoRepaint.mq4
これにサインが確定したら、
高値でHiSign、安値でLowSignという本文の、
メールを送れるようにしたいんだが、
俺が無知すぎて全然上手くいかない。
どこを、どう加筆すればいいの?
893Trader@Live!:2014/03/26(水) 07:41:16.17 ID:3dXdb+gr
>>892
// Show signal if it is a fractal and matches last zigzag high value

// Show signal if it is a fractal and matches last zigzag low value
のコメントが付いている if 文ブロック内で、
SendMail すればいいですよ。
894Trader@Live!:2014/03/26(水) 12:00:02.95 ID:E5eZulON
>>893 それでいいはずだよな。それで下記の2箇所に加筆したんだが、
MT4立ち上げ直後に大量メールが送られ、チャート上はLoSignだけが出ているのに、
一旦HiSignメールが送られたと同時くらいにLoSignメールが送られてしまう。
メールだけ見ていると、何がなんだか分からない状態なんだよ。何でだろう?

// Show signal if it is a fractal and matches last zigzag high value
if(fr_support_change == true && fr_support == zzlow)
{
// Show arrow on fractal and pricetag
ExtMapBuffer1[i+2] = fr_support - nShift*Point;
SendMail("ZigZag LoSign","LoSign"); //加筆部分1
} else

// Show signal if it is a fractal and matches last zigzag low value
if(fr_resistance_change == true && fr_resistance == zzhigh)
{
// Show arrow on fractal and pricetag
ExtMapBuffer2[i+2] = fr_resistance + nShift*Point;
SendMail("ZigZag HiSign","HiSign"); //加筆部分2
}
}
return(0);
895Trader@Live!:2014/03/26(水) 12:22:07.81 ID:3dXdb+gr
>>894
ちょっと説明が不足していました。
if文ブロック内に追加するだけだと、

for(int i = limit; i >= start; i--)

この for ループ回数だけメールが送信されてしまいます。
なので、

if (i == limit) SendMail(...);

とするようにすると、大量にメールが送信されなくなるはずです。
896Trader@Live!:2014/03/26(水) 12:32:55.06 ID:3dXdb+gr
すみません、大ほらをふきました。
i == limit で、High/Lowの条件を満たすとは限らないですね。

「一番最近のシグナルが出たらメール」
ということを望んでいると思いますので、
実はわりと面倒ですね。。

(1) 最後にアラートメールをした Bars (forの変数でいえば i)を保存するグローバル変数を作成 (たとえば int lastAlert = -1; と宣言)
(2) 条件判定の if ブロック内で、以下のような処理を追加
if (lastAlert > i) {
SendMail(...);
lastAlert = i;
}

とすればいいと思います。
動作確認はしてないです。
897Trader@Live!:2014/03/26(水) 12:34:26.78 ID:3dXdb+gr
if (lastAlert == -1 || lastAlert > i) {
}
ですわ。。
898Trader@Live!:2014/03/26(水) 12:38:23.46 ID:3dXdb+gr
あーでもそーすると、インジケータ初回動作時は必ず大量メールがいってしまいますね。
「初回起動時はメールいらない」なら if (lastAlert > i) でいいです。
「初回起動時も、一番最後のシグナルはメールがほしい」っていうなら、 もう少し条件を工夫しないとだめです。

連投すみません。
899Trader@Live!:2014/03/26(水) 12:51:59.34 ID:E5eZulON
>>895
収まった dクス
900Trader@Live!:2014/03/26(水) 12:58:23.53 ID:E5eZulON
あれあれ、分からなくなってしまった。
>>895であえて1分でパラ数値小さくして
確認してて、大丈夫と思ったんだが、
それではまずいのか?
901Trader@Live!:2014/03/26(水) 13:01:25.75 ID:E5eZulON
あれあれ、分からなくなってしまった。
>>895であえて1分でパラ数値小さくして
確認してて、大丈夫と思ったんだが、
それではまずいのか?
902Trader@Live!:2014/03/26(水) 13:37:03.62 ID:3dXdb+gr
>>901
相変わらず動作確認せずで申し訳ないですけど、
>>895 だと「大量にメール送信がされない」だけでなく、「期待するシグナルでのメール送信」もされないと思います。。。
903Trader@Live!:2014/03/26(水) 13:40:46.04 ID:E5eZulON
>>902
今1分で20回近くサイン見てるが、
不思議にチャンとしたサインが
ジャストタイミングで送られてる。
これは、たまたま偶然ってこと?
904Trader@Live!:2014/03/26(水) 13:54:59.72 ID:3dXdb+gr
>>903
お、私がさらに勘違いしている気がしてきました。
>>895 で、シグナルごとにメールが届いているなら、いいですね。
905Trader@Live!:2014/03/26(水) 14:07:55.01 ID:E5eZulON
>>904
起動時の大量メールもなくなったし、
サインに正確にメールされてるみたいですよ。
このインジは2本遅れでサインが確定するんですが、
リペイントしない代わりにHiやLoのサインが何度か続くときもある。
それもジャストタイミングで出てるみたいですよ。
再度 dクス
906Trader@Live!:2014/03/29(土) 01:46:37.27 ID:uMBlWoWu
ユーロ円で、トレンドとレンジを
明確に判断できるインジケータを教えてください。
できれば、パラメーター設定込みでお願いします。
907Trader@Live!:2014/03/29(土) 01:51:03.42 ID:uMBlWoWu
ちなみに
1分や5分の短期トレードです。
908Trader@Live!:2014/03/29(土) 02:02:07.21 ID:k3vjkr6m
そんな物はない
909Trader@Live!:2014/03/29(土) 15:34:50.85 ID:uMBlWoWu
じゃあ、漠然としててもいいです。
910Trader@Live!:2014/03/29(土) 15:37:17.77 ID:jOvGYBhQ
>>906
トレンドとレンジを厳密に定義できるなら、作ってやれなくもないが
911Trader@Live!:2014/03/29(土) 17:05:13.00 ID:uMBlWoWu
トレンドとレンジの定義を教えてください。
912Trader@Live!:2014/03/29(土) 17:12:52.20 ID:OqaiWs2v
>>911
貴方が定めた時間範囲内において、貴方が定めたレート幅の上限と下限の付近を行ったり来たりするのがレンジ相場です
対して、貴方が定めた時間範囲において、貴方が定めた基点から見て、レートの上下変動に貴方が定めた基準において明確な方向性が見れるのがトレンド相場です
913Trader@Live!:2014/03/29(土) 18:12:57.36 ID:XlP3yger
ID:uMBlWoWuからマジキチ臭を感じる…
914Trader@Live!:2014/03/29(土) 21:17:10.27 ID:WMFN5e0x
春なんだよ(察しろ
915Trader@Live!:2014/03/29(土) 23:42:54.39 ID:uMBlWoWu
じゃあ、>>912でいいのでください。
>>910は作ってくれるんですよね。
916Trader@Live!:2014/03/30(日) 07:53:05.57 ID:WUVC82LI
盛大な釣り針だなあ。と思いつつ釣られてみる。

>>915
> じゃあ、>>912でいいのでください。
では、貴方(此の場合、>>912)が定めなければならないですね。

> >>910は作ってくれるんですよね。
「ただで/無償で/0円で」とは一言も言っていないので、普通に考えると有償でしょうね。

※ 私は >>910 ではありません、念のため。
917Trader@Live!:2014/03/30(日) 07:56:55.08 ID:WUVC82LI
げ、私も盛大に間違えたので書き直し。。。
>>916 は無視してくださいな。

----->>916 書き直しここから-----
>>915
> じゃあ、>>912でいいのでください。
では、貴方(此の場合、>>911,915)が定めなければならないですね。

> >>910は作ってくれるんですよね。
「ただで/無償で/0円で」とは一言も言っていないので、普通に考えると有償でしょうね。

※ 私は >>910 ではありません、念のため。
----->>916 書き直しここまで-----
918Trader@Live!:2014/03/30(日) 09:25:44.86 ID:gJJm1bLS
いやー、春だねー。
香ばしい輩が二人も。
919swingpointview:2014/04/01(火) 14:33:19.12 ID:PwSL2fWw
どなたか詳しい方、お知恵を貸してください。
初心者専用板で、swingpointviewが600アップグレードでコンパイルできなくなった
問題へのアドバイスとして全ての_Pointを_Point1に変更するというのがあり、
試してみたところ、コンパイルのエラーはなくなったのですが、チャートに
表示されません。
何か考えられそうな原因はあるでしょうか?
920Trader@Live!:2014/04/02(水) 22:42:04.88 ID:uswmqXf3
誰か、SwingpointviewのMT5版、作ってないですか?
921Trader@Live!:2014/04/02(水) 23:41:28.93 ID:wAvdroZu
>>920
そのソースを見て、そこにある問題点を探るのも非常に億劫なのだ
プログラミング経験が無さそうだから言うが、他人のソースを読むというのは一種の暗号解読に近いんだ
そのロジックが分かっている場合でも、時間はそれなりにかかる
往々にして1から書き上げた方が楽とさえ思えてしまう程に、根気がいる作業なのだ

なので、作ってる人って募っても、あまりいないんじゃないかなぁと
貴方がその言語を勉強した方が多分時間的には早く、望むものが手に入る
というのがプログラミング関係のスレでは定番回答である

それとは別視点でアレだが
5系のMT4で自動アップデート停止処置をしたものを使うのではダメなのかい?
それならググれば方法も出てくるし、当面の問題解決には1番早いと思われる
922Trader@Live!:2014/04/03(木) 00:30:21.93 ID:QO6sGh13
>>919
_Point→_Point1と、
iHighest(0,0,・・・);→iHighest(NULL,0,・・・);
iLowest(0,0,・・・);→iLowest(NULL,0,・・・);
にしてみてください。
923Trader@Live!:2014/04/03(木) 12:04:02.28 ID:+kNAFmpq
おまえらサイバーMT4のビルト509にどうやって戻すか知ってる?
924Trader@Live!:2014/04/03(木) 12:21:28.53 ID:WLE/vIHM
925Trader@Live!:2014/04/03(木) 22:56:10.16 ID:OhYTcdo0
チャートの最大バー数を10000にしてるのにrates_totalの値が10001以上になるのは何故ですか?
926Trader@Live!:2014/04/03(木) 23:15:39.66 ID:tm3FvTkZ
チャートの最大バー数はあくまで表示するバー数であって、
ヒストリのバー数とは別だから。っていう単純な話じゃないのか?
927Trader@Live!:2014/04/03(木) 23:59:02.99 ID:OhYTcdo0
なるほどー
928Trader@Live!:2014/04/04(金) 00:32:36.21 ID:Zd6tAmHJ
15分足の過去チャート(ユーロ円)をスクロールをしてて気付いたのですが
3月上旬ごろから突然1時間足に切り替わってます・・・

気付かなかったら結構怖いですが
こういうことが起きる原因て何が考えられるのでしょうか?直す方法ありますか
929swingpointview:2014/04/04(金) 19:04:26.28 ID:dAETl5/i
>>922
ありがとうございました。
アドバイスいただい内容では表示しなかったので分からないなりに色々と
やってみたところ、120行目と123行目の
OBJ_TEXT,の後の,0,を,NULL,に置き換えることで表示するようになりました。
本当に助かりました。
930Trader@Live!:2014/04/04(金) 22:41:38.88 ID:ZzIblURN
Meta4のbuild604を使ってるんだけど、604から更新が自動になったの?
それもPOPもなしに勝手に裏で更新される?
WIN7でユーザーアカウントを通知の設定にしてるんだけど、3月まではなにも表示されなかった
4月から起動毎にMETA4がPCへの変更を要求するようになった
変なのを盛ろうとしてるのか、挙動不審なんだが
FOREX.com(フォレックス・ ドットコム)のでだが、他社のでは同じ症状出てますか?
931Trader@Live!:2014/04/04(金) 22:57:56.14 ID:ePaUMySl
俺も4月から同じ症状だわ
OKを選択すると勝手に最新にアップデートされてしまうので毎回キャンセルして維持してる
932Trader@Live!:2014/04/04(金) 23:02:56.07 ID:qHTAeezs
症状というか、そういうもんです。

更新を禁止したいとか、更新の仕組みを理解したければ、このあたりを読んでみたら。

ttp://www.softgate.co.jp/ja/resources/blog/item/20140213-avoid-updating-to-mt4-600-2-ja
ttp://blog.softgate.co.jp/entry/2014/02/23/015158
933Trader@Live!:2014/04/04(金) 23:29:44.80 ID:ZzIblURN
>>931>>932
アップデートの事だったのか・・・
アップデートされると610か、不具合で騒動起きてるんですね
アップデートしなくても使えてるから、そのままで行くわ
934Trader@Live!:2014/04/04(金) 23:34:09.35 ID:as6GsEzv
確かbuild 509から更新が完全自動になったんだよ。
それ以前はアップデートするか?ってダイアログ出てたけど、今は起動時に更新版がダウンロードできていれば更新されてしまう。
正しい説明はここ。
http://www.metatrader5.com/en/terminal/help/startworking/autoupdate
935Trader@Live!:2014/04/05(土) 00:53:33.29 ID:KWxincN7
今現在の最新のMT4のバージョンっていくつ??
最新のだとインジとか前のが使えるってきいたけどほんと??
936Trader@Live!:2014/04/05(土) 01:07:26.76 ID:dEKkVtwB
please fuck off
937Trader@Live!:2014/04/05(土) 02:47:39.56 ID:uYz8v1ou
>>935
ふんと
938イベリコ:2014/04/05(土) 17:56:54.45 ID:VBdXooJq
       __         / 〉 
     __ \ `Y´  ̄ く_/   
  ~γ´    〉.   .  .ヽ    
   !     {   ( l l ) |   
   `、     ヽ      ノ    コンパイルたくさんしたら、お金と髪の毛が増えるて、本当ですか?
    `し ⌒ し" 一‐し´  
939Trader@Live!:2014/04/05(土) 20:52:49.23 ID:mC8O0uXL
928ですが初心者スレで聞いてみます
スレ汚し失礼しました
940Trader@Live!:2014/04/06(日) 11:22:36.93 ID:25aeIfEv
938ですが初心者スレで聞いてみます
スレ汚し失礼しました
941Trader@Live!:2014/04/06(日) 20:54:00.42 ID:LLctC2iT
すみません。一昨日MT4デビューした初心者です。
インジケーターに不具合が出て困ってるのですが
某インジケーター集のサイトで「kairi」と
「Period_Converter_Opt.mq4」を無事にインジケーターズのファイルに
ダウンロードしたのですが、ローソク足が更新されても乖離のインジだけ
更新されず、おいてけぼりになります。他のインジはちゃんと進むのに。
あと3分足や2時間足を表示したいのでPeriod_Converter_Opt.mq4入れたの
ですが、マニュアル通り一分足のチャートにカスタムの
Period_Converter_Opt.mq4をドラッグ⇒ドロップが出来ません。
カーソルはドロップ状態で一分足チャートまで持っていけるのですが
ボタン離しても音沙汰なしです。
上記の二つの不具合はどうしたら解決できますか?
どなたか詳しい方おられましたら御教授のほど、お願い致します。
942Trader@Live!:2014/04/06(日) 21:06:23.54 ID:XwONTsMi
>>941
MT4 はBuild 600前後で 
ヒストリカルデータのフォーマットが変わりました。
結果、オフラインチャートを使うインジは機能しません。

諦めるか、改造方法を調べて改造するかないかと。
943Trader@Live!:2014/04/06(日) 21:36:56.39 ID:hR6fUZ2K
ku-chartのオフラインチャートは表示できますけど、どうなんでしょうか?
944Trader@Live!:2014/04/07(月) 01:50:34.27 ID:8zc9FmEV
droidMT4で取引してるんですけどMT4みたいにレポート出せないんですか?
これがないと確定申告するときの年間取引報告書が作れないのですがどうしたらいいのでしょうか
945Trader@Live!:2014/04/07(月) 01:53:56.30 ID:3ISIU/Ap
>>941

Kairi: >>617
OptMOD でよければ: http://hayabusa3.2ch.net/test/read.cgi/livemarket2/1392108485/295

>>942
新フォーマットはヘッダバージョンもあがってる(401)ので、
混在できますよ(ファイル単位で、という意味です)。
オフラインチャートが動かないのは、 FileOpen と FileOpenHistory の仕様変更によって、
FILE_SHARED_READ を指定しないと、別のインジケータやMT4自体が、書き込み中のヒストリカルデータを
読み取ることができなくなってしまったためです(ずいぶんな仕様変更だなぁと思います)。
946Trader@Live!:2014/04/07(月) 10:18:38.92 ID:y+U64xyT
バージョンアップでWin版ですら阿鼻叫喚なのか
メインのWin機ではバージョンアップしても問題なかったけど
macで使ってる方が完全に起動不可で終わってしまったわ
困ったもんだねー
947941:2014/04/07(月) 12:18:51.04 ID:gYk+lWTG
>>942>>945さん、御丁寧にありがとうございます。
当方英語が分からない者で、改変後のアドレスを紹介してくださったのは
理解できるのですが、具体的にそのあとどうすれば良いのかが判りません。
プログラム的な知識はゼロなので何をどのようにすればよいのか
チンプンカンプンです。出来れば改善された「kairi」の
インジケーターをダウンロード出来るところはないでしょうか?
3分足、2時間足の件は難し過ぎてお手上げです。諦めます。
重ね重ね申し訳ありませんが、せめて乖離率をちゃんと表示できるよう
御教授のほど宜しくお願い致します。
948Trader@Live!:2014/04/08(火) 09:21:52.33 ID:Qb9H2CcK
例えば、EUR/USD上で動かしているEA上で、変数AにEUR/JPYのBIDを入れたいときどのようにすればいいのでしょうか?
949Trader@Live!:2014/04/08(火) 12:09:44.27 ID:21BPQ4Zq
iClose() 関数を使う
950Trader@Live!:2014/04/08(火) 12:49:25.05 ID:Qb9H2CcK
あああ、そうですね
ありがとうございました
951Trader@Live!:2014/04/10(木) 12:14:56.54 ID:1X01wZfr
ちょいと質問

MT4っていろんな会社がツールとしてつかってるけど
仕組みは同じなわけでどこの会社のチャートみるのもできるわけ?

たとえばペッパーのデモ口座使ってて
FOREXやFXCMからインストールしたMT4でもペッパーのデモ口座でチャートみるってこと可能ってこと?

てことはなんこかMT4いれてて一個がペッパーの600系バージョンで
ほかのが508だとしたら
ほかのでペッパーのデモ口座でみればいいってこと?

MT4 インジいれてチャートしかみてないんだけど

おしえてください
952Trader@Live!:2014/04/10(木) 14:12:33.83 ID:dqNGTErU
他社のサーバ定義ファイルをコピペしてくるか、IP直指定とかすれば、よそのサーバにもログインできるよ。
953Trader@Live!:2014/04/10(木) 18:43:17.45 ID:qE5SnxAE
MT4は100年先もチャートソフトのスタンダードになり得るのか
954Trader@Live!:2014/04/10(木) 19:32:57.48 ID:3/n9N6ag
逆指し値を、売り、買いに2ついれたんだけど、ターミナルの(逆指し値の)価格の色が緑色になっています。片方だけ緑なんだけど何でやねん?値段が動くと白になったり。。ヘルプとか説明載ってますかね?
955Trader@Live!:2014/04/10(木) 20:10:08.74 ID:pHxRYEQi
生きてる間は使わせてくれ、じゃないと食っていけない
956Trader@Live!:2014/04/11(金) 15:12:41.81 ID:vjtsY3vG
1つのインジを最初のチャートだけにセットして、
全チャートに適用するようなことってできませんよね?
957Trader@Live!:2014/04/11(金) 18:25:57.09 ID:jg6OoBkU
>>956
default.tpl に保存すれば、
次から開いたチャートにはすべてそれが適用されるよ?
958Trader@Live!:2014/04/11(金) 19:21:39.29 ID:A972w/j4
>>956
一つにセットしたら同時に他のチャートにも表示できるようなスクリプトがあるかって事でしょ?
それ出来ないよ。
>>956のやり方しかできない
959Trader@Live!:2014/04/11(金) 19:46:53.58 ID:KRmddVMW
質問させてください。
int start()
{
USDCAD1=iClose("USDCAD",0,1);
USDCAD3=iClose("USDCAD",0,3);
double USDCADP=0;
USDCADP=USDCAD1/USDCAD;
こんな感じで複数の通貨ペアの変動率を比較させたいのですがFTでは動くの
ですけれどもBTがゼロデバイドと指摘されてできません。
コメント関数では実数であることを確認できたのになんでゼロデバイドなんでしょうか?
960959:2014/04/11(金) 19:49:14.31 ID:KRmddVMW
USDCADP=USDCAD1/USDCAD;→ USDCADP=USDCAD1/USDCAD3;でした。
961Trader@Live!:2014/04/11(金) 19:56:55.59 ID:xy9EmAQT
>>959
(1) Comment 関数で出している変数が、実は USDCAD3 じゃない
(2) USDCAD1/USDCAD3 の箇所ではないところで0除算が発生している

のどちらかですかね。
962956:2014/04/11(金) 20:22:34.02 ID:vjtsY3vG
>>957
なるほど。ありがとうございます。
963959:2014/04/12(土) 09:59:20.39 ID:aZdIC+eF
どうやら他通貨のヒストリカルデータを全部入れてなかったようです。
ヒストリカルデータが欠落して関数が0を返しているものという結論に至りました。
ご回答いただいた方、ありがとうございました。
964Trader@Live!:2014/04/12(土) 11:05:14.96 ID:Y2Jplgik
>>957
詳しく教えてください

何をどこに保存すればいいの?



>1つのインジを最初のチャートだけにセットして、
全チャートに適用するようなことってできませんよね?
965Trader@Live!:2014/04/12(土) 11:06:51.41 ID:o6prmQ3s
ひとつ聞きたいのですが、close[1]はopen[0]と同じ値ですか?
966Trader@Live!:2014/04/12(土) 11:42:24.44 ID:ABO+AVne
違います
967Trader@Live!:2014/04/12(土) 15:55:12.89 ID:yW5CHIZz
close[1]とopen[0]が同じだったらチャートに窓が存在しないことになるな
月曜の窓明けも当然無い。

つまりそういう事だ
968Trader@Live!:2014/04/12(土) 23:00:26.17 ID:Yq5bEKGC
600になってから、プログラムがおかしいです。

「iCustomで変幻自在のメタトレーダー」という本で、自作をしています。
600になってから、1分足でデモすると、何回も取引するようになってしまいました。
誰か、ご伝授ください。

ただの、Ask Bid はだめなようなので

Ask_1 = MarketInfo(Symbol(),MODE_ASK);
Bid_1 = MarketInfo(Symbol(),MODE_BID);

を入れました。
下のプログラムは、はしょってますが

//買いポジションの利益確定 TPは利益です

if( OrderOpenPrice() + TP * _Point <= Bid_1
&amp;&amp; ( Ticket_L != 0 &amp;&amp; Ticket_L != -1 ) )
{
Exit_L = OrderClose(Ticket_L,Lots,Bid_1,Slip,Red);
if( Exit_L ==1 ) {Ticket_L = 0;}
}

//買いエントリー
if( RSI_1 > RCI_20
&& RSI_2 < RCI_20

&& ( Ticket_L == 0 || Ticket_L == -1 )
&& ( Ticket_S == 0 || Ticket_S == -1 ))
{
Ticket_L = OrderSend(Symbol(),OP_BUY,Lots,Ask_1,Slip,0,0,Comments,MAGIC,0,Red);
if (Ticket_L >= 0)
{

よろしくおねがいします
969Trader@Live!:2014/04/15(火) 03:58:51.53 ID:VHPggLQO
質問したまま消える人
970Trader@Live!:2014/04/15(火) 12:56:54.61 ID:OBgF5ybb
MT4 build 625 上で新規チャートに下記EA(PeriodChanger.mq4)のみセットし
キー(j=下、k=上)を連打してチャートの周期(M1〜MN)を切り替え続けていると
たまにMT4がハングアップします。

どこかプログラムに誤りありますでしょうか?

=== PeriodChanger.mq4 ===
int OnInit() { return(INIT_SUCCEEDED); }
void OnDeinit(const int reason) { return; }
void OnTick() { return; }

void
OnChartEvent(
const int id, // Event ID
const long&amp; lparam, // Parameter of type long event
const double&amp; dparam, // Parameter of type double event
const string&amp; sparam // Parameter of type string events
)
{
switch (id) {

case CHARTEVENT_KEYDOWN:
if (lparam == 'J' || lparam == 'j') {
ENUM_TIMEFRAMES new_timeframe = PERIOD_CURRENT;
switch (Period()) {
case PERIOD_M1: new_timeframe = PERIOD_M1; break;
case PERIOD_M5: new_timeframe = PERIOD_M1; break;
case PERIOD_M15: new_timeframe = PERIOD_M5; break;
case PERIOD_M30: new_timeframe = PERIOD_M15; break;
case PERIOD_H1: new_timeframe = PERIOD_M30; break;
case PERIOD_H4: new_timeframe = PERIOD_H1; break;
case PERIOD_D1: new_timeframe = PERIOD_H4; break;
case PERIOD_W1: new_timeframe = PERIOD_D1; break;
case PERIOD_MN1: new_timeframe = PERIOD_W1; break;
}
ChartSetSymbolPeriod(0, NULL, new_timeframe);
} else if (lparam == 'K' || lparam == 'k') {
new_timeframe = PERIOD_CURRENT;
switch (Period()) {
case PERIOD_M1: new_timeframe = PERIOD_M5; break;
case PERIOD_M5: new_timeframe = PERIOD_M15; break;
case PERIOD_M15: new_timeframe = PERIOD_M30; break;
case PERIOD_M30: new_timeframe = PERIOD_H1; break;
case PERIOD_H1: new_timeframe = PERIOD_H4; break;
case PERIOD_H4: new_timeframe = PERIOD_D1; break;
case PERIOD_D1: new_timeframe = PERIOD_W1; break;
case PERIOD_W1: new_timeframe = PERIOD_MN1; break;
case PERIOD_MN1: new_timeframe = PERIOD_MN1; break;
}
ChartSetSymbolPeriod(0, NULL, new_timeframe);
}
break;

}
}
971Trader@Live!:2014/04/16(水) 07:06:36.77 ID:jeX6jfKu
>>970
試してみたけど再現しない。
けど、どうもOnChartEventの呼び出されるタイミングが胡散臭い?

bool locked = true;
int OnInit() { EventSetMillisecondTimer(100); return INIT_SUCCEEDED; }
void OnTimer() { locked = false; }
void OnChartEvent(...) { if (locked) return; }

場当たり的だけど、↑とかしてOnInit()終了後、一定時間経つまでOnChartEvent
をスキップしてみたらどうか?
あと、ChartSetSymbolPeriodは現在と同じタイムフレームを設定してもチャートを
再描画(インジなども全てリロード)してしまう。
だから、↓時はChartSetSymbolPeriodを呼ばないようにした方がいい。
case PERIOD_M1: new_timeframe = PERIOD_M1; break;
case PERIOD_MN1: new_timeframe = PERIOD_MN1; break;
972Trader@Live!:2014/04/16(水) 15:17:20.37 ID:wR95nKhM
>>971

なるほど!!
チャート切替毎に100ms空ける作戦ですね。

void OnDeinit(const int reason) { locked = true; return; }
>>971さんのコードに追加したら周期の切替に100msかかりハングアップ
しにくくなりうまく行ったかと思ったのですが、最終的にはハングアップ
してしまいました…

なかなか難しそうです。

PERIOD_M1とPERIODMN1でチャートを切り替えないアイデアは
なるほどと思い早速導入させていただきました。

ありがとうございました。
973Trader@Live!:2014/04/16(水) 18:37:24.22 ID:aSiDd9ST
http://tomokin.web.fc2.com/mql/bandswidthlabel.mq4
これはボリバン幅を表示するインジなのですが、
これでエントリーできるボラがあるかの判定をしたいので、
この数値を足更新毎にメールで送るようにできないでしょうか?
(当方の知識不足で、SendMailで何かを入れたら、全く動かなくなってしまいます)
974Trader@Live!:2014/04/17(木) 12:59:16.32 ID:dBEepQ78
最近スプレッド縮小のせいで、以前はユロドル4桁サーバーだったのが
ほとんど5桁サーバーばっかりになって、5桁だとローソクの長さが
見ずらくて、目が痛くなる。

4桁サーバー使っている方、どこのサーバーか教えて下さい。
975Trader@Live!:2014/04/17(木) 14:35:59.81 ID:ulQtj+mJ
>>974
中東の新興業者では昔のティックバリューのままってとこあるよ。
新興でないならForex Best、Millennium Penata Futures

Forex Bestは業者サイトが飛んじゃってるけどサーバーは生きてる。
Millennium Penata Futuresはインドネシアではわりとメジャーな業者

デモサーバーを選択するとこで検索してみると出てきますので検索してみて下さい。
976Trader@Live!:2014/04/17(木) 20:21:37.86 ID:dBEepQ78
>>975
早速の返答ありがとうございます。
977973:2014/04/17(木) 20:56:32.85 ID:cWDXMRtI
閾値を超えた場合と切った場合に、
その足でメールでもいいのですが。。。
978973:2014/04/18(金) 13:32:57.14 ID:87ngdN/D
何とか自己解決
static int LastTime = 0;
int NowTime = Minute();
if(email==true && NowTime!=LastTime)SendMail("BBWidth",Band_Width);
LastTime = NowTime;
で送れるようになりました。
979973:2014/04/18(金) 13:41:03.46 ID:87ngdN/D
↑は、実際には、足確定直後ではないですが、
この誤差は実用上問題ないので、これで使います。
980Trader@Live!:2014/04/18(金) 20:36:15.27 ID:87ngdN/D
今日は相場が動かないんで考えてるんだが出来ないんで質問を。
>>978は、1分足で1分単位で送られるんだが、
これを20秒とか、30秒単位とかで送る方法ってあるのかな?
981Trader@Live!:2014/04/18(金) 22:31:44.63 ID:5D2LUO6p
sleep()
982Trader@Live!:2014/04/19(土) 14:41:02.87 ID:/XFOtezk
昨日、MT4のbuildを、500番台から625に上げたのですが、
WindowFirstVisibleBar()が0しか返って来なくなってしまいました。
他の方はどうなんでしょうか? MT4のバグ?
983Trader@Live!:2014/04/19(土) 22:27:03.58 ID:dhndwd6t
>>981
そうだね
984Trader@Live!:2014/04/19(土) 22:42:09.85 ID:+J8ACm7r
>>980
Seconds()/20 を使えばいいです。
985Trader@Live!:2014/04/20(日) 08:12:44.79 ID:SQNXEzow
>>984 おぉ。。。これでいいのかな
extern int okurujikann = 20;

static int LastTime = 0;
int NowTime = Seconds()/okurujikann;
if(email==true && NowTime!=LastTime)SendMail("BBWidth",Band_Width);
LastTime = NowTime;
986sage;:2014/04/20(日) 15:44:00.84 ID:yN7vcRF4
質問です。
Build 628になってから、
Period_Converter_Opt.mq4が使えなくなってしまいました。
メタエディターで見たところ

{
deinit();
init();
LastStartTime = Time[Bars-1];
LastEndTime = Time[0];
LastBarCount = Bars;
}

 
の部分にnot all control paths return a value
と警告がでてました。

Period_Converter_Opt.mq4をまだ使いたいんですが。
どなたか対処方法わかる方、よろしくお願いします。
987sage
すでに解決済みの話題でしたね。
解決しました。