初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 852 1...845846847848849850851852853854855856857858859...1503 新しいコメント Aleksei Skrypnev 2018.04.26 18:14 #8511 トレードを開始しない、どこが悪い? iRSI_handle=iRSI(NULL,0,15,PRICE_OPEN); double iRSI_buf[]; ArraySetAsSeries(iRSI_buf,true); CopyBuffer(iRSI_handle,0,0,20,iRSI_buf); if (iRSI_buf[0]>60) trader.Buy(Lot); Vladimir Karputov 2018.04.26 18:25 #8512 Askr:トレードが開かない、バグはどこだ? バグ番号1:各ティックで 新しいインジケータHANDLを作成します。 ショール番号2:(おそらく)Lot変数のボリュームが正しくない。欠陥番号3:(おそらく)CTradeクラスの注文充填型が充填されていない。 一般的に、端末(またはテスター)のログには何が書かれているのでしょうか? lil_lil 2018.04.26 20:41 #8513 Kirill Belousov:1SLからの為替差損を乗じた額また、例えばBOで損失が1になった場合。 計算式に値を入れても、同じ結果にはならない。 どうしたんですか? double lot=1.0; double koef_lot=2.0; int seriya =15; double depo=0.0; depo=(lot*(koef_lot*seriya-1))/(koef_lot-1); Comment(" depo ",depo); Aleksei Skrypnev 2018.04.27 05:44 #8514 Vladimir Karputov:ギャップ番号1:各ティックで NEWインジケータHANDLを作成します。 ショール番号2:(おそらく)Lot変数のボリュームが正しくない。欠陥番号3:(おそらく)CTradeクラスの注文充填型が充填されていない。 とにかく、端末(またはテスター)のログは?このコードイエスはオニチックスにあった ArraySetAsSeries(iRSI_buf,true); CopyBuffer(iRSI_handle,0,0,20,iRSI_buf); onyticsに移動させました。ここの記事を読んで、仕事には差はないが、オニチケでは良いということが理解できました。しかし、自分自身のわかりやすさという点では、1ブロックで全てを行う方が都合が良かったので、自分で設定した問題を解決しながら、純粋に自分のために(学習しています。) 問題はロットで、ロットという変数ではなく、returnlotという関数(ロットを計算するための関数なので)を入れなければならなかったのです。 今、私はロット機能で間違いを見つけました。ロットは小数点以下の桁数が多く計算され、その結果、注文を開くことができません。不要な文字を減らして、2文字だけにする必要があります。 //параметры input double StartLot=0.1; input double StartEquityLot=10000; //переменные double KoefLotEQUITY;//разница эквити double Lot; //функция расчета текущего торгового лота double LotF(double Lot) { KoefLotEQUITY=AccountInfoDouble(ACCOUNT_EQUITY)/ StartEquityLot; Lot=StartLot*KoefLotEQUITY; //функция минимального возможного лота if (Lot<0.01) { Lot=0.01; } return(Lot); } NormalizeDoubleとDoubleToStrこれまでのところ動作することはできません - 関数は、関数内に配置することはできませんと書き込み、私は関数の書き込みエラーで自分の仕事を置くときに下 - 私は修正することはできません。 Vladimir Karputov 2018.04.27 05:57 #8515 Askr:このコードはオニチクにありました。 オンティックに移動させた。ここの記事を読んで、仕事には差はないが、オンティケの方が良いということが理解できました。しかし、自分自身のわかりやすさという点では、1ブロックで全てを行う方が都合が良かったので、自分で設定した問題を解決しながら、純粋に自分のために(学習しています。) 問題はロットで、ロットという変数ではなく、returnlotという関数(ロットを計算するための関数なので)を入れなければならなかったのです。 今、私はロット機能で間違いを見つけました。ロットは小数点以下の桁数が多く計算され、その結果、注文を開くことができません。不要な文字を減らして、2文字だけにする必要があります。 関数NormalizeDoubleとDoubleToStrを貼り付けると、まだできない、関数が入れられないと言われ、下に、修正できないエラーが表示されます。 MQL5では、OnInitで一度だけ、インジケータハンドルを作成する必要があります。それは公理である。OnTickで各ティックにインジケーターハンドルを作成することはできません。 ロットの正しい正規化は、トレードクラスCsymbolInfo::NormalizePriceに あります。 Alexey Viktorov 2018.04.27 06:03 #8516 Vladimir Karputov:MQL5では、インジケータ・ハンドルは一度だけ、OnInitで作成する必要があります。それは公理である。OnTickで各ティックにインジケーターハンドルを作成することはできません。 ロットの正しい正規化は、トレードクラスCsymbolInfo::NormalizePriceに あります。間違っている、反論はしない。しかし!!!すべてのティックに作成すると何が変わるのか?価値さえも変わることはない。 Konstantin Nikitin 2018.04.27 06:05 #8517 Alexey Viktorov:間違っている、反論はない。しかし!!!ティックごとに作成すると何が変わるんだ?価値さえも変わることはない。何が言いたいの?ただ、脚本に余計な手間がかかるだけだ。 Vladimir Karputov 2018.04.27 06:15 #8518 Alexey Viktorov:間違っている、反論はない。しかし!!!ティックごとに作成すると何が変わるんだ?価値さえも変わることはない。最近の記事で、MQL5がMQL4スタイルのコーディングの名残である、ティック毎にハンドルを作成することに効果的に対処していることを示しました:メモリが無駄になることはありませんが、少なくとも操作速度は低下しています。しかし、繰り返しになりますが、MQL5でMQL4風にインジケータを作成 するのは正しい方法とは言えません。MQL5に乗り換えるということは、プログラミングスタイルを再構築しなければならないということです。 Alexey Viktorov 2018.04.27 06:28 #8519 Konstantin Nikitin:何が言いたいの?脚本に余計な仕事が増えただけだ。もちろん、意味はありません。それはそのような隠された質問drubashkeた:なぜそれがあるとして、ここで十分である神経症に似ており、Capsロックを含む? Aleksei Skrypnev 2018.04.27 07:08 #8520 つまり、結果は同じだが、当然ながら実行は無意味であり、ずっと忙しいということが、書かれている内容から理解できる。 記事で書こうと思ってくれればよかったのですが、一般的には、同じことを何度もやる理由がないことは明らかです。 しかし、私は最適化するためではなく、理解し働くために書くという目標がありました。 1...845846847848849850851852853854855856857858859...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
トレードを開始しない、どこが悪い?
トレードが開かない、バグはどこだ?
バグ番号1:各ティックで 新しいインジケータHANDLを作成します。
ショール番号2:(おそらく)Lot変数のボリュームが正しくない。
欠陥番号3:(おそらく)CTradeクラスの注文充填型が充填されていない。
一般的に、端末(またはテスター)のログには何が書かれているのでしょうか?
1SLからの為替差損を乗じた額
また、例えばBOで損失が1になった場合。
計算式に値を入れても、同じ結果にはならない。
どうしたんですか?
ギャップ番号1:各ティックで NEWインジケータHANDLを作成します。
ショール番号2:(おそらく)Lot変数のボリュームが正しくない。
欠陥番号3:(おそらく)CTradeクラスの注文充填型が充填されていない。
とにかく、端末(またはテスター)のログは?
このコードイエスはオニチックスにあった
onyticsに移動させました。ここの記事を読んで、仕事には差はないが、オニチケでは良いということが理解できました。しかし、自分自身のわかりやすさという点では、1ブロックで全てを行う方が都合が良かったので、自分で設定した問題を解決しながら、純粋に自分のために(学習しています。)
問題はロットで、ロットという変数ではなく、returnlotという関数(ロットを計算するための関数なので)を入れなければならなかったのです。
今、私はロット機能で間違いを見つけました。ロットは小数点以下の桁数が多く計算され、その結果、注文を開くことができません。不要な文字を減らして、2文字だけにする必要があります。
NormalizeDoubleとDoubleToStrこれまでのところ動作することはできません - 関数は、関数内に配置することはできませんと書き込み、私は関数の書き込みエラーで自分の仕事を置くときに下 - 私は修正することはできません。
このコードはオニチクにありました。
オンティックに移動させた。ここの記事を読んで、仕事には差はないが、オンティケの方が良いということが理解できました。しかし、自分自身のわかりやすさという点では、1ブロックで全てを行う方が都合が良かったので、自分で設定した問題を解決しながら、純粋に自分のために(学習しています。)
問題はロットで、ロットという変数ではなく、returnlotという関数(ロットを計算するための関数なので)を入れなければならなかったのです。
今、私はロット機能で間違いを見つけました。ロットは小数点以下の桁数が多く計算され、その結果、注文を開くことができません。不要な文字を減らして、2文字だけにする必要があります。
関数NormalizeDoubleとDoubleToStrを貼り付けると、まだできない、関数が入れられないと言われ、下に、修正できないエラーが表示されます。
MQL5では、OnInitで一度だけ、インジケータハンドルを作成する必要があります。それは公理である。OnTickで各ティックにインジケーターハンドルを作成することはできません。
ロットの正しい正規化は、トレードクラスCsymbolInfo::NormalizePriceに あります。
MQL5では、インジケータ・ハンドルは一度だけ、OnInitで作成する必要があります。それは公理である。OnTickで各ティックにインジケーターハンドルを作成することはできません。
ロットの正しい正規化は、トレードクラスCsymbolInfo::NormalizePriceに あります。
間違っている、反論はしない。しかし!!!すべてのティックに作成すると何が変わるのか?価値さえも変わることはない。
間違っている、反論はない。しかし!!!ティックごとに作成すると何が変わるんだ?価値さえも変わることはない。
何が言いたいの?ただ、脚本に余計な手間がかかるだけだ。
間違っている、反論はない。しかし!!!ティックごとに作成すると何が変わるんだ?価値さえも変わることはない。
最近の記事で、MQL5がMQL4スタイルのコーディングの名残である、ティック毎にハンドルを作成することに効果的に対処していることを示しました:メモリが無駄になることはありませんが、少なくとも操作速度は低下しています。しかし、繰り返しになりますが、MQL5でMQL4風にインジケータを作成 するのは正しい方法とは言えません。MQL5に乗り換えるということは、プログラミングスタイルを再構築しなければならないということです。
何が言いたいの?脚本に余計な仕事が増えただけだ。
もちろん、意味はありません。それはそのような隠された質問drubashkeた:なぜそれがあるとして、ここで十分である神経症に似ており、Capsロックを含む?
つまり、結果は同じだが、当然ながら実行は無意味であり、ずっと忙しいということが、書かれている内容から理解できる。
記事で書こうと思ってくれればよかったのですが、一般的には、同じことを何度もやる理由がないことは明らかです。
しかし、私は最適化するためではなく、理解し働くために書くという目標がありました。