[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 425

 
Elenn:


当你退出程序(重新启动计算机等)时,任何变量都会丢失。全局变量除外,因为它们被储存在硬盘上。但它们只能是double类型的。如果需要存储其他类型的变量(例如int或string),该怎么做?这里有什么不清楚的地方?

变量的类型。

也就是说,G.P.只能是实数。也可以在程序内部为一个特定的程序声明任何全局变量,这里说的是

 

问候MQL大师们!

帮助新手写一段代码:我知道这对你来说很容易,但对新手来说.....。

条件--根据相同的条件,每次关闭一方开出的几个头寸(对我来说,在价格越过一个MA之后)。

我已经尝试了几天,我使用了Kim和Sergey的脚本中的一些例子(没有更多关于他的信息),但没有任何效果。

我有三个订单,只有最后一个订单必须按条件关闭。

根据条件,但每次都是一个。我希望它们在第一个路口都能一次性关闭......。

我是这样试的,现在它根本就没有关闭。


//+ //|检查收盘买入| //+------------------------------------------------------------------+ void CheckForClosebuy() { double maclosebuy;//----,只对新条形图的第一个点进行交易 if(Volume[0]>1) return; //---- 获取







移动平均线
maclosebuy=iMA(NULL,TF,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0); // for(int i=0;i<OrderMagicNumber()==MAGIC;i++){ while (i>0) { if (Open[1]>maclosebuy && Close[1]<maclosebuy) OrderClose(OrderTicket(,OrderLots(),Bid,3,Aqua); continue; }} return(0); }












 
Elenn:

"不抱怨 "有点不是一个真正的数学概念。

这里写到。


有客户终端的全局变量,它们是双 - https://book.mql4.com/ru/variables/globals,它们是用于在EA之间交换的。

还有就是全局变量,它们可以是任何类型的https://book.mql4.com/ru/variables/types,它们都在一个EA内。

你的任务是什么?

 

晚上好!我在这里完全被难住了。我在乱写代码,应该开两个订单,BuyStop和SellStop,就这样了。这似乎不是很聪明的代码,一切似乎都很清楚,但它打开了五个订单,仅此而已!"。我在调试过程中仔细研究了他的警报,但发现了一个绝对惊人的事情,他先是开了两个柱子(2011.06.04 20:20:48 2011.02.10 19:00为EURUSD雪崩,H1:警报:订单类型( )0)不能,不能!!!!!!好吧,他没有任何东西可以打开它们!不可以!!!!!

它只有一个订单类型OP_BUYSTOP和OP_SELLSTOP。 而且是在上下20pp的距离内。

我的电脑有故障吗?

我引用 // 0 - OP_BUY购买
1 - OP_SELL卖出
2 - OP_BUYLIMIT 待定买入限额
3 - OP_SELLLIMIT 延迟出售限制
4 - OP_BUYSTOP待买入止损点
5 - OP_SELLSTOP 挂牌卖出止损

不能有任何其他价值。


//

总之,我不感到震惊,但我陷入了僵局。以下是代码和屏幕截图

//+------------------------------------------------------------------+
//|                                                   ля лавин б.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
extern double stoploss=0; extern double takeprofit=20;extern int otstup=20; extern datetime expiration=0;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
  
  
  
  int tiket,tikett;double volume=0.1;int i=0,R1=0,R2=0,A=1 ;double price; int stsBUY;int stsSELL;double Price;int C=0;
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
int X,Y; double price=(Ask+Bid)/2;            

       Alert ("OrdersTotal()",OrdersTotal());
       
       if(C==0){ Price = price ;  C=1;}


 for(int i=OrdersTotal();i>0;i--){Alert ("i", i);Alert ("OrderType( )", OrderType( ));OrderSelect(i,SELECT_BY_POS );if(OrderSymbol()==Symbol()&&OrderMagicNumber( )==1000){
if(OrderType( )==OP_BUYSTOP){X++;Alert ("X-v tsikle", X);}}}Alert ("X", X);
if (X==0){Alert ("Price", Price);Alert ("Price +otstup*Point",Price +otstup*Point);Alert ("Price+takeprofit*Point+otstup*Point", Price+takeprofit*Point+otstup*Point);


   tiket= OrderSend( Symbol(), OP_BUYSTOP,  volume*A, Price +otstup*Point, Point* 3, R1, Price+takeprofit*Point+otstup*Point, "OP_BUYSTOP", 1000,  expiration, Red); 
   Alert ("OP_BUYSTOP", GetLastError( )); }
   

 for ( i=OrdersTotal();i>0;i--){Alert ("i", i);Alert ("OrderType( )", OrderType( )); OrderSelect(i,SELECT_BY_POS );if( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol()) { 
if(OrderType( ) ==OP_SELLSTOP) { Y++;Alert ("Y-v tsikle", Y);}}}Alert ("Y", Y);
 if (Y==0){ 
 
 
   tikett= OrderSend( Symbol(), OP_SELLSTOP,  volume*A, Price -otstup*Point, Point* 3,R2, Price-takeprofit*Point-otstup*Point, "OP_SELLSTOP" , 2000,  expiration,C'0,128,255' );
    Alert ("OP_SELLSTOP", GetLastError( )); 
    } 
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

我只是不知道该怎么想。

 

X b Y变量是止损单和止售单的数量。

在日志中,你可以看到,订单首先被触发,绕过了订单,而且没有错误。然后突然发现,当我们检查订单类型时,我们有一个数字常数为零的买入订单。 等。

也许认股权证功能出现了故障?

而只有在这时,第5和第4号订单才会出现!!!。


 
Dimka-novitsek:

晚上好!我在这里完全被难住了。

我的印象是,你是没有希望的。你已经有了一个顾问的片断,你把旧的错误放到每一个新的版本中。替换一切

 for(int i=OrdersTotal();i>0;i--)

与 .

 for(int i=OrdersTotal()-1;i>=0;i--)
 
Snaf:


你的任务是什么?

我的任务是能够存储不同类型的数据,并能够快速访问它们。我认为这将是漫长的通过文件。通过全局变量 可以快速,但它们只能存储double类型。这就是我的想法。
 
Elenn:
我的目标是能够存储不同类型的数据,并能够快速访问它们。我认为使用文件会花很长时间。全局变量可以是快速的,但它们只能存储类型为double的变量。所以我想知道该怎么做。
通过一个文件,不会花很长时间。这将是相当快的。还有一个变种。你可以在图形对象中存储数据。名称是预先写好的,你可以在数值中存储整数和小数类型,在日期坐标中存储日期。对象描述 中的字符串类型
 
在对象中存储数据。容易和快速地拿起。易于搜索。易于搜索。很方便。
 
Porter:
在对象中存储数据。容易和快速地拿起。易于搜索。易于搜索。很方便。

而对象存储是如何工作的,在计算机崩溃的情况下,对象会怎样?