938 :
イベリコ :2014/04/05(土) 17:56:54.45 ID:VBdXooJq
__ / 〉 __ \ `Y´  ̄ く_/ ~γ´ 〉. . .ヽ ! { ( l l ) | `、 ヽ ノ コンパイルたくさんしたら、お金と髪の毛が増えるて、本当ですか? `し ⌒ し" 一‐し´
928ですが初心者スレで聞いてみます スレ汚し失礼しました
938ですが初心者スレで聞いてみます スレ汚し失礼しました
941 :
Trader@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をドラッグ⇒ドロップが出来ません。 カーソルはドロップ状態で一分足チャートまで持っていけるのですが ボタン離しても音沙汰なしです。 上記の二つの不具合はどうしたら解決できますか? どなたか詳しい方おられましたら御教授のほど、お願い致します。
>>941 MT4 はBuild 600前後で
ヒストリカルデータのフォーマットが変わりました。
結果、オフラインチャートを使うインジは機能しません。
諦めるか、改造方法を調べて改造するかないかと。
ku-chartのオフラインチャートは表示できますけど、どうなんでしょうか?
droidMT4で取引してるんですけどMT4みたいにレポート出せないんですか? これがないと確定申告するときの年間取引報告書が作れないのですがどうしたらいいのでしょうか
バージョンアップでWin版ですら阿鼻叫喚なのか メインのWin機ではバージョンアップしても問題なかったけど macで使ってる方が完全に起動不可で終わってしまったわ 困ったもんだねー
947 :
941 :2014/04/07(月) 12:18:51.04 ID:gYk+lWTG
>>942 >>945 さん、御丁寧にありがとうございます。
当方英語が分からない者で、改変後のアドレスを紹介してくださったのは
理解できるのですが、具体的にそのあとどうすれば良いのかが判りません。
プログラム的な知識はゼロなので何をどのようにすればよいのか
チンプンカンプンです。出来れば改善された「kairi」の
インジケーターをダウンロード出来るところはないでしょうか?
3分足、2時間足の件は難し過ぎてお手上げです。諦めます。
重ね重ね申し訳ありませんが、せめて乖離率をちゃんと表示できるよう
御教授のほど宜しくお願い致します。
例えば、EUR/USD上で動かしているEA上で、変数AにEUR/JPYのBIDを入れたいときどのようにすればいいのでしょうか?
iClose() 関数を使う
950 :
Trader@Live! :2014/04/08(火) 12:49:25.05 ID:Qb9H2CcK
あああ、そうですね ありがとうございました
ちょいと質問 MT4っていろんな会社がツールとしてつかってるけど 仕組みは同じなわけでどこの会社のチャートみるのもできるわけ? たとえばペッパーのデモ口座使ってて FOREXやFXCMからインストールしたMT4でもペッパーのデモ口座でチャートみるってこと可能ってこと? てことはなんこかMT4いれてて一個がペッパーの600系バージョンで ほかのが508だとしたら ほかのでペッパーのデモ口座でみればいいってこと? MT4 インジいれてチャートしかみてないんだけど おしえてください
他社のサーバ定義ファイルをコピペしてくるか、IP直指定とかすれば、よそのサーバにもログインできるよ。
MT4は100年先もチャートソフトのスタンダードになり得るのか
逆指し値を、売り、買いに2ついれたんだけど、ターミナルの(逆指し値の)価格の色が緑色になっています。片方だけ緑なんだけど何でやねん?値段が動くと白になったり。。ヘルプとか説明載ってますかね?
生きてる間は使わせてくれ、じゃないと食っていけない
1つのインジを最初のチャートだけにセットして、 全チャートに適用するようなことってできませんよね?
>>956 default.tpl に保存すれば、
次から開いたチャートにはすべてそれが適用されるよ?
>>956 一つにセットしたら同時に他のチャートにも表示できるようなスクリプトがあるかって事でしょ?
それ出来ないよ。
>>956 のやり方しかできない
質問させてください。 int start() { USDCAD1=iClose("USDCAD",0,1); USDCAD3=iClose("USDCAD",0,3); double USDCADP=0; USDCADP=USDCAD1/USDCAD; こんな感じで複数の通貨ペアの変動率を比較させたいのですがFTでは動くの ですけれどもBTがゼロデバイドと指摘されてできません。 コメント関数では実数であることを確認できたのになんでゼロデバイドなんでしょうか?
960 :
959 :2014/04/11(金) 19:49:14.31 ID:KRmddVMW
USDCADP=USDCAD1/USDCAD;→ USDCADP=USDCAD1/USDCAD3;でした。
>>959 (1) Comment 関数で出している変数が、実は USDCAD3 じゃない
(2) USDCAD1/USDCAD3 の箇所ではないところで0除算が発生している
のどちらかですかね。
962 :
956 :2014/04/11(金) 20:22:34.02 ID:vjtsY3vG
963 :
959 :2014/04/12(土) 09:59:20.39 ID:aZdIC+eF
どうやら他通貨のヒストリカルデータを全部入れてなかったようです。 ヒストリカルデータが欠落して関数が0を返しているものという結論に至りました。 ご回答いただいた方、ありがとうございました。
>>957 詳しく教えてください
何をどこに保存すればいいの?
>1つのインジを最初のチャートだけにセットして、
全チャートに適用するようなことってできませんよね?
965 :
Trader@Live! :2014/04/12(土) 11:06:51.41 ID:o6prmQ3s
ひとつ聞きたいのですが、close[1]はopen[0]と同じ値ですか?
違います
close[1]とopen[0]が同じだったらチャートに窓が存在しないことになるな 月曜の窓明けも当然無い。 つまりそういう事だ
968 :
Trader@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 && ( Ticket_L != 0 && 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) { よろしくおねがいします
質問したまま消える人
970 :
Trader@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& lparam, // Parameter of type long event const double& dparam, // Parameter of type double event const string& 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; } }
>>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;
972 :
Trader@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でチャートを切り替えないアイデアは
なるほどと思い早速導入させていただきました。
ありがとうございました。
974 :
Trader@Live! :2014/04/17(木) 12:59:16.32 ID:dBEepQ78
最近スプレッド縮小のせいで、以前はユロドル4桁サーバーだったのが ほとんど5桁サーバーばっかりになって、5桁だとローソクの長さが 見ずらくて、目が痛くなる。 4桁サーバー使っている方、どこのサーバーか教えて下さい。
>>974 中東の新興業者では昔のティックバリューのままってとこあるよ。
新興でないならForex Best、Millennium Penata Futures
Forex Bestは業者サイトが飛んじゃってるけどサーバーは生きてる。
Millennium Penata Futuresはインドネシアではわりとメジャーな業者
デモサーバーを選択するとこで検索してみると出てきますので検索してみて下さい。
976 :
Trader@Live! :2014/04/17(木) 20:21:37.86 ID:dBEepQ78
977 :
973 :2014/04/17(木) 20:56:32.85 ID:cWDXMRtI
閾値を超えた場合と切った場合に、 その足でメールでもいいのですが。。。
978 :
973 :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; で送れるようになりました。
979 :
973 :2014/04/18(金) 13:41:03.46 ID:87ngdN/D
↑は、実際には、足確定直後ではないですが、 この誤差は実用上問題ないので、これで使います。
今日は相場が動かないんで考えてるんだが出来ないんで質問を。
>>978 は、1分足で1分単位で送られるんだが、
これを20秒とか、30秒単位とかで送る方法ってあるのかな?
sleep()
昨日、MT4のbuildを、500番台から625に上げたのですが、 WindowFirstVisibleBar()が0しか返って来なくなってしまいました。 他の方はどうなんでしょうか? MT4のバグ?
>>980 Seconds()/20 を使えばいいです。
>>984 おぉ。。。これでいいのかな
extern int okurujikann = 20;
static int LastTime = 0;
int NowTime = Seconds()/okurujikann;
if(email==true && NowTime!=LastTime)SendMail("BBWidth",Band_Width);
LastTime = NowTime;
986 :
sage; :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をまだ使いたいんですが。 どなたか対処方法わかる方、よろしくお願いします。
987 :
sage :
2014/04/20(日) 20:43:10.73 ID:yN7vcRF4 すでに解決済みの話題でしたね。 解決しました。