MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 85 1...787980818283848586878889909192...1953 新しいコメント Vitaly Muzichenko 2017.01.21 14:45 #841 trader781:1) 2次元目を入れないとコンパイラが文句を言い、「クラス型を指定してください、パラメータが不明です」とすぐにポップアップ表示される2)の場合、起動時に「critical error array out of range」と表示され、ロボットが即死します。3) setint count1=-1; で、ループを 抜ける。どうしたんですか?たまには答え合わせに目を通してみてください。一と 二と 三と・・・。一週間以上同じことを繰り返し、すでに答えが出ていて間違いも指摘されているのに、回を重ねるごとにひどくなっていくのです。つまり、最初のコードでは2次元がないことにコンパイラは文句を言わなかったのに、それ以降のコードでは文句を言い始めたということですか?コンパイラの調子が悪くなったのでしょうか?また、配列を使ったどんなコードでも開いて、どのように配列が作られるかを見て、同じように操作することができます。 Victor Nikolaev 2017.01.21 16:37 #842 Artyom Trishkin:そんなものはない。MAはすでに多くの人に使い古されたものであり、新たな志を持ったトレーダーの斬新な発想を待つだけでよいのです。冗談です。実は、長年MAボトルで突っ張ってきたことに疲れてしまったんです。遅れをとっている。おそらく別の分野で使うべきもので、トレンド・フローを捉えるためのものではありません。いろんなマシュカがあるんですね。大体、どこもかしこも押し屋しかいない。 Artyom Trishkin 2017.01.21 16:40 #843 Victor Nikolaev:いろいろなマッシュアップがありますね。大体、どこもかしこもキノコだらけで使われている だから、私は何を言っているのだろう。そういうことです。装いを変えて、真正面からではないのです。 Mickey Moose 2017.01.21 17:44 #844 Vitaly Muzichenko: まだできていない。他の方と同じようなものを見つけていたら、ここに書き込まなかったと思います。数値列と構造体のリストは同じではないということは、あなた自身が理解していると思いますが、そうでなければ、未知数の数が無限にある別の方程式が存在することになります。アルチョム・トリシキンこれはどうでしょう?#property strictstruct myorder{int Ticket;double orderopenprice;int ordertype;double profit;double stoploss;double lot;}; myorder orders[];int i; int Magic=444; //+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+int OnInit() {//--- //--- return(INIT_SUCCEEDED); }//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+void OnDeinit(const int reason) {//--- }//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+void OnTick() { CalcOrders(); }//+------------------------------------------------------------------+void CalcOrders(){ int count1=0; for(i=OrdersTotal()-1; i>=0; i--) { if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol()) && (OrderMagicNumber()==Magic) && (OrderType()<2)) { count1++; ArrayResize(orders,count1); orders[count1-1].Ticket=OrderTicket(); orders[count1-1].lot=OrderLots(); orders[count1-1].orderopenprice=OrderOpenPrice(); orders[count1-1].ordertype=OrderType(); orders[count1-1].profit=OrderProfit(); orders[count1-1].stoploss=OrderStopLoss(); } } ArraySort(orders,WHOLE_ARRAY,0,MODE_ASCEND); } そして、コードをここに投げることについては、誰かがそれを投稿して、ページをスクロールしなければならないとき、私は腹が立ちます。この方がコンパクトになります。 Any questions from newcomers コーディングの方法は? 出口戦略ステップ・ストップとトレーリング・ストップの比較 Artyom Trishkin 2017.01.21 17:49 #845 trader781: するまでは。他の人と同じようなものを見つけていたら、ここに書いていないでしょう。 コードをファイルとしてではなく、メッセージとして貼り付けてください。携帯電話からの見え方はこんな感じ? Artyom Trishkin 2017.01.21 19:01 #846 trader781: するまでは。他の人にも同じようなことがあったら、ここに書き込まなかったでしょう。数列と構造のリストが同じでないことはご自身で理解されていると思いますが、そうでないと、また未知数の無限大の方程式が出来てしまいます。#property strictstruct myorder{int Ticket;double orderopenprice;int ordertype;double profit;double stoploss;double lot;}; myorder orders[];int i; int Magic=444; //+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+int OnInit() {//--- //--- return(INIT_SUCCEEDED); }//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+void OnDeinit(const int reason) {//--- }//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+void OnTick() { CalcOrders(); }//+------------------------------------------------------------------+void CalcOrders(){ int count1=-1; for(i=OrdersTotal()-1; i>=0; i--) { if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol()) && (OrderMagicNumber()==Magic) && (OrderType()<2)) { count1++; ArrayResize(orders,count1,10); orders[count1].Ticket=OrderTicket(); orders[count1].lot=OrderLots(); orders[count1].orderopenprice=OrderOpenPrice(); orders[count1].ordertype=OrderType(); orders[count1].profit=OrderProfit(); orders[count1].stoploss=OrderStopLoss(); } } ArraySort(orders,WHOLE_ARRAY,0,MODE_ASCEND); } そして、コードをここに投げることについては、誰かがそれを投稿して、ページをスクロールしなければならないとき、私は腹が立ちます。この方がコンパクトになります。間違っている。配列の大きさをコードからトレースしてください。少しは考えないとね。当てなくていいんです。考える。プログラムのすべてのステップをそれとも、誰かが書いてくれるのを待っているのでしょうか?これはフリーランスのサービスなのですが、関数を書くことを命じられることもあります。 Mickey Moose 2017.01.21 19:11 #847 Artyom Trishkin:間違っている。配列の大きさをコードからトレースしてください。少しは考えたらどうなんだ。推測しようとしないほうがいい。考えてみてください。プログラムのすべてのステップをそれとも、誰かが書いてくれるのを待っているのでしょうか?これはフリーランスのサービスなのですが、関数を書くことを命じられることもあります。私の見方1) 注文が見つかったら0に加算する2) サイズを0に変更し、10を予約する3) 0を1次番号、1を2次番号と書くなどしてください。 フリーランスに関しては、何でも書いてくれることに異論はないが、やはり自分で書き直さなければならない。ノンストップで行かなくてもいいんです。 Vitaly Muzichenko 2017.01.21 19:12 #848 trader781: するまでは。もし、他の人と同じことが分かっていたら、ここに書き込まなかったでしょう。数値列と構造体のリストが同じでないことは、あなた自身が理解していると思いますが、そうでなければ、未知数の数が無限にある別の方程式になってしまいます。int count1=-1; for(i=OrdersTotal()-1; i>=0; i--) { if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol()) && (OrderMagicNumber()==Magic) && (OrderType()<2)) { count1++; ArrayResize(orders,count1,10); orders[count1].Ticket=OrderTicket(); } } ArraySort(orders,WHOLE_ARRAY,0,MODE_ASCEND); } そして、コードをここに投げることについては、誰かがそれを投稿して、ページをスクロールしなければならないとき、私は腹が立ちます。その理由は、コーディングはプロジェクトの品質に影響を与えないからです。あまり多くは書かず、少しビデオで反応を 記録しただけです。アルテムは確かにできる限り助けてくれるが、魚をくれるわけではなく、釣竿をくれるだけだ)trader781さん、 時々ドキュメントに目を通してみてください、今はどこもいっぱいです。 Artyom Trishkin 2017.01.21 19:22 #849 trader781:俺の目にはこう映る1) 注文が見つかったら0に加算する2) サイズを0に変更し、10を予約する3) 0を1次番号、1を2次番号などと表記する。 フリーランスのエージェントについては、何でも書いてくれることに異論はないが、やはり自分で書き直さなければならない。ノンストップで行ってはいけない。また、サイズがゼロの配列に何かを書き込むにはどうしたらいいのでしょうか?持っていない財布にお金を入れる...。 Mickey Moose 2017.01.21 21:13 #850 Artyom Trishkin:また、サイズが0の配列に何かを書き込むにはどうしたらいいのでしょうか?存在しない財布にお金を入れること.は投稿844を修正しましたので、もうここにコードを書く必要はありません。0サイズの配列については、0は整数であったり、ブール値のfalsに相当するものであったり、voidであったり、出発点であったりと様々です。 1...787980818283848586878889909192...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
1) 2次元目を入れないとコンパイラが文句を言い、「クラス型を指定してください、パラメータが不明です」とすぐにポップアップ表示される
2)の場合、起動時に「critical error array out of range」と表示され、ロボットが即死します。
3) setint count1=-1; で、ループを 抜ける。どうしたんですか?
たまには答え合わせに目を通してみてください。一と 二と 三と・・・。
一週間以上同じことを繰り返し、すでに答えが出ていて間違いも指摘されているのに、回を重ねるごとにひどくなっていくのです。つまり、最初のコードでは2次元がないことにコンパイラは文句を言わなかったのに、それ以降のコードでは文句を言い始めたということですか?コンパイラの調子が悪くなったのでしょうか?また、配列を使ったどんなコードでも開いて、どのように配列が作られるかを見て、同じように操作することができます。
そんなものはない。MAはすでに多くの人に使い古されたものであり、新たな志を持ったトレーダーの斬新な発想を待つだけでよいのです。冗談です。
実は、長年MAボトルで突っ張ってきたことに疲れてしまったんです。遅れをとっている。おそらく別の分野で使うべきもので、トレンド・フローを捉えるためのものではありません。
いろんなマシュカがあるんですね。
大体、どこもかしこも押し屋しかいない。
いろいろなマッシュアップがありますね。
大体、どこもかしこもキノコだらけで使われている
アルチョム・トリシキン
これはどうでしょう?
struct myorder
{
int Ticket;
double orderopenprice;
int ordertype;
double profit;
double stoploss;
double lot;
};
myorder orders[];
int i;
int Magic=444;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
CalcOrders();
}
//+------------------------------------------------------------------+
void CalcOrders()
{
int count1=0;
for(i=OrdersTotal()-1; i>=0; i--)
{
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol())
&& (OrderMagicNumber()==Magic) && (OrderType()<2))
{
count1++;
ArrayResize(orders,count1);
orders[count1-1].Ticket=OrderTicket();
orders[count1-1].lot=OrderLots();
orders[count1-1].orderopenprice=OrderOpenPrice();
orders[count1-1].ordertype=OrderType();
orders[count1-1].profit=OrderProfit();
orders[count1-1].stoploss=OrderStopLoss();
}
}
ArraySort(orders,WHOLE_ARRAY,0,MODE_ASCEND);
}
するまでは。他の人と同じようなものを見つけていたら、ここに書いていないでしょう。
するまでは。他の人にも同じようなことがあったら、ここに書き込まなかったでしょう。数列と構造のリストが同じでないことはご自身で理解されていると思いますが、そうでないと、また未知数の無限大の方程式が出来てしまいます。
struct myorder
{
int Ticket;
double orderopenprice;
int ordertype;
double profit;
double stoploss;
double lot;
};
myorder orders[];
int i;
int Magic=444;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
CalcOrders();
}
//+------------------------------------------------------------------+
void CalcOrders()
{
int count1=-1;
for(i=OrdersTotal()-1; i>=0; i--)
{
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol())
&& (OrderMagicNumber()==Magic) && (OrderType()<2))
{
count1++;
ArrayResize(orders,count1,10);
orders[count1].Ticket=OrderTicket();
orders[count1].lot=OrderLots();
orders[count1].orderopenprice=OrderOpenPrice();
orders[count1].ordertype=OrderType();
orders[count1].profit=OrderProfit();
orders[count1].stoploss=OrderStopLoss();
}
}
ArraySort(orders,WHOLE_ARRAY,0,MODE_ASCEND);
}
間違っている。配列の大きさをコードからトレースしてください。
少しは考えないとね。当てなくていいんです。考える。プログラムのすべてのステップをそれとも、誰かが書いてくれるのを待っているのでしょうか?これはフリーランスのサービスなのですが、関数を書くことを命じられることもあります。
間違っている。配列の大きさをコードからトレースしてください。
少しは考えたらどうなんだ。推測しようとしないほうがいい。考えてみてください。プログラムのすべてのステップをそれとも、誰かが書いてくれるのを待っているのでしょうか?これはフリーランスのサービスなのですが、関数を書くことを命じられることもあります。
私の見方
1) 注文が見つかったら0に加算する
2) サイズを0に変更し、10を予約する
3) 0を1次番号、1を2次番号と書くなどしてください。
フリーランスに関しては、何でも書いてくれることに異論はないが、やはり自分で書き直さなければならない。ノンストップで行かなくてもいいんです。するまでは。もし、他の人と同じことが分かっていたら、ここに書き込まなかったでしょう。数値列と構造体のリストが同じでないことは、あなた自身が理解していると思いますが、そうでなければ、未知数の数が無限にある別の方程式になってしまいます。
for(i=OrdersTotal()-1; i>=0; i--)
{
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol())
&& (OrderMagicNumber()==Magic) && (OrderType()<2))
{
count1++;
ArrayResize(orders,count1,10);
orders[count1].Ticket=OrderTicket();
}
}
ArraySort(orders,WHOLE_ARRAY,0,MODE_ASCEND);
}
あまり多くは書かず、少しビデオで反応を 記録しただけです。
アルテムは確かにできる限り助けてくれるが、魚をくれるわけではなく、釣竿をくれるだけだ)
trader781さん、 時々ドキュメントに目を通してみてください、今はどこもいっぱいです。俺の目にはこう映る
1) 注文が見つかったら0に加算する
2) サイズを0に変更し、10を予約する
3) 0を1次番号、1を2次番号などと表記する。
フリーランスのエージェントについては、何でも書いてくれることに異論はないが、やはり自分で書き直さなければならない。ノンストップで行ってはいけない。また、サイズがゼロの配列に何かを書き込むにはどうしたらいいのでしょうか?
持っていない財布にお金を入れる...。
また、サイズが0の配列に何かを書き込むにはどうしたらいいのでしょうか?
存在しない財布にお金を入れること.
は投稿844を修正しましたので、もうここにコードを書く必要はありません。
0サイズの配列については、0は整数であったり、ブール値のfalsに相当するものであったり、voidであったり、出発点であったりと様々です。