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

 
artmedia70:
你的观点是什么?就像你可以询问时间...或健康...:))))))

这只是一个提醒。我读了这本书,但有些观点需要澄清--所以我写了出来。有时没有答案。

请--不要把这当做咄咄逼人的事,我是出于善意的。

 
belck:

这只是一个提醒。我读了这本书,但有些地方需要澄清,所以我写了出来。有时没有答案。


你会为答案付费吗? 不会? 或者你被忽视? 或者有人欠你一个人情?

SZS: 我经常看这个主题,我能提供什么帮助,但条件是提出问题的人,至少他明白他问的是什么,而你有你的问题山看起来像懒得看 - 解释给我听吧

 
嗨!我不知道????,这有什么问题?不修改市场订单
slb =NormalizeDouble(Bid - (StopLoss * Point),Digits); //计算买入头寸的止损//
tpb =NormalizeDouble(Ask + (TakeProfit* Point),Digits); //计算买入头寸的利润//
sls =NormalizeDouble(Ask + (StopLoss * Point),Digits)//计算卖出头寸的止损//
tps =NormalizeDouble(Bid - (TakeProfit* Point),Digits);

//================================================== ==================//
int total=OrdersTotal();
int n=0;
for (int i=total-1; i>=0; i-)
{
if(OrderSelect(i, SELECT_BY_POS)
{
if(OrderSymbol()==Symbol())
{
n++;
}}}
if ( total == 1 )
{
for (int k=total-1; k>=0; k--)
{
if( OrderSelect(k, SELECT_BY_TICKET)
Alert("order is", k);
{
if ((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(O rderStopLoss()==0)
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
Alert("error",GetLastError());

}}}}
return(0); }

问题是什么,请帮助...........?????
 
IgorM:


你会为答案付钱吗? 不会吗? 还是你被忽视了? 还是你欠别人什么?

ZS:我经常在这个线程中寻找,我可以帮助,但前提是提出问题的人,至少他明白他问的是什么,而你有你的问题山看起来像懒得读 - 告诉我。

我告诉你不要太在意,我们不是来打架的。我也不喜欢有人拒绝帮助--也就是说,他决定让我提供建议或读一本书。就像他们说的那样--聪明!

再一次,各位,请不要咄咄逼人,否则这是我的要求还是矛盾的,如果是这样,那我就不写了。

 
int total=OrdersTotal();
int n=0;
for (int i=total-1; i>=0; i--)
  {
    if(OrderSelect(i, SELECT_BY_POS))
      {
        if(OrderSymbol()==Symbol())
            n++;
      }
  }
if (total == 1)
  {
    for (int k=total-1; k>=0; k--)
      {
        if(OrderSelect(k, SELECT_BY_TICKET))
          {
            Alert("ордер есть ", k);
            if ((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderStopLoss()==0))
              {
                OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
                Alert("ошибка ", GetLastError());
              }
          }
      }
  }
return(0);
试试这个代码。
 

有没有人知道一个由水平线触发的 "追踪止损 "脚本,即价格达到150-止损130,然后达到180-止损170(例如)(水平线由自己输入)。

预先感谢你。

 
VOLDEMAR:
嗨!我不知道问题出在哪里????。不修改市场订单
slb =NormalizeDouble(Bid - (StopLoss * Point),Digits); // 计算买入头寸的止损//。
tpb =NormalizeDouble(Ask + (TakeProfit* Point),Digits); //计算买入位置的利润//。
sls =NormalizeDouble(Ask + (StopLoss * Point),Digits); //计算卖出头寸的止损//。
tps =NormalizeDouble(Bid - (TakeProfit* Point),Digits)。

//================================================== ==================//
int total=OrdersTotal()。
int n=0。
for (int i=total-1; i>=0; i--)
{
如果(OrderSelect(i, SELECT_BY_POS))
{
如果(OrderSymbol()==Symbol())
{
n++;
}}}
if ( total == 1 )
{
for (int k=total-1; k>=0; k--)
{
如果(OrderSelect(k, SELECT_BY_TICKET))
Alert("order exists", k);
{
如果((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OderStopLoss()==0))。
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue)。
Alert("error", GetLastError())。

}}}}
return(0);}

有什么问题吗?帮助 ...........?????

你正在选择票面上的一个位置。但你没有检查它到底在哪里......该职位可能是在已经关闭的。

bool OrderSelect(int index,int select,int pool=MODE_TRADES)

该功能选择一个订单进行进一步操作。如果函数成功完成,返回TRUE。如果函数失败,返回FALSE。要获得一个错误的信息,你需要调用GetLastError() 函数。

如果订单是由票号选择的,则池子 参数被忽略。票号是订单的唯一标识符。为了确定从哪个列表中选择一个订单,必须分析其关闭时间。如果订单的关闭时间是0,那么该订单是开放的或待定的,并从终端的开放位置列表中取出。未结头寸可以通过其类型 与挂单区分开来。如果收盘时间 不等于0,那么该订单已关闭待定,并已从终端的历史记录中选择。已关闭的订单和已删除的待处理订单之间的区别也可以通过订单 类型来实现。
 
AlexAlex:

有没有人知道一个由水平线触发的 "追踪止损 "脚本,即价格达到150-止损130,然后达到180-止损170(例如)(水平线由自己输入)。

预先感谢你。

在网站上搜索 "追踪 "或 "拖网"--你会发现它。
 
VOLDEMAR:
嗨!我不知道问题出在哪里????。不修改市场订单

像这样试试吧。

slb = 25; // расчёт стопа для бай позиций//
tpb = 25; // расчёт профита для бай позиций//
sls = 25; // расчёт стопа для селл позиций//
tps = 25; 

//================================================== ==================//
int start {
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-slb*Point,Ask+tpb*Point,"My order #"+counter,16384,0,Green);
     if(ticket<0)
       {
        Print("OrderSend failed with error #",GetLastError());
        return(0);
       }

}
 
AlexAlex:

有没有人知道一个由水平线触发的 "追踪止损 "脚本,即价格达到150-止损130,然后达到180-止损170(例如)(水平线由自己输入)。

预先感谢你。

https://www.mql5.com/ru/code/7108 .No.4