初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 727 1...720721722723724725726727728729730731732733734...1503 新しいコメント Artyom Trishkin 2017.02.01 10:25 #7261 Vitaly Muzichenko:オブジェクトの作成時に、ユーザーが選択を解除しても選択状態が失われず、選択されないようにする方法を教えてください。4では簡単でしたが、5ではうまくいきません。昔はそうで、うまくいっていたんですけどね。void SetHLine(...,double p,bool sel) { if(ObjectFind(chart_ID,nm)!=0) { ObjectCreate(chart_ID,nm,OBJ_HLINE,0,0,0); ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTED,sel); ... } ObjectSetDouble(chart_ID,nm,OBJPROP_PRICE,p);}このように、作成時には作成中のオブジェクトを一度に選択するかしないかを選択すれば、もう変更されず、参照もされませんが、5枚目ではそれが機能せず、選択せずに作成されます。mql5でオブジェクトを作成時に選択し、必要な時に手動で管理できるようにするには - 選択する/選択しない objprop_selectable Vitaly Muzichenko 2017.02.01 10:42 #7262 まあ、そうなんですが、アイコンが目立ちませんねvoid SetArrow(string nm,string tooltxt="",datetime t=0,double p=0,color col=clrRed,long type=0) { if(ObjectFind(0,nm)!=0) { ObjectCreate(0,nm,type==0?OBJ_ARROW_BUY:OBJ_ARROW_SELL,0,0,0); ObjectSetInteger(0,nm,OBJPROP_COLOR,col); ObjectSetInteger(0,nm,OBJPROP_SELECTED,true); ObjectSetInteger(0,nm,OBJPROP_SELECTABLE,true); ObjectSetInteger(0,nm,OBJPROP_HIDDEN,false); ObjectSetString(0,nm,OBJPROP_TOOLTIP,tooltxt); } ObjectSetDouble(0,nm,OBJPROP_PRICE,p); ObjectSetInteger(0,nm,OBJPROP_TIME,t); } Questions from Beginners MQL5 MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 初心者の方からの質問 MQL4 MT4 MetaTrader Vladimir Karputov 2017.02.01 10:48 #7263 Vitaly Muzichenko:そうなのですが、アイコンがハイライトされていません。void SetArrow(string nm,string tooltxt="",datetime t=0,double p=0,color col=clrRed,long type=0) { if(ObjectFind(0,nm)!=0) { ObjectCreate(0,nm,type==0?OBJ_ARROW_BUY:OBJ_ARROW_SELL,0,0,0); ObjectSetInteger(0,nm,OBJPROP_COLOR,col); ObjectSetInteger(0,nm,OBJPROP_SELECTED,true); ObjectSetInteger(0,nm,OBJPROP_SELECTABLE,true); ObjectSetInteger(0,nm,OBJPROP_HIDDEN,false); ObjectSetString(0,nm,OBJPROP_TOOLTIP,tooltxt); } ObjectSetDouble(0,nm,OBJPROP_PRICE,p); ObjectSetInteger(0,nm,OBJPROP_TIME,t); }すべてがハイライト表示されます。 ファイル: OBJ_ARROW.mq5 22 kb Vitaly Muzichenko 2017.02.01 11:08 #7264 Vladimir Karputov:すべてが際立っている。 くそ、ある機能を罫線で囲み、別の機能をチェックしたら、全部動いた。ありがとうございました。もう寝ます) Vitaly Muzichenko 2017.02.02 10:40 #7265 このように設定すると、作成時に線がハイライトされないという不思議な機能に気づきました。ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTED,sel);ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTABLE,true);しかし、その逆をやれば、選別に問題はない。ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTABLE,true);ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTED,sel);なぜかsumandを入れ替えるとsumが変わる? prostotrader 2017.02.02 10:59 #7266 Vitaly Muzichenko:このように設定すると、作成時に線がハイライトされないという不思議な機能に気づきました。ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTED,sel);ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTABLE,true);しかし、その逆をやれば、選別に問題はない。ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTABLE,true);ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTED,sel);なぜか和を入れ替えると和が変わる?どうやら、その時ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTED,sel); 最後のコマンドを実行すると、チャートが更新されます Artyom Trishkin 2017.02.02 11:02 #7267 Vitaly Muzichenko:不思議な機能に気づいたのですが、このように設定すると、作成時に行を選択せずObjectSetInteger(chart_ID,nm,OBJPROP_SELECTED,sel);ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTABLE,true);でも、逆なら何の問題もないんです。ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTABLE,true);ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTED,sel);なぜか和を入れ替えると和が変わる?オブジェクトを作成した 当初は、おそらくそのデフォルトプロパティを選択不可に設定したことでしょう。 そして、それを選択すると(しかし、オブジェクトは選択できない)、結果的に何も選択されなくなる そして、それを選択可能に設定するのです。しかし、「ボルジョミを飲むのが遅すぎる」・・・。 Vitaly Muzichenko 2017.02.02 11:04 #7268 では、そのコードの全貌をご紹介しましょう。void SetVLine(long chart_ID=0,string nm="nm",datetime tm=0,int wd=1,int st=0,color cl=clrRed, string tooltxt="",bool sel=false,bool back=false) { if(ObjectFind(chart_ID,nm)<0) { ObjectCreate(chart_ID,nm,OBJ_VLINE,0,tm,0); ObjectSetInteger(chart_ID,nm,OBJPROP_TIME,tm); ObjectSetInteger(chart_ID,nm,OBJPROP_BACK,back); ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTABLE,true); ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTED,sel); // ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTABLE,true); ObjectSetString(chart_ID,nm,OBJPROP_TOOLTIP,tooltxt); ObjectSetInteger(chart_ID,nm,OBJPROP_COLOR,cl); ObjectSetInteger(chart_ID,nm,OBJPROP_WIDTH,wd); ObjectSetInteger(chart_ID,nm,OBJPROP_STYLE,st); } }はい、すべてのオブジェクトタイプで再確認しました。"SELECTABLE"を最初に、そして"SELECTED"を最初に置く必要があります。ご参加と解決へのご協力ありがとうございました。 Questions from Beginners MQL5 [ARCHIVE]Any rookie question, so [ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. 111992086 2017.02.02 12:19 #7269 MetaTrader5では、3つのブロックに分けてEAを生成することが可能です。1ブロックは、1つの指標または複数の指標から信号を出します。2ブロックトレーリングバー3ブロックのリスク 1.カスタムインジケーターを 1ブロックに追加することはできますか?その場合、どのようにすればよいのでしょうか? 2.トレードが両方向で開始されるようにコードを修正することは可能ですか(現在、例えば、買いトレードが開始されると、買いトレードが終了するまで売りトレードは開始されません)。 Vladimir Karputov 2017.02.03 15:04 #7270 このトピックに関連しないコメントは、「MQL4 MT4 MetaTrader 4初心者からの質問」に移動しました。 1...720721722723724725726727728729730731732733734...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
オブジェクトの作成時に、ユーザーが選択を解除しても選択状態が失われず、選択されないようにする方法を教えてください。4では簡単でしたが、5ではうまくいきません。
昔はそうで、うまくいっていたんですけどね。
if(ObjectFind(chart_ID,nm)!=0) {
ObjectCreate(chart_ID,nm,OBJ_HLINE,0,0,0);
ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTED,sel);
...
}
ObjectSetDouble(chart_ID,nm,OBJPROP_PRICE,p);
}
このように、作成時には作成中のオブジェクトを一度に選択するかしないかを選択すれば、もう変更されず、参照もされませんが、5枚目ではそれが機能せず、選択せずに作成されます。
mql5でオブジェクトを作成時に選択し、必要な時に手動で管理できるようにするには - 選択する/選択しない
まあ、そうなんですが、アイコンが目立ちませんね
if(ObjectFind(0,nm)!=0) {
ObjectCreate(0,nm,type==0?OBJ_ARROW_BUY:OBJ_ARROW_SELL,0,0,0);
ObjectSetInteger(0,nm,OBJPROP_COLOR,col);
ObjectSetInteger(0,nm,OBJPROP_SELECTED,true);
ObjectSetInteger(0,nm,OBJPROP_SELECTABLE,true);
ObjectSetInteger(0,nm,OBJPROP_HIDDEN,false);
ObjectSetString(0,nm,OBJPROP_TOOLTIP,tooltxt);
}
ObjectSetDouble(0,nm,OBJPROP_PRICE,p);
ObjectSetInteger(0,nm,OBJPROP_TIME,t);
}
そうなのですが、アイコンがハイライトされていません。
if(ObjectFind(0,nm)!=0) {
ObjectCreate(0,nm,type==0?OBJ_ARROW_BUY:OBJ_ARROW_SELL,0,0,0);
ObjectSetInteger(0,nm,OBJPROP_COLOR,col);
ObjectSetInteger(0,nm,OBJPROP_SELECTED,true);
ObjectSetInteger(0,nm,OBJPROP_SELECTABLE,true);
ObjectSetInteger(0,nm,OBJPROP_HIDDEN,false);
ObjectSetString(0,nm,OBJPROP_TOOLTIP,tooltxt);
}
ObjectSetDouble(0,nm,OBJPROP_PRICE,p);
ObjectSetInteger(0,nm,OBJPROP_TIME,t);
}
すべてがハイライト表示されます。
すべてが際立っている。
このように設定すると、作成時に線がハイライトされないという不思議な機能に気づきました。
ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTABLE,true);
しかし、その逆をやれば、選別に問題はない。
ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTED,sel);
なぜかsumandを入れ替えるとsumが変わる?
このように設定すると、作成時に線がハイライトされないという不思議な機能に気づきました。
ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTABLE,true);
しかし、その逆をやれば、選別に問題はない。
ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTED,sel);
なぜか和を入れ替えると和が変わる?
どうやら、その時
ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTED,sel);
最後のコマンドを実行すると、チャートが更新されます
不思議な機能に気づいたのですが、このように設定すると、作成時に行を選択せず
ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTABLE,true);
でも、逆なら何の問題もないんです。
ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTED,sel);
なぜか和を入れ替えると和が変わる?
そして、それを選択すると(しかし、オブジェクトは選択できない)、結果的に何も選択されなくなる
そして、それを選択可能に設定するのです。しかし、「ボルジョミを飲むのが遅すぎる」・・・。
では、そのコードの全貌をご紹介しましょう。
string tooltxt="",bool sel=false,bool back=false) {
if(ObjectFind(chart_ID,nm)<0) {
ObjectCreate(chart_ID,nm,OBJ_VLINE,0,tm,0);
ObjectSetInteger(chart_ID,nm,OBJPROP_TIME,tm);
ObjectSetInteger(chart_ID,nm,OBJPROP_BACK,back);
ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTABLE,true);
ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTED,sel);
// ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTABLE,true);
ObjectSetString(chart_ID,nm,OBJPROP_TOOLTIP,tooltxt);
ObjectSetInteger(chart_ID,nm,OBJPROP_COLOR,cl);
ObjectSetInteger(chart_ID,nm,OBJPROP_WIDTH,wd);
ObjectSetInteger(chart_ID,nm,OBJPROP_STYLE,st);
}
}
はい、すべてのオブジェクトタイプで再確認しました。"SELECTABLE"を最初に、そして"SELECTED"を最初に置く必要があります。
ご参加と解決へのご協力ありがとうございました。
1.カスタムインジケーターを 1ブロックに追加することはできますか?その場合、どのようにすればよいのでしょうか?
2.トレードが両方向で開始されるようにコードを修正することは可能ですか(現在、例えば、買いトレードが開始されると、買いトレードが終了するまで売りトレードは開始されません)。