MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1777 1...177017711772177317741775177617771778177917801781178217831784...1953 新しいコメント Kedrov 2021.11.30 17:46 #17761 MakarFX #:そうだ、お前は散らかしたんだ)ここで、それぞれのフォルダで、一つずつ、Expertsフォルダを_Expertsに、Indicatorsフォルダを_Indicatorsに リネームしてください。あるフォルダーで名前を変更-ターミナルを起動し、それが役に立たなかった場合-名前を戻して、次のフォルダーに移動します。追伸:初回は通常より少し長く端末が起動します。 マカー! 今日、その出来事があった。そのため、日付の古いフォルダは触らないようにしました。 また、フレッシュフォルダに変更を加えても、何も変わりませんでした。 そこで、プロファイル、インジケータ、Expert Advisorを別の端末にドラッグしてみました。やっとの思いでガチャガチャを完成させました。 これですべてがうまくいく。私は別の端末で持っていますが。でも、大事なのは結果であって、仕事ができることです。 その端末は後で削除します。 エディターからインジケーターやプロファイルを探すという提案は完璧だと思いますね。 特に私のようなプログラミングの "ド素人 "にとっては。 この度は大変お世話になり、ありがとうございました!対応も丁寧でした。 がんばってください。 リーザーズ!(笑 valentin104 2021.12.01 10:42 #17762 皆さん、こんにちは。私は緑よりも緑であることを一度に言うために、この上のすべてを理解し始めたところです。私はどのくらいの時間を持っているかわかりませんが、私はいくつかの経験を得るでしょう。 あなたはこの状況に直面している人を教えてもらえますか? 私は次の10ポイント上下とオープン買いや売りで監視するスクリプト またはコードが必要です。 1...例えばダニが来た - コードは、次の10ポイントダウンと(または)最大順序でない場合は、次に売り注文を設定します見てください。また、買い注文の場合 以下は、Forex EA Generatorの スキーム 例です。 ファイル: hktrabmcw4.jpg 222 kb Artyom Trishkin 2021.12.01 14:44 #17763 valentin104 スクリプト またはコードを必要としています。 1....例えばダニが来た - コードは、次の10ポイントダウンと(または)アップの順序でない場合は、売り注文を設定 します。また、買い注文の場合以下は、Forex EA Generatorの スキーム 例です。 この方式は馬鹿げてる。 Galim_V 2021.12.01 15:43 #17764 Artyom Trishkin #:バカげた計画だ。 いや、ifとelseがないとそう見えますね)。でも、そういう意味じゃないんです。 SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE) スクリプトでは tick_s =1.0 tick_vflue =80.32786885245902 ですが、owl では tick_value =80.37529660186777 tick_size =1e-05 となっています。 スコアが崩れる。 Tretyakov Rostyslav 2021.12.01 15:43 #17765 Artyom Trishkin #:バカげた計画だ。的外れなこと言ってますね。valentin104 #: やあ、みんな。私はまだ理解できたばかりなので、これくらいにしておきます。 グリーンよりグリーンなんです。 Tretyakov Rostyslav 2021.12.01 15:44 #17766 Galim_V #:いや、ifとelseがないとそう見えますね)。でも、そういう意味じゃないんです。スクリプトでは tick_s =1.0 tick_vflue =80.32786885245902 で、owl では tick_value =80.37529660186777tick_size =1e-05 となります。tick_valueが壊れている。 tick_size =1e-05 DoubleToString(tick_size , 2 ) を正規化する。 Galim_V 2021.12.01 16:23 #17767 MakarFX #: tick_size =1e-05DoubleToString(tick_size , 2 ) を正規化する。 ゼロが一人で。100分の1もない。 //+------------------------------------------------------------------+ //| MAX+risk.mq4 | //| Copyright 2019, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2019, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #property script_show_inputs enum Mani { free_margin, balans }; input Mani risk_mani; input double Lot=0.0; input int max_risk =0; //В% от свободных средсв или... input int stoploss=300; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { double Lots=0; int Max_Risk=0; printf("ACCOUNT_MARGIN_FREE = %G",AccountInfoDouble(ACCOUNT_MARGIN_FREE)); //Размер свободных средств на счете в валюте printf("ACCOUNT_BALANCE = %G",AccountInfoDouble(ACCOUNT_BALANCE)); //Баланс счета в валюте депозита printf("ACCOUNT_MARGIN_LEVEL = %G",AccountInfoDouble(ACCOUNT_MARGIN_LEVEL)); // Уровень залоговых средств в % double freemani=AccountInfoDouble(ACCOUNT_MARGIN_FREE); double balance=AccountInfoDouble(ACCOUNT_BALANCE); double tick_s = SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE)/_Point; //Минимальное изменение цены double tick_value= SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE);//Размер минимального изменения цены инструмента в валюте депозита if(risk_mani==balans) { if(max_risk>0&&stoploss>0) { double tmp= balance*max_risk/100/(stoploss*_Point*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE)); Lots=NormalizeDouble(tmp,2); printf(" Чтобы max_risk был не более %f%s%d%s%f",max_risk," в % от ACCOUNT_BALANCE при stoploss =",stoploss,",неоходим Lots =",Lots); } if(Lot>0) { Max_Risk= (int)MathRound(Lot*(stoploss*_Point*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE))/balance*100); printf(" Max_Risk при Lot=%f%s%d,%s%d%s",Lot," и stoploss =",stoploss," будет =",Max_Risk,"%"); } } if(risk_mani==free_margin) { if(max_risk>0&&stoploss>0) { double tmp= freemani*max_risk/100/(stoploss*_Point*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE)); Lots=NormalizeDouble(tmp,2); printf(" Чтобы max_risk был не более %f%s%d%s%f",max_risk," в % от ACCOUNT_MARGIN_FREE при stoploss =",stoploss,",неоходим Lots =",Lots); } if(Lot>0) { Max_Risk= (int)MathRound(Lot*(stoploss*_Point*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE))/freemani*100); printf(" Max_Risk при Lot=%f%s%d,%s%d%s",Lot," и stoploss =",stoploss," будет =",Max_Risk,"%"); } } Print("Lots =",Lots," Max_Risk =",Max_Risk," tick_s =",tick_s," tick_vflue =",tick_value); } //+------------------------------------------------------------------+ ここで働く。掲示板では、関数の代わりに変数を。しかし、すでに最初からこの関数はOnTick()で無意味なものを生成しています。 Galim_V 2021.12.01 16:58 #17768 Galim_V #:すべてゼロ。100分の1も見つからなかった。ここで働く。owlでは、関数の代わりに変数を使用します。しかし、この関数はOnTick()の中ですでに無意味なものを生成しています。 見つけた。すみません。tick_size =1e-05 の 値は0.00001 であり、正しい 値です。 Mihail Matkovskij 2021.12.01 17:34 #17769 valentin104 #: さっそくですが、私は緑よりの緑です。いつまで 続くかわからない。 このようなアプローチでプログラミングを学ぶのであれば、プログラマーを雇った方が良いし、心配もない。 Janis Ozols 2021.12.02 08:24 #17770 標準的なZigZagインジケータがありますが、その線の描画スタイルはDRAW_SECTIONです。つまり、インジケータバッファの 値の大部分は EMPTY_VALUEに等しく、時々この値とは異なる値(ブレークポイント)があるため、線を描画することができます。このインジケーターやそのコードは、誰もが一度は目にしたことがあると思います。 タスクは、最後のブレークポイントに対応する値、すなわち、EMPTY_VALUEに等しくないインジケータバッファの最新の値を取得することです。 質問:インジケータバッファの値をゼロシフトから下に向かってループさせ、得られた値がEMPTY_VALUEと異なるまで、反復ごとにiCustom関数を呼び出すのは正しいアプローチでしょうか? それとも、この値を得るために何か簡単な方法があるのでしょうか? 1...177017711772177317741775177617771778177917801781178217831784...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そうだ、お前は散らかしたんだ)
ここで、それぞれのフォルダで、一つずつ、Expertsフォルダを_Expertsに、Indicatorsフォルダを_Indicatorsに リネームしてください。
あるフォルダーで名前を変更-ターミナルを起動し、それが役に立たなかった場合-名前を戻して、次のフォルダーに移動します。
追伸:初回は通常より少し長く端末が起動します。
マカー!
今日、その出来事があった。そのため、日付の古いフォルダは触らないようにしました。
また、フレッシュフォルダに変更を加えても、何も変わりませんでした。
そこで、プロファイル、インジケータ、Expert Advisorを別の端末にドラッグしてみました。やっとの思いでガチャガチャを完成させました。
これですべてがうまくいく。私は別の端末で持っていますが。でも、大事なのは結果であって、仕事ができることです。
その端末は後で削除します。
エディターからインジケーターやプロファイルを探すという提案は完璧だと思いますね。
特に私のようなプログラミングの "ド素人 "にとっては。
この度は大変お世話になり、ありがとうございました!対応も丁寧でした。
がんばってください。
リーザーズ!(笑
皆さん、こんにちは。私は緑よりも緑であることを一度に言うために、この上のすべてを理解し始めたところです。私はどのくらいの時間を持っているかわかりませんが、私はいくつかの経験を得るでしょう。 あなたはこの状況に直面している人を教えてもらえますか? 私は次の10ポイント上下とオープン買いや売りで監視するスクリプト またはコードが必要です。
1...例えばダニが来た - コードは、次の10ポイントダウンと(または)最大順序でない場合は、次に売り注文を設定します見てください。また、買い注文の場合
以下は、Forex EA Generatorの スキーム 例です。
1....例えばダニが来た - コードは、次の10ポイントダウンと(または)アップの順序でない場合は、売り注文を設定 します。また、買い注文の場合
以下は、Forex EA Generatorの スキーム 例です。
この方式は馬鹿げてる。
バカげた計画だ。
いや、ifとelseがないとそう見えますね)。でも、そういう意味じゃないんです。
スクリプトでは tick_s =1.0 tick_vflue =80.32786885245902 ですが、owl では tick_value =80.37529660186777 tick_size =1e-05 となっています。
スコアが崩れる。
バカげた計画だ。
的外れなこと言ってますね。
valentin104 #:やあ、みんな。私はまだ理解できたばかりなので、これくらいにしておきます。 グリーンよりグリーンなんです。
いや、ifとelseがないとそう見えますね)。でも、そういう意味じゃないんです。
スクリプトでは tick_s =1.0 tick_vflue =80.32786885245902 で、owl では tick_value =80.37529660186777tick_size =1e-05 となります。
tick_valueが壊れている。
tick_size =1e-05
DoubleToString(tick_size , 2 ) を正規化する。
tick_size =1e-05
DoubleToString(tick_size , 2 ) を正規化する。
ゼロが一人で。100分の1もない。
ここで働く。掲示板では、関数の代わりに変数を。しかし、すでに最初からこの関数はOnTick()で無意味なものを生成しています。
すべてゼロ。100分の1も見つからなかった。
ここで働く。owlでは、関数の代わりに変数を使用します。しかし、この関数はOnTick()の中ですでに無意味なものを生成しています。
見つけた。すみません。tick_size =1e-05 の 値は0.00001 であり、正しい 値です。
さっそくですが、私は緑よりの緑です。いつまで 続くかわからない。
このようなアプローチでプログラミングを学ぶのであれば、プログラマーを雇った方が良いし、心配もない。
標準的なZigZagインジケータがありますが、その線の描画スタイルはDRAW_SECTIONです。つまり、インジケータバッファの 値の大部分は EMPTY_VALUEに等しく、時々この値とは異なる値(ブレークポイント)があるため、線を描画することができます。このインジケーターやそのコードは、誰もが一度は目にしたことがあると思います。
タスクは、最後のブレークポイントに対応する値、すなわち、EMPTY_VALUEに等しくないインジケータバッファの最新の値を取得することです。
質問:インジケータバッファの値をゼロシフトから下に向かってループさせ、得られた値がEMPTY_VALUEと異なるまで、反復ごとにiCustom関数を呼び出すのは正しいアプローチでしょうか?
それとも、この値を得るために何か簡単な方法があるのでしょうか?