MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1770 1...176317641765176617671768176917701771177217731774177517761777...1953 新しいコメント Mihail Matkovskij 2021.11.28 15:10 #17691 MakarFX #: しかし、なぜこの配列が必要なのか、私にはまだ理解できません......。 int TradeSignal() { int limit, i, sig=-1; double Ma_curr, Ma_prev, value; limit=MaPeriod*3; for(i=limit;i>=0;i--) { Ma_curr=iMA(_Symbol,_Period,MaPeriod,0,MaMethod,MaPrice,i); Ma_prev=iMA(_Symbol,_Period,MaPeriod,0,MaMethod,MaPrice,i+1); value=Ma_curr-Ma_prev; if(value>0) sig=0; if(value<0) sig=1; } return(sig); } なくても機能は動作します。 Mihail Matkovskij 2021.11.28 15:15 #17692 Mihail Matkovskij #:しかし、なぜこの配列が必要なのか、私にはまだ理解できません......。なくても機能は動作します。 また、ここではループは必要ありません int TradeSignal() { int sig=-1; double Ma_curr, Ma_prev, value; Ma_curr=iMA(_Symbol,_Period,MaPeriod,0,MaMethod,MaPrice,0); Ma_prev=iMA(_Symbol,_Period,MaPeriod,0,MaMethod,MaPrice,1); value=Ma_curr-Ma_prev; if(value>0) sig=0; if(value<0) sig=1; return(sig); } Tretyakov Rostyslav 2021.11.28 16:43 #17693 Mihail Matkovskij #:ループも必要ない。 そうなんですが、なぜ配列がうまくいかないのかを理解したかったんです。 ついでに言うと ArraySize(Buffer,limit); は役に立たなかった( 'ArraySize' - パラメータ数が間違っています。 きょうせい exp.mq4' の配列が範囲外です (267,17) Yurij Kozhevnikov 2021.11.28 16:55 #17694 MakarFX #: ArraySizeではなく、ArrayResizeです。 Tretyakov Rostyslav 2021.11.28 17:08 #17695 Yurij Kozhevnikov #:ArraySizeではなく、ArrayResizeです。 範囲外の配列 Mihail Matkovskij 2021.11.28 17:37 #17696 MakarFX #:そうなのですが、なぜ配列がうまくいかないのかを理解したかったのです。ついでに言うと は役に立たなかった('ArraySize' - パラメータ数が間違っています。きょうせいexp.mq4' の配列が範囲外です (267,17) 直後に気づき、#17689を 修正しました。そして、未修正のコードをコピーしたのでしょう。 また、アレイがうまくいかなかった理由などについては、「オペレーション」をご覧ください。参照:アレイ操作 . Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам 2021.11.28www.mql5.com В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н... Tretyakov Rostyslav 2021.11.28 17:47 #17697 Mihail Matkovskij #: 直後に気づき、#17689を 修正しました。そして、未修正のコードをコピーしたのでしょう。 ありがとうございます!うまくいきました。 Mihail Matkovskij 2021.11.28 17:50 #17698 MakarFX #: ありがとうございます!うまくいきました どういたしまして。メッセージを完成させる... Sanjakotik78 2021.11.28 17:53 #17699 //+------------------------------------------------------------------+ ///muving.mq4による試行||株式会社日立製作所 ///+------------------------------------------------------------------+ #property copyright "Copyright 2021, MetaQuotes Software Corp." #プロパティリンク"https://www.mql5.com" #property version "1.00" #プロパティの厳密さ extern string Moving_Averages1= "インジケータ・パラメータ"; extern int MA_Period=13; extern int MA_Shift=0; extern int MA_Method=0; extern int int TakeProfit= 300; extern int StopLoss= 50; double ma1,ma2,Lots,SL,TP。 int res; //+------------------------------------------------------------------+ //| 専門家による初期化機能 //+------------------------------------------------------------------+ int OnInit() { return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| 専門家による初期化関数 //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } //+------------------------------------------------------------------+ //| エキスパートティック機能 //+------------------------------------------------------------------+ void OnTick() { if(!OllCount()==0) { switch(OrderType()の場合) { ケース OP_BUY ma1=iMA(NULL,0,MA_Period,MA_Shift,MA_Method,0,0); ma2=iMA(NULL,0,MA_Period,MA_Shift,MA_Method,0,1); if((ma1-ma2)>0) { を返します。 }else SL=NormalizeDouble(Bid+StopLoss*Point,5)となります。 TP=NormalizeDouble(Bid-TakeProfit*Point,5)。 if(OrderClose(OrderTicket(),OrderLots(),Ask,3,Black)) if(OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,",0,0,Red)) を返します。 ケース OP_SELL ma1=iMA(NULL,0,MA_Period,MA_Shift,MA_Method,0,0); ma2=iMA(NULL,0,MA_Period,MA_Shift,MA_Method,0,1); if((ma1-ma2)<0)) { を返します。 } さもなくば SL=NormalizeDouble(Ask-StopLoss*Point,5)となります。 TP=NormalizeDouble(Ask+TakeProfit*Point,5)。 if(OrderClose(OrderTicket(),OrderLots(),Bid,3,Red)) if(OrderSend(Symbol(),OP_SELL,Lots,Ask,3,0,0,",0,0,Black)) を返します。 } } ma1=iMA(NULL,0,MA_Period,MA_Shift,MA_Method,0,0); ma2=iMA(NULL,0,MA_Period,MA_Shift,MA_Method,0,1); if((ma1-ma2)<0)) { SL=NormalizeDouble(Bid+StopLoss*Point,5)となります。 TP=NormalizeDouble(Bid-TakeProfit*Point,5)。 res=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,", 0,0,Red); if(res<0) { Print("Sell order open error"); } } さもなくば SL=NormalizeDouble(Ask-StopLoss*Point,5)となります。 TP=NormalizeDouble(Ask+TakeProfit*Point,5)となります。 if(OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,", 0,0,Blue))を実行します。 を返します。 } //+------------------------------------------------------------------+ int OllCount() { int count=0; for(int i=OrdersTotal()-1;i>=0;i--) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { count++です。 } } return(count)です。 } //+------------------------------------------------------------------+ //+---/|Copyright 2021, MetaQuotes Software Corp. //|https://www.mql5.com| ---------------------------------------------------------------+ //+------------------------------------------------------------------+ 私は自分自身のMAアドバイザーを書こうとし、すべての例に従いましたが、エラーを返し続けています。 'ma1' - some operator expected trial by muving.mq4 47 21 '=' - ':' コロン記号の期待値 mq4 muving trial 47 24 '=' - オペランドが期待される muving.mq4 47 24 'ma1' - some operator expected trial by muving.mq4 60 15 '=' - ':' コロン記号の期待値 muving.mq4 60 18 '=' - オペランドが期待される muving.mq4 60 18 Any questions from newcomers どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - mql4アドバイザーを無料で書かせていただきます。 Mihail Matkovskij 2021.11.28 18:40 #17700 Sanjakotik78 #: あなたの注文の論理は最初から間違っています。MA(CodeBaseなど)で簡単なEAを探し、それを使う。また、自分のアイデアに合わせて修正することも可能です。あなたのコード全体について、そこではすべてが間違っています。コーディングにもっと気を配る。簡単なものから始めてみてください。あるいは、先ほど言ったように、既成の例を見つけることです。 上部の専用ボタンでコードスニペットを追加します。 1...176317641765176617671768176917701771177217731774177517761777...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
しかし、なぜこの配列が必要なのか、私にはまだ理解できません......。
なくても機能は動作します。
しかし、なぜこの配列が必要なのか、私にはまだ理解できません......。
なくても機能は動作します。
また、ここではループは必要ありません
ループも必要ない。
そうなんですが、なぜ配列がうまくいかないのかを理解したかったんです。
ついでに言うと
ArraySize(Buffer,limit);
は役に立たなかった(
'ArraySize' - パラメータ数が間違っています。
きょうせい
exp.mq4' の配列が範囲外です (267,17)
ArraySizeではなく、ArrayResizeです。
ArraySizeではなく、ArrayResizeです。
そうなのですが、なぜ配列がうまくいかないのかを理解したかったのです。
ついでに言うと
は役に立たなかった(
'ArraySize' - パラメータ数が間違っています。
きょうせい
exp.mq4' の配列が範囲外です (267,17)
直後に気づき、#17689を 修正しました。そして、未修正のコードをコピーしたのでしょう。
また、アレイがうまくいかなかった理由などについては、「オペレーション」をご覧ください。参照:アレイ操作 .
直後に気づき、#17689を 修正しました。そして、未修正のコードをコピーしたのでしょう。ありがとうございます!うまくいきました
どういたしまして。メッセージを完成させる...
//+------------------------------------------------------------------+
私は自分自身のMAアドバイザーを書こうとし、すべての例に従いましたが、エラーを返し続けています。
'ma1' - some operator expected trial by muving.mq4 47 21
'=' - ':' コロン記号の期待値 mq4 muving trial 47 24
'=' - オペランドが期待される muving.mq4 47 24
'ma1' - some operator expected trial by muving.mq4 60 15
'=' - ':' コロン記号の期待値 muving.mq4 60 18
'=' - オペランドが期待される muving.mq4 60 18
あなたの注文の論理は最初から間違っています。MA(CodeBaseなど)で簡単なEAを探し、それを使う。また、自分のアイデアに合わせて修正することも可能です。あなたのコード全体について、そこではすべてが間違っています。コーディングにもっと気を配る。簡単なものから始めてみてください。あるいは、先ほど言ったように、既成の例を見つけることです。
上部の専用ボタンでコードスニペットを追加します。