任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1101

 
AlexeyVik:
一张票可以等于零吗?

来自关于OrderSend()的文档。

.......

返回值

返回交易服务器分配给订单的票号,如果失败则返回-1。要获得错误信息,请调用GetLastError()。

 
Sepulca:

来自关于OrderSend()的文档。

.......

返回的值

返回交易服务器分配给订单的票号,如果失败则返回-1。要获得错误信息,请调用GetLastError()。

我的观点完全正确...即使在测试器中,票据号码也不能为0,在错误的情况下,函数返回-1,这小于0。因为条件说>=即大于或等于......
 
h-l


你能告诉我是否有一个mt4的指标可以在选定的时间框架上计算波动率?

例如,对于天( H-L)n,其中n-天数。

 
lempopo:


你能告诉我是否有一个MT4的指标可以计算选定时间框架的波动率?

例如,对于天( H-L)n,其中n-天数。

是波动性吗?

"波动性是对价格波动趋势的一种统计措施"。- 这大概就是定义听起来的样子。

历史波动率是一个等于一个金融工具的价值在一定时期内的标准偏差的数值,是根据其价值的历史数据计算的。

而作为终端的波动性指标,有一个标准差的指标--标准差

 
AlexeyVik:
这就是我所说的...即使在测试器中,票据号码也不能为0,而且函数出错时返回-1,小于0。 所以我问,在什么情况下票据可以等于0......因为条件说>=即大于或等于......

我有一个函数来确定最后打开的订单(根据票据),甚至由OrderTupy划分。伙计们的问题如下。complimator没有给出错误,在测试器中没有错误,但订单没有被修改....why?????,如果我不能理解我的错误,我不能实现它。

如果(OrderSend(Symbol(),OP_BUYLIMIT,0.10,Ask,Slippage,0,0, "首次买入订单设置",Magik,0)== true)

