ロボットのこと、どうして動かないのか、誰が助けてくれるの? - ページ 4 1234567 新しいコメント 削除済み 2016.02.13 18:18 #31 GIM:for(int i=0;i<OrdersTotal();i++)エラー:"i".エラーは何ですか?//+------------------------------------------------------------------+ //| 123.mq4 | //| Copyright 2016, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2016, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict input double lots = 0.01; // Лот input int stop_loss = 10; // Указываем в валюте депозита input int take_profit = 20; // Указываем в валюте депозита extern int Slippage = 3; // Допустимое проскальзываение цены в пунктах input int Magic = 16384; // Уникальный номер эксперта int last_bar = 0; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- // ===== Пересчет под пятизнак ========= if(Digits()==3 || Digits()==5) { Slippage *= 10; } //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { if (last_bar == Bars) {return;} last_bar = Bars; if (OrdersTotal() == 0){ int ticketbuy = OrderSend(Symbol(), OP_BUY, lots ,Ask, Slippage, 0, 0, "", Magic, 0, clrBlue); if(ticketbuy<0) Print(Symbol()," OpenPosition. OrderSend Buy fail #",GetLastError()); else Print(Symbol()," OpenPosition. OrderSend Buy successfully"); int ticketsell = OrderSend(Symbol(), OP_SELL, lots ,Bid, Slippage, 0, 0, "", Magic, 0, clrRed); if(ticketsell<0) Print(Symbol()," OpenPosition. OrderSend Sell fail #",GetLastError()); else Print(Symbol()," OpenPosition. OrderSend Sell successfully"); } double profit=0; for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==_Symbol && OrderMagicNumber()== Magic) { profit+=OrderProfit()+OrderSwap()+OrderCommission(); } } int requot=0; if(profit>=take_profit || (-profit)>=stop_loss) for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==_Symbol && OrderMagicNumber()== Magic) { if(OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrRed)) requot=0; else { requot++; } if(requot>10) { i++; requot=0; } i--; } } } //+------------------------------------------------------------------+ Sergey Gritsay 2016.02.13 18:19 #32 GIM: 自分の命令だけってどういうこと...。 どのEAが注文を開けたか混乱しないように、1つのアカウントに複数のEAを配置する場合は、識別番号が使用されます。 GIM 2016.02.13 18:20 #33 取引回数 や通貨ペアのせいでしょうか? 削除済み 2016.02.13 18:20 #34 GIM: 自分の命令だけってどういうこと...。 もしEAが口座内の自分の注文に対してのみ動作するのであれば、この書き方が正しいです。複数のストラテジーやエキスパートがいる場合、自分の注文と他の人の注文を混同してはならない。 GIM 2016.02.13 18:23 #35 Sergey Gritsay: 1つの口座に複数のEAがある場合、どのEAが注文を開いたか混乱せず、固有の識別番号を使用します。 すべてがクリアに、心から! Sergey Gritsay 2016.02.13 18:24 #36 Vladimir Zubov:何が間違いなのか? ここでのエラーは、最初のforループと2番目のforループで変数iが2回初期化されていることです。2回目の初期化を削除するか、変数名を変更する必要があります。 GIM 2016.02.13 18:25 #37 皆さん、ありがとうございました。 削除済み 2016.02.13 18:25 #38 Sergey Gritsay: ここでのエラーは、最初のforループと2番目のforループで変数iが2回初期化されていることで、2回目の初期化を削除するか、変数名を変更する必要があります。 そうなんです、彼のコンパイラは戦っていると思ったんです。 Sergey Gritsay 2016.02.13 18:31 #39 Vladimir Zubov: そうなんです、彼のコンパイラは戦っていると思ったんです。 コンパイラはおそらくそうでしょうが、エラーではなく、警告を出すはずです。 Sergey Gritsay 2016.02.13 18:34 #40 とか、いや、取り出したら#property strict と表示され、エラーになる。 1234567 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
for(int i=0;i<OrdersTotal();i++)
エラー:"i".
エラーは何ですか?
自分の命令だけってどういうこと...。
自分の命令だけってどういうこと...。
1つの口座に複数のEAがある場合、どのEAが注文を開いたか混乱せず、固有の識別番号を使用します。
何が間違いなのか?
ここでのエラーは、最初のforループと2番目のforループで変数iが2回初期化されていることで、2回目の初期化を削除するか、変数名を変更する必要があります。
そうなんです、彼のコンパイラは戦っていると思ったんです。
とか、いや、取り出したら
と表示され、エラーになる。