MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 716 1...709710711712713714715716717718719720721722723...1953 新しいコメント Konstantin Nikitin 2018.12.18 13:28 #7151 Alex Pirate: 皆さん、こんにちは。(????) それは値を返し、私はそれを確認する必要があります...どのように? EAは私が合うように注文を開きます...。(((extern string MMM = "MMM"; extern double Lot = 0.1; extern int TakeProfit = 50; extern int StopLoss = 20; extern int Slippage = 3; extern int Magic = 888; // Moving Average 1 extern string Indi_MA1 = "MA1"; extern int MA1_Period = 22; extern int MA1_Shift = 0; extern int MA1_Method = 0; extern int MA1_Price = 0; // Moving Average 2 extern string Indi_MA2 = "MA2"; extern int MA2_Period = 55; extern int MA2_Shift = 0; extern int MA2_Method = 0; extern int MA2_Price = 0; //+------------------------------------------------------------------+ double MA1,MA2,SL,TP; int ticket; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int init() { if (Digits == 3 || Digits == 5) { TakeProfit = TakeProfit * 10; StopLoss = StopLoss * 10; Slippage = Slippage * 10; } return(0); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { MA1 = iMA(Symbol(),0,MA1_Period,MA1_Shift,MA1_Method,MA1_Price,0); MA2 = iMA(Symbol(),0,MA2_Period,MA2_Shift,MA2_Method,MA2_Price,0); if (Ask >= MA1 && MA1 >= MA2 && CountBuy() == 0) { SL = NormalizeDouble(Ask - StopLoss * Point,Digits); TP = NormalizeDouble(Ask + TakeProfit * Point,Digits); ticket = OrderSend(Symbol(),OP_BUY ,Lot,Ask,Slippage,0,0,"",Magic,0,Green); if (ticket > 0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES) == true) if( !OrderModify(ticket,OrderOpenPrice(),SL,TP,0) ) return; } if (Bid <= MA1 && MA1 <= MA2 && CountSell() == 0) SL = NormalizeDouble(Bid + StopLoss * Point, Digits); TP = NormalizeDouble(Bid - TakeProfit * Point, Digits); ticket = OrderSend(Symbol(),OP_SELL,Lot,Bid,Slippage,0,0,"",Magic,0,Red); if (ticket > 0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES) == true) if( !OrderModify(ticket,OrderOpenPrice(),SL,TP,0) ) return; } } } //+------------------------------------------------------------------+ int CountBuy() { int count = 0; for (int trade = OrdersTotal() - 1; trade >= 0; trade--) { if( !OrderSelect(trade,SELECT_BY_POS, MODE_TRADES) ) continue; if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if (OrderType() == OP_BUY) count++; } } return(count); } //+------------------------------------------------------------------+ int CountSell() { int count = 0; for (int trade = OrdersTotal() - 1; trade >= 0; trade--) { if( !OrderSelect(trade,SELECT_BY_POS, MODE_TRADES) ) continue; if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if (OrderType() == OP_SELL) count++; } } return(count); } //+------------------------------------------------------------------+ Alex Pirate 2018.12.18 13:56 #7152 Konstantin Nikitin: ありがとうございます!!!試してみます。 Alex Pirate 2018.12.18 14:12 #7153 エラーがなくなった...でも、なぜか全ての注文が開いてアップグレードされない...どうにかして改造を確認する必要があるみたい? どこかで失敗したのかな...。 Konstantin Nikitin 2018.12.18 15:15 #7154 Alex Pirate: エラーがなくなった...でも、なぜかすべての注文が開いてアップグレードされるわけではない...どうにかして修正チェックをしないといけないような? どこかで失敗したのかな...。コードを間違えたわけではありません。よくわからない・・・ということで、専門家であるあなたにお任せします。 Alex Pirate 2018.12.18 15:21 #7155 Konstantin Nikitin:コードがうまくいかなかったんです。つまり、あなたの専門家、あなたのカードはあなたの手の中にあるのです。了解です、とりあえずありがとうございました。 ruzaden 2018.12.18 17:28 #7156 Maxim Kuznetsov:は、端末のグローバル変数を介して行うことができます。ただし、インジケーターのソースコードをお持ちで、編集が可能な場合に限ります。 これは、インジケータがexternを通してではなく、GlobalVariableGet()の呼び出しから パラメータを計算することを意味します。そして、それに応じてExpert AdvisorはGlobalVariableSetを通じてこの変数を変更します。 ありがとう、マキシム。少なくとも、どこから手をつければいいかわかったよ。 Vladimir Pastushak 2018.12.19 22:33 #7157 親クラスの仮想メソッドを呼び出すには? 02031986dima 2018.12.22 21:01 #7158 ジグザグのインジケーターで、極限の価格値を表示するものがあります。極限から未来(翌日)に向かってトレンドラインを 引く必要がありますが、2点目の座標と1点目の時間値がわからない状態で、どのようにすればいいでしょうか? Igor Makanu 2018.12.23 05:18 #7159 Vladimir Pastushak: 親クラスの仮想メソッドを呼び出すには?仮想メソッドは記述だけで、本体は各クラスに別々に書くから仮想メソッドなのです しかし、単に親クラスからメソッドを呼び出すだけなら (つまり、メソッドがすでにボディを持っているなら)、 そのメソッドは継承によって通常のメソッドとして利用できるようになります - ソースコード参照 Vladimir Pastushak 2018.12.23 08:26 #7160 Igor Makanu:仮想メソッドは記述だけで、本体は各クラスに別々に書くから仮想メソッドなのです しかし、単に親クラスからメソッドを呼び出すだけなら(つまり、そのメソッドはすでにボディを持っている)、それ(そのメソッド)は継承によって通常のメソッドとして利用できます。ありがとうございます。親クラスのメソッドを呼び出すことができない。 私の記憶では、parent :: メソッドを通じて行われます。 1...709710711712713714715716717718719720721722723...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
皆さん、こんにちは。(????) それは値を返し、私はそれを確認する必要があります...どのように? EAは私が合うように注文を開きます...。(((
ありがとうございます!!!試してみます。
エラーがなくなった...でも、なぜかすべての注文が開いてアップグレードされるわけではない...どうにかして修正チェックをしないといけないような? どこかで失敗したのかな...。
コードを間違えたわけではありません。よくわからない・・・ということで、専門家であるあなたにお任せします。
コードがうまくいかなかったんです。つまり、あなたの専門家、あなたのカードはあなたの手の中にあるのです。
了解です、とりあえずありがとうございました。
は、端末のグローバル変数を介して行うことができます。ただし、インジケーターのソースコードをお持ちで、編集が可能な場合に限ります。
これは、インジケータがexternを通してではなく、GlobalVariableGet()の呼び出しから パラメータを計算することを意味します。そして、それに応じてExpert AdvisorはGlobalVariableSetを通じてこの変数を変更します。
親クラスの仮想メソッドを呼び出すには?
仮想メソッドは記述だけで、本体は各クラスに別々に書くから仮想メソッドなのです
しかし、単に親クラスからメソッドを呼び出すだけなら (つまり、メソッドがすでにボディを持っているなら)、 そのメソッドは継承によって通常のメソッドとして利用できるようになります - ソースコード参照
仮想メソッドは記述だけで、本体は各クラスに別々に書くから仮想メソッドなのです
しかし、単に親クラスからメソッドを呼び出すだけなら(つまり、そのメソッドはすでにボディを持っている)、それ(そのメソッド)は継承によって通常のメソッドとして利用できます。
ありがとうございます。親クラスのメソッドを呼び出すことができない。
私の記憶では、parent :: メソッドを通じて行われます。