{
TicketB = FindLastTicket(OP_BUY)。
如果(TicketB >0)
{
SL = priseBuy +NormalizeDouble(takeP1 * Point,Digits)。
TP = priseBuy - NormalizeDouble(stopL1 * Point,Digits)。
如果(OrderModify(TicketB,priseBuy,SL,TP,0)== true)
评论("hooraaaahhhh")。
}
 

我在哪里可以找到一个可以写一个小脚本的向导,免费试用一下?

 
burbur87:

我有确定最后打开的订单的功能(通过票据),甚至通过OrderTupy.guys的问题是:complimator没有给出错误,在测试器中也没有错误,但订单没有被修改....why?????,如果我不能理解我的错误,我不能实现它。


if(OrderSend(Symbol(),OP_BUYLIMIT,0.10,Ask,Slippage,0,0,"первый ордер бай установлен",Magik,0)== true)
      { 
          TicketB = FindLastTicket(OP_BUY);
          if(TicketB >0)
          {
             SL = priseBuy + NormalizeDouble(takeP1 * Point,Digits);
             TP = priseBuy - NormalizeDouble(stopL1 * Point,Digits);
             if(OrderModify(TicketB,priseBuy,SL,TP,0)== true)
             Comment("урааааааа");
            
          }

使用文本输入窗口上方面板中的SRC按钮。

基本上:仅仅因为编译器没有抛出错误并不意味着什么。你需要检查日志是否有错误,并打印条件和参数。这些是一般性建议。

确切地说,在你的代码中:OrderSend()函数 返回票号,或在出错时返回-1。如果你仔细阅读数据类型的文档,特别是bool类型,你可以理解假值是0,其他都是真。因此,无论OrderSend()函数如何终止,布尔值都将是真的。

在上面的例子中,没有必要使用额外的函数来搜索票据订单,因为它将由OrderSend()返回。

限价订单不是按当前价格下的。如果订单不应该被这样的命令打开,我们在谈论什么样的修改?

 
virginvl:

我在哪里可以找到写一个小脚本的向导,免费试用一下?


在任何论坛上,都有一些提供免费写作的主题。人们学习如何写作...
 
virginvl:   我在哪里可以找到一个写小脚本的向导,可以免费试用?

该向导在MetaEditor中:文件-->创建。脚本应该怎么做?来吧,让我们一起写吧!!!。我将一步一步地解释...


 
AlexeyVik:

使用文本输入窗口上方面板中的SRC按钮。

本质上:编译器不产生错误的事实并不意味着什么。你需要检查日志是否有错误,并打印条件和参数。这些是一般性建议。

确切地说,在你的代码中:OrderSend()函数返回票号,或在出错时返回-1。如果你仔细阅读数据类型的文档,特别是bool类型,你可以理解假值是0,其他都是真。因此,无论OrderSend()函数如何终止,布尔值都将是真的。

在上面的例子中,没有必要使用额外的函数来搜索票据订单,因为它将由OrderSend()返回。

限价订单不是按当前价格下的。如果订单不应该被这样的命令打开,我们在谈论什么样的修改?


而测试者开了一个头寸......此外,这个订单就像一个旗子,以后会打开一个网格......。

空白的OnTick()

{

如果(趋势==1)

评论("七个月内,趋势将是买入")。

else Comment("趋势下降了七个月")。

double priseBuy = FindLastOrderPrise(OP_BUY)。

double priseSel = FindLastOrderPrise(OP_SELL)。


double frezeelevl = MarketInfo(OrderSymbol(),MODE_FREEZELEVEL);

rsi = iRSI(Symbol(),PERIOD_D1,7,PRICE_CLOSE,0);

trend = WhatTrend()。

如果(CountTrades() ==0)

{

如果(趋势==1 &&rsi <=30)

{ double vtoroilimt = NormalizeDouble (priseBuy - Vtoroilimit * Point, Digits);

double tretiilimit = NormalizeDouble (priseBuy - Tretiilimit * Point, Digits);

double hetvertiilimit = NormalizeDouble (priseBuy - Hetvertiilimit * Point, Digits);

double pervstop = NormalizeDouble (priseBuy + Pervstop * Point,Digits);

double vtoroistop = NormalizeDouble (priseBuy + Vtoroistop * Point,Digits);

如果(OrderSend(Symbol(),OP_BUYLIMIT,0.04,Ask,Slippage,0,0, "首次买入订单设置",Magik,0)== true)

{

OrderSend(Symbol(),OP_BUYLIMIT,0.06, Ask - vtoroilimt,Slippage,0,0," ,Magik,0)。

OrderSend(Symbol(),OP_BUYLIMIT,0.08, Ask - tretiilimit,Slippage,0,0," ,Magik,0)。

OrderSend(Symbol(),OP_BUYLIMIT,0.10,Ask - hetvertiilimit,Slippage,0,0," ,Magik,0)。

OrderSend(Symbol(),OP_BUYLIMIT,0.02,Ask - pervstop,Slippage,0,0," ,Magik,0)。

OrderSend(Symbol(),OP_BUYLIMIT,0.01,Ask - vtoroistop,Slippage,0,0," ,Magik,0)。

}

}// 如果(趋势==1 &&rsi <=30)

否则如果(趋势==2 &&rsi >= 70)

{ double vtoroilimt = NormalizeDouble (priseSel + Vtoroilimit * Point, Digits);

double tretiilimit = NormalizeDouble (priseSel + Tretiilimit * Point,Digits);

double hetvertiilimit = NormalizeDouble (priseSel + Hetvertiilimit * Point,Digits);

double pervstop = NormalizeDouble (priseSel - Pervstop * Point, Digits);

double vtoroistop = NormalizeDouble (priseSel - Vtoroistop * Point, Digits);

如果(OrderSend (Symbol(),OP_SELLLIMIT,0.04,Bid,Slippage,0,0, "第一笔订单已设定",Magik,0)== true)

{

OrderSend(Symbol(),OP_SELLLIMIT,0.06, Bid + vtoroilimt,Slippage,0,0," ,Magik,0)。

OrderSend(Symbol(),OP_SELLLIMIT,0.08, Bid + tretiilimit,Slippage,0,0," ,Magik,0)。

OrderSend(Symbol(),OP_SELLLIMIT,0.10,Bid + hetvertiilimit,Slippage,0,0," ,Magik,0)。

OrderSend(Symbol(),OP_SELLSTOP,0.02,Bid + pervstop,Slippage,0,0," ,Magik,0)。

OrderSend(Symbol(),OP_SELLSTOP,0.01,Bid + vtoroistop,Slippage,0,0," ,Magik,0)。

}// 如果(OrderSend(Symbol(),OP_SELLLIMIT,0.10,Bid,Slippage,0,0, "first order is set",Magik,0) == true)


}//否则如果(趋势==2 &&rsi >= 70)

}// 如果(CountTrades() == 0)


}

//+------------------------------------------------------------------+

代码的增长是非常痛苦的。但如果不修改订单,就没有任何地方。我将修改第一个订单,但CP按钮是什么?