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

 
extern double SL=20; // SL для открываемого ордера
extern double TP=20; // ТР для открываемого ордера
extern double Lot=0.01; // Жестко заданное колич. лотов
datetime time;
//--------------------------------------------------------------- 2 --
int start()
{
int Total;

double
M_0,
M_1;


bool
Ans =false, // Ответ сервера после закрытия
Cls_B=false, // Критерий для закрытия Buy
Cls_S=false, // Критерий для закрытия Sell
Opn_B=false, // Критерий для открытия Buy
Opn_S=false; // Критерий для открытия Sell

//--------------------------------------------------------------- 3 --
// Учёт ордеров


for(int i=OrdersTotal()-1;i>=0;i--)
if (OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()>1)Total++;

if(Total!=0 || time==Time[1])return;


// Торговые критерии

M_0=iOsMA(NULL,0,13,34,8,0,0); // 0 бар
M_1=iOsMA(NULL,0,13,34,8,0,1); // 1 бар



if (M_1<0 && M_0>0)
Opn_B=true;

if (M_1>0 && M_0<0)
Opn_S=true;

//--------------------------------------------------------------- 7 --


if (Opn_B)
{OrderSend(Symbol(),OP_BUY,Lot,Ask,0,Bid-SL*Point,Bid+TP*Point);time=Time[1];}

if (Opn_S)
{OrderSend(Symbol(),OP_SELL,Lot,Bid,0,Ask+SL*Point,Ask-TP*Point);time=Time[1];}
}


当OsMA穿过零线时开仓 的一种EA。不清楚它在哪里打开,也不清楚为什么。谁能看看,也许是iOsMA(NULL,0,13,34,8,0,0)的一个错误?
 
T.H.C.:

当OsMA穿过零线时开仓的一种EA。不清楚它在哪里打开,也不清楚为什么。谁能检查一下iOsMA(NULL,0,13,34,8,0,0)中是否有错误?

你是否对所有的蜱虫进行测试?
 
001:


谢谢你的答复。勾勒出了一个初级的EA。还是没有用。


在这段代码中,寻找错误,OrderSend函数 按F1会在标准编辑器中调出帮助,看看传入参数的顺序是否有错误。

+ 使用Print/Alert来浏览变量值,在代码部分后插入(assignments/execute)。

并记得将输出归一化,DoubletoSt.NormalizeDouble.TimeToStr。

这里附了2个免费的库,其中有kimIV的代码。

代码很简单,有现成的功能,对初学者非常好。

附加的文件:
_lib2.zip  10 kb
 

// 几乎没有一个固定的手数 :)

 
T.H.C.:


然后你就会在零线上产生颤动的效果。
 
Vinin:

对所有的蜱虫进行测试?
 

如何 "停止 "对区政府的不满情绪的流动?

以下是该日志的摘录。

10:00:25 旧的刻度线 EURUSD30 1.38730/1.38740
10:00:25 旧的刻度线 EURUSD240 1.38730/1.38740
10:00:25 旧的刻度线 EURUSD1440 1.38730/1.38740
10:00:25 旧刻度线 EURUSD15 1.38730/1.38740
10:00:25 旧刻度线 EURUSD1 1.38730/1.38740
10:00:25 旧刻度线 EURUSD60 1.38730/1.38740
10:00:25 旧刻度线 EURUSD5 1.38730/1.38740
11:00:34 旧刻度线 EURUSD30 1.38847/1.38863
11:00:34 旧的刻度线 EURUSD240 1.38847/1.38863
11:00:34 旧刻度线 EURUSD1440 1.38847/1.38863
11:00:34 旧刻度线 EURUSD15 1.38847/1.38863
11:00:34 旧刻度线 EURUSD1 1.38847/1.38863
11:00:34 旧刻度线 EURUSD60 1.38847/1.38863
11:00:34 旧刻度线 EURUSD5 1.38847/1.38863
11:25:06 欧元兑美元30 1.38707/1.38722的旧刻度线
11:25:06 旧的刻度线 EURUSD240 1.38707/1.38722
11:25:06 欧元兑美元1440 1.38707/1.38722的旧刻度线
11:25:06 欧元兑美元15的旧刻度线 1.38707/1.38722
11:25:06 欧元兑美元1 1.38707/1.38722的旧刻度线
11:25:06 欧元兑美元60的旧刻度线 1.38707/1.38722

 
Vinin:

然后你就会在零线上产生颤动的效果。
那么该怎么做呢?一个不太准确的方法?没有其他的出路吗?当这个EA也工作时,会不会有喋喋不休的声音?
 

测试让你感到头疼吗?

 

//交易标准

M_0 ={ iOsMA(0,0,13,34,8,0,1) }; //| 1bar
M_1 ={ iOsMA(0,0,13,34,8,0,2) }; //| 2bar

Opn_B ={ ( ((M_1<0)==1) &&((M_0>0)==1) ) };
Opn_S ={ ( ((M_1>0)==1) &&((M_0<0)==1) ) };

试试这个方法,但没有刺耳的声音:)