[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 973

 
gheka:

外部 int Period_MA = 21;

bool Fact_Up = true

bool Fact_Dn = true

int start()

{
料硕士

MA=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0);
if (Bid > MA && Fact_Up == true)

{
Fact_Dn = true

Fact_Up = false

Alert("Price is above MA(",Period_MA,").");
}
如果 (Bid < MA && Fact_Dn == true)
{
Fact_Up = true
Fact_Dn = false
Alert("Price is below MA(",Period_MA,").");

}
返回
}

总之,这是课本上的内容,我想练习一下,但我遇到了僵局,在穿越之后

我想给它做一次报告,怎样才能让它在每次打勾时都做报告?

帮助?


这个问题的提出并不十分正确
 
Vinin:

这个问题不大正确


它只在穿越后 触发一次信息。

我怎样才能在每次打勾 后得到一条信息。

这样,在每一个刻度上都会有 "价格高于马赫 "或 "价格低于马赫 "这样的信息?

 

你好,我想做一个过滤器,使指标发出的一定数量的买入/卖出信号被跳过。我试图用全局变量 来实现它,以固定收到的信号数量,并将其与一个给定的变量进行比较。它可以工作,但在全局变量中,信号的数量没有增加。错误是什么?或者有一个更简单的方法来实现这个想法?

请你告诉我....

//--------------
    if(SignalBuy>0) { 
   int B;
     if(SignalBuy==true){
       B=1;
       } else {
       B=0;
       }
       int PropuskSigB=GlobalVariableGet("PropuskSignalaB");
            PropuskSignalaB =B+PropuskSigB;
            GlobalVariableSet(gvp+"PropuskSignalaB",PropuskSignalaB);
          PropuskSignalaB=GlobalVariableGet("PropuskSignalaB");
       Print ("PropuskSignalaB = ",PropuskSignalaB);
      }
   //-------------   
    if(SignalSell>0){
   int S;
     if(SignalSell==true){
       S=1;
       } else {
       S=0;
       }
       int PropuskSigS=GlobalVariableGet("PropuskSignalaS");
            PropuskSignalaS =S+PropuskSigS;
            GlobalVariableSet(gvp+"PropuskSignalaS",PropuskSignalaS);
          PropuskSignalaB=GlobalVariableGet("PropuskSignalaS");
       Print ("PropuskSignalaS = ",PropuskSignalaS);
    }
   //-------------
 

我如何将手数规范到小数点后一位? 例如手数1.43或1.438到1.4或1.5? 否则会出现错误131- 手数不正确?

 
在Metaeditor搜索中--在Navigator标签下--输入Normalisation这个词,就可以了 :)
 
Rossi:

我如何将我的手数规范到小数点后一位? 例如,手数1.43或1.438到1.4或1.5? 否则会出现错误131 - 错误的手数?


这里有一个整体的规范化功能,就像在我的EA中一样...在编辑器中,在NormalizeDouble()上按F1键 - 在帮助中

...并且都有详细的解释...

double NormalizeLots(double lot)
{
   double lotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
   double lots = NormalizeDouble(lot / lotStep, 0) * lotStep;   
   lots = MathMax(lots, MarketInfo(Symbol(), MODE_MINLOT));
   lots = MathMin(lots, MarketInfo(Symbol(), MODE_MAXLOT));   
   return (lots);
}
 

谢谢。但是double lotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
我们不能只做double lotStep = 0.1;?

 
Rossi:

谢谢你,还有double lotStep = MarketInfo(Symbol(), MODE_LOTSTEP)。
我们不能只做double lotStep = 0.1;吗?


Lotstep通常为0.01 - 这取决于经纪人和账户类型,请阅读您的账户类型的交易条件。

如果有一个0.1手的步骤,那么你可以...这是一个适用于任何类型账户的选项,所以你不必担心...

 
如何计算只在同一魔术师的某些位置的余额中的利润百分比?
 

伙计,有人知道我问题的答案吗?

告诉我关于TakeMySpread这个项目,以改变传播。它允许你改变符号上的点差来测试和优化。是否有一个程序可以改变止损或冻结框架的水平? 或者我如何手动操作?
原因: