X



【MT4/5】Meta Trader初心者専用59【EA素人】
■ このスレッドは過去ログ倉庫に格納されています
0521名無しさん@お金いっぱい。
垢版 |
2021/04/10(土) 06:49:44.39ID:ZclIi+YY0
うまく行かないというのはエラーじゃなくて結果が1.000とか0.000になるとか?
3/5は整数同士だから0を返すはず、3.0/5にしてみたら0.600になると思う
で、Close2つの値が近すぎて割り算の結果が0.9999912とかになってて文字列に変換するときに1.000になってるのでは
試しに桁数を8桁くらいにしてみれば
0523名無しさん@お金いっぱい。
垢版 |
2021/04/10(土) 10:14:15.10ID:gkQ41nbA0
返信ありがとうございます
うまくいかないというのは、そもそも数字が描画されない状態です
足し算や掛け算では普通に数字が描画されます
桁数を変えてみても同じでした
0524名無しさん@お金いっぱい。
垢版 |
2021/04/10(土) 13:48:27.99ID:1QLMb5XU0
動くものを上げろよ... 問題が再現できる最小限にしてな
一部だけでごちゃごちゃ言っても時間の無駄でしかない。
0525名無しさん@お金いっぱい。
垢版 |
2021/04/10(土) 14:31:27.47ID:ZclIi+YY0
なんだろなやってみたけど普通に表示できる
考えたんだけど、オブジェクト名に使ってるPattenTextって配列の中身にもDoubleToText(bar_range,3)とか使ってないだろか
それなら割り算だと名前被りまくりでほとんどは表示されないし足し算掛け算ならほぼ違う値になるからだいたい表示される
0526名無しさん@お金いっぱい。
垢版 |
2021/04/10(土) 14:45:07.36ID:gkQ41nbA0
int init()
{
//---- indicators
// IndicatorBuffers(1);
SetIndexStyle(0, DRAW_ARROW, 0, 1);
SetIndexArrow(0, 172);
SetIndexBuffer(0,BufferRange);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectsDeleteAll();
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
if (counted_bars < 0) {
return(-1);
}

if (counted_bars > 0) {
counted_bars--;
}
int pos = Bars-counted_bars;
string PatternText[5000];
for(int j = 0; j < Bars; j++)
{
PatternText[j] = "pattern-" + j;
}
while (pos>=0) {
double bar_range = (High[pos] - Low[pos]);
ObjectCreate(PatternText[pos], OBJ_TEXT, 0, Time[pos], Low[pos]);
ObjectSet(PatternText[pos], OBJPROP_YDISTANCE, 200);
ObjectSetText(PatternText[pos], DoubleToStr(bar_range, Digits), 10, "Verdana", White);

BufferRange[pos] = bar_range;
pos--;
}
//----
return(0);
}
//+------------------------------------------------------------------+
コレが元です
連投失礼
0531517
垢版 |
2021/04/10(土) 16:33:59.82ID:gkQ41nbA0
お付き合い頂き感謝します
>>526にあげたのはフリーの拾い物です

これを改造して、前回の足からの変動比率を表示させたいと考えています
そこで
double bar_range = (High[pos] - Low[pos]);

double bar_range = ((Close[pos] / Close[pos+1] - 1) * 100 );
に変えたところ文字が表示されなくなってしまいました
0532名無しさん@お金いっぱい。
垢版 |
2021/04/10(土) 16:58:14.21ID:mQOe1Yxz0
それ引き算割り算の問題じゃなしにBarカウント数以上の終値計算しようとしてエラーなってるだけちゃうん
0534517
垢版 |
2021/04/10(土) 17:48:12.93ID:gkQ41nbA0
確実性の高いヒントを頂いた気がしますが私には難しい話です
MQLについてのサイトはいくつか知っていますが、どの項を参照すればいいでしょうか
0536名無しさん@お金いっぱい。
垢版 |
2021/04/10(土) 19:38:20.83ID:mQOe1Yxz0
>>534
バーが全部で1000個だとして1001個目のCloseを計算しようとしてるぽい、更に改造で(pos+1)1002個目のCloseで割ろうとしてるからエラー
だからint posのとこで-2しとけばよくね

てことだよね?
0537517
垢版 |
2021/04/10(土) 20:11:32.49ID:gkQ41nbA0
解答してくれた人たちありがとう
>>536で解決しました
0538名無しさん@お金いっぱい。
垢版 |
2021/04/11(日) 02:57:11.04ID:3rkeYIKF0
通貨ペアごとにレバレッジが個別に設定されてますが、開いてるチャートのペアのレバレッジの値を取得できますか?
0540名無しさん@お金いっぱい。
垢版 |
2021/04/12(月) 13:03:16.82ID:lVWkrMvy0
そういう業者は普通にある。以下XMのサイトから

全ての口座タイプを対象に、MT4およびMT5プラットフォームにおけるEURDKK、EURHKD、GBPDKK、USDDKK、USDHKD、USDCNH、EURRUBおよびUSDRUBのレバレッジは、最大1:50とし、USDTRYおよびEURTRYは最大1:100とします。
0547名無しさん@お金いっぱい。
垢版 |
2021/04/12(月) 21:25:28.70ID:lVWkrMvy0
>>546は必要証拠金だったわ

double Lev=(double)AccountInfoInteger(ACCOUNT_LEVERAGE);
double Lot=MarketInfo(_Symbol,MODE_LOTSIZE);
double x1=Ask*Lot/Lev;

double x2=MarketInfo(_Symbol,MODE_MARGINREQUIRED);

x1とx2が同じになる
0548名無しさん@お金いっぱい。
垢版 |
2021/04/13(火) 03:22:01.07ID:MkIFJ6Qo0
ポジション持つとチャートに水平線が引かれて、それをクリックしながら上下に動かすと何pipsで何円の利益って表示されるけど
あれをポジション持たずにやる方法あるかい
0550名無しさん@お金いっぱい。
垢版 |
2021/04/16(金) 23:03:33.19ID:WUx83KfY0
MT5 Strategy Tester

これをインストールして小銭稼いでたんだけど
3月末を境になぜかすべてのPCで無効化されてしまった

年度超えられないんだっけ?
0551名無しさん@お金いっぱい。
垢版 |
2021/04/17(土) 21:31:12.51ID:eB2KA1TM0
すごい単純に前日比を表示させたいんだけど、
前日比の値を取得する関数ってあったりしますか?

それとも、なんか計算しないとダメなんですかね?
前日の終値とか取得できたりしますか?
0553名無しさん@お金いっぱい。
垢版 |
2021/04/18(日) 15:32:35.41ID:I01+24UA0
>>552
ありがとうございます。

もうひとつ聞きたいのですが、
MT5でインジケータ作成しているのですが、
OnCalculate内の処理が何故か動かないケースがあり、
調べていくとポジションを持ってるチャートはティック事に処理され、ポジションを持ってないチャートだと、
init時のみ実行されてる事が分かりました。
これって何かinitになにか記載してないと処理されないのでしょうか。
ttps://www.mql5.com/ja/docs/event_handlers/oncalculate
0555名無しさん@お金いっぱい。
垢版 |
2021/04/18(日) 16:58:07.88ID:I01+24UA0
ありがとうございます。
もっと追ってみたら

Oncalcate 自体の処理はされてましたが、
CChartObjectLabelで定義したラベルを
Oncalcateで例えば以下のように内容を変更しようとした時に、何故かロット持ってるチャートだけしか反映されないだけでした。

オブジェクト名.Description(”test”);

https://www.mql5.com/ja/docs/standardlibrary/chart_object_classes/obj_controls/cchartobjectlabel

前日比をチャート上にリアルタイムで表示するためにラベル使おうとしてたんですが、
0557555
垢版 |
2021/04/18(日) 20:00:35.47ID:I01+24UA0
>>556
すみません。
デバックしてたら、恐らくnullをラベルに入力するケースがあり、原因はそれでした…。
エラーも出ずほかのラベルも巻き添いに無効化されていたので気づきませんでした。
0558名無しさん@お金いっぱい。
垢版 |
2021/04/20(火) 08:35:30.61ID:+mw5lbOV0
iPhoneで使ってるmt4の
フィナボッチの色の変え方教えて欲しいです

色を変えると範囲を指定するためのラインの色が変わります
変えたいのは水平ラインの色と数字の色です。
よろしくお願いします
0561名無しさん@お金いっぱい。
垢版 |
2021/04/20(火) 10:54:18.22ID:+mw5lbOV0
>>559
はい。写真で言うと色が変わるのが場所を支持する赤い線だけなんです。
いまフィボの水平線と数字が青で見づらくて。
0563名無しさん@お金いっぱい。
垢版 |
2021/04/23(金) 22:26:58.02ID:nkUEANUz0
教えてください。ブローカーからのMT4宛にくるメールの通知を止める方法ないですか?
incoming mailってなってタブも勝手に切り替わって煩わしい事この上ない。。
0564名無しさん@お金いっぱい。
垢版 |
2021/04/30(金) 18:12:57.14ID:Lg4fGshy0
ごめん全然届かないからさっぱりだ
今メールタブみたらずーっと前にMT4インストールしたときのようこそがトップのままやったw
0565名無しさん@お金いっぱい。
垢版 |
2021/05/03(月) 18:09:31.79ID:CRkI6z+Z0
スマホのアプリではログインできてるのにタブレットの方はログアウトされててログインするにも認証出来ないって出る
0566名無しさん@お金いっぱい。
垢版 |
2021/05/04(火) 21:37:53.74ID:pg/Kp5f+0
20210503.log
0 23:00:01.627 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:00:03.879 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:00:06.168 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:00:08.376 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:00:10.615 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:00:12.818 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:00:15.036 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:00:17.244 01901_USDJPY_1h USDJPY,H1: error code=129
(略)
0 23:35:59.479 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:36:01.658 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:36:03.854 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:36:06.036 01901_USDJPY_1h USDJPY,H1: error code=129
0 23:36:08.212 01901_USDJPY_1h USDJPY,H1: error code=129
2 23:36:10.541 01901_USDJPY_1h USDJPY,H1: close #47341890 buy 0.01 USDJPY at 109.290 at price 108.915

某R店で自動売買始める
OrderClose()==falseの場合 Sleep(2000); Refreshrates(); OrderClose(); を繰り返すコード
36分後にやっと約定
36分ってなあ、スキャなんて無理じゃん
0567名無しさん@お金いっぱい。
垢版 |
2021/05/04(火) 21:39:24.59ID:pg/Kp5f+0
//決済関数 成行
bool newOrderClose_OP(int ticket,double lots,int slippage,color arrow_color)
{
if(IsTradeAllowed()==false)
for(int i=0; i<100; i++)
{Sleep(1000);
if(IsTradeAllowed()==true) break;}

bool ret_close=false;
if(OrderSelect(ticket,SELECT_BY_TICKET))
{RefreshRates();
double N_price=NormalizeDouble(OrderClosePrice(),_Digits);
ret_close=OrderClose(ticket,lots,N_price,slippage,arrow_color);}

if(ret_close==false)
for(int i=1; i<1000; i++)
{
int error=GetLastError();
Print("error code=",error);
if(error==4108) {break;}//何らかの理由で玉がない場合
Sleep(2000);
RefreshRates();
double N_price=NormalizeDouble(OrderClosePrice(),_Digits);
ret_close=OrderClose(ticket,lots,N_price,slippage,arrow_color);
if(ret_close==true) break;
}

if(ret_close==true) return(true);
else return(false);
}
0568566
垢版 |
2021/05/04(火) 21:50:05.08ID:pg/Kp5f+0
上が自作の決済関数
mt4 129 エラーで検索したところ、129エラーは、RefreshRates(); NormalizeDouble();を使えば出なくなると書いてある
実際には、使っているにもかかわらず出まくる

関数に問題あり?業者側の問題?
0570名無しさん@お金いっぱい。
垢版 |
2021/05/04(火) 22:12:59.46ID:6GaM8m8l0
129は価格設定が間違ってる時に出るやつだ。
注文出したときの価格と注文した価格、スリッページ、その時のスプレッド、このあたりを確認しろ。
0571名無しさん@お金いっぱい。
垢版 |
2021/05/04(火) 22:50:17.49ID:6GaM8m8l0
プログラムに問題あるな。
引数で指定した価格でループしてるから価格が大きく動くと決済されないぞ。
何が何でもその価格で決済したいなら指値入れるか、決済用のルーチンをOnTickで回したほうがいい。
0572566
垢版 |
2021/05/04(火) 22:51:54.52ID:pg/Kp5f+0
input int Slippage=3;

狭すぎ?
そもそも成行決済でスリッページは関係あるの
RefreshRates();した直後に、OrderClosePrice()を取得して決済注文出してるのに

サーバーに注文が届く前に、レートがOrderClosePrice()からスリッページを超えて変化しているということか
0575名無しさん@お金いっぱい。
垢版 |
2021/05/04(火) 23:37:15.16ID:6GaM8m8l0
>>572
そういうことかもしれんって話。一度ずれると戻ってくるまで決済されないからずっとエラーはいてるんやろ。
0576566
垢版 |
2021/05/04(火) 23:43:36.31ID:pg/Kp5f+0
>>571
OrderClose()のdouble price に108.457といった固定値を入れた場合
レートが108.457から外れれば、OrderClose()を連打しても約定しないと言うのはわかる

OrderClosePrice()でもだめ?
一回ごとに、OrderClosePrice()を取得し直してると思ったんだけど、ひょっとして同じ値が入り続けてる?
0577名無しさん@お金いっぱい。
垢版 |
2021/05/04(火) 23:55:46.50ID:6GaM8m8l0
>>576
取り直してるならいいんじゃないのか。上のは取り直してないときの話な。
プリント注文したときの価格とその時の注文価格を確認してみることだな。
0578566
垢版 |
2021/05/05(水) 01:56:12.54ID:rvzPhINb0
操作履歴見たら、OrderClosePrice()に同じ値が入り続けてるわ
Ask BidはRefreshRates()で更新されるけれども、OrderClosePrice()は更新されない
OrderSelect()でオーダーを選んだ後、最初に取得したOrderClosePrice()の値が、以後入り続ける?

