//---- input parameters extern int Fast_MACD=12; extern int Slow_MACD=24; extern int Signal_MACD=6; double a,mas_1[]; int i=1; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //----
//---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //----
//---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { a=NormalizeDouble(iMACD(Symbol(),NULL,Fast_MACD,Slow_MACD,Signal_MACD,PRICE_CLOSE,MODE_MAIN,0),5); if (a>0) { Print ("MACD выше 0 начинаю считывать бары"); while (NormalizeDouble(iMACD(Symbol(),NULL,Fast_MACD,Slow_MACD,Signal_MACD,PRICE_CLOSE,MODE_MAIN,i),5)>0) { mas_1[i]=NormalizeDouble(iMACD(Symbol(),NULL,Fast_MACD,Slow_MACD,Signal_MACD,PRICE_CLOSE,MODE_MAIN,i),5); Print (GetLastError()); i++; } Print ("В массив добавлено "+ArrayRange(mas_1,0)+" баров"); } return(0); } //+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| nax.mq4 |
//| Evgenio |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Evgenio"
#property link "http://www.metaquotes.net"
//---- input parameters
extern int Fast_MACD=12;
extern int Slow_MACD=24;
extern int Signal_MACD=6;
double a,mas_1[];
int i=1;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
a=NormalizeDouble(iMACD(Symbol(),NULL,Fast_MACD,Slow_MACD,Signal_MACD,PRICE_CLOSE,MODE_MAIN,0),5);
if (a>0)
{
Print ("MACD выше 0 начинаю считывать бары");
while (NormalizeDouble(iMACD(Symbol(),NULL,Fast_MACD,Slow_MACD,Signal_MACD,PRICE_CLOSE,MODE_MAIN,i),5)>0)
{
mas_1[i]=NormalizeDouble(iMACD(Symbol(),NULL,Fast_MACD,Slow_MACD,Signal_MACD,PRICE_CLOSE,MODE_MAIN,i),5);
Print (GetLastError());
i++;
}
Print ("В массив добавлено "+ArrayRange(mas_1,0)+" баров");
}
return(0);
}
//+------------------------------------------------------------------+
什么是错的,为什么没有添加到阵列中?
数组大小的定义在哪里?
数组大小的定义在哪里?
如果之前不知道阵列的大小,怎么做?
如果事先不知道阵列的大小,如何?
然后,有必要使其动态化,如果有必要的话,增加其规模。
然后使其成为动态的,必要时增加其大小。
你能告诉我在哪里可以找到它吗?
又见面了!你能告诉我如何确定票据或物品的编号吗?
int OrderTicket( )
返回当前选择的订单的票号。
该订单必须使用OrderSelect()函数进行预选。
int OrderTicket( )
返回当前选择的订单的票号。
该订单必须使用OrderSelect()进行预选。
而如果不知道这个数字。只有类型、手数、魔数、位置货币......。我们还知道,这个订单是在这个神奇的数字上首先打开的......。
int init() { return(0); } int deinit() { return(0); } int start() if (OrdersTotal()==0) { if (iRSI(NULL,0,14,PRICE_CLOSE,1)>71 && iDeMarker(NULL,0,13,1)>0.71) OrderSend(Symbol(),OP_SELL,lot,Bid,3,Bid+0.001,Bid-0.01,"",666,0,Green); if (iRSI(NULL,0,14,PRICE_CLOSE,1)<29 && iDeMarker(NULL,0,13,1)<0.29) OrderSend(Symbol(),OP_BUY,lot,Ask,3,Bid-0.001,Bid+0.01,"",666,0,Blue); } else for (int i=1; i<= OrdersTotal(); i++) { if (OrderSelect(i-1,SELECT_BY_POS)==true) { if(OrderType()==OP_SELL) { if ((OrderStopLoss()- 0.001) < Bid) { if (OrderStopLoss()>OrderOpenPrice()) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),Green);} else OrderModify(OrderTicket(),OrderOpenPrice(),(OrderStopLoss()-0.001),OrderTakeProfit(),Green); } } } else { if(OrderType()==OP_BUY) { if ((OrderStopLoss()+0.001) < Bid) { if (OrderStopLoss()<OrderOpenPrice()){ OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),Blue);} else OrderModify(OrderTicket(),OrderOpenPrice(),(OrderStopLoss()+0.001),OrderTakeProfit(),Blue); } } } } return(0); }
我的第一个EA的代码,在RCAI和DEM上工作。问题是,它不会移动订单,即停止......它总是为错误的停止 而发誓......。甚至找到了其他的代码来移动站点......还是同样的错误。
提前感谢。