[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 674 1...667668669670671672673674675676677678679680681...1145 新しいコメント 削除済み 2010.07.06 17:06 #6731 DDFedor: https://www.mql5.com/ru/forum/491 ありがとうございます。 削除済み 2010.07.06 19:03 #6732 そんな悩み。 チュートリアルのExpert Advisor - strings.mq4 (link to experthttp://c.mql4.com/book/mq4/experts/strings.mq4)を改造してみました。 何行か追加しましたが、うまくいきません。間違っているのは明らかなのですが、その間違いを見つけることができません。 だからすべての変更はブロック10に集約されています。 以下は原文です。 //-------------------------------------------------------------- 10 -- int Create(int Ind_Bar, int Line) // カスタム関数... { // ...オブジェクトを作成する 色 Color; // オブジェクトの色 datetime T_Bar=Time [Ind_Bar]; // バーのオープン時間 double O_Bar=Open [Ind_Bar]; // バーのオープン価格 double C_Bar=Close[Ind_Bar]; // バーの終値 double H_Bar=High [Ind_Bar]; // バーの最大価格 double L_Bar=Low [Ind_Bar]; // バーの下限価格 string Nom_Lin =Line + "_"; // String - 行番号 // 文字列 Nom_Lin = DoubleToStr(Line,0)+"_"; // これも可 string Str_Time=TimeToStr(T_Bar); // 文字列 - 開いている時間。 string His_Name=Prefix+Nom_Lin+Str_Time;// 作成されたオブジェクトの名前 if (O_Bar < C_Bar) Color=Blue; // 色の選択...による。 if (O_Bar > C_Bar) Color=Red; // ...バーの特性による if (O_Bar ==C_Bar) Color=Green; switch(Line) // 細い線か太い線か { case 1: // 細い線 ObjectCreate(His_Name,OBJ_TREND,0,T_Bar,H_Bar,T_Bar,L_Bar) を実行します。 break; // 終了スイッチ case 2: // 太い線 ObjectCreate(His_Name,OBJ_TREND,0,T_Bar,O_Bar,T_Bar,C_Bar) を実行します。 ObjectSet( His_Name, OBJPROP_WIDTH, 3); // スタイル } ObjectSet( His_Name,OBJPROP_COLOR,Color); // カラー ObjectSet( His_Name, OBJPROP_RAY, false); // Beam ObjectSetText(His_Name, "Object was created by Expert Advisor",10); // 説明 return; // 関数から退出する } そして、以下のようにしました(エラーなしでコンパイルできます):(添付ファイルも参照してください)。 //-------------------------------------------------------------- 10 -- int Create(int Ind_Bar, int Line) // カスタム関数... { // ...オブジェクトの作成 色 Color; // オブジェクトの色 datetime T_Bar=Time [Ind_Bar]; // バーのオープン時間 double O_Bar=Open [Ind_Bar]; // バーのオープン価格 double C_Bar=Close[Ind_Bar]; // バーの終値 double H_Bar=High [Ind_Bar]; // バーの最大価格 double L_Bar=Low [Ind_Bar]; // バーの下限価格 //-------------------изменения--------------------------------------- double Macd_M_D1=iMACD(NULL,1440,12,26,9,PRICE_CLOSE,MODE_MAIN,0)。 // top - 本線の日にMAACDの計算にアクセスできます。 double Macd_S_D1=iMACD(NULL,1440,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0)。 // MACDを参照し、その日のシグナルラインを計算します。 double Macd_M_H4=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0); // 現在のタイムフレームにおけるMACDの参照と本線の計算を行います。 double Macd_S_H4=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0); // これは、現在のタイムフレームにおけるMACDの参照とシグナルラインの計算です。 string Nom_Lin =Line + "_"; // String - 行の番号 // 文字列 Nom_Lin = DoubleToStr(Line,0)+"_"; // このようにすることができます。 string Str_Time=TimeToStr(T_Bar); // 文字列 - 開いている時間。 string His_Name=Prefix+Nom_Lin+Str_Time;// 作成されたオブジェクトの名前 if ((Macd_M_D1 < Macd_S_D1)&&(Macd_M_H4 < Macd_S_H4))Color=Blue; if ((Macd_M_D1 > Macd_S_D1)&&(Macd_M_H4 > Macd_S_H4))Color=Red; // //if (O_Bar < C_Bar) Color=Blue; //色選択...に依存する。 //if (O_Bar > C_Bar) Color=Red; // ...バーの特性によって異なる //if (O_Bar ==C_Bar) Color=Green; //-------------------изменения--------------------------------------- 目的は - 日足と現在の時間枠上のMACDの測定値が類似している場合 - 方向に応じてどちらかの赤または青のろうそくを着色することである。 ファイル: expert_vopros.mq4 8 kb [WARNING CLOSED!] Any newbie MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 MACD indicator Владимир Тезис 2010.07.06 19:57 #6733 このような配列の宣言はできません。 datetime T_Bar=Time [Ind_Bar]; // Время открытия бара double O_Bar=Open [Ind_Bar]; // Цена открытия бара double C_Bar=Close[Ind_Bar]; // Цена закрытия бара double H_Bar=High [Ind_Bar]; // Максимальная цена бара double L_Bar=Low [Ind_Bar]; // Минимальная цена бара コンパイラは、配列のサイズの 代わりに変数があることを認識します。将来の配列に割り当てるべきメモリ量がわからないだけです。そのため、あなたのコードは動作しません 削除済み 2010.07.06 21:21 #6734 drknn: このような配列の宣言はできません。 コンパイラは、配列のサイズの代わりに変数があることを認識します。将来の配列に割り当てるべきメモリ量がわからないだけです。そして、それがあなたのコードが動作しない理由です。 Expert Advisorのその部分には手を付けず、問題なく動作しました。コードの指定部分はMQL4チュートリアルから引用しています。https://c.mql4.com/book/mq4/experts/strings.mq4。 Владимир Тезис 2010.07.07 00:08 #6735 victor417:実は、Expert Advisorのこの部分には手をつけておらず、すべて動作しました。コードの言及した部分は、MQL4チュートリアルから引用しています。https://c.mql4.com/book/mq4/experts/strings.mq4 チュートリアルで配列がそのように宣言されているとしたら、かなり不思議なことです。あなたが貢献したコードの部分をコメントで強調したのでしょうか。 私もその教科書は読んでいないんです。また、アレイ宣言 の正当性を裏付ける著者の根拠は何でしょうか。 Artyom Trishkin 2010.07.07 05:55 #6736 引用のボリュームが大きくなると、テスターの速度が落ちにくくなるという不思議な現象に気づきました...。1999年からテストを始めると、速く走るのですが、現在に近づくにつれ、ブレーキが強くなって...。2008年、そして「今日」に近づく - ビジュアライゼーション・モードでのテストはまったく不可能です。 テスターのブレーキに全く対抗していないとは......。 VonDo Mix 2010.07.07 06:02 #6737 drknn: このような配列の宣言はできません。 datetime T_Bar=Time [Ind_Bar]; // Время открытия бара double O_Bar=Open [Ind_Bar]; // Цена открытия бара double C_Bar=Close[Ind_Bar]; // Цена закрытия бара double H_Bar=High [Ind_Bar]; // Максимальная цена бара double L_Bar=Low [Ind_Bar]; // Минимальная цена бара コンパイラは、配列のサイズの代わりに変数があることを認識します。将来の配列に割り当てるべきメモリ量がわからないだけです。そして、それがあなたのコードが動作しない理由です。 もし、チュートリアルで配列がこのように定義されているとしたら、本当に不思議なことです。YOUが書いたコードの部分にコメントを入れたりしたのでしょうか? 私もその教科書は読んでいないんです。また、アレイ宣言の正当性を裏付ける著者の根拠は何でしょうか。 変数の初期化が 見えます。アレイはどこにある? 時系列?;) Puwkin 2010.07.07 06:34 #6738 こんにちは、誰かが高いloweから最小偏差で電流を曲げるためにジグザグ指標を 作ることができますが、ピップで...例えば、50ピップの偏差を設定した場合、それ以下のものは、ノイズとみなされます...私は本当にフォーラムでそのような大きなkollichestvoものを検索する方法がわからない... 事前にありがとうございます。 758 2010.07.07 06:39 #6739 テスターの不具合について教えてください。 レポートでは、Total loss = 863、max drawdown = 1427となっていますが、どうしてでしょうか? バランスカーブを見てみると、最大ドローダウンが863であることがわかります。 どういう不具合なのか、教えてください。それとも、こういうものなのでしょうか? ありがとうございました。) 削除済み 2010.07.07 08:03 #6740 こんにちは!どなたかここにトレーリングストップを追加していただけませんか?また、ストップロスの設定が毎回違うのですが・・・直してください。 ファイル: a_sidus_1.mq4 5 kb 1...667668669670671672673674675676677678679680681...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
https://www.mql5.com/ru/forum/491
ありがとうございます。
そんな悩み。
チュートリアルのExpert Advisor - strings.mq4 (link to experthttp://c.mql4.com/book/mq4/experts/strings.mq4)を改造してみました。
何行か追加しましたが、うまくいきません。間違っているのは明らかなのですが、その間違いを見つけることができません。
だからすべての変更はブロック10に集約されています。
以下は原文です。
//-------------------------------------------------------------- 10 --
int Create(int Ind_Bar, int Line) // カスタム関数...
{ // ...オブジェクトを作成する
色 Color; // オブジェクトの色
datetime T_Bar=Time [Ind_Bar]; // バーのオープン時間
double O_Bar=Open [Ind_Bar]; // バーのオープン価格
double C_Bar=Close[Ind_Bar]; // バーの終値
double H_Bar=High [Ind_Bar]; // バーの最大価格
double L_Bar=Low [Ind_Bar]; // バーの下限価格
string Nom_Lin =Line + "_"; // String - 行番号
// 文字列 Nom_Lin = DoubleToStr(Line,0)+"_"; // これも可
string Str_Time=TimeToStr(T_Bar); // 文字列 - 開いている時間。
string His_Name=Prefix+Nom_Lin+Str_Time;// 作成されたオブジェクトの名前
if (O_Bar < C_Bar) Color=Blue; // 色の選択...による。
if (O_Bar > C_Bar) Color=Red; // ...バーの特性による
if (O_Bar ==C_Bar) Color=Green;
switch(Line) // 細い線か太い線か
{
case 1: // 細い線
ObjectCreate(His_Name,OBJ_TREND,0,T_Bar,H_Bar,T_Bar,L_Bar) を実行します。
break; // 終了スイッチ
case 2: // 太い線
ObjectCreate(His_Name,OBJ_TREND,0,T_Bar,O_Bar,T_Bar,C_Bar) を実行します。
ObjectSet( His_Name, OBJPROP_WIDTH, 3); // スタイル
}
ObjectSet( His_Name,OBJPROP_COLOR,Color); // カラー
ObjectSet( His_Name, OBJPROP_RAY, false); // Beam
ObjectSetText(His_Name, "Object was created by Expert Advisor",10); // 説明
return; // 関数から退出する
}
そして、以下のようにしました(エラーなしでコンパイルできます):(添付ファイルも参照してください)。
//-------------------------------------------------------------- 10 --int Create(int Ind_Bar, int Line) // カスタム関数...
{ // ...オブジェクトの作成
色 Color; // オブジェクトの色
datetime T_Bar=Time [Ind_Bar]; // バーのオープン時間
double O_Bar=Open [Ind_Bar]; // バーのオープン価格
double C_Bar=Close[Ind_Bar]; // バーの終値
double H_Bar=High [Ind_Bar]; // バーの最大価格
double L_Bar=Low [Ind_Bar]; // バーの下限価格
//-------------------изменения---------------------------------------
double Macd_M_D1=iMACD(NULL,1440,12,26,9,PRICE_CLOSE,MODE_MAIN,0)。
// top - 本線の日にMAACDの計算にアクセスできます。
double Macd_S_D1=iMACD(NULL,1440,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0)。
// MACDを参照し、その日のシグナルラインを計算します。
double Macd_M_H4=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
// 現在のタイムフレームにおけるMACDの参照と本線の計算を行います。
double Macd_S_H4=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
// これは、現在のタイムフレームにおけるMACDの参照とシグナルラインの計算です。
string Nom_Lin =Line + "_"; // String - 行の番号
// 文字列 Nom_Lin = DoubleToStr(Line,0)+"_"; // このようにすることができます。
string Str_Time=TimeToStr(T_Bar); // 文字列 - 開いている時間。
string His_Name=Prefix+Nom_Lin+Str_Time;// 作成されたオブジェクトの名前
if ((Macd_M_D1 < Macd_S_D1)&&(Macd_M_H4 < Macd_S_H4))Color=Blue;
if ((Macd_M_D1 > Macd_S_D1)&&(Macd_M_H4 > Macd_S_H4))Color=Red;
//
//if (O_Bar < C_Bar) Color=Blue; //色選択...に依存する。
//if (O_Bar > C_Bar) Color=Red; // ...バーの特性によって異なる
//if (O_Bar ==C_Bar) Color=Green;
//-------------------изменения---------------------------------------
目的は - 日足と現在の時間枠上のMACDの測定値が類似している場合 - 方向に応じてどちらかの赤または青のろうそくを着色することである。
このような配列の宣言はできません。
コンパイラは、配列のサイズの 代わりに変数があることを認識します。将来の配列に割り当てるべきメモリ量がわからないだけです。そのため、あなたのコードは動作しません
このような配列の宣言はできません。
コンパイラは、配列のサイズの代わりに変数があることを認識します。将来の配列に割り当てるべきメモリ量がわからないだけです。そして、それがあなたのコードが動作しない理由です。
Expert Advisorのその部分には手を付けず、問題なく動作しました。コードの指定部分はMQL4チュートリアルから引用しています。https://c.mql4.com/book/mq4/experts/strings.mq4。
実は、Expert Advisorのこの部分には手をつけておらず、すべて動作しました。コードの言及した部分は、MQL4チュートリアルから引用しています。https://c.mql4.com/book/mq4/experts/strings.mq4
チュートリアルで配列がそのように宣言されているとしたら、かなり不思議なことです。あなたが貢献したコードの部分をコメントで強調したのでしょうか。
私もその教科書は読んでいないんです。また、アレイ宣言 の正当性を裏付ける著者の根拠は何でしょうか。
引用のボリュームが大きくなると、テスターの速度が落ちにくくなるという不思議な現象に気づきました...。1999年からテストを始めると、速く走るのですが、現在に近づくにつれ、ブレーキが強くなって...。2008年、そして「今日」に近づく - ビジュアライゼーション・モードでのテストはまったく不可能です。
テスターのブレーキに全く対抗していないとは......。
drknn:
このような配列の宣言はできません。
コンパイラは、配列のサイズの代わりに変数があることを認識します。将来の配列に割り当てるべきメモリ量がわからないだけです。そして、それがあなたのコードが動作しない理由です。
もし、チュートリアルで配列がこのように定義されているとしたら、本当に不思議なことです。YOUが書いたコードの部分にコメントを入れたりしたのでしょうか?
私もその教科書は読んでいないんです。また、アレイ宣言の正当性を裏付ける著者の根拠は何でしょうか。
変数の初期化が 見えます。アレイはどこにある?
時系列?;)
テスターの不具合について教えてください。
レポートでは、Total loss = 863、max drawdown = 1427となっていますが、どうしてでしょうか?
バランスカーブを見てみると、最大ドローダウンが863であることがわかります。
どういう不具合なのか、教えてください。それとも、こういうものなのでしょうか?
ありがとうございました。)