来自一个 "傻瓜 "的问题 - 页 91

 
x100intraday:

我在这里找到了我感兴趣的东西(我在帮助中找不到这样的东西):http://zulman.googlecode.com/svn/trunk/MT5/Indicators/ColorCandles.mq5。 在你的指标中结合我所问的问题是否正确,或者不是真的正确,但在这个例子中,它被实践了,而且工作起来没有问题。

谁说你不能这样做?它写在帮助中,你可以复制到一个指标缓冲区。来自另一个 指标。
 
Rosh:
谁说你不能这样做?帮助中说,你可以复制到指标缓冲区。来自另一个 指标。
就是这么简单。我已经开始使用上述结构复制错误,并在那里产生了一个怀疑:也许它被禁止了?当我翻阅参考资料进行澄清时,我发现它包含了许多SetIndexBuffer+CopyBuffer+INDICATOR_DATA 的例子,但连同INDICATOR_CALCULATIONS 我没有找到任何例子,并决定这可能是一个应该更深入研究的细微差别。但结果是更简单。
 

伙计们,我不明白为什么第一种情况下有交易,而第二种情况下没有交易?

void OnTick()
{
//double TIK = SymbolInfoDouble(_Symbol,SYMBOL_BID);
OPEN();
}
void OPEN()
  {
   MqlTradeRequest mrequest;                            
   MqlTradeResult mresult;                                   
      mrequest.action = TRADE_ACTION_DEAL;              
      mrequest.symbol = _Symbol;                      
      mrequest.volume = 1;    
      mrequest.price = SymbolInfoDouble(_Symbol,SYMBOL_BID);                   
      mrequest.sl = 0;                                 
      mrequest.tp = 0;                               
      mrequest.deviation = 5;                             
      mrequest.type= ORDER_TYPE_SELL;                   
      mrequest.type_filling = ORDER_FILLING_FOK;  
      OrderSend(mrequest,mresult);                       
  }

void OnTick()
{
double TIK = SymbolInfoDouble(_Symbol,SYMBOL_BID);
OPEN();
}
void OPEN()
  {
   MqlTradeRequest mrequest;                            
   MqlTradeResult mresult;                                   
      mrequest.action = TRADE_ACTION_DEAL;              
      mrequest.symbol = _Symbol;                      
      mrequest.volume = 1;    
      mrequest.price = SymbolInfoDouble(_Symbol,SYMBOL_BID);                   
      mrequest.sl = 0;                                 
      mrequest.tp = 0;                               
      mrequest.deviation = 5;                             
      mrequest.type= ORDER_TYPE_SELL;                   
      mrequest.type_filling = ORDER_FILLING_FOK;  
      OrderSend(mrequest,mresult);                       
  }
 

试着复制代码并在测试器中运行它))也许我的手是错的))事实上,在理论上,这一行

double TIK = SymbolInfoDouble(_Symbol,SYMBOL_BID);

将不会影响专家顾问的可操作性。

 
AUser:

试着复制代码并在测试器中运行它))也许我的手是错的))事实上,在理论上,这一行

将不会影响专家顾问的可操作性。

我同意,但最好提供细节,以便复制。请写信给服务台
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
AUser:

试着复制代码并在测试器中运行它))也许我的手是错的))事实上,在理论上,这一行

将不会影响专家顾问的可操作性。

MqlTradeRequest 结构的字段比你使用的多,因此它们含有垃圾。
关键是mrequest变量是局部的(它在堆栈中),而其他局部变量的存在或不存在都会影响到它。
位于堆栈中的变量会影响未初始化字段的内容。
在一种情况下,你很 "幸运",出现了适合OrderSend的值,而在另一种情况下,你却没有。

使用ZeroMemory将该结构完全归零。
 

如果你看一下一般的平台,DLL导入 是什么?是在MQL中可用的例外情况还是常态?

 
220Volt:

如果你看一下一般的平台,DLL导入是什么?是在MQL中可用的例外情况还是常态?

这是对MQL的赞美还是你不知道其他平台的情况?
 
sergeev:
这是对MQL的赞美还是你不知道其他平台?
这是一个开放式的问题,我想知道是否值得将我的发展基础转移到DLL中,以便灵活过渡。我对每次都要重写所有内容的前景并不满意
 
220Volt:
我在想,我是否应该把我的工作基础转移到DLL中,以便灵活过渡。
还是你担心DLL支持被关闭?