初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 442 1...435436437438439440441442443444445446447448449...1503 新しいコメント Victor345 2015.09.19 14:44 #4411 皆さん、こんばんは。1.戦略 - バーが表示され、ストップロスとテイクプロフィット(SL、TP)で保留中の注文を設定 し、他は何もしない。現在のバーで、しばらくすると注文のトリガーとなる価格が現れ、その後、SL価格が来て、TP価格が来ると仮定します。新しいバーの開始価格は、SLとTPの価格制限の間のどこかにあると仮定してください。この計算はどのように行われるのですか?論理的には、テスターは次のバーのオープンプライスしか持っていないので、それはできません。そして、保留注文の発動条件で指定された価格と等しくないので、注文は発動されないはずです。しかし:テスターの実行中に、なぜかトレードが実行され、ストップが発動される。どんなふうに?2.テスターは起動のたびにfxtを作成します。そして、これは時間です。これを回避するためのヒントとなる設定は見つかりませんでしたが...。アイデアとしては、一度作成して、何も変更しなければ、このファイルを使う、しかし、いや、ターミナルが書き換えている Aleksey Vyazmikin 2015.09.19 16:15 #4412 EAはinit()を実行するためにティックが必要なのか教えてください。 Vladimir Karputov 2015.09.19 16:21 #4413 -Aleks-: EAはinit()を実行するためにティックが必要なのか教えてください。いいえ、そうではありません。これを確認するためのコードを紹介します。//+------------------------------------------------------------------+ //| test_expert.mq5 | //| Copyright 2015, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2015, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- Print(__FUNCTION__); return(INIT_FAILED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- Print(__FUNCTION__); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { Print(__FUNCTION__); } //+------------------------------------------------------------------+ チャートに貼り付けて、週末にどのような機能が働いているかを確認します。 削除済み 2015.09.19 16:21 #4414 -Aleks-: EAはinit()を実行するためにティックが必要なのか教えてください。 そんなことはないだろう。 Aleksey Vyazmikin 2015.09.19 16:24 #4415 Karputov Vladimir:いいえ、そうではありません。以下は、そのコードをご覧ください。 チャートに貼り付けて、週末にどの機能が働いているかを確認します。たぽちゅん。 そんなことはないだろう。 早速のご返信ありがとうございました。では、なぜうまくいかないのかがわからない。プリントもないし...。 Vladimir Karputov 2015.09.19 16:27 #4416 -Aleks-: 早速のご返信ありがとうございました。では、なぜ動かないのか理解できません。印刷がないのです...。 プリンターはどこにありますか?再現するためのコードを教えてください。 Aleksey Vyazmikin 2015.09.19 16:32 #4417 Karputov Vladimir: そして、あなたのプリンターの立ち位置は?再現のために、コードを教えてください。初期化はターミナルをロードしたときには起こらないが、タイムフレームを変更したときには起こることが判明した。初期化時に1つのファイルを何十ものEAで読んでも問題ないか確認したいのですが...。クラスを使っています。int init() { //Автоматическая настройка if(Use_SetupLoad==true) { CSVReader FileLoads(FileLoadSetup); FileLoads.SetDelimiter(';'); FileLoads.SetCommon(true); int StrokaSetup=0; if(FileLoads.Load(1)) { PrintFormat("File %s loaded. Total rows=%d, Total columns=%d",FileLoads.FileName(),FileLoads.TotalRows(),FileLoads.TotalColumns()); for (int i=1;i<30; i++) //for (int i=1; i<100 || StrokaSetup!=0; i++) { if (Magic==FileLoads.GetIntValue(i,13)) { StrokaSetup=i ; Print ("StrokaSetup=",StrokaSetup); break; } // if (i==100) i=1; // Print (FileLoads.GetIntValue(i,13)); } /* for (int i=1; i<30; i++) { Print (FileLoads.GetIntValue(i,13)); } */ if(StrokaSetup!=0) { pipsXH=FileLoads.GetIntValue(StrokaSetup,4)/10; if (pipsXH>0) { pMAH=FileLoads.GetIntValue(StrokaSetup,3); // typeMAH=FileLoads.GetIntValue(StrokaSetup,3); // priceMAH=FileLoads.GetIntValue(StrokaSetup,2); // if (pipsXH<0) // PrintFormat("pMAH=%d",pMAH,"typeMAH=%d",typeMAH,"priceMAH=%d",priceMAH,"pipsXH=%d",pipsXH); } else pipsXH=(-1); pipsXL=FileLoads.GetIntValue(StrokaSetup,7)/10*(-1); if (pipsXL>0) { pMAL=FileLoads.GetIntValue(StrokaSetup,6); // typeMAL=FileLoads.GetIntValue(StrokaSetup,3); // priceMAL=FileLoads.GetIntValue(StrokaSetup,2); // PrintFormat("pMAL=%d",pMAL,"typeMAL=%d",typeMAL,"priceMAL=%d",priceMAL,"pipsXL=%d",pipsXL); } else pipsXL=(-1); pMAT=FileLoads.GetIntValue(StrokaSetup,9); // typeMAT=FileLoads.GetIntValue(StrokaSetup,3); // priceMAT=FileLoads.GetIntValue(StrokaSetup,2); // PrintFormat("pMAT=%d",pMAT,"typeMAT=%d",typeMAT,"priceMAT=%d",priceMAT); lot=FileLoads.GetDoubleValue(StrokaSetup,11); // PrintFormat("pMAH=%d",pMAH,"pipsXH=%d",pipsXH,"pMAL=%d",pMAL,"pipsXL=%d",pipsXL,"lot=%d",lot); Print("Magic=",Magic," pMAH=",pMAH," pipsXH=",pipsXH," pMAL=",pMAL," pipsXL=",pipsXL," lot=",lot); } } else PrintFormat("Error in loading data from %s",FileLoads.FileName()); } ///Конец автоматической настройки/// return(INIT_SUCCEEDED); } ファイルの読み込みを担当するクラスの一部//+------------------------------------------------------------------+ //| Load | //+------------------------------------------------------------------+ bool CSVReader::Load(int start_line) { int filehandle=FileOpen(m_filename,FILE_CSV|FILE_READ|FILE_ANSI|FILE_SHARE_READ,'\n'); if(filehandle==INVALID_HANDLE) { Alert("Error in open of file ",m_filename,", error",GetLastError()); return(false); } //--- int line_index=0; while(!FileIsEnding(filehandle)) { string str=FileReadString(filehandle); //--- skip 0th row if(line_index>=start_line) if(str!="") { if(line_index==1) AddData(str,true); else AddData(str,false); } line_index++; } //--- FileClose(filehandle); return(true); } Vladimir Karputov 2015.09.19 16:43 #4418 -Aleks-:初期化はターミナルをロードしたときには起こらないが、タイムフレームを変更したときには起こることが判明した。初期化時に1つのファイルを何十ものEAで読んでも問題ないか確認したいのですが・・・。クラスを使っています。ファイル読み込みを担当するクラスの一部 つまり、プリントする前のコードには、たくさんのチェックや条件があるのです。デバッグモードで調べて、何がうまくいっていないのかを確認してください。 Aleksey Vyazmikin 2015.09.19 16:53 #4419 Karputov Vladimir: つまり、プリントする前のコードには、たくさんのチェックや条件があるのです。デバッグモードに 移行し、動作していない箇所を確認します。 テスターではすべてうまくいくのですが、ターミナルを読み込むと印刷されないので、困惑しています。 Vladimir Karputov 2015.09.19 16:54 #4420 -Aleks-: テスターではすべて動作していますが、ターミナルを読み込むとプリンターがないのです。 ですから、プリンターを増やしてアルゴリズムの行く末を見守る価値はあると思います。 1...435436437438439440441442443444445446447448449...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
皆さん、こんばんは。
1.
戦略 - バーが表示され、ストップロスとテイクプロフィット(SL、TP)で保留中の注文を設定 し、他は何もしない。
現在のバーで、しばらくすると注文のトリガーとなる価格が現れ、その後、SL価格が来て、TP価格が来ると仮定します。
新しいバーの開始価格は、SLとTPの価格制限の間のどこかにあると仮定してください。この計算はどのように行われるのですか?
論理的には、テスターは次のバーのオープンプライスしか持っていないので、それはできません。そして、保留注文の発動条件で指定された価格と等しくないので、注文は発動されないはずです。
しかし:テスターの実行中に、なぜかトレードが実行され、ストップが発動される。どんなふうに?
2.
テスターは起動のたびにfxtを作成します。そして、これは時間です。これを回避するためのヒントとなる設定は見つかりませんでしたが...。アイデアとしては、一度作成して、何も変更しなければ、このファイルを使う、しかし、いや、ターミナルが書き換えている
EAはinit()を実行するためにティックが必要なのか教えてください。
いいえ、そうではありません。これを確認するためのコードを紹介します。
チャートに貼り付けて、週末にどのような機能が働いているかを確認します。EAはinit()を実行するためにティックが必要なのか教えてください。
いいえ、そうではありません。以下は、そのコードをご覧ください。
チャートに貼り付けて、週末にどの機能が働いているかを確認します。そんなことはないだろう。
早速のご返信ありがとうございました。では、なぜ動かないのか理解できません。印刷がないのです...。
そして、あなたのプリンターの立ち位置は?再現のために、コードを教えてください。
初期化はターミナルをロードしたときには起こらないが、タイムフレームを変更したときには起こることが判明した。
初期化時に1つのファイルを何十ものEAで読んでも問題ないか確認したいのですが...。
クラスを使っています。
ファイルの読み込みを担当するクラスの一部
初期化はターミナルをロードしたときには起こらないが、タイムフレームを変更したときには起こることが判明した。
初期化時に1つのファイルを何十ものEAで読んでも問題ないか確認したいのですが・・・。
クラスを使っています。
ファイル読み込みを担当するクラスの一部
つまり、プリントする前のコードには、たくさんのチェックや条件があるのです。デバッグモードに 移行し、動作していない箇所を確認します。
テスターではすべて動作していますが、ターミナルを読み込むとプリンターがないのです。