[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 193

 
olis:

你好。

请给我一个最简单的例子,开一个订单(立即,没有任何如果)。
该教程非常复杂。

订单发送()

int OrderSend( string symbol,int cmd, double volume,double price, int slippage,double stoploss, double takeprofit,string comment=NULL,int magic=0,datetime expiration=0,color arrow_color=CLR_NONE。)

用于开立头寸或下挂单的基本功能。
返回票据号码,这是交易服务器分配给订单的,如果失败则返回-1。要获得更多的错误信息,你应该调用GetLastError() 函数。
注意事项。
当开立市场订单(OP_SELL或OP_BUY)时,只有最新的买入价(用于卖出)或卖出价(用于买入)可以作为开盘价使用。如果对某一金融工具进行操作,与当前工具不同,那么要获得该工具的最新报价,应该使用MarketInfo() 函数,并加入MODE_BID或MODE_ASK参数。你不能使用估计的或非正常化的价格。如果要求的开盘价不在价格流中,或者要求的价格没有按照小数点后的位数 规范化,将产生错误 129(ERR_INVALID_PRICE)。如果要求的开盘价严重过时,无论滑点 参数的值如何,都会产生一个错误 138(ERR_REQUOTE)。如果要求的价格已经过期,但仍然存在于价格流中,那么将以当前价格开仓,而且只有当当前价格落在价格+ 滑点范围内时才会开仓。

StopLoss和TakeProfit价格可能不会太接近市场。以点为单位的最小止损距离可以通过MarketInfo() 函数和MODE_STOPLEVEL参数获得。错误 130(ERR_INVALID_STOPS)在错误的或不正常的停止情况下产生。

在下挂单时,开盘价不能离市场太近。也可以使用MarketInfo() 函数和MODE_STOPLEVEL参数获得挂牌价与当前市场价格的最小距离(以点为单位)。如果挂单开盘价不正确,将产生错误 130(ERR_INVALID_STOPS)。

在一些交易服务器上,可以设置禁止挂单到期。在这种情况下,当试图在过期 参数中设置一个非零值时,会产生一个错误 147(ERR_TRADE_EXPIRATION_DENIED)。

在一些交易服务器上,可以设置未结订单和挂单总数 的限制。如果超过了这个限制,新的头寸将不会被打开(不会设置挂单),交易服务器将返回错误 148(ERR_TRADE_TOO_MANY_ORDERS)。
参数。
标志 - 交易的金融工具的名称。
cmd - 贸易操作。可以是任何一个交易 值。
- 地段的数量。
价格 - 开盘价。
滑移 - 市场订单(买入或卖出订单)的最大允许价格滑点。
止损 - 达到损失时的平仓价格(如果没有损失则为0)。
获利 - 达到获利水平时的平仓价格(如果没有获利水平则为0)。
评论 - 命令评论文本。评论的最后部分可以由交易服务器改变。
魔术 - 订单的神奇数字。可作为用户定义的标识符。
到期 - 待定订单的到期时间。
箭头_颜色 - 图表上开口箭头的颜色。如果没有该参数或其值为CLR_NONE,图表上将不显示开口箭头。
 
ULAD:

我搞不清楚如何计算从模式形成到0条的寿命。

如果该模式存在,并且没有硬性参考价格和时间。

这种模式并不总是存在。它是在某个时刻形成的。这里有一个链接,可以链接到它的形成时间和当前条形的时间,或者链接到它的形成条形和当前条形。你能找到图案形成和当前时间 之间的差异吗?
 
olis:

你好。

请给我一个最简单的例子,开一个订单(立即,没有任何如果)。
这本教科书非常复杂。


//--------------------------------------------------------------------
// simpleopen.mq4 
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
int start()                                  // Спец. функция start()
  {                                          // Открытие BUY
   OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point);
   return;                                   // Выход из start()
  }
//--------------------------------------------------------------------
 
Roll:


谢谢你,它起作用了!
 

我想弄清楚S.K.书中的一个例子,rocseparate.mq4专家顾问我开始一个测试,显示一个图表。在底部有一个独立的窗口,但它是空的。请告知如何使一个指标在主窗口中绘制?代码与书中一样。

//-------------------------------------------------------------- 5a --
   double L_1=iCustom(NULL,0,"rocseparate",H,P,B,A,1,0);
   double L_5=iCustom(NULL,0,"rocseparate",H,P,B,A,5,0);
//-------------------------------------------------------------- 5b --
   if (L_5<=-Level && L_1>L_5)
     {
      Opn_B=true;                               // Критерий 
 
ScioMe:

我想弄清楚S.K.书中的一个例子,rocseparate.mq4专家顾问我开始一个测试,显示一个图表。在底部有一个独立的窗口,但它是空的。请告知如何使一个指标在主窗口中绘制?代码与书中一样。


教程: "......
rocseparate.mq4 自定义指标 的价格变化率 在当前、最近的较大和下一个较大的时间段。是roc.mq4指标的完全类似物,但它是在一个单独的窗口中显示。这允许计算不同时间段的速度线的值,不是相对于MA参考,而是相对于水平零线"。

 
Roll:


教程: "......当前、最近较大和下一个较大时间段的价格变化率的
rocseparate.mq4 自定义指标 显示在一个单独的窗口中...... 是roc.mq4指标的完全类似物,但它是在一个单独的窗口中显示。这允许计算不同时间段的速度线的值,不是相对于MA参考,而是相对于水平零线"。


是的,完全正确:我把它扔在图表上,rocseparate出现在它自己窗口的底部。但当我在测试后点击"打开图表"时,图表窗口是空的。我不明白有什么问题?
 
然后按键盘上的结束键(EA shared.mq4),观察你的指标(窗口不空)。
 

下午好,先生们。

我仍然需要你对这个问题的建议。

我正在编写一个EA,我遇到了一个问题。根据TC,专家顾问应该在给定的分钟数内每分钟进行计算。之后,所有的数据都应该被重置,计算应该从头开始。

就这样周而复始地进行着。时间周期为1至60分钟。请告知如何在代码中正确描述这一点。我怎样才能使下面的代码具有循环性,并且能够设置1至60分钟的循环时间?

到目前为止,我的5分钟循环看起来像这样。

if ((TimeMinute(TimeCurrent()))==time1)

Price20=koef_10;

if ((TimeMinute(TimeCurrent()))==time2)

Price20=koef_10;

if ((TimeMinute(TimeCurrent()))==time3)

Price20=koef_10;

if ((TimeMinute(TimeCurrent()))==time4)

Price20=koef_10;

if ((TimeMinute(TimeCurrent()))==time5)

Price20=koef_10;


我希望得到您的帮助。

 
extralifes:

下午好,先生们。

在这个问题上仍然需要你的建议。

我正在编写一个EA,我遇到了一个问题。根据TS,专家顾问应该在给定的分钟数内每分钟进行计算。之后,所有的数据都应该被重置,计算应该从头开始。

就这样周而复始地进行着。时间周期为1至60分钟。请告知如何在代码中正确描述这一点。我怎样才能使下面的代码具有循环性,并且能够设置1至60分钟的循环时间?

到目前为止,我的5分钟循环看起来像这样。


我希望得到您的帮助。

这是你重复的帖子。

在我看来,人们只是不明白你在问什么。

试着改写强调的短语