初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1377 1...137013711372137313741375137613771378137913801381138213831384...1503 新しいコメント Mikhail Toptunov 2021.11.20 07:42 #13761 Fast235 #:と、参加者の一人が言うように、工場に。知覚不能により オブジェクトに一意の番号を割り当てる必要があり、この番号はパラメータから収集する必要があります。 - 対象物の開封時期 - 対象期間 - オブジェクトの時間枠 例えば、こんな感じです。 int Num= TimeOpen+Period*0.0001 まあこの数字が排他的になるかどうかは分からないし、int以下のデータ型は合わないが、できればint Fast235 2021.11.20 13:05 #13762 Mikhail Toptunov #:オブジェクトには一意の番号を割り当てる必要があり、この番号はパラメータから収集する必要があります。- 対象物の開封時期- 対象期間- オブジェクトのタイムフレーム例えば、こんな感じです。まあこの数値が排他的になるとは思えませんし、int以下のデータ型は合いませんが、望ましいのはintです 一意の番号が自動的に割り当てられます - tr_Deal73772984 ぎもんがあらない Fast235 2021.11.20 13:07 #13763 次の簡単なコードをご覧ください。 for(uint i=0; i<total; i++) { //--- try to get deals ticket if((ticket=HistoryDealGetTicket(i))>0) { symbol=HistoryDealGetString(ticket,DEAL_SYMBOL); if(symbol!=Symbol()) continue; //--- get deals properties price =HistoryDealGetDouble(ticket,DEAL_PRICE); time =(datetime)HistoryDealGetInteger(ticket,DEAL_TIME); type =HistoryDealGetInteger(ticket,DEAL_TYPE); entry =HistoryDealGetInteger(ticket,DEAL_ENTRY); profit=HistoryDealGetDouble(ticket,DEAL_PROFIT); id =HistoryDealGetInteger(ticket, DEAL_POSITION_ID); //--- text =DoubleToString(profit,2); //--- //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ if(price && time && symbol==Symbol()) { //--- create price object name=prefix+"Deal"+string(ticket); name2=prefix+"Price"+string(ticket); if(entry==DEAL_ENTRY_IN) { ObjectCreate(0,name,OBJ_ARROW_LEFT_PRICE,0,time,price,0,0); { timeOpen=time; priceOpen=price; } } if(entry==DEAL_ENTRY_OUT) { // if(ShowRightTabTab) //---создадим метку на закрытии ObjectCreate(0,name,OBJ_ARROW_RIGHT_PRICE,0,time,price,0,0); //--- нарисуем линию сделки ObjectCreate(0,name+"_trend",OBJ_TREND,0,timeOpen,priceOpen,time,price); //--- добавим на график результат сделки ObjectCreate(0,name2,OBJ_TEXT,0,time,price+offset*_Point); if(profit>0.0) clr=inpColorTP; else clr=inpColorSL; } leonerd 2021.11.20 18:20 #13764 こんにちは。 フィボナッチレベルを 表示/非表示にするにはどうすればよいですか?一般的には、いくつかのレベルを削除する必要があります。OBJPROP_LEVELSプロパティを使用すると、最初のN個のレベルが使用可能になるだけです。各レベルのvisibilityプロパティを設定する方法、または完全に削除する方法は? Alexey Viktorov 2021.11.20 20:40 #13765 leonerd #:こんにちは。フィボナッチレベルを 表示/非表示にするにはどうすればよいですか?一般的には、いくつかのレベルを削除する必要があります。OBJPROP_LEVELSプロパティを使用すると、最初のN個のレベルが使用可能になるだけです。各レベルのvisibilityプロパティを設定する、または完全に削除するにはどうすればよいですか? こんな感じです。 double fiboLev[] = {0.0, 0.236, 0.382, 0.5, 0.618, 0.764, 0.882, 1.0, 1.236, 1.382, 1.618, 2.0, 2.236, 2.618, 3.236, 3.618, 4.236}; /************************fiboCreate function*************************/ void fiboCreate(datetime t0, double p0, datetime t1, double p1) { long chartID = ChartID(); if(ObjectFind(chartID, fiboName) < 0) { ObjectCreate(chartID, fiboName, OBJ_FIBO, 0, t1, p1, t0, p0); ObjectSetInteger(chartID, fiboName, OBJPROP_WIDTH, 2); ObjectSetInteger(chartID, fiboName, OBJPROP_COLOR, clrFibo); ObjectSetInteger(chartID, fiboName, OBJPROP_LEVELS, 23); ObjectSetInteger(chartID, fiboName, OBJPROP_LEVELCOLOR, clrFibo); for(int i = 0; i < 17; i++) { ObjectSetDouble(chartID, fiboName, OBJPROP_LEVELVALUE, i, fiboLev[i]); ObjectSetString(chartID, fiboName, OBJPROP_LEVELTEXT, i, "%$ ("+DoubleToString(fiboLev[i]*100, 1)+")"); } } else if(ObjectFind(chartID, fiboName) == 0) { ObjectSetInteger(chartID, fiboName, OBJPROP_TIME, 0, t0); ObjectSetDouble(chartID, fiboName, OBJPROP_PRICE, 0, p0); ObjectSetInteger(chartID, fiboName, OBJPROP_TIME, 1, t1); ObjectSetDouble(chartID, fiboName, OBJPROP_PRICE, 1, p1); } ChartRedraw(); }/******************************************************************/ EAから抜粋したもので、ここでは定義されていない変数もあります。このコードはコンパイルできません。 Mikhail Toptunov 2021.11.22 09:33 #13766 こんにちは、標準的な方法を使用して構造体からオフセットを持つ配列要素を 削除する方法はありますか? struct OrderFib { double id; double Price[Umax]; int type; int PeriodUr50; // № Периода } trade_buff[]; 1) trade_buff[0]... trade_buff[1]... deleted trade_buff[2]... 2) trade_buff[0]... trade_buff[1]... Mikhail Toptunov 2021.11.22 10:03 #13767 このようにすれば、もっとプロフェッショナルにできるんじゃないですか? //+----------Удаляем старый сигнал-----------------------------------+ void filterDeal_1(int tf) { for(int i= 0; i<CountTrade; i++) if(trade_buff[i].tf == tf) { ArrayRemove(trade_buff,i,1); CountTrade--; i= 0; } } Aleksei Stepanenko 2021.11.22 10:30 #13768 Mikhail Toptunov #:これを、もっとプロフェッショナルな方法でできないか。 配列の要素を削除するには、配列の最後から始めれば、インデックスを変更する必要はありません。勝手に順番が回ってくる。 for(int i=CountTrade-1; i>=0; i--) { if(trade_buff[i].tf == tf) { ArrayRemove(trade_buff,i,1); } } Mikhail Toptunov 2021.11.22 10:58 #13769 Aleksei Stepanenko #:配列の要素を削除するには、配列の最後から始めれば、インデックスを変更する必要はありません。勝手に順番が回ってくる。 Right, Cool, Thanks! Valeriy Yastremskiy 2021.11.22 12:34 #13770 Mikhail Toptunov #:オブジェクトには一意の番号を割り当てる必要があり、この番号はパラメータから収集する必要があります。- 対象物の開封時期- 対象期間- オブジェクトのタイムフレーム例えば、こんな感じです。まあ、この数値が排他的になるとは思えないし、int以下のデータ型は合わないが、できればintがいい。 後で復号化する場合は、番号ではなくオブジェクト名を暗号化した方が良い。つまり、数字から名前、数字から文字列、文字列からintに変換しているのです。フィールドをセパレータで区切るか、各フィールドの文字数を考慮するか、どちらかしかないでしょう。 1...137013711372137313741375137613771378137913801381138213831384...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
と、参加者の一人が言うように、工場に。
知覚不能により
オブジェクトに一意の番号を割り当てる必要があり、この番号はパラメータから収集する必要があります。
- 対象物の開封時期
- 対象期間
- オブジェクトの時間枠
例えば、こんな感じです。
まあこの数字が排他的になるかどうかは分からないし、int以下のデータ型は合わないが、できればint
オブジェクトには一意の番号を割り当てる必要があり、この番号はパラメータから収集する必要があります。
- 対象物の開封時期
- 対象期間
- オブジェクトのタイムフレーム
例えば、こんな感じです。
まあこの数値が排他的になるとは思えませんし、int以下のデータ型は合いませんが、望ましいのはintです
一意の番号が自動的に割り当てられます - tr_Deal73772984
ぎもんがあらない
次の簡単なコードをご覧ください。
こんにちは。
フィボナッチレベルを 表示/非表示にするにはどうすればよいですか?一般的には、いくつかのレベルを削除する必要があります。OBJPROP_LEVELSプロパティを使用すると、最初のN個のレベルが使用可能になるだけです。各レベルのvisibilityプロパティを設定する方法、または完全に削除する方法は?
こんにちは。
フィボナッチレベルを 表示/非表示にするにはどうすればよいですか?一般的には、いくつかのレベルを削除する必要があります。OBJPROP_LEVELSプロパティを使用すると、最初のN個のレベルが使用可能になるだけです。各レベルのvisibilityプロパティを設定する、または完全に削除するにはどうすればよいですか?
こんな感じです。
EAから抜粋したもので、ここでは定義されていない変数もあります。このコードはコンパイルできません。
こんにちは、標準的な方法を使用して構造体からオフセットを持つ配列要素を 削除する方法はありますか?
このようにすれば、もっとプロフェッショナルにできるんじゃないですか?
これを、もっとプロフェッショナルな方法でできないか。
配列の要素を削除するには、配列の最後から始めれば、インデックスを変更する必要はありません。勝手に順番が回ってくる。
配列の要素を削除するには、配列の最後から始めれば、インデックスを変更する必要はありません。勝手に順番が回ってくる。
Right, Cool, Thanks!
オブジェクトには一意の番号を割り当てる必要があり、この番号はパラメータから収集する必要があります。
- 対象物の開封時期
- 対象期間
- オブジェクトのタイムフレーム
例えば、こんな感じです。
まあ、この数値が排他的になるとは思えないし、int以下のデータ型は合わないが、できればintがいい。
後で復号化する場合は、番号ではなくオブジェクト名を暗号化した方が良い。つまり、数字から名前、数字から文字列、文字列からintに変換しているのです。フィールドをセパレータで区切るか、各フィールドの文字数を考慮するか、どちらかしかないでしょう。