任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 636

 

代码行。

int Dgt=MarketInfo(Symbol(),MODE_DIGITS);

警告。

由于类型转换可能导致数据丢失 FinBuy1531.mq4 144 7

我认为这些类型是相互对应的。这里有什么问题吗?

 
hurkin:

代码行。

警告。

由于类型转换可能导致数据丢失 FinBuy1531.mq4 144 7

这些类型与我的意见相对应。这里有什么问题吗?

不匹配,MarketInfo(...)返回类型为双倍 的值。

类似这样的事情。

int Dgt=(int)MarketInfo(Symbol(),MODE_DIGITS);
 
r772ra:

不匹配,MarketInfo(...)返回一个双倍 类型的值

像这样。

目录中的一个例子。

double vpoint =MarketInfo("EURUSD",MODE_POINT)。
int vdigits =MarketInfo("EURUSD",MODE_DIGITS)。
似乎还有什么地方不对劲?

 
Shurkin:

目录中的一个例子。

double vpoint =MarketInfo("EURUSD",MODE_POINT)。
int vdigits =MarketInfo("EURUSD",MODE_DIGITS)。
似乎还有什么地方不对劲?

在 "MODE_DIGITS "的情况下,"MarketInfo "返回一个类型为 "double "的值。这里看起来像是 "MarketInfo "的一个实现错误。因此,正确的方法是。

int Dgt=(int)MarketInfo(Symbol(),MODE_DIGITS);
 

所有最后一个问题!

OBJ_LABEL。在对象描述中,有文本(不是名称)和数字,数字随刻度变化。

我怎样才能把号码弄出来呢?

 
Top2n:

所有最后一个问题!

有OBJ_LABEL。在对象描述中,有文本(不是名称)和数字,数字随刻度变化。

我怎样才能把号码弄出来呢?

StringFind 将帮助你。还有就是intStrToInteger 或longStringToInteger
 

下午好。请帮助我解决这个问题。

我已经安装了MT4第646个版本。我在文件夹 ...\MetaTrader 4 Admiral Markets AS\MQL4\Indicators中放置了两个文件 - 一个带有指标代码LC-RSI_Histo3.mq4的文件和一个带有编译指标LC-RSI_Histo3.ex4的文件。我运行指标--它起作用。然而,我想改变源代码。我打开嵌入式代码编辑器。问题是,在对代码进行任何,甚至是表面上的修改(例如,增加一个空格)以及随后的编译后,启动后的指标工作不正确--其所有列显示相同的值。

编译后的.ex4文件(附件中名称为LC-RSI_Histo3_1.ex4)比原文件(复制到文件夹中)重得多。

原因是什么呢?如何纠正?

附加的文件:
 

大家好!

帮我解决这个错误。"没有足够的权利 "或 "没有足够的权利 "代码#7

发生了什么事:专家顾问在EURCHFX M1货币对上不能开仓,出现这个错误(在日志中发现),但同时在其他货币对和EURCHF M5上开仓没有问题。它用手打开没有任何问题。在另一个经纪人那里,它是有效的。问题可能是什么呢?

我预先感谢你的帮助。

 
AlexeyVik:
StringFind 是你的指南。然后是intStrToInteger 或longStringToInteger


该函数返回时间框架中的位置数,而不是数字本身。

int  StringFind(
   string  string_value,        // строка, в которой ищем
   string  match_substring,     // что ищем
   int     start_pos=0          // с какой позиции начинать поиск
   );

假设我得到了职位号码,那么我如何得到这个职位呢?

 
Boeing747:

谁有一个例子的代码,其中字符串数组的元素是按字母顺序分组的?

预先感谢。


   string w[]={"E","c","f","b","j","R","A","H","a","c"}; // массив для экзекуции
   int size=ArraySize(w);
   string abc[]={"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
   string ABC[]={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
   int c,e,i;

   for(i=0; i<26; i++)
     {
      for(e=c; e<size; e++)
        {
         if(ABC[i]==w[e])
           {
            w[e]=w[c];
            w[c]=ABC[i];
            c++;
           }
         else
           {
            if(abc[i]==w[e])
              {
               w[e]=w[c];
               w[c]=abc[i];
               c++;
              }
           }


        }
     }
   
   Alert(w[0],w[1],w[2],w[3],w[4],w[5],w[6],w[7],w[8],w[9]);

另一个应用任务的例子

   string w[]={"EURUSD","USDCHF","BRNQ4","AUDUSD","GOLD","AUDCHF","NZDUSD","USDCAD","SILVER","GBPUSD"}; // массив для экзекуции
   int size=ArraySize(w);
   string f=" ";
   string ABC[]={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
   int c,e,i;

   for(i=0; i<26; i++)
     {
      for(e=c; e<size; e++)
        {
         f=w[e];
         if(ABC[i]==StringSubstr(f,0,1))
           {
            w[e]=w[c];
            w[c]=f;
            c++;
           }
        }
     }

   Alert(w[0],", ",w[1],", ",w[2],", ",w[3],", ",w[4],", ",w[5],", ",w[6],", ",w[7],", ",w[8],", ",w[9]);