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

 
StatBars >>:

Вы не моглы бы весь скрипт выложить? Я имею ввиду вместе с объявлениями переменных массивов и т.д.

这是脚本,我检查了它的工作情况,它在侧边栏和双侧都能正常阅读。

附加的文件:
 
总而言之,我是一个体面的烂摊子,我还能说什么呢!
专家立即告诉我,要看数组,不要看类型转换......

StatBars,Vinin,所有回复的人,非常感谢。

问题是我的数组是动态的。而那里的类型转换有一定的特殊性。
调整为确定长度的数组,用StrToDouble进行类型转换,效果非常好。

再次感谢。
与文件一起工作是一件很有用的事情
我现在正试图弄清楚。
 
Bicus >>:
Джентльмены, вопрос такой:

В тестере вот такая штука:

в журнале выдает "0.0000".

А в терминале в реал-тайме выдает правильные значения.

Как с этим бороться?

А?

 
Bicus писал(а)>>

А?


>>放出代码,并给我所有的细节。
 
Techno >>:

выкладывай код, и все подробней

double nMAValue;

... парам-парам ...

nMAValue = iMA (Symbol (), PERIOD_H1, 100, 0, MODE_SMA, PRICE_MEDIAN, 0); 
Print ("MA value: ", DoubleToStr (nMAValue, 4));

... парам-парам ...
 
Bicus писал(а)>>

这对我来说是正确的,测试器中的值是正确的。如果有什么问题,这里是代码,你可能在代码的其他地方有一个错误
附加的文件:
001.mq4  1 kb
 

Vinin, Bicus.
谢谢你对.csv的更新。
我已经有点......混淆了)。

 
亲爱的先生们,我在OrderSend功能 中遇到了一个问题,即我的订单无法打开。
例如,如果我把这个EA附加到一个图表上 -
extern double StopLoss = 30;
extern double TakeProfit = 30;
extern double lot = 0。1;
double SL,TP;
string Symb;
int start()
{
Symb=Symbol();
SL =Bid - (StopLoss*Point);
TP =Bid + (TakeProfit*Point);
OrderSend(Symb,OP_BUY,lot, Ask,3,SL,TP);
if(OrdersTotal()>0) Alert("买单打开");
if(OrdersTotal()==0) Alert("买单失败是因为。error #",GetLastError());
Alert("Point = ",Point);
return;
}
终端将显示错误#130(错误的停止),Point值将为0。
我认为这是因为返回的点值(虽然谁知道)。
一般来说,谁知道 "狗被埋在哪里 "的帮助。
顺便问一下,点值是否应该=0?
附加的文件:
 
159753 писал(а)>>
亲爱的先生们,我在OrderSend功能中遇到了一个问题,即我的订单无法打开。
例如,如果我把这个EA附在一个图表上------。
外置双倍止损=30。
外部双倍TakeProfit = 30;
外来的双倍lot = 0.1。
双重SL,TP。
字符串 Symb;
int start()
{
Symb=Symbol()。
SL=出价-(StopLoss*Point)。
TP=出价+(TakeProfit*Point)。
OrderSend(Symb,OP_BUY,lot,Ask,3,SL,TP)。
如果(OrdersTotal()>0) Alert("Buy order opened")。
如果(OrdersTotal()==0) Alert("由于错误#,买入订单未能打开",GetLastError())。
Alert("Point = ",Point);
返回。
}
终端将显示错误#130(错误的停止),并且点值将为=0。
我认为这是因为返回的点值(虽然谁知道)。
一般来说,谁知道 "狗被埋在哪里 "的帮助。
顺便问一下,点值是否应该=0?


一切运作正常。至少对我来说是这样
附加的文件:
 
159753 >>:
Уважаемые господа, я столкнулся с проблемой, связанной с функцией OrderSend, а именно у меня не открывается ордер.
К примеру, если присоединить этот советник к графику -
extern double StopLoss = 30;
extern double TakeProfit = 30;
extern double lot = 0.1;
double SL,TP;
string Symb;
int start()
{
Symb=Symbol();
SL =Bid - (StopLoss*Point);
TP =Bid + (TakeProfit*Point);
OrderSend(Symb,OP_BUY,lot,Ask,3,SL,TP);
if(OrdersTotal()>0) Alert("Ордер Buy открыт");
if(OrdersTotal()==0) Alert("Ордер Buy открыть не удалось т.к. возникла ошибка №",GetLastError());
Alert("Point = ",Point);
return;
}
то терминал выдаст ошибку № 130 (неправильные стопы), а значение Point будет = 0.
Я думаю, что всё из-за возвращаемого значения Point (хотя кто его знает).
В общем кто знает "где собака зарыта " помогите.
Кстати, значение Point должно = 0 или нет?

点不可能是0,你可能有第5个数字,所以当你打印(Alert)时,你得到的是0(打印(Alert)最多输出4个字,除非你把它转换成DoubleToStr字符串......)。
试着把获利和止损乘以10。

原因: