externint stArt = 11;
externint stOpen = 19;
------------------------------
int start()
{
int h = TimeHour(TimeCurrent());
------------------------------
if((stArt < stOpen && h >= stArt && h < stOpen) || (stArt >= stOpen && (h >= stArt || h < stOpen)))//условие входа//для выключения действия условия поставь любое значение, одинаковое для переменных. //Экономит число перестановок,значит и время при оптимизации!
文档和MQL教科书就像圣经和MQL教科书。
想一想选择哪种阅读和研究--主要文献或作者的解释?
事情是这样的,我已经阅读了教科书(5或6遍,并为自己做了笔记),以及文档本身(至少3遍),并做了一些脚本和指标....。我现在问的那些问题算是对剩余的误解点的 "擦拭"。这就是我 "恼人 "的重复问题的理由......我不想留下任何黑洞...。
MQL是我的第一门语言(除了俄语和乌克兰语),所以,不幸的是,没有办法 "掌握 "该文件))
想一想--MQL是少数几种最初由以俄罗斯语言和心态为母语的人编写的编程语言之一。而不是像大多数编程语言那样的翻译。所以要理解它的本质其实并不难。而且,它非常、非常容易,完全适合 "第一语言 "的角色。如果文档对你来说太过沉重,你可以从教程中继续学习(互联网上有很多这样的教程)。 但请记住,对任何事物的解释都涉及解释者的眼光和方法。我强烈建议你研究一下文件,你需要像了解乘法表一样了解它。你无论如何都会到达那里,所以为什么要走迂回的路。
大家好!
我刚刚开始学习MQL(请不要太严厉地评判)。
我有一个来自MQL4教程的问题。
我已经开始了这个项目,而且它还在工作。
我不明白,如果循环运算符"for(int i=20; i<=90; i=i+10) "从20开始计数,"for(int j=1; j<=9; j++) "从1到9开始计数,程序如何从10计数到19。
请解释。
一段时间后,订单自行关闭怎么办????
是的,如果Kolya叔叔在这里....
double valHigh = iHigh(Symbol(),PERIOD_H1,1);
double valLow = iLow(Symbol(),PERIOD_H1,1);
它不起作用,不同的时间段有不同的数据,你需要最后一个小时的数据:(
它不工作,在不同的时间段有不同的数据,而我需要的是最后一小时的数据 :(
你看了这个功能吗?
完全是这样:)
谢谢
谢谢你!!!。
您是否知道可以设置交易时间的功能,即EA只在11:00至19:00之间进行交易,19:00之后就会平仓或设置止损,直到第二天早上09:00才开仓。
谢谢你
好运!不客气!我不使用开放时间 功能。这是一个更好的优化选择。
请告诉我,当我重做水平线 的代码时,我错过了什么?
int start()
{
bool fm=false;
int GLE=0;
double SvojstvoUP=111,SvojstvoDOWN=111,SvojstvoAM=TimeLocal()-4*60*60,SvojstvoPM=0;
fm=ObjectCreate("UP_LEVEL",OBJ_HLINE,0,Time[0],Bid+111*Point);
if(fm==0 || fm==-1)
fm=ObjectSet("UP_LEVEL",OBJPROP_COLOR,Green);
if(fm==0 || fm==-1)
fm=ObjectSet("UP_LEVEL",OBJPROP_WIDTH,5);
if(fm==0 || fm==-1)
SvojstvoUP=ObjectGet("UP_LEVEL",OBJPROP_PRICE1);
if(SvojstvoUP==111)
if(SvojstvoUP!=Bid+111*Point){
fm=ObjectSet("UP_LEVEL",OBJPROP_PRICE1,Bid+111*Point);
if(fm==0 || fm==-1)
return(0);}
fm=ObjectCreate("DOWN_LEVEL",OBJ_HLINE,0,0,Bid-111*Point);
if(fm==0 || fm==-1)
fm=ObjectSet("DOWN_LEVEL",OBJPROP_COLOR,Red);
if(fm==0 || fm==-1)
fm=ObjectSet("DOWN_LEVEL",OBJPROP_WIDTH,1);
if(fm==0 || fm==-1)
SvojstvoDOWN=ObjectGet("DOWN_LEVEL",OBJPROP_PRICE1);
if(SvojstvoDOWN==111)
if(SvojstvoDOWN!=Bid-111*Point){
fm=ObjectSet("DOWN_LEVEL",OBJPROP_PRICE1,Bid-111*Point);
if(fm==0 || fm==-1)
return(0);}
进入垂直线的代码。
fm=ObjectCreate("AM_LEVEL",OBJ_VLINE,0,TimeLocal()-4*60*60,0);
if(fm==0 || fm==-1)
fm=ObjectSet("AM_LEVEL",OBJPROP_COLOR,Yellow);
if(fm==0 || fm==-1)
fm=ObjectSet("AM_LEVEL",OBJPROP_WIDTH,1);
if(fm==0 || fm==-1)
SvojstvoAM=ObjectGet("AM_LEVEL",OBJPROP_PRICE1);
if(SvojstvoAM==TimeLocal()-4*60*60)
if(SvojstvoAM!=TimeLocal()-4*60*60){
fm=ObjectSet("AM_LEVEL",OBJPROP_PRICE1,TimeLocal()-4*60*60);
if(fm==0 || fm==-1)
return(0);}
fm=ObjectCreate("PM_LEVEL",OBJ_VLINE,0,Time[0],0);
if(fm==0 || fm==-1)
fm=ObjectSet("PM_LEVEL",OBJPROP_COLOR,Black);
if(fm==0 || fm==-1)
fm=ObjectSet("PM_LEVEL",OBJPROP_WIDTH,1);
if(fm==0 || fm==-1)
SvojstvoPM=ObjectGet("PM_LEVEL",OBJPROP_PRICE1);
if(SvojstvoPM==0)
if(SvojstvoPM!=Time[0]){
fm=ObjectSet("PM_LEVEL",OBJPROP_PRICE1,Time[0]);
if(fm==0 || fm==-1)
return(0);}
return(0);
}
如果没有线,就会正常绘制,第二部分的错误当。当他们开始检查他们的存在,如果他们不在原位,就重新安排。