エラー、バグ、質問 - ページ 1488 1...148114821483148414851486148714881489149014911492149314941495...3185 新しいコメント Artyom Trishkin 2016.01.31 16:22 #14871 Aleksandr Novikov:答えは出るのか、それとも相変わらずの違和感のある質問として歴史に名を残すのか。それとも、管理者が変更できるのは、トップメニューのリンクの順番だけなのでしょうか? 第4回フォーラムは、長い間支持されていなかったが、参考資料として残っている。少なくともこの判断は、行政から声が上がった。 Aleksandr Novikov 2016.01.31 18:58 #14872 Alexey Kozitsyn:管理部門の人間でないにも関わらず、私の質問にも答えてくれませんし...。はい、私のアカウントでフォーラムにログインしたのですが、それで何ができるのでしょうか?好奇心を満たすだけ?アルチョム・トリシキン 第4回フォーラムは長い間サポートされていなかったのですが、参考資料として保存していました。少なくともこの判断は、行政から声が上がった。だから、それを閉鎖して、すべてをmql5フォーラムにリダイレクトしたのでしょう。なぜ去勢するのか?人々が使い続け、コミュニケーションをとる、つまり必要とされ、その機能を維持することが求められているのですつまり、いつものようにユーザーやその意見は無視され、すべてが一方的に決められていることがわかったのです。 削除済み 2016.01.31 19:18 #14873 Aleksandr Novikov:はい、私のアカウントでフォーラムにログインしたのですが、それで何ができるのでしょうか?好奇心を満たすだけ? どうしたらいいんだろう、もしかしてアカウントにログインせずにアスタリスクを表示させたいのかな?それなら、そこに表示されないのも道理です。 Artyom Trishkin 2016.01.31 20:06 #14874 Aleksandr Novikov:はい、私のアカウントでフォーラムにログインしたのですが、それで何ができるのでしょうか?好奇心を満たすだけでいいのか?では、それを閉じて、mql5フォーラムにリダイレクトしてはどうでしょうか?なぜ去勢するのですか?今でも人が使っていて、コミュニケーションが取れているということは、必要とされているし、その機能は維持されるべきなのですしかし、相変わらずユーザーやその意見は無視され、すべてが一方的に決められていることがわかりました。 それこそ1年ほど前、第4フォーラムのサポート中止を決定した時に聞かれなかったのでしょうか。有用な情報がたくさんあるからこそ、壊さずに活用する。でも、参考までに。 Ilyas 2016.02.01 09:50 #14875 Andrey Voytenko:初期化について。このような書き方は可能でしょうか?...とにかく、私のお気に入りの文字列を使った ={0} による初期化がうまくいかないのです。それは残念なことです。 投稿ありがとうございます、バグ修正しました。この修正は次のビルドに含まれる予定です。 Sergey Vedmanov 2016.02.02 11:28 #14876 MT4に関する質問です。こんにちは。敷地面積の定義で問題に直面。以下はそのコードです。具体的にはアルパリについて。具体的にはUSD-JPYの場合。注文のデータをチャートに出力してくれるはずなのですが・・・USD-JPYの値が正しく表示 されないのですアレイのデータが気になる!どうすればいいんだ?#property version "1.00" #property strict #property indicator_chart_window double Mas_Ord_Old[1000][19]; double Mas_Ord_New[1000][19]; double Mas_Tip[6]; string Mas_tip[6]; extern int FontSize=12; extern color TextColor=clrIvory; extern color TextColor1=clrGray; extern color TextColor2=clrRed; extern color TextColor3=clrYellow; extern int X=20; extern int Y=15; int n; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { Terminal(); //--- Comment(" пример неправильного лота "); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ // //+------------------------------------------------------------------+ void OnDeinit(const int reason) { DeleteLabel(); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ 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[]) { //--- Terminal(); int shift=15; DeleteLabel(); n=13; double proffit=0; double pro=0; double stloss=0; double los=0; int a9=(int)NormalizeDouble( Mas_Ord_Old [0][10],0);//MathIsValidNumber //for(int cnt=OrdersTotal()-1;cnt>=0;cnt--) for(int cnt=a9-1;cnt>=0;cnt--) { //.. и наша вал.пара double a0= Mas_Ord_Old [cnt][0]; // OrderTicket(); I // Тикет ордера double a1= Mas_Ord_Old [cnt][1]; // OrderOpenPrice(); D // Курс открытия орд double a2= Mas_Ord_Old [cnt][2]; // OrderLots(); D // Количество лотов !!!!!!!!!!!!!!!! double a3= Mas_Ord_Old [cnt][3]; // OrderTakeProfit(); D // Курс ТР double a4= Mas_Ord_Old [cnt][4]; // OrderSwap(); D // Своп double a5= Mas_Ord_Old [cnt][5]; // OrderStopLoss(); D // Курс SL double a6= Mas_Ord_Old [cnt][6]; // OrderType(); I // Тип ордера double a7= Mas_Ord_Old [cnt][7]; // OrderMagicNumber(); I // Магическое число double a8= Mas_Ord_Old [cnt][8]; // double Aa2= (double)((NormalizeDouble( a2,2))*100); double Aaa2=(double)((NormalizeDouble( Aa2,2))/100); // Print("2- OrderLots= ",Aa2," OrderType= ",Aaa2," OrderMagicNumber= ",a7," Ciomment= ",a8," кол-во = ",a0); string text=StringConcatenate(" Тикет= Опен= ",a1," ЛОТ!!!= ",a2," ЛОТ 2= ",Aa2," 4= ",a4," 5= ",a5," 6= ",a6," 7= ",a7," 8= ",a8); CreateLabel(StringConcatenate("Label_",n),text,X,Y+n*shift,clrYellow); } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ // double Mas_Ord_Old[1000][9]; // double Mas_Ord_New[1000][9]; // double Mas_Tip[6]; // ~~~~~~~~~~~~~~~~~~ Работа с ордерами ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bool Terminal() { int Qnt=0; // Счётчик количества ордеров //--------------------------------------------------------------- 3 -- ArrayCopy(Mas_Ord_Old, Mas_Ord_New,0,0,WHOLE_ARRAY);// Сохраняем предыдущую историю Qnt=0; // Обнуление счётчика ордеров ArrayInitialize(Mas_Ord_New,0); // Обнуление массива // ArrayInitialize(Mas_Tip, 0); // Обнуление массива //--------------------------------------------------------------- 4 -- for(int i=OrdersTotal()-1; i>=0; i--) // По рыночн. и отлож. ордерам { //.. и наша вал.пара && (OrderSymbol()==Symbol()) if((OrderSelect(i,SELECT_BY_POS)==true) ) { //------------------------------------------------------ 5 -- Mas_Ord_New[Qnt][0]=OrderTicket(); // Курс открытия орд Mas_Ord_New[Qnt][1]=OrderOpenPrice(); // Курс открытия орд Mas_Ord_New[Qnt][2]= OrderLots(); // Курс SL Mas_Ord_New[Qnt][3]=OrderTakeProfit(); // Курс ТР Mas_Ord_New[Qnt][4]=OrderSwap(); // Номер ордера Mas_Ord_New[Qnt][5]=OrderStopLoss(); // Количество лотов // Mas_Tip[OrderType()]++; // Кол. ордеров типа Mas_Ord_New[Qnt][6]=OrderType(); // Тип ордера Mas_Ord_New[Qnt][7]=OrderMagicNumber(); // Магическое число if (OrderComment()=="") Mas_Ord_New[Qnt][8]=0; // Если нет коммент else Mas_Ord_New[Qnt][8]=1; // Если есть коммент Qnt++; // Колич. ордеров //------------------------------------------------------ 6 -- } } Mas_Ord_New[0][10]=Qnt; // Колич. ордеров //--------------------------------------------------------------- 7 -- return 0; } // ~~~~~~~~~~~~~~~~~~ Работа с ордерами ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //+--------------------------------------------------------------------+ void CreateLabel(string name, string text,int x, int y, color c) // { // ObjectCreate(name, OBJ_LABEL,0,0,0); // ObjectSetText(name,text,FontSize,"Times New Roman",TextColor); // ObjectSet(name,OBJPROP_CORNER,0 ); // ObjectSet(name,OBJPROP_XDISTANCE,x); // ObjectSet(name,OBJPROP_YDISTANCE,y); // ObjectSet(name,OBJPROP_COLOR,c); // n++; // } // void DeleteLabel() // { // for(int i=ObjectsTotal();i>=0;i--) // { // if(StringSubstr(ObjectName(i),0,6)=="Label_") // ObjectDelete(ObjectName(i)); // } // } // //+--------------------------------------------------------------------+ Artyom Trishkin 2016.02.02 12:00 #14877 Sergey Vedmanov:MT4に関する質問です。こんにちは。敷地面積の定義で問題に直面。以下はそのコードです。具体的にはアルパリについて。具体的にはUSD-JPYの場合。注文のデータをチャートに出力してくれるはずなのですが・・・USD-JPYの値が正しく表示 されないのですアレイのデータが気になる!どうすればいいんだ? しかし、コバレフのチュートリアルでは、それが通用するのです。正しくコピーして、新しい要件に調整することを妨げるものは何ですか? Sergey Vedmanov 2016.02.02 12:23 #14878 Artyom Trishkin: しかし、コバレフのチュートリアルはまだ有効です。それを正しくコピーし、新しい要件に調整することを妨げるものは何ですか?驚かせますが、他のショッピングセンターでも通用するんですよ。記事を最初からよく読むと・・・。具体的にはアルパリについて。具体的にはUSD-JPYについて。さらに 何ができるのか? Artyom Trishkin 2016.02.02 12:40 #14879 Sergey Vedmanov:驚かせますが、他のショッピングセンターでも通用するんですよ。記事を最初からよく読むと・・・。具体的にはアルパリについて。具体的にはUSD-JPYについて。追加でできることとは?...... 他のトレーディングセンターでは?:)具体的な内容を拝見しました。余計なお世話だと思うので、つっこみませんでした。コバレフ端末ばかり...。しかし、あなたのコードで私は保存されたデータとコメントでこのデータの説明の間に矛盾を参照してください - すでに混乱しています。さらにstring text=StringConcatenate(" Тикет= Опен= ",a1," ЛОТ!!!= ",a2," ЛОТ 2= ",Aa2," 4= ",a4," 5= ",a5," 6= ",a6," 7= ",a7," 8= ",a8);あなたのロットは変数a2からプリントされますが、私たちはそれに何を保存しているのでしょうか?これです。Mas_Ord_New[Qnt][2]= OrderLots(); // Курс SLDoubleToString()で出力すればいいのでは?そして、ロットの正規化を間違えている。ロット正規化のための関数が必要です。検索しない。Kim'sで検索してみて ください。 Sergey Vedmanov 2016.02.02 13:45 #14880 Artyom Trishkin:...他のショッピングセンターでは?:)具体的な内容を拝見しました。余計なお世話だと思うので、つっこみませんでした。コバレフ端末ばかり...。しかし、あなたのコードでは、保存されたデータとコメントでのこのデータの記述に食い違いがあり、すでに混乱しています。さらにあなたのロットは変数a2からプリントされますが、私たちはそれに何を保存しているのでしょうか?これです。それとも、DoubleToString()で出力するのでしょうか?ロットの正規化が間違っている。ロット正規化のための関数が必要です。検索しない。Kim'sで探してみて ください。きっとうまくいきますよ。見つけた。ありがとうございます。しかし、それは目の前の課題を解決するものではありません。他のCAやこのコードでは正常に動作しています。キムの機能と間違って動作してしまう。DoubleToString()で正しく読み取れますが、計算が正しくできません。DoubleToString()を通して数えることはしない。往復すると、文字列は正しく転送されますが、文字列の倍加がまた間違っています。問題はアルパリにあり、それを迂回するための松葉杖が必要なのです。USD-SEKで、他のペアの始値が正しく表示されない。#property version "1.00" #property strict #property indicator_chart_window double Mas_Ord_Old[1000][19]; double Mas_Ord_New[1000][19]; double Mas_Tip[6]; string Mas_tip[6]; extern int FontSize=12; extern color TextColor=clrIvory; extern color TextColor1=clrGray; extern color TextColor2=clrRed; extern color TextColor3=clrYellow; extern int X=20; extern int Y=15; int n; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { Terminal(); //--- Comment(" пример неправильного лота "); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ // //+------------------------------------------------------------------+ void OnDeinit(const int reason) { DeleteLabel(); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ 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[]) { //--- Terminal(); int shift=15; DeleteLabel(); n=13; double proffit=0; double pro=0; double stloss=0; double los=0; int a9=(int)NormalizeDouble( Mas_Ord_Old [0][10],0);//MathIsValidNumber //for(int cnt=OrdersTotal()-1;cnt>=0;cnt--) for(int cnt=a9-1;cnt>=0;cnt--) { //.. и наша вал.пара double a0= Mas_Ord_Old [cnt][0]; // OrderTicket(); I // Тикет ордера double a1= Mas_Ord_Old [cnt][1]; // OrderOpenPrice(); D // Курс открытия орд string a2= DoubleToString(Mas_Ord_Old [cnt][2],2); // OrderLots(); D // Количество лотов !!!!!!!!!!!!!!!! double a3= Mas_Ord_Old [cnt][3]; // OrderTakeProfit(); D // Курс ТР double a4= Mas_Ord_Old [cnt][4]; // OrderSwap(); D // Своп double a5= Mas_Ord_Old [cnt][5]; // OrderStopLoss(); D // Курс SL double a6= Mas_Ord_Old [cnt][6]; // OrderType(); I // Тип ордера double a7= Mas_Ord_Old [cnt][7]; // OrderMagicNumber(); I // Магическое число double a8= Mas_Ord_Old [cnt][8]; // double Aa2= (double)(StringToDouble(a2)); double Aaa2=(double)((NormalizeDouble( Aa2,2))/100); // Print("2- OrderLots= ",Aa2," OrderType= ",Aaa2," OrderMagicNumber= ",a7," Ciomment= ",a8," кол-во = ",a0); string text=StringConcatenate(" Опен= ",a1," ЛОТ string= ",a2," ЛОТ double= ",Aa2 ); CreateLabel(StringConcatenate("Label_",n),text,X,Y+n*shift,clrYellow); } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ // double Mas_Ord_Old[1000][9]; // double Mas_Ord_New[1000][9]; // double Mas_Tip[6]; // ~~~~~~~~~~~~~~~~~~ Работа с ордерами ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bool Terminal() { int Qnt=0; // Счётчик количества ордеров //--------------------------------------------------------------- 3 -- ArrayCopy(Mas_Ord_Old, Mas_Ord_New,0,0,WHOLE_ARRAY);// Сохраняем предыдущую историю Qnt=0; // Обнуление счётчика ордеров ArrayInitialize(Mas_Ord_New,0); // Обнуление массива // ArrayInitialize(Mas_Tip, 0); // Обнуление массива //--------------------------------------------------------------- 4 -- for(int i=OrdersTotal()-1; i>=0; i--) // По рыночн. и отлож. ордерам { //.. и наша вал.пара && (OrderSymbol()==Symbol()) if((OrderSelect(i,SELECT_BY_POS)==true) ) { //------------------------------------------------------ 5 -- Mas_Ord_New[Qnt][0]=OrderTicket(); // Курс открытия орд Mas_Ord_New[Qnt][1]=OrderOpenPrice(); // Курс открытия орд Mas_Ord_New[Qnt][2]=NormalizeLot( OrderLots(),0,Symbol()); // Курс SL Mas_Ord_New[Qnt][3]=OrderTakeProfit(); // Курс ТР Mas_Ord_New[Qnt][4]=OrderSwap(); // Номер ордера Mas_Ord_New[Qnt][5]=OrderStopLoss(); // Количество лотов // Mas_Tip[OrderType()]++; // Кол. ордеров типа Mas_Ord_New[Qnt][6]=OrderType(); // Тип ордера Mas_Ord_New[Qnt][7]=OrderMagicNumber(); // Магическое число if (OrderComment()=="") Mas_Ord_New[Qnt][8]=0; // Если нет коммент else Mas_Ord_New[Qnt][8]=1; // Если есть коммент Qnt++; // Колич. ордеров //------------------------------------------------------ 6 -- } } Mas_Ord_New[0][10]=Qnt; // Колич. ордеров //--------------------------------------------------------------- 7 -- return 0; } // ~~~~~~~~~~~~~~~~~~ Работа с ордерами ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //+----------------------------------------------------------------------------+ double NormalizeLot(double lo, bool ro=False, string sy="") { double l, k; if (sy=="" || sy=="0") sy=Symbol(); double ls=MarketInfo(sy, MODE_LOTSTEP); double ml=MarketInfo(sy, MODE_MINLOT); double mx=MarketInfo(sy, MODE_MAXLOT); if (ml==0) ml=0.1; if (mx==0) mx=100; if (ls>0) k=1/ls; else k=1/ml; if (ro) l=MathCeil(lo*k)/k; else l=MathFloor(lo*k)/k; if (l<ml) l=ml; if (l>mx) l=mx; return(l); //+----------------------------------------------------------------------------+ } //+--------------------------------------------------------------------+ void CreateLabel(string name, string text,int x, int y, color c) // { // ObjectCreate(name, OBJ_LABEL,0,0,0); // ObjectSetText(name,text,FontSize,"Times New Roman",TextColor); // ObjectSet(name,OBJPROP_CORNER,0 ); // ObjectSet(name,OBJPROP_XDISTANCE,x); // ObjectSet(name,OBJPROP_YDISTANCE,y); // ObjectSet(name,OBJPROP_COLOR,c); // n++; // } // void DeleteLabel() // { // for(int i=ObjectsTotal();i>=0;i--) // { // if(StringSubstr(ObjectName(i),0,6)=="Label_") // ObjectDelete(ObjectName(i)); // } // } // //+--------------------------------------------------------------------+ 1...148114821483148414851486148714881489149014911492149314941495...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
答えは出るのか、それとも相変わらずの違和感のある質問として歴史に名を残すのか。
それとも、管理者が変更できるのは、トップメニューのリンクの順番だけなのでしょうか?
管理部門の人間でないにも関わらず、私の質問にも答えてくれませんし...。
はい、私のアカウントでフォーラムにログインしたのですが、それで何ができるのでしょうか?好奇心を満たすだけ?
第4回フォーラムは長い間サポートされていなかったのですが、参考資料として保存していました。少なくともこの判断は、行政から声が上がった。
だから、それを閉鎖して、すべてをmql5フォーラムにリダイレクトしたのでしょう。なぜ去勢するのか?
人々が使い続け、コミュニケーションをとる、つまり必要とされ、その機能を維持することが求められているのです
つまり、いつものようにユーザーやその意見は無視され、すべてが一方的に決められていることがわかったのです。
はい、私のアカウントでフォーラムにログインしたのですが、それで何ができるのでしょうか?好奇心を満たすだけ?
はい、私のアカウントでフォーラムにログインしたのですが、それで何ができるのでしょうか?好奇心を満たすだけでいいのか?
では、それを閉じて、mql5フォーラムにリダイレクトしてはどうでしょうか?なぜ去勢するのですか?
今でも人が使っていて、コミュニケーションが取れているということは、必要とされているし、その機能は維持されるべきなのです
しかし、相変わらずユーザーやその意見は無視され、すべてが一方的に決められていることがわかりました。
初期化について。このような書き方は可能でしょうか?
...とにかく、私のお気に入りの文字列を使った ={0} による初期化がうまくいかないのです。それは残念なことです。
MT4に関する質問です。
こんにちは。敷地面積の定義で問題に直面。以下はそのコードです。
具体的にはアルパリについて。具体的にはUSD-JPYの場合。注文のデータをチャートに出力してくれるはずなのですが・・・USD-JPYの値が正しく表示 されないのですアレイのデータが気になる!
どうすればいいんだ?
MT4に関する質問です。
こんにちは。敷地面積の定義で問題に直面。以下はそのコードです。
具体的にはアルパリについて。具体的にはUSD-JPYの場合。注文のデータをチャートに出力してくれるはずなのですが・・・USD-JPYの値が正しく表示 されないのですアレイのデータが気になる!
どうすればいいんだ?
しかし、コバレフのチュートリアルはまだ有効です。それを正しくコピーし、新しい要件に調整することを妨げるものは何ですか?
驚かせますが、他のショッピングセンターでも通用するんですよ。記事を最初からよく読むと・・・。
具体的にはアルパリについて。具体的にはUSD-JPYについて。
さらに 何ができるのか?
驚かせますが、他のショッピングセンターでも通用するんですよ。記事を最初からよく読むと・・・。
具体的にはアルパリについて。具体的にはUSD-JPYについて。
追加でできることとは?
...... 他のトレーディングセンターでは?:)
具体的な内容を拝見しました。余計なお世話だと思うので、つっこみませんでした。コバレフ端末ばかり...。
しかし、あなたのコードで私は保存されたデータとコメントでこのデータの説明の間に矛盾を参照してください - すでに混乱しています。
さらに
あなたのロットは変数a2からプリントされますが、私たちはそれに何を保存しているのでしょうか?これです。
DoubleToString()で出力すればいいのでは?
そして、ロットの正規化を間違えている。ロット正規化のための関数が必要です。検索しない。Kim'sで検索してみて ください。
...他のショッピングセンターでは?:)
具体的な内容を拝見しました。余計なお世話だと思うので、つっこみませんでした。コバレフ端末ばかり...。
しかし、あなたのコードでは、保存されたデータとコメントでのこのデータの記述に食い違いがあり、すでに混乱しています。
さらに
あなたのロットは変数a2からプリントされますが、私たちはそれに何を保存しているのでしょうか?これです。
それとも、DoubleToString()で出力するのでしょうか?
ロットの正規化が間違っている。ロット正規化のための関数が必要です。検索しない。Kim'sで探してみて ください。きっとうまくいきますよ。
見つけた。ありがとうございます。しかし、それは目の前の課題を解決するものではありません。
他のCAやこのコードでは正常に動作しています。
キムの機能と間違って動作してしまう。
DoubleToString()で正しく読み取れますが、計算が正しくできません。DoubleToString()を通して数えることはしない。往復すると、文字列は正しく転送されますが、文字列の倍加がまた間違っています。
問題はアルパリにあり、それを迂回するための松葉杖が必要なのです。
USD-SEKで、他のペアの始値が正しく表示されない。