MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 544 1...537538539540541542543544545546547548549550551...1953 新しいコメント Tigerfreerun 2018.05.03 08:11 #5431 if(TralProcent!=0){ NewProfProc=Profit(-1)/(AccountBalance()/100); if(NewProfProc>0 && (ProfitProcent==0 || ProfitProcent<NewProfProc)) {ProfitProcent=NormalizeDouble(NewProfProc, 2; } if(ProfitProcent>0 &&) {ProfitProcent=NormalizeDouble(NewProfProc); } if(ProfitProcent=0 &&) {NewProfProc<NewProfProc); if (ProfitProcent=0 &&)ProfitProcent>(TralProcent+TralStartProcent)) {TrallingProcent=ProfitProcent-TralProcent;} //+------------------------------------------------------------------+ if(NewProfProc>0 && TrallingProcent!=0 && NewProfProc<=TrallingProcent) {CloserS(); CloserB(); ProfitProcent=0; TrallingProcent=0;} }。------ロボットが%balanceでtrawlを使用しています、ここにステップの変更を追加する方法を教えてください。私の理解が正しければ、それはTralingprocentに必要です。例えば、step =2%であれば、trailingprocentは少なくとも2%増加する。 Vitaly Muzichenko 2018.05.03 09:50 #5432 khorosh:アルチョム・トリシキンオブジェクト - 任意のターミナルウィンドウとそのサブウィンドウに出力することができます。 -------------------------------------------------------------------------------------------------------------------------------------- こんな感じでやってみたんですが、うまくいきません。 ウィンドウのナンバリングがおかしいのかもしれません。チャートの中に別ウィンドウが1つある場合、その番号==1?wndNum 表示するウィンドウの番号 int wndNum=1; int OnInit() { string short_name=MQLInfoString(MQL_PROGRAM_NAME); short_name+=": MyIndicator"; IndicatorSetString(INDICATOR_SHORTNAME,short_name); wndNum=ChartWindowFind(0,short_name); //--- return(INIT_SUCCEEDED); } // Функция создания объекта void SetLabel(string nm,string text,long xd,long yd,int fs,string font,int cr,int an,color cl,string tooltip,bool sel) { if(ObjectFind(0,nm)<0) { ObjectCreate(0,nm,OBJ_LABEL,wndNum,0,0); ObjectSetInteger(0,nm,OBJPROP_CORNER,cr); ObjectSetInteger(0,nm,OBJPROP_ANCHOR,an); ObjectSetString (0,nm,OBJPROP_FONT,font); ObjectSetInteger(0,nm,OBJPROP_FONTSIZE,fs); ObjectSetInteger(0,nm,OBJPROP_BACK,false); ObjectSetInteger(0,nm,OBJPROP_HIDDEN,false); ObjectSetInteger(0,nm,OBJPROP_SELECTABLE,sel); ObjectSetInteger(0,nm,OBJPROP_SELECTED,sel); ObjectSetString (0,nm,OBJPROP_TOOLTIP,tooltip); } ObjectSetInteger(0,nm,OBJPROP_YDISTANCE,yd); ObjectSetInteger(0,nm,OBJPROP_XDISTANCE,xd); ObjectSetString (0,nm,OBJPROP_TEXT,text); ObjectSetInteger(0,nm,OBJPROP_COLOR,cl); } 追伸:khoroshさん、プライベートで返信できないんですよー、チャットが機能しないんですよー。 khorosh 2018.05.05 01:37 #5433 Vitaly Muzichenko:wndNum 表示するウィンドウの番号 追伸:khorosh さん、プライベートでお返事できません。チャットが機能していません。Vitaliyさん、ありがとうございます!あと、別ウィンドウにあるインジケーターのカーブの先端につけるにはどうしたらいいのでしょうか?ゼロバー上のTime[0]とカーブバッファの値を座標として設定してみましたが、うまくいきません。 Ihor Herasko 2018.05.05 08:45 #5434 khorosh:Vitalyさん、ありがとうございます!あと、別ウィンドウにあるインジケーターのカーブの先端に結びつけるにはどうしたらいいのでしょうか?Time[0]とゼロバー上のカーブバッファの値を座標として設定してみましたが、うまくいきません。その問いに、彼はそう答えた。よく出てくるニュアンスは、wndNumの値そのものだけです。wndNumの値は定数ではありません。常に監視していなければならない。ユーザーは、現在のウィンドウの前にあるインジケータサブウィンドウを削除することができます。また、OnInit()でインジケータ自体を探さないようにしてください。このコードはOnCalculate() に移動する必要があります。いずれにせよ、サブウィンドウのインデックスが正しいかどうか、常に確認する必要があります。 khorosh 2018.05.05 16:08 #5435 Ihor Herasko:という質問に、そう答えた。よく出てくるニュアンスは、wndNumの値そのものだけです。wndNumの値は定数ではありません。常に監視していなければならない。ユーザーは、現在のウィンドウの前にあるインジケータサブウィンドウを削除することができます。また、OnInit()でインジケータ自体を探さないようにしてください。このコードはOnCalculate()に移動する必要があります。いずれにせよ、サブウィンドウのインデックスが正しいかどうか、常に確認する必要があります。彼の例では、最初にオブジェクトの座標がピクセル単位であると仮定しています(静的オブジェクト)。しかし、インジケータカーブにバインドする必要があります。そこでまず、この座標を計算する必要がある。作品には出てきません。この方法で試してみましたが、うまくいきません(LevLabelSpread変数に、最初のバーのカーブバッファの値があります)。 .... int X=0,Y=0; wndNum=ChartWindowFind(0,Shortname); ChartTimePriceToXY( 0,wndNum,Time[1],LevLabelSpread,X,Y); Print("X=",X," Y=",Y); if(ObjectFind("_Spread")<0) { ObjectCreate(0,"_Spread", OBJ_TEXT, wndNum, 0,0); ObjectSetText("_Spread", " Spread", 10, "Arial", clrYellow); } else { ObjectSetInteger(0,"_Spread",OBJPROP_YDISTANCE,Y); ObjectSetInteger(0,"_Spread",OBJPROP_XDISTANCE,X); ObjectSetString (0,"_Spread",OBJPROP_TEXT," Spread"); } .... Ihor Herasko 2018.05.05 16:49 #5436 khorosh:彼は、オブジェクトの座標が最初はピクセル単位であると仮定する例を持っています(静的オブジェクト)。しかし、指標となる曲線と連動させる必要がある。だから、この座標をあらかじめ計算しておく必要があるんです。作品には出てきません。この方法で試してみましたが、うまくいきません(変数LevLabelSpreadは最初のバーのカーブバッファの値を持っています)。 なぜ、TEXTタイプのオブジェクトの価格をピクセル単位で計算しなければならないのですか?バータイムとプライスで位置決めされています。こんな感じで持っています。 int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int nWndIndex = ChartWindowFind(); if (nWndIndex < 0) return 0; string sName = "MyText"; if (ObjectFind(0, sName) < 0) ObjectCreate(0, sName, OBJ_TEXT, nWndIndex, time[rates_total - 1], <здесь значение индикатора>); ObjectSetInteger(0, sName, OBJPROP_ANCHOR, ANCHOR_LEFT); ObjectSetString(0, sName, OBJPROP_TEXT, "Sample text"); return(rates_total); } 結果 khorosh 2018.05.05 22:32 #5437 Ihor Herasko:なぜ、TEXTオブジェクトの価格をピクセル単位で計算するのか?バータイムとプライスで位置決めされています。こんな感じで持っています。 結果 ありがとうございました。 khorosh 2018.05.06 00:56 #5438 Ihor Herasko: うまくいきましたね。 khorosh 2018.05.06 09:43 #5439 チャートハンドルとチャートアイデンティファイアの 2つの概念の意味と目的を教えてください。その違いは何か、どのような時にどのように使われるのか。 Ihor Herasko 2018.05.06 12:30 #5440 khorosh: チャートハンドルとチャートアイデンティファイアという 2つの概念の意味と目的を教えてください。その違いは何か、どのような時にどのように使われるのか。どうやって両方を手に入れるのか、見せてください。今のところ、同じことを言っているようです。 1...537538539540541542543544545546547548549550551...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
アルチョム・トリシキン
オブジェクト - 任意のターミナルウィンドウとそのサブウィンドウに出力することができます。
--------------------------------------------------------------------------------------------------------------------------------------
こんな感じでやってみたんですが、うまくいきません。
ウィンドウのナンバリングがおかしいのかもしれません。チャートの中に別ウィンドウが1つある場合、その番号==1?wndNum 表示するウィンドウの番号
追伸:khoroshさん、プライベートで返信できないんですよー、チャットが機能しないんですよー。wndNum 表示するウィンドウの番号
追伸:khorosh さん、プライベートでお返事できません。チャットが機能していません。Vitaliyさん、ありがとうございます!あと、別ウィンドウにあるインジケーターのカーブの先端につけるにはどうしたらいいのでしょうか?ゼロバー上のTime[0]とカーブバッファの値を座標として設定してみましたが、うまくいきません。
Vitalyさん、ありがとうございます!あと、別ウィンドウにあるインジケーターのカーブの先端に結びつけるにはどうしたらいいのでしょうか?Time[0]とゼロバー上のカーブバッファの値を座標として設定してみましたが、うまくいきません。
その問いに、彼はそう答えた。よく出てくるニュアンスは、wndNumの値そのものだけです。wndNumの値は定数ではありません。常に監視していなければならない。ユーザーは、現在のウィンドウの前にあるインジケータサブウィンドウを削除することができます。また、OnInit()でインジケータ自体を探さないようにしてください。このコードはOnCalculate() に移動する必要があります。いずれにせよ、サブウィンドウのインデックスが正しいかどうか、常に確認する必要があります。
という質問に、そう答えた。よく出てくるニュアンスは、wndNumの値そのものだけです。wndNumの値は定数ではありません。常に監視していなければならない。ユーザーは、現在のウィンドウの前にあるインジケータサブウィンドウを削除することができます。また、OnInit()でインジケータ自体を探さないようにしてください。このコードはOnCalculate()に移動する必要があります。いずれにせよ、サブウィンドウのインデックスが正しいかどうか、常に確認する必要があります。
彼の例では、最初にオブジェクトの座標がピクセル単位であると仮定しています(静的オブジェクト)。しかし、インジケータカーブにバインドする必要があります。そこでまず、この座標を計算する必要がある。作品には出てきません。この方法で試してみましたが、うまくいきません(LevLabelSpread変数に、最初のバーのカーブバッファの値があります)。
彼は、オブジェクトの座標が最初はピクセル単位であると仮定する例を持っています(静的オブジェクト)。しかし、指標となる曲線と連動させる必要がある。だから、この座標をあらかじめ計算しておく必要があるんです。作品には出てきません。この方法で試してみましたが、うまくいきません(変数LevLabelSpreadは最初のバーのカーブバッファの値を持っています)。
なぜ、TEXTタイプのオブジェクトの価格をピクセル単位で計算しなければならないのですか?バータイムとプライスで位置決めされています。こんな感じで持っています。
結果
なぜ、TEXTオブジェクトの価格をピクセル単位で計算するのか?バータイムとプライスで位置決めされています。こんな感じで持っています。
結果
ありがとうございました。
うまくいきましたね。
チャートハンドルとチャートアイデンティファイアという 2つの概念の意味と目的を教えてください。その違いは何か、どのような時にどのように使われるのか。
どうやって両方を手に入れるのか、見せてください。今のところ、同じことを言っているようです。