MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1466 1...145914601461146214631464146514661467146814691470147114721473...1953 新しいコメント 削除済み 2021.05.09 08:09 #14651 WindUP: ありがとうございます。でも、客観的な例をひとつくらい教えてください。いわば上からの目線。私は全くの素人で、2日前からこの話題で盛り上がっています :-) たぶんこんな感じ //+------------------------------------------------------------------+ //| maxLimits.mq5 | //| Copyright 2021, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2021, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" #property script_show_inputs #include <Trade\Trade.mqh> //--- CTrade m_trade; // trading object //--- sinput uint maxLimits = 1; // Кол-во Позиции Открыть в одну сторону sinput double InpLots = 0.01; // Lots //--- sinput int Inpcopiedrates = 2; // какой бар sinput double Inplow = 100; // отступить от low //--- //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- const string symbol=NULL; double price=0.0; const double tp=0.0; const string comment=""; //--- check symbol string symbol_name=(symbol==NULL) ? Symbol() : symbol; //--- check price if(price==0.0) price=SymbolInfoDouble(symbol_name,SYMBOL_ASK); //--- MqlRates rates[]; ArraySetAsSeries(rates,true); int copied=CopyRates(Symbol(),0,0,10,rates); double sl=rates[Inpcopiedrates].low-Inplow/100; //--- for(uint x=0; x<maxLimits; x++) { //--- open position //if(m_trade.Buy(InpLots,symbol_name,price,sl,tp,comment)) if(m_trade.PositionOpen(Symbol(),ORDER_TYPE_BUY,InpLots,price,sl,tp)) printf("Position by %s to be opened",Symbol()); else { printf("Error opening BUY position by %s : '%s'",Symbol(),m_trade.ResultComment()); printf("Open parameters : price=%f,SL=%f,TP=%f",price,sl,tp); } } } //+------------------------------------------------------------------+ WindUP 2021.05.09 14:21 #14652 SanAlex:私も勉強しようと思っているのですが......なんとなくわかってきたような気がします。 こんにちは。申し訳ありませんが、私はあなたが成功したことをスクリーンショットで見るが、私は前のろうそくのデータをコピーする機能は、このコードのどこにあるのかわかりませんでした[1]? MQL5プログラミングコースを教えてください。簡単なものから複雑なものまで、どこから、何を使って始めるのが良いのか、より多くの結果を得るために、無駄な時間を減らすために教えてください。ありがたいことです :-) Alexey Viktorov 2021.05.09 16:21 #14653 WindUP:こんにちは。申し訳ありませんが、私はあなたが成功したことをスクリーンショットで見るが、ここで私はこのコードで前のキャンドル[1]のデータをコピーの関数である場所を見ませんでしたか?簡単なものから複雑なものまで、どこから、何を使って始めるのが良いのか、より多くの結果を得るために、そして無駄な時間を減らすために、ダミーのためのMQL5プログラミングコースをどのように伝えれば良いのでしょうか?ありがたいことです :-) 友人が「インターネットの仕事の仕方を教えてほしい」と近づいてきたとします。何を教えるかイメージするのは難しいですか?プログラミングを教えるのが難しいのと同じです。課題がある-解決策がある。でも、それと同じで...どんな言語でも基本は同じだから、勉強すればいいんです。プログラミングは、コードを書くというより、問題を設定し、その解決のためのアルゴリズムを書き、初めてコードを書くというものです。そして最終段階、デバッグと結果のチェック。 SanAlrxのコードでは、最初のローソク足だけのOHLCを取得するという特定のタスクがあるのに、なぜこのようにコピーしたデータのストックを作らなければならないのかが理解できません。 int copied=CopyRates(Symbol(),0,0,10,rates); と、なぜ今開いたばかりのローソクの値をコピーするのか。でも...これは彼が決めたことであり、彼のゴキブリのことです。 削除済み 2021.05.09 17:24 #14654 WindUP:こんにちは。申し訳ありませんが、私はあなたが成功したことをスクリーンショットで見るが、ここで私はこのコードで前のキャンドル[1]のデータをコピーする関数がある場所を見ませんでしたか?簡単なものから複雑なものまで、どこから、何を使って始めるのが良いのか、より多くの結果を得るために、そして無駄な時間を減らすために、ダミーのためのMQL5プログラミングコースをどのように伝えれば良いのでしょうか?ありがたいことです :-) 例えば、https://www.mql5.com/ru/docs/series/copyrates、 スクリプトの例があって、それを自分のPCに保存して、直感で読み始めて、詳細を詰めていく。 と、直感で見つけたのがこの機能です。 //--- MqlRates rates[]; ArraySetAsSeries(rates,true); int copied=CopyRates(Symbol(),0,0,10,rates); double sl=rates[Inpcopiedrates].low-Inplow/100; BUY「SL」用です。 販売する場合 このようになります。 double sl=rates[Inpcopiedrates].high+Inphigh/100; \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ここに数字を入れただけですが、10本までなら購入可能でしょう。でも、必要ないんですよね、1(ワン)。 int copied=CopyRates(Symbol(),0,0,10,rates); Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates www.mql5.com CopyRates - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 削除済み 2021.05.09 17:36 #14655 WindUP:こんにちは。申し訳ありませんが、私はあなたが成功したことをスクリーンショットで見るが、ここで私はこのコードで前のキャンドル[1]のデータをコピーの関数である場所を見ませんでしたか?シンプルなものから複雑なものまで、どこから、何を使って始めるのが良いのか、より多くの結果を得るために、そして無駄な時間を減らすために、ダミーのためのMQL5プログラミングコースをどのように伝えれば良いのでしょうか?ありがたいことです :-) ここに良い例があります。ちょうどそのページに行きましたが、これがどのように機能するかを伝えるためのより良いスクリプトです。https://www.mql5.com/ru/docs/constants/objectconstants/enum_anchorpoint。 Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Способы привязки объектов www.mql5.com Способы привязки объектов - Константы объектов - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 削除済み 2021.05.09 18:17 #14656 SanAlex:私自身も勉強中です。例えば、ドキュメントhttps://www.mql5.com/ru/docs/series/copyrates を見てみると、サンプルスクリプトがあり、それをパソコンに保存して、手探りで読み始め、細部を探っていくのです。と、直感で見つけたのがこの機能です。BUY「SL」用です。販売する場合 このようになります。\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ここに数字を入れただけですが、10本までなら購入可能でしょう。しかし、必要ないのは1(ワン)。 これは、BUYとSELLのSLを開き、設定します。 //+------------------------------------------------------------------+ //| maxLimits.mq5 | //| Copyright 2021, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2021, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" #property script_show_inputs #include <Trade\Trade.mqh> //--- CTrade m_trade; // trading object //--- sinput uint maxLimits = 1; // Кол-во Позиции Открыть в одну сторону sinput double InpLots = 0.01; // Lots //--- sinput double Inplowhigh = 100; // отступить low high //--- //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- OnStartBuy(); OnStartSell(); } //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStartBuy() { //--- const string symbol=NULL; double price=0.0; const double tp=0.0; const string comment=""; //--- check symbol string symbol_name=(symbol==NULL) ? Symbol() : symbol; //--- check price if(price==0.0) price=SymbolInfoDouble(symbol_name,SYMBOL_ASK); //--- MqlRates rates[]; ArraySetAsSeries(rates,true); int copied=CopyRates(Symbol(),0,0,2,rates); if(copied<=0) { Print("Не удалось получить исторические данные. Error = ",GetLastError()); return; } double sl=rates[1].low-Inplowhigh/100; //--- for(uint x=0; x<maxLimits; x++) { //--- open position //if(m_trade.Buy(InpLots,symbol_name,price,sl,tp,comment)) if(m_trade.PositionOpen(Symbol(),ORDER_TYPE_BUY,InpLots,price,sl,tp)) printf("Position by %s to be opened",Symbol()); else { printf("Error opening BUY position by %s : '%s'",Symbol(),m_trade.ResultComment()); printf("Open parameters : price=%f,SL=%f,TP=%f",price,sl,tp); } } } //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStartSell() { //--- const string symbol=NULL; double price=0.0; const double tp=0.0; const string comment=""; //--- check symbol string symbol_name=(symbol==NULL) ? Symbol() : symbol; //--- check price if(price==0.0) price=SymbolInfoDouble(symbol_name,SYMBOL_BID); //--- MqlRates rates[]; ArraySetAsSeries(rates,true); int copied=CopyRates(Symbol(),0,0,2,rates); if(copied<=0) { Print("Не удалось получить исторические данные. Error = ",GetLastError()); return; } double sl=rates[1].high+Inplowhigh/100; //--- for(uint x=0; x<maxLimits; x++) { //--- open position //if(m_trade.Buy(InpLots,symbol_name,price,sl,tp,comment)) if(m_trade.PositionOpen(Symbol(),ORDER_TYPE_SELL,InpLots,price,sl,tp)) printf("Position by %s to be opened",Symbol()); else { printf("Error opening SELL position by %s : '%s'",Symbol(),m_trade.ResultComment()); printf("Open parameters : price=%f,SL=%f,TP=%f",price,sl,tp); } } } //+------------------------------------------------------------------+ Сергей 2021.05.11 06:39 #14657 こんにちは。 ヒントをください、お手上げです。 私はiCustomを通してインジケータを処方し、問題に直面して - インジケータは、選択肢とテキストメニューを持って、それが開き、いくつかの項目が処方されている、まあ、私はそれが明確だと思います)。 メニューに追加するにはどうしたらよいですか? extern int HIT = 0; は動作せず、パラメータが表示されないまま表示が停止します。 おそらくENUMを通じて、そこに選択するもの、または多分何か他のもの? ありがとうございました。 ファイル: 2021-05-11_13-38-20.png 44 kb Alexey Viktorov 2021.05.11 06:49 #14658 Сергей:こんにちは。ヒントをください、お手上げです。私はiCustomを通してインジケータを処方し、問題に直面して - インジケータは、選択肢とテキストメニューを持って、それが開き、いくつかの項目が処方されている、まあ、私はそれが明確だと思います)。メニューに追加するにはどうしたらよいですか?extern int HIT = 0; は動作せず、パラメータが表示されないまま表示が停止します。おそらくENUMを通じて、そこに選択するもの、または多分何か他のもの?ありがとうございました。 空の文字列 "" またはスペース "" を入れてください。 Сергей 2021.05.11 07:06 #14659 だから、なんとか処方して、設定を変えられるようにしたかったんです。 一組ずつ違うアイテムを持っているのですが、どのように選択すればいいのでしょうか? また、そのメニューがなければ意味がなく、スクリーンショットはあくまで似たようなものの一例です。 Alexey Viktorov 2021.05.11 07:17 #14660 Сергей:だから、なんとか処方して、設定を変えられるようにしたかったんです。一組ずつ違うアイテムを持っているのですが、どのように選択すればいいのでしょうか?また、そのメニューがなければ意味がなく、スクリーンショットはあくまで似たようなものの一例です。 不注意で申し訳ありません。インジケータは、列挙を有する。そしてExpert Advisorでは、入力パラメータにこの列挙型の名前を変数型として指定する必要があります。 とはいえ、試していないので...おそらく、この列挙をEAで繰り返すか、 ENUM_BASE_CORNER 変数の型だけ設定することになると思います 1...145914601461146214631464146514661467146814691470147114721473...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ありがとうございます。でも、客観的な例をひとつくらい教えてください。いわば上からの目線。私は全くの素人で、2日前からこの話題で盛り上がっています :-)
たぶんこんな感じ
私も勉強しようと思っているのですが......なんとなくわかってきたような気がします。
こんにちは。申し訳ありませんが、私はあなたが成功したことをスクリーンショットで見るが、私は前のろうそくのデータをコピーする機能は、このコードのどこにあるのかわかりませんでした[1]?
MQL5プログラミングコースを教えてください。簡単なものから複雑なものまで、どこから、何を使って始めるのが良いのか、より多くの結果を得るために、無駄な時間を減らすために教えてください。ありがたいことです :-)
こんにちは。申し訳ありませんが、私はあなたが成功したことをスクリーンショットで見るが、ここで私はこのコードで前のキャンドル[1]のデータをコピーの関数である場所を見ませんでしたか?
簡単なものから複雑なものまで、どこから、何を使って始めるのが良いのか、より多くの結果を得るために、そして無駄な時間を減らすために、ダミーのためのMQL5プログラミングコースをどのように伝えれば良いのでしょうか?ありがたいことです :-)
友人が「インターネットの仕事の仕方を教えてほしい」と近づいてきたとします。何を教えるかイメージするのは難しいですか?プログラミングを教えるのが難しいのと同じです。課題がある-解決策がある。でも、それと同じで...どんな言語でも基本は同じだから、勉強すればいいんです。プログラミングは、コードを書くというより、問題を設定し、その解決のためのアルゴリズムを書き、初めてコードを書くというものです。そして最終段階、デバッグと結果のチェック。
SanAlrxのコードでは、最初のローソク足だけのOHLCを取得するという特定のタスクがあるのに、なぜこのようにコピーしたデータのストックを作らなければならないのかが理解できません。
と、なぜ今開いたばかりのローソクの値をコピーするのか。でも...これは彼が決めたことであり、彼のゴキブリのことです。
こんにちは。申し訳ありませんが、私はあなたが成功したことをスクリーンショットで見るが、ここで私はこのコードで前のキャンドル[1]のデータをコピーする関数がある場所を見ませんでしたか?
簡単なものから複雑なものまで、どこから、何を使って始めるのが良いのか、より多くの結果を得るために、そして無駄な時間を減らすために、ダミーのためのMQL5プログラミングコースをどのように伝えれば良いのでしょうか?ありがたいことです :-)
例えば、https://www.mql5.com/ru/docs/series/copyrates、 スクリプトの例があって、それを自分のPCに保存して、直感で読み始めて、詳細を詰めていく。
と、直感で見つけたのがこの機能です。
BUY「SL」用です。
販売する場合 このようになります。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
ここに数字を入れただけですが、10本までなら購入可能でしょう。でも、必要ないんですよね、1(ワン)。
こんにちは。申し訳ありませんが、私はあなたが成功したことをスクリーンショットで見るが、ここで私はこのコードで前のキャンドル[1]のデータをコピーの関数である場所を見ませんでしたか?
シンプルなものから複雑なものまで、どこから、何を使って始めるのが良いのか、より多くの結果を得るために、そして無駄な時間を減らすために、ダミーのためのMQL5プログラミングコースをどのように伝えれば良いのでしょうか?ありがたいことです :-)
ここに良い例があります。ちょうどそのページに行きましたが、これがどのように機能するかを伝えるためのより良いスクリプトです。https://www.mql5.com/ru/docs/constants/objectconstants/enum_anchorpoint。
私自身も勉強中です。例えば、ドキュメントhttps://www.mql5.com/ru/docs/series/copyrates を見てみると、サンプルスクリプトがあり、それをパソコンに保存して、手探りで読み始め、細部を探っていくのです。
と、直感で見つけたのがこの機能です。
BUY「SL」用です。
販売する場合 このようになります。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
ここに数字を入れただけですが、10本までなら購入可能でしょう。しかし、必要ないのは1(ワン)。
これは、BUYとSELLのSLを開き、設定します。
こんにちは。
ヒントをください、お手上げです。
私はiCustomを通してインジケータを処方し、問題に直面して - インジケータは、選択肢とテキストメニューを持って、それが開き、いくつかの項目が処方されている、まあ、私はそれが明確だと思います)。
メニューに追加するにはどうしたらよいですか?
extern int HIT = 0; は動作せず、パラメータが表示されないまま表示が停止します。
おそらくENUMを通じて、そこに選択するもの、または多分何か他のもの?
ありがとうございました。
こんにちは。
ヒントをください、お手上げです。
私はiCustomを通してインジケータを処方し、問題に直面して - インジケータは、選択肢とテキストメニューを持って、それが開き、いくつかの項目が処方されている、まあ、私はそれが明確だと思います)。
メニューに追加するにはどうしたらよいですか?
extern int HIT = 0; は動作せず、パラメータが表示されないまま表示が停止します。
おそらくENUMを通じて、そこに選択するもの、または多分何か他のもの?
ありがとうございました。
空の文字列 "" またはスペース "" を入れてください。
だから、なんとか処方して、設定を変えられるようにしたかったんです。
一組ずつ違うアイテムを持っているのですが、どのように選択すればいいのでしょうか?
また、そのメニューがなければ意味がなく、スクリーンショットはあくまで似たようなものの一例です。
だから、なんとか処方して、設定を変えられるようにしたかったんです。
一組ずつ違うアイテムを持っているのですが、どのように選択すればいいのでしょうか?
また、そのメニューがなければ意味がなく、スクリーンショットはあくまで似たようなものの一例です。
不注意で申し訳ありません。インジケータは、列挙を有する。そしてExpert Advisorでは、入力パラメータにこの列挙型の名前を変数型として指定する必要があります。
とはいえ、試していないので...おそらく、この列挙をEAで繰り返すか、 ENUM_BASE_CORNER 変数の型だけ設定することになると思います