[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 611 1...604605606607608609610611612613614615616617618...631 新しいコメント elllfix 2012.12.10 13:41 #6101 改めてポジションインデックスってなんだろうと思いました。履歴の中の位置番号であれば、この関数は何をするのでしょうか?GetIndexLastPos 最後にオープンしたポジション のインデックスまたは-1 ?.最後にオープンしたポジションのインデックスは常に1であり、それは最新だからです!私は明らかにINDEXを誤解しています.を知る手がかりとなります。 削除済み 2012.12.10 14:08 #6102 lottamer: どのように比較するべきだと思いますか?では、はじめましょう。1.If(Stoch_1>Stoch_2) flag1=1 ; , それに続く条件 (Stoch_1<Stoch_2 && flag1==1) は原理的に成り立たない、なぜなら Stoch_1<Stoch_2 flag1==0 かつ flag1==1なら Stoch_1>Stoch_2 だからである。は、この関数内の後続のすべての条件と同じなので、flag1だけが値を変更することができます。つまり、プログラムは最初の2行を実行し、3行目を スキップし、4行目を 実行し、5行目を スキップし、6行目を実行し、7行目を実行し、その他をスキップします。 TarasBY 2012.12.10 14:18 #6103 xant:TarasBY, Var1などの名前をつけて、initの中にfGet_MineGV()ブロックを、staftの中にfSave_MineGV()ブロックを挿入しています。コンパイル時にEAがエラーを連発した。 ひとつひとつ試してみました。まずinitの中に入れてから、コンパイルしました。エラーは0件、remark:は参照されていないのでexp-fileから削除されます。まあ、それは私にとって理にかなっている、それはまだ存在しないので、ファイルを見つけることができません。スタフの内側に書かれている必要があります。そのため、2つ目のブロックをstaftの中に書こうとすると、エラーが大量に発生するのです。 構造アルゴリズム。int init() { fGet_MineGV(); } int start() { fSave_MineGV(); } double Var1, Var2, Var3, Var4; // 4-ре переменных для сохранения (у Вас они свои !!!) void fSave_MineGV (string fs_PrefName = "") // префикс имени переменной { static datetime ldt_NewBar; datetime ldaTBeginBar = iTime (Symbol(), 1, 0); //---- //---- Сохраняемся в начале каждой минуты if (ldt_NewBar == ldaTBeginBar) return; ldt_NewBar = ldaTBeginBar; //---- Сохраняем поочереди значения каждой переменной string ls_Name = StringConcatenate (fs_PrefName, Symbol(), "_N_1"); GlobalVariableSet (ls_Name, Var1); ls_Name = StringConcatenate (fs_PrefName, Symbol(), "_N_2"); GlobalVariableSet (ls_Name, Var2); ls_Name = StringConcatenate (fs_PrefName, Symbol(), "_N_3"); GlobalVariableSet (ls_Name, Var3); ls_Name = StringConcatenate (fs_PrefName, Symbol(), "_N_4"); GlobalVariableSet (ls_Name, Var4); //---- } // в init() void fGet_MineGV (string fs_PrefName = "") // префикс имени переменной { string ls_Name = StringConcatenate (fs_PrefName, Symbol(), "_N_1"); //---- //---- Восстанавливаем значения переменных if (GlobalVariableCheck (ls_Name)) Var1 = GlobalVariableGet (ls_Name); ls_Name = StringConcatenate (fs_PrefName, Symbol(), "_N_2"); if (GlobalVariableCheck (ls_Name)) Var2 = GlobalVariableGet (ls_Name); ls_Name = StringConcatenate (fs_PrefName, Symbol(), "_N_3"); if (GlobalVariableCheck (ls_Name)) Var3 = GlobalVariableGet (ls_Name); ls_Name = StringConcatenate (fs_PrefName, Symbol(), "_N_4"); if (GlobalVariableCheck (ls_Name)) Var4 = GlobalVariableGet (ls_Name); //---- } もちろん、あなたはそうしましたか?そして、コンパイルができない? 削除済み 2012.12.10 14:18 #6104 lottamer:改めてポジションインデックスってなんだろうと思いました。履歴の中の位置番号であれば、この関数は何をするのでしょうか?GetIndexLastPos 最後にオープンしたポジションのインデックスまたは-1 ?.最後にオープンしたポジションのインデックスは常に1であり、それは最新だからです!私は明らかにINDEXを誤解しています.を知る手がかりとなります。最後に開いたときのインデックスが常に1であるのは、それが最新であるからです!1ではなく、0であり、履歴に残らない。履歴の0は、最後に決済されたポジション、または最後に削除された注文の インデックスであり、常にそうとは限りません。 Юсуфходжа 2012.12.10 14:23 #6105 Profiさん、「スプレッドを考慮した決済注文のパラメータを持つSLレベルの保留注文を 出す」というのをプログラム的にどう書くか、EAのコードのどこにつけるか教えてください。 削除済み 2012.12.10 14:40 #6106 yosuf: Profiさん、「スプレッドを含む決済注文のパラメータを持つSLレベルの保留注文を出す」というのをプログラム的にどう書くか、EAコードのどこにつけるか教えてください。 。 クローズオーダーのパラメーターでは無理です。始値も パラメータになります。 visnu 2012.12.10 14:42 #6107 タラスバイはい、書いていただいたとおりにしました。しかも、コンパイルできない。 明らかに私が悪いことをしたのだが、具体的に何が悪いのか分からない。ステップバイステップで進められます。 Юсуфходжа 2012.12.10 14:54 #6108 rigonich: 閉じるべきもののパラメータで方法がない。始値もパラメータになります。 なぜ?例えば、O=1.2900, TP 1.300, SL 1.2800で注文が出されています。保留中の注文は BAY O= 1.2800、TP 1.2900、SL 1.2700のパラメータが必要です。可能であれば、スプレッドが失われることを考慮してください。 削除済み 2012.12.10 15:11 #6109 yosuf: なぜ?例えば、O= 1.2900でBAY注文をTPを1.300、SLを1.300 としてオープンしています。保留中の注文はBAY O= 1.2800、TP 1.2900、SL 1.2700のパラメータが必要です。できれば、スプレッドが失われることを考慮してください。 。 最初の注文の建値は 1.2900、 TPは1.300です。2番目の注文の建値は1.2800、TPは1.290 です。これらは別のパラメータです。1 つ目はBAY、2つ目は BAY_STOP です。これらも異なるパラメータです。そして、SLで決済すると、スプレッドではなく、それ以上の損失(スプレッド+SL*ポイント)が発生します。 elllfix 2012.12.10 15:14 #6110 rigonich:では、はじめましょう。1.If(Stoch_1>Stoch_2) flag1=1 ; , それに続く条件 (Stoch_1<Stoch_2 && flag1==1) は原理的に成り立たない、なぜなら Stoch_1<Stoch_2 flag1==0 かつ flag1==1なら Stoch_1>Stoch_2 だからである。は、この関数内の後続のすべての条件と同じなので、flag1だけが値を変更することができます。つまり、プログラムは最初の2行を実行し、3行目を スキップし、4行目を 実行し、5行目を スキップし、6行目を実行し、7行目を実行し、その他をすべてスキップする。 論点がわかってないだけだから間違ってる。そして、すべてが完璧に、私が必要とするように動作します。多分、コードは簡素化されるかもしれませんが、今はもう脂肪にはなりません...私はただEA全体を完成させる必要があり、すでにそれが含むトレーディングアイデアのRESTを見ています...。とか、プログラミングのためのプログラミングはあまり興味がない...。 1...604605606607608609610611612613614615616617618...631 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
改めてポジションインデックスってなんだろうと思いました。履歴の中の位置番号であれば、この関数は何をするのでしょうか?
GetIndexLastPos 最後にオープンしたポジション のインデックスまたは-1 ?.
最後にオープンしたポジションのインデックスは常に1であり、それは最新だからです!
私は明らかにINDEXを誤解しています.
を知る手がかりとなります。
どのように比較するべきだと思いますか?
では、はじめましょう。
1.If(Stoch_1>Stoch_2) flag1=1 ; , それに続く条件 (Stoch_1<Stoch_2 && flag1==1) は原理的に成り立たない、なぜなら Stoch_1<Stoch_2 flag1==0 かつ flag1==1なら Stoch_1>Stoch_2 だからである。は、この関数内の後続のすべての条件と同じなので、flag1だけが値を変更することができます。つまり、プログラムは最初の2行を実行し、3行目を スキップし、4行目を 実行し、5行目を スキップし、6行目を実行し、7行目を実行し、その他をスキップします。
TarasBY,
Var1などの名前をつけて、initの中にfGet_MineGV()ブロックを、staftの中にfSave_MineGV()ブロックを挿入しています。
コンパイル時にEAがエラーを連発した。
ひとつひとつ試してみました。まずinitの中に入れてから、コンパイルしました。エラーは0件、remark:は参照されていないのでexp-fileから削除されます。まあ、それは私にとって理にかなっている、それはまだ存在しないので、ファイルを見つけることができません。スタフの内側に書かれている必要があります。
そのため、2つ目のブロックをstaftの中に書こうとすると、エラーが大量に発生するのです。
構造アルゴリズム。
もちろん、あなたはそうしましたか?そして、コンパイルができない?
改めてポジションインデックスってなんだろうと思いました。履歴の中の位置番号であれば、この関数は何をするのでしょうか?
GetIndexLastPos 最後にオープンしたポジションのインデックスまたは-1 ?.
最後にオープンしたポジションのインデックスは常に1であり、それは最新だからです!
私は明らかにINDEXを誤解しています.
を知る手がかりとなります。
最後に開いたときのインデックスが常に1であるのは、それが最新であるからです!1ではなく、0であり、履歴に残らない。履歴の0は、最後に決済されたポジション、または最後に削除された注文の インデックスであり、常にそうとは限りません。
Profiさん、「スプレッドを含む決済注文のパラメータを持つSLレベルの保留注文を出す」というのをプログラム的にどう書くか、EAコードのどこにつけるか教えてください。 。
クローズオーダーのパラメーターでは無理です。始値も パラメータになります。
タラスバイ
はい、書いていただいたとおりにしました。しかも、コンパイルできない。
明らかに私が悪いことをしたのだが、具体的に何が悪いのか分からない。ステップバイステップで進められます。
閉じるべきもののパラメータで方法がない。始値もパラメータになります。
なぜ?例えば、O= 1.2900でBAY注文をTPを1.300、SLを1.300 としてオープンしています。保留中の注文はBAY O= 1.2800、TP 1.2900、SL 1.2700のパラメータが必要です。できれば、スプレッドが失われることを考慮してください。 。
最初の注文の建値は 1.2900、 TPは1.300です。2番目の注文の建値は1.2800、TPは1.290 です。これらは別のパラメータです。1 つ目はBAY、2つ目は BAY_STOP です。これらも異なるパラメータです。そして、SLで決済すると、スプレッドではなく、それ以上の損失(スプレッド+SL*ポイント)が発生します。
では、はじめましょう。
1.If(Stoch_1>Stoch_2) flag1=1 ; , それに続く条件 (Stoch_1<Stoch_2 && flag1==1) は原理的に成り立たない、なぜなら Stoch_1<Stoch_2 flag1==0 かつ flag1==1なら Stoch_1>Stoch_2 だからである。は、この関数内の後続のすべての条件と同じなので、flag1だけが値を変更することができます。つまり、プログラムは最初の2行を実行し、3行目を スキップし、4行目を 実行し、5行目を スキップし、6行目を実行し、7行目を実行し、その他をすべてスキップする。
論点がわかってないだけだから間違ってる。そして、すべてが完璧に、私が必要とするように動作します。多分、コードは簡素化されるかもしれませんが、今はもう脂肪にはなりません...私はただEA全体を完成させる必要があり、すでにそれが含むトレーディングアイデアのRESTを見ています...。
とか、プログラミングのためのプログラミングはあまり興味がない...。