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

 
Infinity:

那么我怎么做呢,比如说我抓到一个1点的系数,RSI已经过了50点,结果发现已经过了50点,但实际上是平的。 而蜡烛已经过了2点。在这种情况下,如何确定

价格上升了一个点。一些计算是在RSI中进行的。其价值由X改变。价格又递增了一个点。指标值应以相同的X值再次变化。试着打印它--结果应该是这样。
 
xrust:

我明白,当指标线与趋势线交叉时,应该出现交易信号,而不是反过来,但你却两边都有。在静态变量中存储趋势线位置的先前值,如果它们没有变化--检查交叉点,如果趋势线改变了位置--重置...

谢谢你,鲁斯塔姆。好主意!他们说得很对:一个头是好的,但身体是更好的......:)
 
artmedia70:
谢谢你,鲁斯塔姆。好主意!他们说的是真的:一个脑袋是好的,但一个身体是更好的......。:)

你好,请你告诉我如何在MT4中查看日志?
 
LAIT123:

你好,请你告诉我如何在MT4中查看日志?

我想我真的需要它...:) 或者是我的鼠标被卡住了...

MT4/logs位置文件夹

MT4/tester/logs位置文件夹

我把它放在这里。

D:/Program Files\MetaTrader - E-Global TFG account-1654729/logs

D:/Program Files/MetaTrader - E-Global TFG account-1654729/tester/logs

 

我是否正确地写了if(tic1>0)条件来检查订单是否打开,我需要将变量重置为零

int NewOrder1(int Cmd,double Lot)
{double TP=0; //тейкпрофит
double SL=0; //стоплосс
double PR=0; //Цена
double LT=0; //Лот
while(!IsTradeAllowed()) Sleep(100);
if(Cmd==OP_BUYLIMIT)
   {PR=Ask-Point*h;
    if(TakeProfit>0) TP=PR+TakeProfit*Point;
    if(StopLoss>0) SL=PR-StopLoss*Point;
    if(Lot>0) LT=3*Lot;}
int tic1=OrderSend(Symbol(),Cmd,LT,PR,3,SL,TP,0,mag,0,CLR_NONE);
//-----------
if(tic1<0) Print(GetLastError());

if(tic1>0){
   bool b=0,s=0, //соответственно бай или селл  
bs=0,// если закрытие по стоплоссу ордера бай
ss=0,// если закрытие по стоплоссу ордера sell
bt=0,
st=0;//      то же по ТП
double bl=0,sl=0; // лоты соответсвенно для бай и селл
}
//-----------
return(tic1);}
 
FoxUA:

我是否正确地写了if(tic1>0)条件来检查订单是否打开,我需要将变量重置为零。

如果我没记错的话,这些变量已经在全局层面上被声明了......。

而你在函数中重新声明它们。

bool b=0,s=0, //соответственно бай или селл  
bs=0,// если закрытие по стоплоссу ордера бай
ss=0,// если закрытие по стоплоссу ордера sell
bt=0,
st=0;//      то же по ТП
double bl=0,sl=0; // лоты соответсвенно для бай и селл
它们将只在函数内部可见。当你退出函数时,它们的值会丢失,全局声明的值将保持不变。
也就是说,你在函数中声明了新的变量,但那些你想改变的变量仍然在函数之外。
从你上面的代码中删除bool和double。
 
artmedia70:
如果我没记错的话,这些变量已经被全局声明了......。

而你在函数中重新声明了它们。

它们将只在函数内部可见。当你退出函数时,它们的值会丢失,全局声明的值将保持不变。
也就是说,你在函数中声明了新的变量,但那些你想改变的变量仍然在函数之外。
从你上面的代码中删除bool和double。

我已经删除了它们,但我在编译时出现了很多错误

到这些变量。

',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (143, 4)
'=' - 预期的分配 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 2)
',' - 分号预期 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (143, 4)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (143, 4)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (143, 8)
'=' - 预期的分配 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 6)
',' - 分号预期 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (143, 8)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (143, 8)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (144, 5)
'=' - 预期的分配 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 3)
',' - 分号预期 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (144, 5)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (144, 5)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (145, 5)
'=' - 预期的分配 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 3)
',' - 分号预期 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (145, 5)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (145, 5)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (146, 5)
'=' - 预期的分配 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 3)
',' - 分号预期 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (146, 5)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (146, 5)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (148, 5)
'=' - 预期的分配 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 3)
',' - 分号预期 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (148, 5)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (148, 5)

 
FoxUA:

删除后,编译时出现了一堆错误

对这些变量

',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (143, 4)
'=' - 预期的分配 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 2)
',' - 分号预期 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (143, 4)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (143, 4)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (143, 8)
'=' - 预期的分配 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 6)
',' - 分号预期 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (143, 8)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (143, 8)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (144, 5)
'=' - 预期的分配 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 3)
',' - 分号预期 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (144, 5)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (144, 5)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (145, 5)
'=' - 预期的分配 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 3)
',' - 分号预期 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (145, 5)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (145, 5)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (146, 5)
'=' - 预期的分配 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 3)
',' - 分号预期 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (146, 5)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (146, 5)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (148, 5)
'=' - 预期的分配 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 3)
',' - 分号预期 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (148, 5)
',' - 意外的标记 C:\程序文件\Deltabank Trader 4\experts\test5.mq4 (148, 5)

你有没有在你的函数外全局地声明它们?是的,并且用逗号代替 当然,你没有把逗号改成分号......
 

公民们!

你能告诉我如何在专家顾问中访问图表窗口以外的数据吗?

问题是,例如,如果窗口中的最大条数 被设置为300,那么。

1.函数iBarShift("EURUSD",60,TimeBar,false) 顽固地不希望在 "TimeBar "的任何值上给出大于300的值。

2.iOpen("EURUSD",60,i) 如果i>300,就会出现零点。

等。

有什么办法可以克服这个问题吗?

 

请给我一个函数的代码,让我在盈亏平衡水平上设置一个止损,此时的利润将是20点。

提前感谢您的答复:)

原因: