[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 231

 
PapaYozh:


零情感 =( 还是没有 =(
 
CLAIN:

没有情感 =( 还是没有 =(


你会有一种不好的感觉,好像我欠你什么似的。

分析一下你的CheckTicket(),它在你的票上放了什么?

而一般来说,使用Print(...)函数 并分析日志。

 
CLAIN:

零情感 =( 还是没有 =(

我不知道你这个功能背后的逻辑。以防万一,我建议你检查一下这是否是你想要的东西。

你是否正确应用了 iMACD,你不也需要一个信号线吗?

 
PapaYozh:


有一种不好的感觉,好像我欠你什么似的。

分析一下你的CheckTicket(),它在你的票上放了什么?

一般来说,使用Print(...)函数并分析日志。


你不欠我什么......如果你有这种感觉,我很抱歉...只是,我和她已经有了很多麻烦...............。
 

我认为checkticket与此无关,因为如果我只是把signal_MACD改为true,交易就能正常关闭,搜索范围只缩小到函数的大小。

 bool signal_MACD() 
  { 
    bool signal_MACD = false; 
    double tmp = iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0); 
    for(int i=1;i<=5;i++) 
    { 
       if(NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0)*tmp,4)<0.0) 
       { 
          signal_MACD = true; 
          break; 
       }        
    } 
    return(signal_MACD);
  } 

在这里的某个地方,它不想接受true.........,我只是不能很好地使用for循环,所以我不知道在这里把return放在哪里。

 
CLAIN:

我认为checkticket与此无关,因为如果我只是把signal_MACD改为true,交易就能正常关闭,搜索范围只缩小到函数的大小。

在这里的某个地方,它不想接受true.........,我只是不能很好地使用for循环,所以我不知道在这里把return放在哪里。

那么双倍工资NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0)之间有什么区别

它们相乘的结果总是大于零。

我想是的))。

(-) * (-) = +

(+) * (+) = +

 

我的逻辑非常简单...如果MACD指标 在0的一侧不超过5分钟,则Trade....就是这样...

顺便说一下,如果

bool signal_MACD() 
  { 
    bool signal_MACD = true; 
    double tmp = iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0); 
    for(int i=1;i<=5;i++) 
    { 
       if(NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0)*tmp,4)<0.0) 
       { 
          signal_MACD = true; 
          break; 
       }        
    } 
    return(signal_MACD);
  } 

...在第三行 "false "改为 "true",交易将一直进行,这意味着我写了正确的交易逻辑和代码,剩下的就是for和return条款了。

让我们完成它,请

 
DhP:

double tmp和NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0)之间有什么区别

它们相乘的结果总是大于零。

我想是的))。

(-) * (-) = +

(+) * (+) = +


不会总是大于0...。只是如果MACD在其中一个点上越过0,就会出现(+)*(-)--这将表明一个交叉...好吧......。我的逻辑=)不一定正确,当然了 )
 
CLAIN:

我的逻辑非常简单...如果MACD指标在0的一侧不超过5分钟,则Trade....就是这样...

顺便说一下,如果

...在第3行 "false "改为 "true",交易将一直进行,这意味着我写了正确的交易逻辑和代码,剩下的就是for和return条款。

让我们完成它,请


它们将一直是结论,因为该函数将始终返回 "真"。
 
CLAIN:

我的逻辑非常简单...如果MACD指标在0的一侧不超过5分钟,则Trade....就是这样...

顺便说一下,如果

...第3行中的 "false "改为 "true",交易将一直进行,这意味着我的逻辑和代码写得很正确,剩下的就是for和return条款了。

请让我们完成它。

也许行中应该有(i)?.....

如果(NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,i)

原因: