初学者的问题 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: 而你的打印机的地位如何?我可以拥有代码吗,用于复制?事实证明,初始化并不发生在终端加载时,但它确实发生在改变时间框架时。我需要检查一下,在初始化过程中,十几个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-:事实证明,初始化并不发生在终端加载时,但它确实发生在改变时间框架时。我需要检查一下,在初始化过程中,十几个EA读取一个文件是否不会有问题?我正在使用一个类。一部分类,负责读取文件 所以在打印之前,你的代码中有很多检查和条件。在调试模式 下进行检查,看看哪些地方不工作。 Aleksey Vyazmikin 2015.09.19 16:53 #4419 Karputov Vladimir: 所以在打印之前,你的代码中有很多检查和条件。转到调试模式,检查哪些地方不工作。 在测试器中一切正常 - 但在终端加载时没有打印 - 这就是让我困惑的地方。 Vladimir Karputov 2015.09.19 16:54 #4420 -Aleks-: 在测试器中,一切正常 - 但在终端加载时没有打印机 - 这就是让我困惑的地方。 因此,值得增加更多的打印机,看看算法的发展情况。 1...435436437438439440441442443444445446447448449...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
晚上好,各位。
1.
策略 - 酒吧出现,用止损和止盈设置挂单(sl, tp),没有其他。
让我们假设在当前条形图中,经过一段时间后,会出现一个价格来触发订单,随后sl价格会出现,然后是tp价格。
请试着解释一下--让我们假设新条形图的开盘价将在sl和tp价格限制之间。这个计算是如何进行的?
从逻辑上讲,它不能,因为测试者只有下一栏的开盘价?而且它不等于挂单触发条件中指定的价格,这意味着该订单不应该被触发。
但是:在测试者的运行过程中,交易以某种方式被执行,并触发了止损。在什么方面?
2.
测试员在每次启动时都会创建fxt,而这就是时间。我找不到任何暗示要避免这种情况的设置......。我的想法是:创建一次,如果我不改变任何东西,就用这个文件,但是不行,终端会重写它。
你能告诉我,EA是否需要一个刻度来执行init()?
不,你不知道。这里的代码可以帮助你看到这一点。
把它附在图表上,看看周末有哪些功能在工作。你能告诉我,EA是否需要一个刻度来执行init()?
不,你不知道。这里的代码可以帮助你看到它。
把它附在图表上,看看哪些功能在周末工作。我不这么认为。
谢谢你的及时答复。那我就不明白为什么它不工作了--没有打印...
而你的打印机的地位如何?我可以拥有代码吗,用于复制?
事实证明,初始化并不发生在终端加载时,但它确实发生在改变时间框架时。
我需要检查一下,在初始化过程中,十几个EA读取一个文件是否不会有问题?
我正在使用一个类。
一个负责读取文件的类的片断
事实证明,初始化并不发生在终端加载时,但它确实发生在改变时间框架时。
我需要检查一下,在初始化过程中,十几个EA读取一个文件是否不会有问题?
我正在使用一个类。
一部分类,负责读取文件
所以在打印之前,你的代码中有很多检查和条件。转到调试模式,检查哪些地方不工作。
在测试器中,一切正常 - 但在终端加载时没有打印机 - 这就是让我困惑的地方。