アドバイザー、インジケーターの微調整に役立つ - ページ 5 123456789101112 新しいコメント FXwin 2018.03.21 17:04 #41 Natalya Dzerzhinskaya: 異なるTFでのピンバーをどのように識別するのですか?それは、識別するのに最適な方法です)) extern int TF = 60; //Тайм фрейм на котором определяем пинбары //--- bool PinbarLong, PinbarShort; //--- int start() { PinbarLong = MathMin(iOpen(Symbol(), TF, 1),iClose(Symbol(), TF, 1))- iLow(Symbol(), TF, 1) >= (iHigh(Symbol(), TF, 1)-iLow(Symbol(), TF, 1))*0.75; PinbarShort = iHigh(Symbol(), TF, 1)- MathMax(iOpen(Symbol(), TF, 1),iClose(Symbol(), TF, 1)) >= (iHigh(Symbol(), TF, 1)-iLow(Symbol(), TF, 1))*0.75; if (PinbarLong) действие для buy; if (PinbarShort) действие для sell; return(0);}//StartEnd 削除済み 2018.03.21 17:15 #42 FXwin:それが定義です:)) 良い選択肢だ!!!ありがとうございました)) Vitaly Muzichenko 2018.03.22 04:53 #43 Natalya Dzerzhinskaya:良い選択肢だ!!!ありがとうございます))作者の許可を得て、クロスプラットフォーム機能を掲載します //=============================================================================================== //---------------------------------- Функция находит Пин-бар -----------------------------------+ //=============================================================================================== MqlRates _rates[1]; int GetPinBar(string symb="0", ENUM_TIMEFRAMES tf=0, double kf=0.75) { if(symb=="0") symb=Symbol(); double open1=0,high1=0,low1=0,close1=0; CopyRates(symb,tf,1,1,_rates); open1=rates[0].open; high1=rates[0].high; low1=rates[0].low; close1=rates[0].close; if(MathMin(open1,close1)-low1 >=(high1-low1)*kf) return(1); if(high1-MathMax(open1,close1)>=(high1-low1)*kf) return(2); return(0); } FXwin 2018.03.22 10:31 #44 Vitaly Muzichenko:作者の許可を得て、クロスプラットフォーム機能を掲載します 私はあくまで「FOR」参加です)) Romal001 2018.03.23 12:42 #45 こんにちは!ロボットのセットアップを手伝ってください。終了時刻を追加してもダメ。 ファイル: 0j1_uhskn.mq4 14 kb FXwin 2018.03.23 13:49 #46 Romal001: 終了時刻を追加したのに、うまくいかない。時間は足しましたが、決算処理は足しませんでした)) Romal001 2018.03.23 14:01 #47 int BuyOrders() { int co,t; for(co=0; co<OrdersTotal(); co++) { if(OrderSelect(co,SELECT_BY_POS)) if(OrderSymbol()==Symbol()) if(OrderMagicNumber()==Magik) { if(OrderType()==OP_BUY) t++; } } return(t); } int SellOrders() { int cp,t; for(cp=0; cp<OrdersTotal(); cp++) { if(OrderSelect(cp,SELECT_BY_POS)) if(OrderSymbol()==Symbol()) if(OrderMagicNumber()==Magik) { if(OrderType()==OP_SELL) t++; } } return(t); } void CloseSell() { int t; while(SellOrders()>0) { for(int c=0; c<=OrdersTotal();c++) { if(OrderSelect(c,SELECT_BY_POS, MODE_TRADES)) if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magik)// { if(OrderType()==OP_SELL) { for(t=0; t<=5; t++) { RefreshRates(); int ticket=OrderClose(OrderTicket(),OrderLots(),Ask,10,Red); int e=GetLastError(); if(e==0) break; else Print("error close Sell : "+e); } } } } } return; } void CloseBuy() { int t; while(BuyOrders()>0) { for(int c=0; c<=OrdersTotal();c++) { if(OrderSelect(c,SELECT_BY_POS, MODE_TRADES)) if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magik) // { if(OrderType()==OP_BUY) { for(t=0; t<=5; t++) { RefreshRates(); int ticket=OrderClose(OrderTicket(),OrderLots(),Bid,10,Red); int e=GetLastError(); if(e==0) break; else Print("error close Sell : "+e); } } } } } return; } こんな感じ。 Romal001 2018.03.23 14:03 #48 Romal001: こんな感じ。持っている、そうでない、そうでないは通用しない。 Romal001 2018.03.23 14:04 #49 if(closeneed && OrdersTotal()>0){ CloseBuy(); CloseSell(); FXwin 2018.03.23 14:21 #50 Romal001: 修正方法 ファイル: 0j1_uhskn_v1.0.mq4 18 kb 123456789101112 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
異なるTFでのピンバーをどのように識別するのですか?
それは、識別するのに最適な方法です))
それが定義です:))
良い選択肢だ!!!ありがとうございました))
良い選択肢だ!!!ありがとうございます))
作者の許可を得て、クロスプラットフォーム機能を掲載します
作者の許可を得て、クロスプラットフォーム機能を掲載します
私はあくまで「FOR」参加です))
終了時刻を追加したのに、うまくいかない。
時間は足しましたが、決算処理は足しませんでした))
こんな感じ。
持っている、そうでない、そうでないは通用しない。
修正方法