[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 212 1...205206207208209210211212213214215216217218219...652 新しいコメント Alexander 2011.09.24 19:08 #2111 さて、関数から何が返されるかは不明です。 return(OrdOpenTimeBuy); Артур 2011.09.24 19:21 #2112 Roger: さて、関数から何が返されるかは不明です。 return(OrdOpenTimeBuy); 良くなっているのでしょうか? //=========== OrdTimeBuy_b(int MAGIC) =============================================================== // Функция возвращает время открытия последнего рыночного Buy-ордера, принадлежащего MAGIC или 777 //--------------------------------------------------------------------------------------------------- datetime OrdTimeBuy_b(int MAGIC) { string SMB=Symbol(); datetime OrdOpenTimeBuy=0; int i; for(i=0;i<OrdersTotal();i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true) { if(OrderSymbol()==SMB) { if(OrderMagicNumber()==MAGIC || OrderMagicNumber()==777) { if(OrderType()==OP_BUY) { if(OrdOpenTimeBuy<OrderOpenTime()) { OrdOpenTimeBuy=OrderOpenTime(); } } } } } } if(OrdOpenTimeBuy==0) return(0); return(OrdOpenTimeBuy); } //===================================================================================================== //=========== Локальная низинка ================================================================= double LowestPoint_b(int MAGIC) { datetime OrdOpenTimeBuy=OrdTimeBuy_b(MAGIC); int ShiftBuy=0; double LowestPoint=0; if (OrdOpenTimeBuy!=0) { ShiftBuy=iBarShift(NULL,PERIOD_M1,OrdOpenTimeBuy,true); LowestPoint=iLow(NULL,PERIOD_M1,iLowest(NULL,PERIOD_M1,MODE_LOW,ShiftBuy,0)); } return(LowestPoint); } //================================================================================================= Alexander 2011.09.24 19:26 #2113 nemo811: その方がいいのか? ああ、それでいい。 Артур 2011.09.24 19:33 #2114 Roger: セルゲイ ありがとうございます。 これらのエラーを修正しましたが、EAはまだ不具合があります。これからも掘り続けよう :) --- 2011.09.24 19:38 #2115 nemo811: ありがとうございます。 これらのエラーを修正しましたが、EAはまだ不具合があります。これからも掘り続けます :) metaeditor.exeファイルが削除されたので、手動でエラーチェックをしているのでは? EAなら間違いなく動かない。コードにstart 関数がない。 Артур 2011.09.24 20:09 #2116 頭の中がぐちゃぐちゃになっちゃった。 こんなコードを書きました。 RefreshRates(); bool ticket2=false; if(st_TrStop>0 && SchSellStop777_b()>0) { double LowestPoint=LowestPoint_b(MAGIC); double ee=0; for (i=OrdersTotal()-1;i>=0;i--) {//Начало цикла if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {WriteError(i);} else{//начало работы с выбранным ордером if(OrderSymbol()==SMB && OrderMagicNumber()==MAGIC) { if(OrderType()==OP_BUY) {//находится вверху, едет вниз Last_OrderOpBuy(MAGIC); if(((Ask-(st_BU+ad.Spred+1)*Point)>=OrderOpenPrice()) || ((Ask-(st_TrStop-1-ad.Spred)*Point)>=LowestPoint)) { if((Ask-(st_BU+ad.Spred+1)*Point)>=OrderOpenPrice()) { Price_SS=NormalizeDouble(OrderOpenPrice()+(ad.Spred+1)*Point,Digits); } else { Price_SS=NormalizeDouble(LowestPoint-1*Point,Digits); } if(ChastZakr) { if(SchBuy>1) { OrderClose(OrdTicketBuy,OrderLots(),MarketInfo(OrderSymbol(), MODE_BID),Proskalz,CLR_NONE); Alert(SMB,": произведено частичное закрытие Buy-позиции, тикет: ",OrdTicketBuy,"."); ee=SchBuyLots-OrderLots(); } else { if(SchBuyLots+SchBuyLots777>MinLot) { OrderClose(OrdTicketBuy,NormalizeDouble(OrderLots()/2,2),MarketInfo(OrderSymbol(), MODE_BID),Proskalz,CLR_NONE); Alert(SMB,": произведено частичное закрытие Buy-ордера, тикет: ",OrdTicketBuy,"."); ee=SchBuyLots-NormalizeDouble(OrderLots()/2,2); } } } else { ee=SchBuyLots; } DeleteOtlozhMAGIC(MAGIC); DeleteOtlozh777(); ticket2=OrderSend(Symbol(),OP_SELLSTOP,ee,Price_SS,Proskalz,0,0,"MAGIC_" + MAGIC,MAGIC,0); if(ticket2!=0 && ticket2!=-1) { Alert (SMB,": установлен траловый SellStop."); Print(SMB,": установлен траловый SellStop."); } if(ticket2==0 || ticket2==-1) { GLE=GetLastError(); ED=ErrorDescription(GLE); Alert (SMB,": ошибка №",GLE," установки тралового SellStop."); Alert (SMB,": описание ошибки - ",ED); Print (SMB,": ошибка №",GLE," установки тралового SellStop."); Print (SMB,": описание ошибки - ",ED); } } } } } } } 不具合がある。でも、条件に具体的な数字を入れると...。 if(((Ask-(st_BU+ad.Spred+1)*Point)>=OrderOpenPrice()) || ((Ask-(st_TrStop-1-ad.Spred)*Point)>=LowestPoint)) { ...LowestPointの代わりに、すべてが時計のように正確に動作します。 LowestPointの探し方は、上の投稿に書いてあります。 掘って2日目なんですが、よろしくお願いします。 ありがとうございました。 Артур 2011.09.24 20:13 #2117 sergeev: metaeditor.exeファイルが削除され、手動でエラーチェックをしているのでは? もしこれがEAであれば、間違いなく動作しません。 あなたのコードにはstart 関数がないのです。 とても几帳面な方ですが、その点でも感謝しています。 コードの気になる部分だけ表示しています。EAを丸ごと投稿すると、質問がわからなくなる可能性があります :) ありがとうございます。 --- 2011.09.24 22:05 #2118 1で値を確認しない ShiftBuy 削除済み 2011.09.25 00:19 #2119 MESSAGE, MACDのみihighestの ような機能はないのでしょうか? Cmu4 2011.09.25 00:31 #2120 CLAIN: MESSAGE, MACDにのみihighestのような関数があるのでしょうか? 私は出会っていませんが、書くことは可能です・・・。これは、現在のものを除いた過去10バーの主線の最大値程度となる。 double Hi () { int i,j; H=0; while (i<=10) {if (H<iMACD (NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i+1)) H=iMACD (NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i+1); i++;} return(H); } 1...205206207208209210211212213214215216217218219...652 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
さて、関数から何が返されるかは不明です。
return(OrdOpenTimeBuy);
さて、関数から何が返されるかは不明です。
return(OrdOpenTimeBuy);
良くなっているのでしょうか?
その方がいいのか?
ああ、それでいい。
ありがとうございます。
これらのエラーを修正しましたが、EAはまだ不具合があります。これからも掘り続けよう :)
ありがとうございます。
これらのエラーを修正しましたが、EAはまだ不具合があります。これからも掘り続けます :)
metaeditor.exeファイルが削除されたので、手動でエラーチェックをしているのでは?
EAなら間違いなく動かない。コードにstart 関数がない。
頭の中がぐちゃぐちゃになっちゃった。
こんなコードを書きました。
不具合がある。でも、条件に具体的な数字を入れると...。
...LowestPointの代わりに、すべてが時計のように正確に動作します。
LowestPointの探し方は、上の投稿に書いてあります。
掘って2日目なんですが、よろしくお願いします。
ありがとうございました。
metaeditor.exeファイルが削除され、手動でエラーチェックをしているのでは?
もしこれがEAであれば、間違いなく動作しません。 あなたのコードにはstart 関数がないのです。
とても几帳面な方ですが、その点でも感謝しています。
コードの気になる部分だけ表示しています。EAを丸ごと投稿すると、質問がわからなくなる可能性があります :)
ありがとうございます。
MESSAGE, MACDにのみihighestのような関数があるのでしょうか?
私は出会っていませんが、書くことは可能です・・・。これは、現在のものを除いた過去10バーの主線の最大値程度となる。