MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 541 1...534535536537538539540541542543544545546547548...1953 新しいコメント Artyom Trishkin 2018.04.26 22:42 #5401 Rustam Bikbulatov:見て、試してみてください。すでにたくさん役立っていますが、私の理解には限界があります。つまり、注文数ではなく、ロット単位での数量が欲しいということでしょうか。 //+------------------------------------------------------------------+ int fMarketOrdersOpenVolume(const ENUM_ORDER_TYPE order_type) { int total=OrdersTotal(); double lots=0; for(int i=total-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS)) { if(OrderType()!=order_type) continue; if(OrderMagicNumber()==123 && OrderSymbol()==Symbol()) lots+=OrderLots(); } } return lots; } //+------------------------------------------------------------------+ Konstantin Nikitin 2018.04.26 22:44 #5402 Artyom Trishkin:注文数ではなく、ロット単位での数量が欲しいということですか? double fMarketOrdersOpenVolume(const ENUM_ORDER_TYPE order_type) Rustam Bikbulatov 2018.04.26 22:44 #5403 Konstantin Nikitin: アーリネー!!!!!!!!!!私が必要としていたもの!!!!!!!思いもよらなかった!!!!!!!本当にありがとうございました!!!!!! Artyom Trishkin 2018.04.26 22:55 #5404 Konstantin Nikitin: ああ、悩んでいるうちに見逃してしまった。 Rustam Bikbulatov 2018.04.26 23:04 #5405 みんな助けてくれてありがとう!!!よくやった、みんな!!!! Domovoi44 2018.04.27 12:17 #5406 しかし、Hello! TMA_Fair に基づいて、境界で開き、反対側の境界で閉じますが、もう一方の境界では閉じません!この状況についてアドバイスをお願いします。コードのどこにバグがあるのか? void OnTick() { PriceHigh = iCustom(NULL, 0, "ExtremeTMALine st2050 v1", TimeFrame, TMAPeriod, Price, ATRMultiplier, ATRPeriod, TrendThreshold, ShowCenterLine, alertsOn, alertsMessage, alertsSound, alertsEmail, MaxBars, ShowInfo, ShowInfo_WindowNo, ShowInfo_X, ShowInfo_Y, ShowInfo_ColorLabel, ShowInfo_ColorSwing, ShowInfo_ColorUp, ShowInfo_ColorDown, 1, 0); PriceLow = iCustom(NULL, 0, "ExtremeTMALine st2050 v1", TimeFrame, TMAPeriod, Price, ATRMultiplier, ATRPeriod, TrendThreshold, ShowCenterLine, alertsOn, alertsMessage, alertsSound, alertsEmail, MaxBars, ShowInfo, ShowInfo_WindowNo, ShowInfo_X, ShowInfo_Y, ShowInfo_ColorLabel, ShowInfo_ColorSwing, ShowInfo_ColorUp, ShowInfo_ColorDown, 2, 0); //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ if (CountSell() == 0 && Bid >= PriceHigh) { ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, "ExtremeTMALine_Robot", Magic, 0, Red); if (ticket>0) { SL = NormalizeDouble(Bid + StopLoss*Point, Digits); if(OrderSelect(ticket, SELECT_BY_TICKET)) if(!OrderModify (ticket, OrderOpenPrice(), SL, 0, 0)) Print ("Ошибка модификации ордера на продажу!!!"); } else Print ("Ошибка открытия ордера на продажу!!!"); } //+------------------------------------------------------------------+ if(Ask <= PriceLow && CountSell() > 0) { for(int i = OrdersTotal()-1; i >= 0; i--) { if (OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) { if (OrderMagicNumber() == Magic && OrderType() == OP_SELL) if (!OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Black)) Print ("Ошибка закрытия ордера на продажу!!!"); } else Print ("Ошибка открытия ордера на продажу!!!"); } } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ if (CountBuy() == 0 && Ask <= PriceLow) { ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "ExtremeTMALine_Robot", Magic, 0, Blue); if (ticket>0) { SL = NormalizeDouble(Ask - StopLoss*Point, Digits); if(OrderSelect(ticket, SELECT_BY_TICKET)) if (!OrderModify (ticket, OrderOpenPrice(), SL, 0, 0)) Print ("Ошибка модификации ордера на покупку!!!"); } else Print ("Ошибка открытия ордера на покупку!!!"); } //+------------------------------------------------------------------+ if(Bid >= PriceHigh && CountBuy() > 0) { for(int i = OrdersTotal()-1; i >= 0; i--) { if (OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) { if (OrderMagicNumber() == Magic && OrderType() == OP_BUY) if(!OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Green)) Print ("Ошибка закрытия ордера на покупку!!!"); } else Print ("Ошибка открытия ордера на покупку!!!"); } } } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ int CountSell() { int count = 0; for (int trade = OrdersTotal()-1; trade>=0; trade--) { if(OrderSelect(trade, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_SELL) count++; } } return (count); } //+------------------------------------------------------------------+ int CountBuy() { int count = 0; for (int trade = OrdersTotal()-1; trade>=0; trade--) { if(OrderSelect(trade, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_BUY) count++; } } return (count); } //+------------------------------------------------------------------+ Alexey Viktorov 2018.04.27 12:21 #5407 Domovoi44:しかし、Hello! TMA_Fair に基づいて、境界で開き、反対側の境界で閉じますが、もう一方の境界では閉じません!この状況についてアドバイスをお願いします。コードのどこにバグがあるのか? このインジケーターをよく追ってみると、10本以上のバーを逆に再描画していることが分かります。これが全ての理由です。 Domovoi44 2018.04.27 12:50 #5408 Alexey Viktorov:このインジケータをよく観察すると、10本以上のバーを逆に再描画していることに気がつきます。これが全ての理由です。 IAXOXO 2018.04.28 21:12 #5409 MT-4用のピットボリュームダイバージェンスインディケーターがあるかどうか教えてください。 k_chens 2018.04.29 13:03 #5410 こんにちは、助けてくださいカウントコントロールをたくさん書くようにしています。私の口座が+10%の利益になれば、ロットは2倍になります。もし+20%なら、ロット*4。私のアカウントで減少した場合、それぞれロットサイズを減少させます。Lots_Newが新規取引ごとに新しい値を取るようにする方法がわかりません。 double Bal= AccountBalance(); double GetLots() { double Lots_New; double Lots = 0.1; if(Bal <=AccountBalance()+0.1*AccountBalance()){ Lots_New=Lots*2; } if(Bal >=AccountBalance()+0.1*AccountBalance()){ Lots_New=Lots/2; } if(Bal ==AccountBalance()){ Lots_New=Lots; } Alert("Lot new= ",Lots_New); return (Lots_New); } 1...534535536537538539540541542543544545546547548...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
見て、試してみてください。すでにたくさん役立っていますが、私の理解には限界があります。
つまり、注文数ではなく、ロット単位での数量が欲しいということでしょうか。
注文数ではなく、ロット単位での数量が欲しいということですか?
アーリネー!!!!!!!!!!私が必要としていたもの!!!!!!!思いもよらなかった!!!!!!!本当にありがとうございました!!!!!!
ああ、悩んでいるうちに見逃してしまった。
しかし、Hello!
TMA_Fair に基づいて、境界で開き、反対側の境界で閉じますが、もう一方の境界では閉じません!この状況についてアドバイスをお願いします。コードのどこにバグがあるのか?
しかし、Hello!
TMA_Fair に基づいて、境界で開き、反対側の境界で閉じますが、もう一方の境界では閉じません!この状況についてアドバイスをお願いします。コードのどこにバグがあるのか?
このインジケーターをよく追ってみると、10本以上のバーを逆に再描画していることが分かります。これが全ての理由です。
このインジケータをよく観察すると、10本以上のバーを逆に再描画していることに気がつきます。これが全ての理由です。
こんにちは、助けてくださいカウントコントロールをたくさん書くようにしています。私の口座が+10%の利益になれば、ロットは2倍になります。もし+20%なら、ロット*4。私のアカウントで減少した場合、それぞれロットサイズを減少させます。Lots_Newが新規取引ごとに新しい値を取るようにする方法がわかりません。