[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 559

 
T-G:
请给我一个函数来计算存款的最大 允许开仓手数,同时考虑到未结头寸(权益)。预先感谢你。

double maxlot = MarketInfo(Symbol(), MODE_MAXLOT);

double requiredlots = AccountFreeMargin() / MarketInfo(Symbol(), MODE_MARGINREQUIRED);

maxlot = MathMin(maxlot, requiredlots); // Максимальный объем, на который можно открыться

// Далее необходимо maxlot нормализовать под спецификацию контрактов, прежде чем вставлять в приказ
 

问候。

帮助我识别这只火鸡: http://findicators.com/wp-content/uploads/2009/04/heiken-ashi.jpg

它被宣称是一个heiken ashi,但即使是粗略的计算也会打破这一模式。 也许有人知道它是什么?

恭敬地说。

 
ns88ns:

问候。

帮助我识别这只火鸡: http://findicators.com/wp-content/uploads/2009/04/heiken-ashi.jpg

它被宣称是一个heiken ashi,但即使是粗略的计算也会打破这一模式。 也许有人知道它是什么?

恭敬地说。


非常相同,或者说是对它的修改。它是由mashqs建立的。
 
Vinin:

它是,或者说它的修改。它建立在天平上。


谢谢你...

我想出来了...我只是不明白,在这种情况下,HA被涂抹在MA上,或以其他方式......。嗯,这并不重要。

 
帮我把指示器改装成半自动的。

例如,我手动绘制一条简单的线,并将其命名为趋势线42864。我怎样才能使它在我创建另一条线时,代码会重新命名每条创建的线,重新画出它,设置厚度,等等。

我需要它来做什么?我有一个指示器,我需要把它变成一个半自动的。例如,我手动画了一条趋势线,代码应该重新绘制它,并绘制另一条垂直和水平的魔鬼线。我还需要它来画出他们每个人的样子。

该指标已被附上。其原理是,我们在两点上画一条线,当跨越这两点的双倍距离时,这条线就结束了,趋势停止,进入不确定状态。我想马上说,在这个阶段,我们不应该试图通过这条线路创造一个自动机。我现在需要一个半自动手枪。

附加的文件:
 

下午。当试图同时修改两个订单时,对于卖出------设置滑点。

如果我试图只修改一个卖出订单和一个买入订单,我看不到买入订单。请告诉我,什么可能是

是什么原因?

void FirstSellLockBuyModifi()
{
 double lock_buy_tp = NormalizeDouble((FirsSellLockBuyAvP()+TakeProfit*Point),Digits);
 int spread = MarketInfo(Symbol(),MODE_SPREAD);
 double first_sell_sl = NormalizeDouble((lock_buy_tp+spread*Point),Digits);        
 for (int i = 0; i <= OrdersTotal(); i ++)
    {
     OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol()!=Symbol())continue;
     if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
     if (OrderType()==OP_SELL && OrderOpenPrice()==FirstSellPrice())
       {Print("Мод-ция ордера FIRST SELL");
        OrderModify(OrderTicket(),OrderOpenPrice(),first_sell_sl,OrderTakeProfit(),0,CLR_NONE);
        error=GetLastError();
        if (error != 0) Print("Мод-ция ордера FIRST SELL № ",OrderTicket()," ошибка № ",error);
       }
     if (OrderType()==OP_BUY)
       {Print("Мод-ция ордера LOCK BUY");
        OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),lock_buy_tp,0,CLR_NONE);
        error=GetLastError();
        if (error != 0) Print("Мод-ция ордера LOCK BUY № ",OrderTicket()," ошибка № ",error);
       }
    }
 return(0);
}
 
TEXX:

下午。当试图同时修改两个订单时,对于卖出------设置滑点。

如果我试图只修改一个卖出订单和一个买入订单,我看不到买入订单。请告诉我,什么可能是

是什么原因?

很有可能是在这里?

for (int i = 0; i <= OrdersTotal(); i ++)

不清楚为什么++前面有一个空格?

但主要的错误是同时 修改多个订单。服务器将无法执行它,因为当试图修改第二个订单时,交易线程将被关闭。虽然在测试器中,这种情况可以毫无问题地处理。

 
TEXX:

下午。当试图同时修改两个订单时,对于卖出------设置滑点。

如果我试图只修改一个卖出订单和一个买入订单,我看不到买入订单。请告诉我,什么可能是

是什么原因?

     
 for (int i = 0; i <= OrdersTotal(); i ++)  // 1 ошибка
  
     OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol()!=Symbol())continue; // нет смысла
     if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)  // после неё нет открывающейся скобки
  
   if (OrderType()==OP_SELL && OrderOpenPrice()==FirstSellPrice())
       {Print("Мод-ция ордера FIRST SELL");
        OrderModify(OrderTicket(),OrderOpenPrice(),first_sell_sl,OrderTakeProfit(),0,CLR_NONE);
        error=GetLastError();
        if (error != 0) Print("Мод-ция ордера FIRST SELL № ",OrderTicket()," ошибка № ",error);
       }

     if (OrderType()==OP_BUY)
       {Print("Мод-ция ордера LOCK BUY");
        OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),lock_buy_tp,0,CLR_NONE);
        error=GetLastError();
        if (error != 0) Print("Мод-ция ордера LOCK BUY № ",OrderTicket()," ошибка № ",error);
       }

它给出的错误是什么?
 
sergeev:
它给出的错误是什么?


这就是重点,没有错误,只是买入不修改,仅此而已,但如果卖出被注释掉,那么修改....。
 

负面的结果也是一种结果,也不失为一种重要的结果,但如果你看到下面的图片(在英镑上,用1手从100 000到2000的总损失)......,改写买入就卖出,止损就盈利等,是否合理?

你的意见呢?