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

 
Frostr:

帮我写一个开仓的条件。

我不能按照我的想法写一个附加条件来开仓。

如果我用TP或SL关闭任何头寸,它应该用相反的头寸重新打开。

例子:如果一个卖出头寸,比如说SL,被关闭了,它将和它一起重新建立一个卖出头寸,并买入

以下是专家顾问的2个条件:

买入的条件

if (BUY)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
if(NumberOfPositions(Symbol(),OP_BUY,Magic)<MaxOrders)OPENORDER("Buy");
}

卖出条件

if (SELL)
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0;
if(NumberOfPositions(Symbol(),OP_SELL,Magic) <MaxOrders)OPENORDER ("Sell");
}

谁擅长这个,请帮我写出附加条件。


我不明白你想要什么。你想在平仓后开两个相反的仓位? 那么也许是的。 但你可以直接给差价的AC,而不是开仓。它将是一样的。
if (BUY)
   { 
   if(NumberOfPositions(Symbol(),OP_BUY,Magic)<MaxOrders)OPENORDER ("Buy");
      {
      if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP=0;
      if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
      OPENORDER ("Buy"); 
      if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0;
      if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0;
      OPENORDER ("Sell"); 
   }
}
if (SELL)
   {
   if(NumberOfPositions(Symbol(),OP_SELL,Magic)<MaxOrders) 
      if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0;
      if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0; 
      OPENORDER ("Sell");
      if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP=0;
      if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
      OPENORDER ("Buy"); 
   } 
}  
 
sss2019:

下午好。你能告诉我如何解决一个问题吗?有两个点,一个在零条的左边,一个在零条的右边。我需要计算这些点之间的条数。如果我们简单地根据时间框架采取时间间隔,当我们到了周五时,条数的考虑是不正确的。

是否有其他的解决方案?

请帮助我解决这个问题。
 
sss2019:
请帮助解决这个问题

将计算转移到终端:为两个点创建一条趋势线,然后(ObjectGetShiftByValue())找到每个点相对于第0条的偏移。然后计算我在它们之间的差额(或添加模数)。
 
sss2019:
请帮助解决这个问题


将两个点向左移动相同的条数,使它们都在零条的左边。我道歉,错了,这样一来,正确的就在零条上。
 
rigonich:

将两个点向左移动相同的条数,使它们都在零条的左边。对不起,我的错误,正确的应该是在零条上。

P.S. 我想了一下,意识到我回答了错误的问题。零条右侧的条数 无法准确确定,因为它们还没有出现,除了周末之外,还可能有跳过的条数(当价格在一个条数期间没有变化时,它没有被 "画出来"),开市后立即缺少报价,等等
 
rigonich:

P.S. 我想了一下,意识到我回答了错误的问题。原则上不能确定零条右侧的条数,因为它们还没有出现,除了周末之外,还可能出现跳条(当价格在一个条中没有变化时,它没有被 "画出来"),开市后立即没有报价,等等
你确定你知道你在写什么吗?所附的脚本计算了趋势线的 右点(相对于第0条的移动)。在图表上画一条趋势线,并给它起一个名字,你在脚本中插入这个名字。
附加的文件:
 
TarasBY:
你确定你知道你在写什么吗?所附的脚本计算了趋势线的右点(相对于第0条的移动)。在图表上画一条趋势线,并给它起一个名字,你在脚本中插入这个名字。


问题中并没有说到趋势线。问题是--确定两点之间的条数
 
rigonich:

问题不是关于趋势线的,问题是关于确定两点之间的条数。
在这种情况下,"趋势线 "是解决这个问题的方法之一。而我指的是你的说法:" 零点右边的条数 原则上不能准确确定......"。- 你去跟开发商说吧!:))
 
TarasBY:
在这种情况下,通过 "趋势线 "是解决上述问题的一种方法。而我指的是你的说法:"零点右边的条数原则上不能准确确定......"。- 你去跟开发商说吧!:))


我们可以预测它们,但我们不能确定它们是否会出现,因为零点栏是目前最后一个开放栏,预测是否正确取决于许多因素。顺便说一下,在零条是周五的最后一个条形的情况下,仅仅使用趋势线,就会得到错误的条形 点之间的数量

P.S. 并试着告诉开发者,你确切地知道将形成多少条柱子,例如,每天甚至每小时从当前时刻开始的一分钟柱子。

 
Roman.:

我已经告诉过你了--没门儿!"。只有通过仪器历史,你在H1、H4和样片上打开被测试仪器的三个图表,将使用的指标充入每个图表中,然后在H1的测试器中开始测试,使用这些指标在不同时间段的读数(像教程中的M15和H1)。进一步说,当进入市场,下某些订单时,你暂停测试并记住进入/离开市场的时间,然后持续切换到先前设置的这个测试工具的标签,你倒退到在测试器中对应的历史时期等于暂停(暂停)时期,在不同的时间段检查指标的信号,切换到H1、H4和日线图,在策略测试器中检查交易标准的触发的正确性这就是全部。没有其他的办法!


谢谢你,罗曼!

我就是这样做的,我希望有办法让它变得更容易、更简单))。

谢谢