mql5言語の特徴、微妙なニュアンスとテクニック - ページ 96 1...8990919293949596979899100101102103...247 新しいコメント Alexey Navoykov 2018.08.01 21:14 #951 ところで、GetSystemTimePreciseAsFileTimeはとても興味深かったです。このような関数はMQLでは非常に不足しており、少なくともマイクロ/ミリ秒に丸める必要があります。 秒単位の時間はあまりにも粗雑です。 MT自体ではどこでもミリ秒が使われています。 今は同じGetMicrosecondCountを使って 正確な時間を合成して行う必要があります。 long TimeLocal_mcs() { static long time0_mcs= 0; if (time0_mcs==0) { datetime t=TimeLocal(); while(TimeLocal()==t); time0_mcs= (t+1)*1 e6 - GetMicrosecondCount(); } datetime time= TimeLocal(); long time_mcs= time0_mcs + GetMicrosecondCount(); long delta= time_mcs - time*(long)1 e6; if (delta<0) { time0_mcs-=delta; time_mcs-=delta; } return time_mcs; } Konstantin 2018.08.02 05:30 #952 アレクセイ・ナヴォイコフところで、GetSystemTimePreciseAsFileTimeはとても興味深かったです。MQLでは、このような関数が本当に必要で、少なくともマイクロ/ミリ秒に丸める必要があります。 秒単位の時間はあまりにも粗末です。 MT自体、いたるところでミリ秒が使われています。 今は、同じGetMicrosecondCount関数を使って正確な時間を合成して行う必要があります。 WinApi機能により、mcsで生成した独自のコールバックを作成する。 Alexey Navoykov 2018.08.03 04:38 #953 コンスタンチンWinApi機能により、mcsで生成された独自のコールバックを作成可能コールバックは何のため? Konstantin 2018.08.03 05:39 #954 アレクセイ・ナヴォイコフコールバックは何のため?まあ、スレッド全体が欲しいなら関数列で十分だし、イベントと連動させたいなら、コールバック fxsaber 2018.08.08 12:06 #955 作品に(Marketは知らないが)不可視化機構が あるかどうか確認する。本気で「釣られる」ことも...。 fxsaber 2018.08.09 18:42 #956 古いトピック ですが、問題を理解するための非常にシンプルなコードです。 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム PositionOpenを呼び出した後、注文が実行されたことを確認する方法 fxsaber さん 2018.08.09 20:35 ForexTimeFXTM-Demo01 (またはFXOpen-MT5)にあるこのスクリプトを試してみてください。 #include <Trade/Trade.mqh> void OnStart() { const int PrevTotal = PositionsTotal(); CTrade Trade; while (PositionsTotal() == PrevTotal) Trade.Buy(1); }新しいポジションが1つではなく、2つ空くこともあります。スクリプトは新しいポジションを1つ開こうとしますが、時々2つ開くことがあります。 Artyom Trishkin 2018.08.09 18:59 #957 fxsaber古いトピック ですが、問題を理解するための非常にシンプルなコードです。スクリプトは新しいポジションを1つ開こうとしますが、2つ開くこともあります。なんだか、QBにすでに解があったような気がしてきました。 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム 取引環境での作業における典型的なミスとその修正方法 fxsaber さん 2018.02.27 21:57 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム EAs: SerialMA_EA fxsaber さん 2018.02.27 21:54 イエーイ! //+------------------------------------------------------------------+ //| Возвращает "неопределённое" состояние торгового окружения | //+------------------------------------------------------------------+ bool IsUncertainStateEnv(const string symbol_name,const ulong magic_number) { if(MQLInfoInteger(MQL_TESTER)) return false; int total=OrdersTotal(); for(int i=total-1; i>WRONG_VALUE; i--) { if(OrderGetTicket(i)==0) continue; if(OrderGetInteger(ORDER_TYPE)>ORDER_TYPE_SELL) continue; if(OrderGetInteger(ORDER_MAGIC)!=magic_number) continue; if(!OrderGetInteger(ORDER_POSITION_ID) && OrderGetString(ORDER_SYMBOL)==symbol_name) return true; } return false; } //+------------------------------------------------------------------+ //| Заполняет массивы тикетов позиций | //+------------------------------------------------------------------+ bool FillingListTickets(const uint number_of_attempts) { //--- Проверка состояния окружения int n=0,attempts=int(number_of_attempts<1 ? 1 : number_of_attempts); while(IsUncertainStateEnv(symb,InpMagic) && n<attempts && !IsStopped()) { n++; Sleep(sleep); } if(n>=attempts && IsUncertainStateEnv(symb,InpMagic)) { Print(__FUNCTION__,": Uncertain state of the environment. Please try again."); return false; } //--- //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- Проверка нулевых цен if(!RefreshRates() || Point()==0) return; //--- Заполнение списков тикетов позиций int positions_total=PositionsTotal(); if(prev_total!=positions_total) { if(FillingListTickets(num_attempts)) prev_total=positions_total; else return; } Alexey Navoykov 2018.08.09 19:00 #958 fxsaber 作品(Marketはどうなんだろう......わからない)に透明化機構が あるかどうかを確認する。本気で「捕まる」かもしれない...。リンクをたどってみたが、問題の不可視化メカニズムがわからなかった。 Artyom Trishkin 2018.08.09 19:01 #959 アレクセイ・ナヴォイコフリンクをたどったが、不可視化の仕組みがよくわからなかった。チャート上ではインジケータは非表示モードになっています。Expert Advisorを削除します。モバイルからざっと見た感じでは、そのように理解しました。 fxsaber 2018.08.09 19:03 #960 アレクセイ・ナヴォイコフリンクをたどったが、不可視化の仕組みがよくわからなかった。取り外すことはできません。 1...8990919293949596979899100101102103...247 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ところで、GetSystemTimePreciseAsFileTimeはとても興味深かったです。このような関数はMQLでは非常に不足しており、少なくともマイクロ/ミリ秒に丸める必要があります。 秒単位の時間はあまりにも粗雑です。 MT自体ではどこでもミリ秒が使われています。 今は同じGetMicrosecondCountを使って 正確な時間を合成して行う必要があります。
ところで、GetSystemTimePreciseAsFileTimeはとても興味深かったです。MQLでは、このような関数が本当に必要で、少なくともマイクロ/ミリ秒に丸める必要があります。 秒単位の時間はあまりにも粗末です。 MT自体、いたるところでミリ秒が使われています。 今は、同じGetMicrosecondCount関数を使って正確な時間を合成して行う必要があります。
WinApi機能により、mcsで生成した独自のコールバックを作成する。
WinApi機能により、mcsで生成された独自のコールバックを作成可能
コールバックは何のため?
コールバックは何のため?
まあ、スレッド全体が欲しいなら関数列で十分だし、イベントと連動させたいなら、コールバック
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
PositionOpenを呼び出した後、注文が実行されたことを確認する方法
fxsaber さん 2018.08.09 20:35
ForexTimeFXTM-Demo01 (またはFXOpen-MT5)にあるこのスクリプトを試してみてください。
新しいポジションが1つではなく、2つ空くこともあります。
スクリプトは新しいポジションを1つ開こうとしますが、時々2つ開くことがあります。
古いトピック ですが、問題を理解するための非常にシンプルなコードです。
スクリプトは新しいポジションを1つ開こうとしますが、2つ開くこともあります。
なんだか、QBにすでに解があったような気がしてきました。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
取引環境での作業における典型的なミスとその修正方法
fxsaber さん 2018.02.27 21:57
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
EAs: SerialMA_EA
fxsaber さん 2018.02.27 21:54
イエーイ!
作品(Marketはどうなんだろう......わからない)に透明化機構が あるかどうかを確認する。本気で「捕まる」かもしれない...。
リンクをたどってみたが、問題の不可視化メカニズムがわからなかった。
リンクをたどったが、不可視化の仕組みがよくわからなかった。
チャート上ではインジケータは非表示モードになっています。Expert Advisorを削除します。モバイルからざっと見た感じでは、そのように理解しました。
リンクをたどったが、不可視化の仕組みがよくわからなかった。
取り外すことはできません。