if(ret_close==false)
for(int i=1; i<1000; i++)
{

この中で、もう一度OrderSelect()を使った後、OrderClosePrice()を取れば、上手くいくような……

もしくは、OrderType()で、売り玉 買い玉を判定し、Ask Bidで決済するか
0580名無しさん@お金いっぱい。
垢版 |
2021/05/05(水) 13:06:39.32ID:L2nR/WeL0
重要指標発表直前から新規エントリー止めるための
アラート吐ける関数知りませんか? MT5です。
0581名無しさん@お金いっぱい。
垢版 |
2021/05/05(水) 13:27:26.70ID:L2nR/WeL0
無いなら自作するか。まだ構造体と全然かわかんないけど
構造体MqlCalendarValue配列を定義して
国名、当日を指定して取り込んでそっからイベント名の文字列探して該当する
イベントが見つかればその時刻を引っ張ればいいのかな。
0582名無しさん@お金いっぱい。
垢版 |
2021/05/05(水) 13:31:01.03ID:L2nR/WeL0
コード書いてくれる親切な人いないかなぁ
0584名無しさん@お金いっぱい。
垢版 |
2021/05/05(水) 13:46:10.36ID:L2nR/WeL0
ありがとう、やってみるよ
0588名無しさん@お金いっぱい。
垢版 |
2021/05/06(木) 10:48:32.15ID:CUTteywz0
CFDにと特化したEA(ソース)のサンプルってありませんか?
0589名無しさん@お金いっぱい。
垢版 |
2021/05/07(金) 01:43:12.72ID:0fB8Lz6U0
指値注文やワンクリック注文時に確認画面が出てくるのですが
出ないようにするにはどうしたらいいですか?
0591名無しさん@お金いっぱい。
垢版 |
2021/05/10(月) 19:27:43.06ID:vHnfLbvi0
通知機能で、プッシュ通知とトレード通知をオンにしてると
トレーリングストップでストップ位置移動するたびにピコンピコンなってうるさい
決済では鳴るけどトレーリングでは鳴らない、ってのはできない?
0601名無しさん@お金いっぱい。
垢版 |
2021/05/16(日) 14:33:13.97ID:uHN9U3ns0
まず読んでみたらどうよ
サンプルコードもついてるしMT4付属のインジも大半は中身が見れる
0602名無しさん@お金いっぱい。
垢版 |
2021/05/16(日) 15:52:26.80ID:affKZgHk0
初心者はMT4付属のサンプルコードとリファレンス読めばええやろ。
マイナーな分野なんで参考書なんてろくな物がないし、プログラミングがわからないなら、C++やCを勉強した方がいい。
0604名無しさん@お金いっぱい。
垢版 |
2021/05/18(火) 15:28:51.84ID:KUCgRyRu0
MetaQuotes-demoのデモアカウント削除したらすかさずカウンターで新規作成するんだけど止める方法ってある?
0609名無しさん@お金いっぱい。
垢版 |
2021/05/21(金) 14:38:32.16ID:efdK2GP+0
質問です。
EA終了時に所持してるポジションをClose処理を入れてます。
EAのマジックナンバーに該当するポジションがあったらMessagebox出して決済させるといった感じです。

ところが、OnDeinitでその処理入れるとどこかで遅延が出るらしく、場合によっては2.5秒のタイムアウトで強制終了になってしまいます。
(ウィンドウのカーソルがクルクル回る

ちなみに、OnInitにも同じ処理入れてるんですが、特に問題なく動きます。
決済手数料処理自体もEA中の処理そのまま使っているのでこちらも問題なしです。
OnDeinitに書くと駄目といったところ。

ログからもちょっと原因判明しませんでした。
何かわかりませんでしょうか。
0610名無しさん@お金いっぱい。
垢版 |
2021/05/22(土) 00:15:19.20ID:YTdZvxYc0
>>598
これがダメならどのサイトがイイの?
細かいリファレンスとか、一般的なプログラミングとか、儲かるロジックじゃなくて
EA作りの概要と勘どころわかるやつ
0613名無しさん@お金いっぱい。
垢版 |
2021/05/22(土) 00:56:49.88ID:YTdZvxYc0
もう一個のキチガイスレにも書いたが、2年ぐらい前までやったんだ
勘を取り戻すのとやる気出すためにざっと読む
0615名無しさん@お金いっぱい。
垢版 |
2021/05/22(土) 01:02:05.69ID:YTdZvxYc0
>>614
豊島の昔の。なんとかってリファレンスサイトが便利だったんだが見当たらんね
MT4古いのからやってたが、新しいの適当に対応しただけだからさ
0616名無しさん@お金いっぱい。
垢版 |
2021/05/22(土) 01:13:12.50ID:sKsUK8rh0
>>615
豊島本やったんなら、リファレンスサイトは、上でも出てる、「EAつくちゃお」サイトでいいんじゃないかな
0617名無しさん@お金いっぱい。
垢版 |
2021/05/22(土) 01:17:56.32ID:YTdZvxYc0
>>616
チュートリアルみたいのがいいんだよな
一通りわからんことはないけど、足のはじめだけ処理するにこう
ポジ二重にとらないためにはこうとかあるじゃん
まあ昔のいじってくだけなんだけども
0619名無しさん@お金いっぱい。
垢版 |
2021/05/22(土) 01:27:47.65ID:YTdZvxYc0
>>618
そういうことじゃなくて作業のイメージ作り
何が必須項目かとかあるじゃん。数時間で一気に読んで勢いをつける
というか、なんでこのスレのテンプレにそういう情報ないかね
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況