[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 420 1...413414415416417418419420421422423424425426427...652 新しいコメント [Deleted] 2011.12.09 17:41 #4191 こんにちは。 以下のようなループを作りました。 for(j=0;j<ArraySize(fiboOrd);j++) { if(fiboOrd[j]==d && TP==0) TP=NormalizeDouble(Asia*fibo[j],Digits); if(fiboOrd[j]==d && TP>0) Price=NormalizeDouble(Asia*fibo[j],Digits); } 変数TPの値は何らかの理由でjの最初の値に対してのみ見つかり,変数Priceの値はjのすべての値に対して見つかるという問題である. すべてのjの値に対して、すべてのTP値を得るにはどうしたらよいですか?私の間違いは何ですか? よろしくお願いします。 [Deleted] 2011.12.09 18:13 #4192 nemo811: すべてのjの値に対して、すべてのTP値を求めるにはどうしたらよいですか?私の間違いは何ですか? 答える必要はない、自分で考えたんだ。 削除済み 2011.12.09 18:28 #4193 frixer: こんにちは、あなたは、例えば、最後のローソクの安値と高値を検索する方法を教えてください。 最後の1枚は、まだ完全に形成されていないものなのでしょうか? Low_0=Low[0]; // Low_0 присвоена мин. цена 0-го бара High_0=High[0]; // High_0 присвоена макс. цена 0-го бара asasusa 2011.12.09 19:15 #4194 ストラテジーテスターでは正常に取引できるのに、実際の取引ではエキスパートアドバイザーが取引できないのはなぜですか?また、ログにエラーはありません。アルパリのデモサーバー。 elmucon 2011.12.09 19:21 #4195 sss2019: ストラテジーテスターでは正常に取引できるのに、実際の取引ではエキスパートアドバイザーが取引できないのはなぜですか?また、ログにエラーはありません。アルパリのデモサーバー。 一概には言えませんが、いろいろなバリエーションがありますね。その他、詳細について教えてください。 asasusa 2011.12.09 19:26 #4196 elmucon: とは言い難いのですが、選択肢が多いので......。もっと詳しく知りたいです。 しかし、デモ口座では、時間はすでに来ているのに、取引は開始されず、次の1時間も取引ができません。コードを見た方がいいんじゃない?//+------------------------------------------------------------------+ //| test.mq4 | //| Copyright © 2011, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" //+------------------------------------------------------------------+ //| extern variables | //+------------------------------------------------------------------+ extern int GMT = 2; extern int InTime = 23; extern int OrderDuration = 2; extern double Lot = 0.1; extern string MyComment = "Return"; extern int Slippage = 3; extern int StopLoss = 150; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { int CurrentHour = TimeHour(TimeCurrent()); int CurrentMinute = TimeMinute(TimeCurrent()); datetime OrderExpiriation = TimeCurrent() + 3600 * OrderDuration; double MyPoint = Point; if(Digits == 3 || Digits == 5) { MyPoint = Point * 10; } //---- if(TimeHour(TimeCurrent()) + GMT == InTime && TimeMinute(TimeCurrent()) == 0 && OrdersTotal() == 0) { //---- Sending first order - Buy if(OrderSend(Symbol(),OP_BUYLIMIT,Lot,Open[0] - 10 * MyPoint,Slippage,Open[0] - StopLoss * MyPoint,Open[0],MyComment,16523,OrderExpiriation,Green) > 0) { Alert("Первый ордер запущен"); }else { Alert("Первый ордер не запущен"); } //---- Sending second order Buy if(OrderSend(Symbol(),OP_BUYLIMIT,Lot,Open[0] - 15 * MyPoint,Slippage,Open[0] - StopLoss * MyPoint,Open[0],MyComment,16523,OrderExpiriation,Green) > 0) { Alert("Второй ордер запущен"); }else { Alert("Второй ордер не летит"); } //---- Sending third order - Sell if(OrderSend(Symbol(),OP_SELLLIMIT,Lot,Open[0] + 10 * MyPoint,Slippage,Open[0] + StopLoss * MyPoint,Open[0],MyComment,16523,OrderExpiriation,Red) > 0) { Alert("Третий ордер отжахан"); }else { Alert("Третий ордер не отжахан"); } //---- Sending fourth order - Sell if(OrderSend(Symbol(),OP_SELLLIMIT,Lot,Open[0] + 15 * MyPoint,Slippage,Open[0] + StopLoss * MyPoint,Open[0],MyComment,16523,OrderExpiriation,Red) > 0) { Alert("Четвертый ордер запущен"); }else { Alert("Четвертый ордер не запущен"); } } //---- return(0); } //+------------------------------------------------------------------+ ログにもどこにもエラーはありません。コードに間違いがないのなら(まあ、ターミナルにバグがあるのかもしれませんが)、タイミングを間違えた可能性が高いです。 Александр 2011.12.10 04:17 #4197 rsiの期間は一度も変更したことがない。 Mamed Mamedov 2011.12.10 04:24 #4198 kolyango: 最後の1枚は、まだ完全に形成されていないものですか? ありがとうございます、参考になりました、でもまだ疑問が残りますが、自分で考えてみます。 削除済み 2011.12.10 05:04 #4199 問題がなければ、私は良いプログラマを見つけることができない、私は簡単なTSでEAを書きましたが、正常に動作しません だから、絵を見て、2つのMAの交差点で開いている順序は、高速は下から上に遅いMAを横切る - 購入とその逆は、アドバイザーが注文を開く方法を知らない、絵で伝える例です。 1 - 2011年11月3日に購入、近くにクロスオーバーはない。 3 - 2011年11月4日に販売、同じ内容です。 5 - 2011年11月7日に購入。この注文がなぜオープンされたのかは不明です。 また、コード自体も拝見させていただきました。 extern int period_EMA = 85, period_WMA = 5, period_RSI = 14, stoploss = 0, takeprofit = 500, risk = 10, Magic = 777; extern bool CloseCounter = false; extern double Lot = 0.1; extern int TrailingStop = 70; //если= 0, то трейлинг по фракталам или свечам extern int Tip.Fr.or.Candl = 1; //если= 0, то трейлинг по фракталам //если= 1, то трейлинг по свечам //-------------------------------------------------------------------- double SL,TP,LOT; int TimeBar; //-------------------------------------------------------------------- int start() { if (TimeBar==Time[0]) return(0); double EMA0 = iMA(NULL,0,period_EMA,0,MODE_EMA, PRICE_OPEN,0); double WMA0 = iMA(NULL,0,period_WMA,0,MODE_LWMA,PRICE_OPEN,0); double EMA1 = iMA(NULL,0,period_EMA,0,MODE_EMA, PRICE_OPEN,1); double WMA1 = iMA(NULL,0,period_WMA,0,MODE_LWMA,PRICE_OPEN,1); double RSI = iRSI(NULL,0,period_RSI,PRICE_OPEN,0); if (EMA0 < WMA0 && EMA1 > WMA1 && RSI > 50) { TimeBar=Time[0]; if (takeprofit!=0) TP = Ask + takeprofit*Point; if (stoploss!=0) SL = Ask - stoploss* Point; LOT = LOT(risk,1); if (CloseCounter) CLOSEORDER("Sell"); OPENORDER ("Buy"); } if (EMA0 > WMA0 && EMA1 < WMA1 && RSI < 50) { TimeBar=Time[0]; if (takeprofit!=0) TP = Bid - takeprofit*Point; if (stoploss!=0) SL = Bid + stoploss* Point; LOT = LOT(risk,1); if (CloseCounter) CLOSEORDER("Buy"); OPENORDER ("Sell"); } TrailingStop(); return(0); } //-------------------------------------------------------------------- void CLOSEORDER(string ord) { for (int i=0; i<OrdersTotal(); i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if (OrderSymbol()!=Symbol()||Magic!=OrderMagicNumber()) continue; if (OrderType()==OP_BUY && ord=="Buy") OrderClose(OrderTicket(),OrderLots(),Bid,3,CLR_NONE); if (OrderType()==OP_SELL && ord=="Sell") OrderClose(OrderTicket(),OrderLots(),Ask,3,CLR_NONE); } } } //-------------------------------------------------------------------- void OPENORDER(string ord) { int error; if (ord=="Buy" ) error=OrderSend(Symbol(),OP_BUY, LOT,Ask,2,SL,TP,"EMA WMA RSI",Magic,3); if (ord=="Sell") error=OrderSend(Symbol(),OP_SELL,LOT,Bid,2,SL,TP,"EMA WMA RSI",Magic,3); if (error==-1) ShowERROR(error,0,0); return; } //-------------------------------------------------------------------- void ShowERROR(int Ticket,double SL,double TP) { int err=GetLastError(); switch ( err ) { case 1: return; case 2: Alert("Нет связи с торговым сервером " ,Ticket," ",Symbol());return; case 130: Alert("Error близкие стопы Ticket ", Ticket," ",Symbol());return; case 134: Alert("Недостаточно денег ", Ticket," ",Symbol());return; case 146: Alert("Error Подсистема торговли занята ", Ticket," ",Symbol());return; case 129: Alert("Error Неправильная цена ", Ticket," ",Symbol());return; case 131: Alert("Error Неправильный объем ", Ticket," ",Symbol());return; default: Alert("Error ",err," Ticket ", Ticket," ",Symbol());return; } } //-------------------------------------------------------------------- double LOT(int risk,int ord) { if (Lot!=0) return(Lot); double MINLOT = MarketInfo(Symbol(),MODE_MINLOT); LOT = AccountFreeMargin()*risk/100/MarketInfo(Symbol(),MODE_MARGINREQUIRED)/ord; if (LOT>MarketInfo(Symbol(),MODE_MAXLOT)) LOT = MarketInfo(Symbol(),MODE_MAXLOT); if (LOT<MINLOT) LOT = MINLOT; if (MINLOT<0.1) LOT = NormalizeDouble(LOT,2); else LOT = NormalizeDouble(LOT,1); return(LOT); } //-------------------------------------------------------------------- void TrailingStop() { int tip,Ticket; bool error; double StLo,OSL,OOP; for (int i=0; i<OrdersTotal(); i++) { if (OrderSelect(i, SELECT_BY_POS)==true) { tip = OrderType(); if (tip<2 && OrderSymbol()==Symbol() && OrderMagicNumber()==Magic) { OSL = OrderStopLoss(); OOP = OrderOpenPrice(); Ticket = OrderTicket(); if (tip==OP_BUY) { StLo = SlLastBar(1,Bid,Tip.Fr.or.Candl,TrailingStop); if (StLo <= OOP) continue; if (StLo > OSL) { error=OrderModify(Ticket,OOP,NormalizeDouble(StLo,Digits), OrderTakeProfit(),0,White); Comment("TrailingStop ",Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES)); Sleep(500); if (!error) Comment("Error order ",Ticket," TrailingStop ", GetLastError()," ",Symbol()," SL ",StLo); } } if (tip==OP_SELL) { StLo = SlLastBar(-1,Ask,Tip.Fr.or.Candl,TrailingStop); if (StLo==0) continue; if (StLo >= OOP) continue; if (StLo < OSL || OSL==0 ) { error=OrderModify(Ticket,OOP,NormalizeDouble(StLo,Digits), OrderTakeProfit(),0,White); Comment("TrailingStop "+Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES)); Sleep(500); if (!error) Comment("Error order ",Ticket," TrailingStop ", GetLastError()," ",Symbol()," SL ",StLo); } } } } } } //-------------------------------------------------------------------- double SlLastBar(int tip,double price, int tipFr, int tral) { double fr; int jj,ii,delta=5; if (tral!=0) { if (tip==1) fr = Bid - tral*Point; else fr = Ask + tral*Point; } else { if (tipFr==0) { if (tip== 1) for (ii=1; ii<100; ii++) { fr = iFractals(NULL,0,MODE_LOWER,ii); if (fr!=0) if (price-delta*Point > fr) break; else fr=0; } if (tip==-1) for (jj=1; jj<100; jj++) { fr = iFractals(NULL,0,MODE_UPPER,jj); if (fr!=0) if (price+delta*Point < fr) break; else fr=0; } } else { if (tip== 1) for (ii=1; ii<100; ii++) { fr = iLow(NULL,0,ii); if (fr!=0) if (price-delta*Point > fr) break; else fr=0; } if (tip==-1) for (jj=1; jj<100; jj++) { fr = iHigh(NULL,0,jj); if (price+delta*Point < fr) break; else fr=0; } } } /* if (tip== 1) { ObjectDelete("SL Buy"); ObjectDelete("SL-"); ObjectCreate("SL Buy",OBJ_ARROW,0,TIME,fr,0,0,0,0); ObjectSet ("SL Buy",OBJPROP_ARROWCODE,6); ObjectSet ("SL Buy",OBJPROP_COLOR, Blue); ObjectCreate("SL-",OBJ_ARROW,0,TIME,price-delta*POINT,0,0,0,0); ObjectSet ("SL-",OBJPROP_ARROWCODE,4); ObjectSet ("SL-",OBJPROP_COLOR, Blue); } if (tip==-1) { ObjectDelete("SL Sell"); ObjectDelete("SL+"); ObjectCreate("SL Sell",OBJ_ARROW,0,TIME,fr,0,0,0,0); ObjectSet ("SL Sell",OBJPROP_ARROWCODE,6); ObjectSet ("SL Sell", OBJPROP_COLOR, Green); ObjectCreate("SL+",OBJ_ARROW,0,TIME,price+delta*POINT,0,0,0,0); ObjectSet ("SL+",OBJPROP_ARROWCODE,4); ObjectSet ("SL+",OBJPROP_COLOR, Green); }*/ return(fr); } //-------------------------------------------------------------------- ありがとうございました。 削除済み 2011.12.10 06:02 #4200 2011.12.10 12:46:26 TestGenerator: unmatched data error (volume limit 2225 at 2011.11.29 11:00 is exceeded)" の意味と修正方法について教えてください...。 1...413414415416417418419420421422423424425426427...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは。
以下のようなループを作りました。
変数TPの値は何らかの理由でjの最初の値に対してのみ見つかり,変数Priceの値はjのすべての値に対して見つかるという問題である.
すべてのjの値に対して、すべてのTP値を得るにはどうしたらよいですか?私の間違いは何ですか?
よろしくお願いします。
すべてのjの値に対して、すべてのTP値を求めるにはどうしたらよいですか?私の間違いは何ですか?
答える必要はない、自分で考えたんだ。
こんにちは、あなたは、例えば、最後のローソクの安値と高値を検索する方法を教えてください。
最後の1枚は、まだ完全に形成されていないものなのでしょうか?
ストラテジーテスターでは正常に取引できるのに、実際の取引ではエキスパートアドバイザーが取引できないのはなぜですか?また、ログにエラーはありません。アルパリのデモサーバー。
ストラテジーテスターでは正常に取引できるのに、実際の取引ではエキスパートアドバイザーが取引できないのはなぜですか?また、ログにエラーはありません。アルパリのデモサーバー。
一概には言えませんが、いろいろなバリエーションがありますね。その他、詳細について教えてください。
とは言い難いのですが、選択肢が多いので......。もっと詳しく知りたいです。
ログにもどこにもエラーはありません。コードに間違いがないのなら(まあ、ターミナルにバグがあるのかもしれませんが)、タイミングを間違えた可能性が高いです。しかし、デモ口座では、時間はすでに来ているのに、取引は開始されず、次の1時間も取引ができません。コードを見た方がいいんじゃない?
最後の1枚は、まだ完全に形成されていないものですか?
問題がなければ、私は良いプログラマを見つけることができない、私は簡単なTSでEAを書きましたが、正常に動作しません
だから、絵を見て、2つのMAの交差点で開いている順序は、高速は下から上に遅いMAを横切る - 購入とその逆は、アドバイザーが注文を開く方法を知らない、絵で伝える例です。
1 - 2011年11月3日に購入、近くにクロスオーバーはない。
3 - 2011年11月4日に販売、同じ内容です。
5 - 2011年11月7日に購入。この注文がなぜオープンされたのかは不明です。
また、コード自体も拝見させていただきました。
ありがとうございました。
2011.12.10 12:46:26 TestGenerator: unmatched data error (volume limit 2225 at 2011.11.29 11:00 is exceeded)" の意味と修正方法について教えてください...。