CopyTicks」のテスト - ページ 3 12345678910...47 新しいコメント Dmitriy Skub 2015.10.05 13:05 #21 テストではなく、開発者に注意喚起しているのです。実践してみると、決して余分なものではないことがわかります))。トレードの方向性については、フォートでは常に取引所から指示されます。現在、端末で使われているアルゴリズムはこれに適していません。取引所から情報を取得する必要があります。 akuloff 2015.10.05 14:03 #22 Dmitriy Skub:テストではなく、開発者に注意喚起しているのです。実践してみると、決して余分なものではないことがわかります))。ディール演出について- 砦では必ず交換所から指示されます。現在、端末で使われているアルゴリズムはこれに適しておらず、必ず取引所から情報を取得しなければなりません。コピーチック(とmqltickinfo)については、「waiting」で終わるトピックがいくつかあるだけです。例えばこんな感じです。https://www.mql5.com/ru/forum/61607だから本当に「待っている」。:-) CopyTicks на медленном рынке www.mql5.com На нём видно, что после получения первых 10 тиков после запуска терминала, CopyTicks перестаёт работать:. - - Категория: автоматические торговые системы Mikhail Filimonov 2015.12.13 14:22 #23 1210ビルドのCopyTicks()は今どうなっているのでしょうか? Vladimir Karputov 2015.12.13 14:24 #24 Михаил: そして今、1210ビルドでは、CopyTicks()はどうなっているのでしょうか? Everything is fine:Tick story Dmitriy Skub 2015.12.13 20:30 #25 Михаил: そして、1210ビルドでは、CopyTicks()でどうでしょうか?ほとんど動作します。重複はありません。ボリュームは失われない。しかし、フラッグのトレードの方向が抜けている。Bid/Askの計算では、適切な忠実度が得られない。実際の構成は古く、ヘルプに記載されている内容とは異なります。だから、中級者向けのビルドだと理解しています。ということで、いつも通り、次回作をお待ちしております)) Mikhail Filimonov 2015.12.14 05:22 #26 Dmitriy Skub:ほぼ成功です。重複はありません。ボリュームの欠落はない。しかし、フラッグのトレードの方向が抜けている。Bid/Askの計算では、適切な忠実度が得られない。実際の構造は古く、ヘルプに記載されているものとは異なります。だから、中級者向けのビルドだと理解しています。ということで、いつも通り、次回作をお待ちしております)) 感謝 zimbabve15 2016.02.08 09:04 #27 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム MqlTick ジンバブエ15 さん 2016.02.03 06:15 ブローカー「オープニング」ツール ED-3.16 左テーブル - ティックデータは、SymbolInfoTickリクエストを介してOnCalculateプロシージャでインジケータによって書き込まれ、右テーブル - CopyTicksを介しています。両者の構造:時間、bid、ask、flipper、volume、time_msec、flag。同じティックでもボリュームやフラグが異なるのはなぜですか?ブローカーからSymbolInfoTickを通してフラグゼロの生データを受け取ると、端末は受信したティックを処理し、前のティックとの比較に基づいてフラグを割り当てるようですね?ボリュームをどうするか?その差は大きい。 トレーディング、自動売買システム、ストラテジーテストに関するフォーラム MqlTick ジンバブエ15 さん 2016.02.03 06:39 FiboFroupブローカーは、左側のティックテーブルをSymbolInfoTickで、右側のテーブルをCopyTicksで 表示します。両者の構成:時刻、買値、売値、行使値、出来高、time_msec、フラグ。 フラグが違うのは、同じティックでのbid/askの値が、異なる書き方をしているからです。 Vladimir Karputov 2016.02.08 09:18 #28 zimbabve15: コードもないのに「シート」を掲載するのは流行りなのでしょうか? zimbabve15 2016.02.08 10:36 #29 コピーチケットMqlTick tick_array[]。 int OnInit(){int copied=CopyTicks(_Symbol,tick_array,COPY_TICKS_ALL,0,countHistoryTicks);if(Save_File!=NOT_SAVE)とする。{SaveTicksToFile(tick_array)。}return(INIT_SUCCEED);}void SaveTicksToFile(MqlTick &massiveTicks[]){文字列ファイル名,file_buffer;StringConcatenate(filename,Symbol(),".txt");int file_handle=FileOpen(filename,FILE_READ|FILE_WRITE|FILE_ANSI|FILE_SHARE_READ);FileSeek(file_handle,0,SEEK_END)。int sizeMassiveTicks=ArraySize(massiveTicks)とする。int i=0;while(i<sizeMassiveTicks){StringConcatenate(file_buffer,TimeToString(massiveTicks[i].time,TIME_DATE|TIME_SECONDS)," ",DoubleToString(massiveTicks[i].bid,_Digits)," ",DoubleToString(massiveTicks[i].bid)," ",_Digits".ask,_Digits)," ",DoubleToString(massiveTicks[i].last,_Digits)," ",IntegerToString(massiveTicks[i].volume,_Digits)," ",IntegerToString(massiveTicks[i].time_msc)," ",IntegerToString(massiveTicks[i].flags,_Digits));FileWrite(file_handle,file_buffer)。i++;}FileClose(file_handle)。}シンボルインフォティックint OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],const double &open[],const double &high[],const double &low[],const double &close[],const long &tick_volume[],const long &volume[],const int &spread[]){MqlTick last_tick。SymbolInfoTick(Symbol(),last_tick)。TickStruct tick={0,0,0,0,0,0,0};tick.time=TimeCurrent()。tick.bid=last_tick.bidとする。tick.ask=last_tick.ask。tick.flag=last_tick.flags。tick.last=last_tick.last。tick.time_msc=last_tick.time_mscです。tick.volume=last_tick.volume。int total=ArraySize(g_ticks);if(ArrayResize(g_ticks,total+1,1000)<0)とする。{Alert(": インジケータに次のティックデータを保存するための十分なメモリがありません;)}さもなくば{g_ticks[total]=tick;UpTick[rates_total-1]=total;}if(total>999){SaveTempTicks()。ArrayFree(g_ticks)。}return(rates_total);}void SaveTempTicks(){//刻み目履歴 ファイルの作成int hTicksFile=FileOpen(Symbol()+"fullTicks.tks",FILE_BIN|FILE_READ|FILE_WRITE|FILE_SHARE_READ|FILE_SHARE_WRITE);if(hTicksFile<1)を返します。FileSeek(hTicksFile,0,SEEK_END)を実行。// ファイルレコードint total=ArraySize(g_ticks),i=0;while(i<total){if(FileWriteStruct(hTicksFile,g_ticks[i])==0)とする。{Print("一時ファイルへのデータ保存に失敗しました...");を返します。}i++;}FileClose(hTicksFile)を実行します。} Testing 'CopyTicks' 初心者の方からの質問 MQL5 MT5 MetaTrader [解決済み] 異なる作業時間枠のインディケータから呼び出され作成された場合、インディケータが適切にインスタンス化されない。 Vladimir Karputov 2016.02.08 10:48 #30 投稿を訂正してください(フォーラムに正しくコードを挿入 してください)。メッセージにコードだけでなく、ファイルそのもの(*.mq5)を添付していただけると幸いです。 12345678910...47 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
テストではなく、開発者に注意喚起しているのです。実践してみると、決して余分なものではないことがわかります))。
トレードの方向性については、フォートでは常に取引所から指示されます。
現在、端末で使われているアルゴリズムはこれに適していません。取引所から情報を取得する必要があります。
テストではなく、開発者に注意喚起しているのです。実践してみると、決して余分なものではないことがわかります))。
ディール演出について- 砦では必ず交換所から指示されます。
現在、端末で使われているアルゴリズムはこれに適しておらず、必ず取引所から情報を取得しなければなりません。
コピーチック(とmqltickinfo)については、「waiting」で終わるトピックがいくつかあるだけです。
例えばこんな感じです。
https://www.mql5.com/ru/forum/61607
だから本当に「待っている」。:-)
そして今、1210ビルドでは、CopyTicks()はどうなっているのでしょうか?
そして、1210ビルドでは、CopyTicks()でどうでしょうか?
ほとんど動作します。重複はありません。ボリュームは失われない。
しかし、フラッグのトレードの方向が抜けている。Bid/Askの計算では、適切な忠実度が得られない。
実際の構成は古く、ヘルプに記載されている内容とは異なります。だから、中級者向けのビルドだと理解しています。ということで、いつも通り、次回作をお待ちしております))
ほぼ成功です。重複はありません。ボリュームの欠落はない。
しかし、フラッグのトレードの方向が抜けている。Bid/Askの計算では、適切な忠実度が得られない。
実際の構造は古く、ヘルプに記載されているものとは異なります。だから、中級者向けのビルドだと理解しています。ということで、いつも通り、次回作をお待ちしております))
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
MqlTick
ジンバブエ15 さん 2016.02.03 06:15
ブローカー「オープニング」ツール ED-3.16 左テーブル - ティックデータは、SymbolInfoTickリクエストを介してOnCalculateプロシージャでインジケータによって書き込まれ、右テーブル - CopyTicksを介しています。両者の構造:時間、bid、ask、flipper、volume、time_msec、flag。
同じティックでもボリュームやフラグが異なるのはなぜですか?
ブローカーからSymbolInfoTickを通してフラグゼロの生データを受け取ると、端末は受信したティックを処理し、前のティックとの比較に基づいてフラグを割り当てるようですね?ボリュームをどうするか?その差は大きい。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
MqlTick
ジンバブエ15 さん 2016.02.03 06:39
FiboFroupブローカーは、左側のティックテーブルをSymbolInfoTickで、右側のテーブルをCopyTicksで 表示します。両者の構成:時刻、買値、売値、行使値、出来高、time_msec、フラグ。
フラグが違うのは、同じティックでのbid/askの値が、異なる書き方をしているからです。
コピーチケット
MqlTick tick_array[]。
int OnInit()}
void SaveTicksToFile(MqlTick &massiveTicks[])
{
文字列ファイル名,file_buffer;
StringConcatenate(filename,Symbol(),".txt");
int file_handle=FileOpen(filename,FILE_READ|FILE_WRITE|FILE_ANSI|FILE_SHARE_READ);
FileSeek(file_handle,0,SEEK_END)。
int sizeMassiveTicks=ArraySize(massiveTicks)とする。
int i=0;
while(i<sizeMassiveTicks)
{
StringConcatenate(file_buffer,TimeToString(massiveTicks[i].time,TIME_DATE|TIME_SECONDS)," ",DoubleToString(massiveTicks[i].bid,_Digits)," ",DoubleToString(massiveTicks[i].bid)," ",_Digits".ask,_Digits)," ",DoubleToString(massiveTicks[i].last,_Digits)," ",IntegerToString(massiveTicks[i].volume,_Digits)," ",IntegerToString(massiveTicks[i].time_msc)," ",IntegerToString(massiveTicks[i].flags,_Digits));
FileWrite(file_handle,file_buffer)。
i++;
}
FileClose(file_handle)。
}
シンボルインフォティック
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
MqlTick last_tick。
SymbolInfoTick(Symbol(),last_tick)。
TickStruct tick={0,0,0,0,0,0,0};
tick.time=TimeCurrent()。
tick.bid=last_tick.bidとする。
tick.ask=last_tick.ask。
tick.flag=last_tick.flags。
tick.last=last_tick.last。
tick.time_msc=last_tick.time_mscです。
tick.volume=last_tick.volume。
int total=ArraySize(g_ticks);
if(ArrayResize(g_ticks,total+1,1000)<0)とする。
{
Alert(": インジケータに次のティックデータを保存するための十分なメモリがありません;)
}
さもなくば
{
g_ticks[total]=tick;
UpTick[rates_total-1]=total;
}
if(total>999)
{
SaveTempTicks()。
ArrayFree(g_ticks)。
}
return(rates_total);
}
void SaveTempTicks()
{
//刻み目履歴 ファイルの作成
int hTicksFile=FileOpen(Symbol()+"fullTicks.tks",FILE_BIN|FILE_READ|FILE_WRITE|FILE_SHARE_READ|FILE_SHARE_WRITE);
if(hTicksFile<1)
を返します。
FileSeek(hTicksFile,0,SEEK_END)を実行。
// ファイルレコード
int total=ArraySize(g_ticks),i=0;
while(i<total)
{
if(FileWriteStruct(hTicksFile,g_ticks[i])==0)とする。
{
Print("一時ファイルへのデータ保存に失敗しました...");
を返します。
}
i++;
}
FileClose(hTicksFile)を実行します。
}