初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1408

 
Yurka Tim #:
大家好! 各位同事,请问用鼠标从 "市场观察 "列表中拖动一个新符号到图表窗口时,上一个符号的绘图对象(如水平线等)会保留在图表上。这些对象是否与窗口绑定,而没有与符号绑定?这种情况可以解决吗?也许有解决方法?我不想为每个符号创建单独的配置文件。
只是创建对象的 EA 应在取消初始化时删除这些对象。
 
Sergey Gridnev #:
只是创建对象的 EA 应该在去初始化时删除它们。
我使用的是标准(标准)绘图工具。为什么要删除对象?它们应该与符号一起存储在一个捆绑包中,每次将符号加载到窗口时,它们也应该显示出来。每个符号都有自己的水平线、趋势线等。
 
Yurka Tim #:
我使用的是标准绘图工具。为什么要删除对象?它们应该与一个符号一起存储在一个捆绑包中,每次将该符号加载到窗口时,它们也应该显示出来。每个符号都有自己的水平线、趋势线等。

对象与图表一起存储,而不是与符号一起存储。在图表窗口中可以显示任何符号。这就是为什么每个符号都有自己的图表。如果进行比较,还可以更改图表中的符号。

 
Valeriy Yastremskiy #:

对象是与图表一起存储的,而不是与符号一起存储的。图表上可以有任何符号。因此,每个符号都有自己的图表。如果进行比较,还可以更改图表中的符号。

将绘图对象绑定到图表上,而不将其链接到符号上,这样做有什么意义呢? 好吧,事情就是这样,能做什么就做什么。这就是我问这个问题的原因,也许有什么小窍门可以解决这个问题。
所以,MT 和可用性似乎根本不了解对方,程序员是为程序员服务的:)。
 

朋友们,大家好 )

帮助,谁知道呢?Expert Advisor 会检查下达的订单。定期执行或取消订单时,即 OrdersTotal()=0 时,仍会显示订单的属性,如类型、符号(可能是历史订单中的最后一个)。有没有一种命令,可以 智能交易系统在重新检查订单之前"清除记忆",就像ChartRedraw 一样, 显示属性和数据类型?如果手动重启智能交易系统,一段时间后就不会出现这种问题。在此先表示感谢!

 
Vladimir Voronin 订单的属性,如类型、符号(可能是历史订单中的最后一个)。有没有一种命令 在重新检查订单之前,让智能交易系统"清除记忆",就像ChartRedraw 一样, 显示属性和数据类型?手动重启智能交易系统时,一段时间内不会出现这种问题。在此先表示感谢!

我没有遇到过这个问题,因为我有自己的订单记录,但我可以假设这些是最后选定订单的属性(最后一段https://www.mql5.com/ru/docs/trading/orderselect)。

 
Vladimir Voronin 订单的属性,如类型、符号(可能是历史订单中的最后一个)。有没有一种命令,可以 智能交易系统在重新检查订单之前"清除记忆",就像ChartRedraw 一样, 显示属性和数据类型?如果手动重启智能交易系统,一段时间后就不会出现这种问题。在此先表示感谢!

在进行任何检查之前,必须选择订单,即使是终端中的订单。为了不怀疑接收到的属性的正确性,您应该检查收盘时间。如果关闭时间大于零,则订单已关闭或删除。

从这段文字中看不出问题是关于 MQL5 还是 4

 
//+------------------------------------------------------------------+
//|                                                  FXModel_exp.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//--- input parameters
#include "fxlib.mqh"
#include "fxexplib.mqh"
//--- input parameters
input string   I_model_path="C:\FXModel\SampleNet.pt";
input int      I_input_size=100;
input string   I_symbol="EUR/USD";
input ENUM_TIMEFRAMES I_time_frame = PERIOD_M5;
input double I_lot_size = 0.1;
input double I_get = 18;
input double I_cut = 10;
input int I_cycle_sec = 300;
input int I_position_sec = 5;
//--- indicator buffers
//double Label1Buffer[];
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   EventSetTimer(2);

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//---
   return;<===================
   MqlDateTime time;
   TimeTradeServer(time);
   if(IsTime(time, I_cycle_sec, I_position_sec) || FridayStopper(3, time))
      return;
   double ans[7];
   MqlTradeRequest request;
   MqlTradeResult result;
   MqlTradeCheckResult check;
//I_getPredict(ans);
   POSITTION type = GetPositionAns(ans);
   return;
   if(type == SELL)
      ;//Trade(I_symbol, I_get, I_cut, I_lot_size, ORDER_TYPE_SELL);//request = CreateRequest(I_symbol, I_lot_size, ORDER_TYPE_SELL);
   if(type==BUY)
      ;//Trade(I_symbol, I_get, I_cut, I_lot_size, ORDER_TYPE_BUY);//request = CreateRequest(I_symbol, I_lot_size, ORDER_TYPE_BUY);
   if(type== STAY)
      return;
//if(!OrderCheck(request, check) || !OrderSend(request,result))
//   return;
//MqlTradeRequest request2 = CreateSLTPRequest(result, I_symbol, request.magic, I_get, I_cut);
//if(!OrderSend(request2, result) || result.retcode != TRADE_RETCODE_DONE)
//   Comment("error");
   Sleep(I_position_sec*10+10);
  }
//+------------------------------------------------------------------+
//| Trade function                                                   |
//+------------------------------------------------------------------+
void OnTrade()
  {
//---

  }
//+------------------------------------------------------------------+

测试时进行交易

多次编译

多次编译

更改返回位置

注释交易方法

删除 .mq5

结果不变

 
1115 Libro #:

何时进行交易测试

为什么?

多次编译

更改了位置返回值

注释被交易的方法

删除 .mq5

结果不变

此主题与原主题不同步,因此在此发布问题毫无用处。

https://www.mql5.com/ru/forum/6343/page1408

这是原主题。请在这里用俄语或在英语论坛发帖。

Вопросы от начинающих MQL5 MT5 MetaTrader 5
Вопросы от начинающих MQL5 MT5 MetaTrader 5
  • 2022.05.18
  • www.mql5.com
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000...
 
Nagisa Unada #:

本主题与原主题不同步,因此在这里提出问题是没有用的。

https://www.mql5.com/ru/forum/6343/page1408

这是原主题。请在这里用俄语或在英语论坛发帖。

谢谢