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

 
inttehn писал(а)>>
伙计们,请帮忙。
汇率是否真的完全取决于收到的出价量。
很简单,如果这是真的,那么知道成交量比率并知道它们的总和 (出价的总成交量),你就可以忽略价格,因为它可以毫不含糊地表示为一个函数,等于买入一种和另一种货币的相应成交量函数的比率。


这是最糟糕的资产阶级秘密。

 

先生们,程序员们,请帮助我使EA只在指定的地方工作。

例如:从9-00到13-30,从17-00到22-30。

问题是,我对MQL4的了解非常遥远,非常肤浅。

如果你有一个专家顾问,它在一天内根据自己的算法生成开仓和下单的信号。

但我们必须让它形成并只在某个时间执行这些信号,例如在一个星期内。

底线向你展示了原理, ,我在说什么:)

外置 int H = 1; //hour

extern int H = 1; //minute.

外置双倍Lots = 0.1; //lot.

外部int SL = 15; //停止

外部int TP = 100; //采取

int arparp

int aprvp

int aprvar

//要设置哪些变量?


int start()

{

如果( 我应该在这里添加什么,主代码将只在白天的9-00至10-00期间执行。

13-30和17-00-22-30?)

return(0);


如果 ( 导致EA执行其行动的条件)

{

EA机构

}

return(0);

}

谢谢你!

 
inttehn >>:
Ребят, помогите пожалуйста.
Верно ли, что курс валюты полностью зависит от объёма поступивших заявок. Т.е. если P1 - условная цена одной валюты, а P2- условная цена второй, то P1*V1=P2*V2, где V1 и V2- объёмы поступивших заявок на покупку первой и второй валюты соответственно. Курс в этом случае будет равен P1/P1(курс)=V2/V1. Просто если это так, то зная отношения объёмов и зная их сумму (общий объём заявок) можно не принимать во внимание цену, т.к. её можно однозначно представить как функцию равную отношению соответствующих функций объёмов на покупку одной и второй валюты. Эти объёмы предсказываются гораздо легче, чем цена, т.к. характеризуются только экономическими потребностями определённых субъектов. Вообще это должно быть верно по теории (основываясь на платёжный баланс стран и международную торговлю), но так ли это на самом деле? Может кто-нибудь над этим задумывался?

一切都是真的,但你只要记住,报价并不完全是你所说的 "名义货币价格 "和你提到的比率得出的,而是某个货币对的最后一笔交易的价格。至于最重要的资产阶级秘密--我100%同意前一位发言者的观点。

 
bizon3d >>:

Господа, програмисты, помогите пожалуйста заставить советник работать только в установленные

периоды суток к примеру: с 9-00 по 13-30 и с 17-00 по 22-30.


if ((Hour()>=9&&(Hour()<13||Hour()==13&&Minute()<=30))||(Hour()>=17&&(Hour()<22||Hour()==22&&Minute()<=30)))
{
   //TODO
}
 
大家好!我为自己写的东西可能偏离主题而感到抱歉,这是我第一次来这里,但这里有一个问题。我想问你,是否有人能解决以下问题。我想说的是,我从来没有试图改变指标的颜色。颜色还可以......非常烦人......如果你能解决这个问题,请,因为我对这些东西一点都不了解....,提前感谢......
附加的文件:
macd_line.rar  3 kb
 
还有一个问题。我找不到一个由MACD直方图(像附件中的ind_OsMAColored_v1,即没有多余的装饰,只有4种颜色和宽度的变体)和MACD 线指标组成的指标,就像前一个帖子中的那样(我又附上了),以便在直方图和线中的空线相吻合。当你把这些重叠在一起时,空线就不会重合了。我发现的指标,总是要么添加了一些东西(交叉时刻用垂直线标记,分歧被画出来,添加了Elder的脉冲系统,等等),要么它对参数变化或其他东西没有反应.....。是否有可能以某种方式完全合并这两个指标,从设置线条的粗细和颜色来看,它们都是如此。也许有人有现成的......如果我写错了地方,请告诉我应该写在哪里....,谢谢。
附加的文件:
 

所以我们已经决定了一个价格,我们想买...

欧元/美元

价格

1.3233

为了达到最佳购买效果,我们这样购买...

买入 (1.3230, slipage 3) 对吗?

 


为什么指标会完全杀死终端 这是一个指标的例子#MFT_Trendline.mq4



历史上的条数 5 000,屏幕上的条数 2 000 Fibo veers也完全杀死终端

附加的文件:
 
你好。
如何显示OBJ_HLINE 对象的名称和属性?例如,作为斐波那契水平的百分比。
 
你好。以下代码中的
,没有触发开口。如果一个新的条形图在移动平均线 上方打开,它就会打开壳牌,如果它在下方打开,就会打开买入。达到移动平均线时平仓,+止损+追踪止损。帮助提供代码并解释我做错了什么。提前感谢!!。
#include <b-Lots.mqh>
extern double TrailingStop = 30;
extern double Sploss = 15;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start() {
   double HA_up,HA_dw;
   double MA_H0,MA_H1,MA_L0,MA_L1,MA_0,MA_1;
   int i, cnt, ticket, total;
   bool flag=true;

   if(Bars<100) {
      Print("bars less than 100");
      return(0); 
   }
// Проверяем стоит ли открываться
   
   cnt=OrdersHistoryTotal()-1;
   for(i=cnt;i>=0;i--) {
      if(!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY )) continue;
      if(OrderOpenTime()>=Time[0]) { // Time[0] - если позиция открывается на нулевом баре текущего символа
         flag=false;
         break;
      }
   }
   cnt=OrdersTotal()-1;
   for(i=cnt;i>=0;i--) {
      if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
      if(OrderOpenTime()>=Time[0]) { // Time[0] - если позиция открывается на нулевом баре текущего символа
         flag=false;
         break;
      }
   }
   if(!flag) return(0); 
//-----------------------------------------------

   MA_0=iMA(0,0,3,0,MODE_EMA,PRICE_MEDIAN,0);
   MA_1=iMA(0,0,3,0,MODE_EMA,PRICE_MEDIAN,1);


//задали все данные 

   total=OrdersTotal();
   if(total<1) 
     {
      // Проверка свободной маржи
      if(AccountFreeMargin()<(1000*Lots))
        {
         Print("We have no money. Free Margin = ", AccountFreeMargin());
         return(0);  
        }
      // Условие открытие позиции BUY
      if(Open[0]<MA_0)
        {
         Lots=GetSizeLot();
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,Bid-Sploss*Point,0,"",16384,0,Green);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
           }
         else Print("Error opening BUY order : ",GetLastError()); 
         return(0); 
        }
      // Условие открытие позиции SELL
      if(Open[0]>MA_0)
        {
         Lots=GetSizeLot();
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,5,Ask+Sploss*Point,0,"",16384,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
           }
         else Print("Error opening SELL order : ",GetLastError()); 
         return(0); 
        }
      return(0);
     }
    
   for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL &&   
         OrderSymbol()==Symbol())  
        {
         if(OrderType()==OP_BUY)   // длинная позиция открыта
           {
           if(NormalizeDouble (MathAbs(MA_0-Bid),Digits)<Point)
                {
                 OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); 
                 return(0); 
                }
            // трейлинг-стоп для длинной позиции
            if(TrailingStop>0)  
              {                 
               if(Bid-OrderOpenPrice()>Point*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-Point*TrailingStop)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
                     return(0);
                    }
                 }
              }
           }
         else 
           {
           if(NormalizeDouble (MathAbs(MA_0-Ask),Digits)<Point)
              {
               OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); 
               return(0); 
              }
            // трейлинг-стоп для короткой позиции
            if(TrailingStop>0)  
              {                 
               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                 {
                  if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
                     return(0);
                    }
                 }
              }
           }
        }
     }
   return(0);
  }

.
原因: