[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 196 1...189190191192193194195196197198199200201202203...652 新评论 Alexander 2011.09.19 20:36 #1951 torah01: 购买 int start() { OrderSend(Symbol(),OP_BUYSTOP,0.01,Ask+20*Point,3,Bid)- 50*Point,Bid+50*Point); return(0); } 请帮助... 将+改为-。 检查你的止损和止盈,现在你的止损=70+点差,止盈=+30减去点差 Алексей Тарабанов 2011.09.19 20:45 #1952 TheXpert: 请不要在公共场合传播异端。去别的地方发呆吧,那里有很多东西可以玩...。 谢谢你,我正要来向你咨询。 Алексей Тарабанов 2011.09.19 21:16 #1953 NickXXX: 1.那么在这里,double只被应用于添加分钟和小时。这样,参考点就可以被指定为HH。MM(如16. 23)。 2.看了最后几页,当然也有关于日期时间的,但不完全相同。他们只是以HH.MM格式输出最后一个订单的时间。 不是一个好的搜索。第190页,发布时间18.09.2011 23:03 Алексей Тарабанов 2011.09.19 21:26 #1954 nemo811:你好。请帮助我纠正代码。下面的两行都有故障。提前感谢。 该方案本身。 如果(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true) MODE_HISTORY会更有意义 [删除] 2011.09.19 21:31 #1955 tara: < 0.6,或类似的情况。除法的余数总是小于1 :) 为什么?)12除以 10的余数=2。 NickXXX: 如果有很多这样的变数怎么办?这是不是太糟糕了,还是会有效果?还有一个小问题,如果说我为一个条件的执行设置了一个时间间隔(例如16.00-16.03)。如何使它只执行一次,尽管有新的蜱虫到来?这很有效。要想只做一次,可以输入一个额外的服务变量,像这样bool flag=true; int start() { if (ваше уловие по времени && flag) { тра-та-та flag=false; } } Алексей Тарабанов 2011.09.19 21:41 #1956 Figar0: 为什么?)12的余数除以10=2。这将发挥作用。而要做一次,就要输入一个额外的服务变量,像这样。 是的,它有点小故障 :) [Deleted] 2011.09.19 22:24 #1957 tara: 如果(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true) MODE_HISTORY会更有意义。 我非常同意。到了晚上,我的大脑就会变慢。 然而,即使是这样的修正,我也注意到,当你重新声明int MAGIC;变量时,脚本中的上述故障(魔法变量和数字之间的混淆)就会发生(这个魔法正是由于某种原因被锁定的)。如果你去掉int MAGIC;(extern int MAGIC = 1; remains),一切都像时钟一样工作。 一个合乎逻辑的问题,为什么我需要它?你可以删除MAGIC;并在平静中生活。BUT。 我需要把这段代码放到一个库里。但如果我不定义int MAGIC,就会出现错误。 这就是我认为我应该做的。这一切都能在我的专家顾问中发挥作用吗?为什么这个int MAGIC;? 下面的脚本。 extern int MAGIC = 1; //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { //---- int OrdTicket=OrdTicket_b(); Alert (OrdTicket); //---- return(0); } //+------------------------------------------------------------------+ int OrdTicket_b() { string SMB=Symbol(); int OrdTicket; int i; for(i=0;i<OrdersTotal();i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true) { if(OrderSymbol()==SMB) { if(OrderMagicNumber()==MAGIC || OrderMagicNumber()==777) { if(OrderType()==OP_BUY || OrderType()==OP_SELL) { OrdTicket=OrderTicket(); } } } } } return(OrdTicket); FxMtS 2011.09.19 22:55 #1958 mt-4终端中的邮件服务器设置保存在哪个文件夹中? [删除] 2011.09.20 01:29 #1959 同志们,请帮助...我写了一个简单的代码,但在编译时,它说括号不平衡,但我已经数了300次了--一切都到位了 这个想法非常简单--如果MACD在7分钟内一直在0以上(或以下),则开仓。 //+------------------------------------------------------------------+ //|MACD ^^^.mq4| //| Copyright © 2011, MetaQuotes Software Corp. //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright"Copyright © 2011, MetaQuotes Software Corp. #属性链接 "http://www.metaquotes.net" 外部int TP = 100。 外来的int TS = 100。 外来的双倍lot = 0.1。 int slip = 3; int Magic = 1; //+------------------------------------------------------------------+ //|专家初始化功能 | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //|专家去初始化功能| //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //|专家启动功能| //+------------------------------------------------------------------+ int start() { //---- int total,ticket; //declared total and ticket int signal = signal_MACD(); // signal_MACD将值传递给信号 AnalyzeSignal(signal); //分析信号 int MACD[8] = {0,1,2,3,4,5,6,7}; //创建一个一维MACD阵列 MACD[0] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE, MODE_MAIN,7) MACD[1] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,6)。 MACD[2] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE, MODE_MAIN,5)。 MACD[3] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,4)。 MACD[4] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,3) 。 MACD[5] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,2)。 MACD[6] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,1)。 MACD[7] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,0) 。 total = OrdersTotal(); //总的订单数。 int signal_MACD() //计算MACD信号 { if(total<1) //如果订单少于1,考虑条件。 { 如果(MACD[0]<0) { 如果(MACD[1]>0) { 如果(MACD[2]>0) { { 如果(MACD[3]>0) { { 如果(MACD[4]>0) { { 如果(MACD[5]>0) { { 如果(MACD[6]>0) { { 如果(MACD[7]<0) { 返回(-100)。 } } } } } } } } 如果(MACD[0]>0) { 如果(MACD[1]<0) { 如果(MACD[2]<0) { { 如果(MACD[3]<0) { { 如果(MACD[4]<0) { { 如果(MACD[5]<0) { { 如果(MACD[6]<0) { 如果(MACD[7]>0) { return(100); } } } } } } } } } } 空白分析信号(int signal)。 { 如果(signal == 100) { ticket = OrderSend(Symbol(),OP_BUY,Ask,slip,Bid-TS*Point,Bid+TP*Point, "buy",Magic,0,Green); 如果(ticket>0) { OrderSelect(ticket,SELECT_BY_TICKET;) Print("open for Buy at price:" OrderOpenPrice())。 } 否则 { Print("open failed due to:" GetLastError())。 return(0); } } 如果(signal == -100) { ticket = OrderSend(Symbol(),OP_SELL,Bid,slip,Ask+TS*Point,Ask-TP*Point, "Sell",Magic,0,Green); 如果(ticket>0) { OrderSelect(ticket,SELECT_BY_TICKET)。 Print("open for sale at price:" OrderOpenPrice())。 } 否则 { Print("open failed due to:" GetLastError())。 return(0); } } } //---- return(0); } //+------------------------------------------------------------------+ [ARCHIVE] Any rookie question, Need Help again... [存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. [删除] 2011.09.20 01:30 #1960 p.s. 你是如何把剧本画得像你这么漂亮的? 1...189190191192193194195196197198199200201202203...652 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
购买
int start()
{
OrderSend(Symbol(),OP_BUYSTOP,0.01,Ask+20*Point,3,Bid)- 50*Point,Bid+50*Point);
return(0);
}
请帮助...
请不要在公共场合传播异端。去别的地方发呆吧,那里有很多东西可以玩...。
谢谢你,我正要来向你咨询。
1.那么在这里,double只被应用于添加分钟和小时。这样,参考点就可以被指定为HH。MM(如16. 23)。
2.看了最后几页,当然也有关于日期时间的,但不完全相同。他们只是以HH.MM格式输出最后一个订单的时间。
不是一个好的搜索。第190页,发布时间18.09.2011 23:03
你好。
请帮助我纠正代码。
下面的两行都有故障。
提前感谢。
该方案本身。
如果(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true)
MODE_HISTORY会更有意义
< 0.6,或类似的情况。除法的余数总是小于1 :)
为什么?)12除以 10的余数=2。
如果有很多这样的变数怎么办?
这是不是太糟糕了,还是会有效果?
还有一个小问题,如果说我为一个条件的执行设置了一个时间间隔(例如16.00-16.03)。如何使它只执行一次,尽管有新的蜱虫到来?
这很有效。要想只做一次,可以输入一个额外的服务变量,像这样
为什么?)12的余数除以10=2。
这将发挥作用。而要做一次,就要输入一个额外的服务变量,像这样。
是的,它有点小故障 :)
如果(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true)
MODE_HISTORY会更有意义。
我非常同意。到了晚上,我的大脑就会变慢。
然而,即使是这样的修正,我也注意到,当你重新声明int MAGIC;变量时,脚本中的上述故障(魔法变量和数字之间的混淆)就会发生(这个魔法正是由于某种原因被锁定的)。如果你去掉int MAGIC;(extern int MAGIC = 1; remains),一切都像时钟一样工作。
一个合乎逻辑的问题,为什么我需要它?你可以删除MAGIC;并在平静中生活。BUT。
我需要把这段代码放到一个库里。但如果我不定义int MAGIC,就会出现错误。
这就是我认为我应该做的。这一切都能在我的专家顾问中发挥作用吗?为什么这个int MAGIC;?
下面的脚本。
同志们,请帮助...我写了一个简单的代码,但在编译时,它说括号不平衡,但我已经数了300次了--一切都到位了
这个想法非常简单--如果MACD在7分钟内一直在0以上(或以下),则开仓。
//+------------------------------------------------------------------+
//|MACD ^^^.mq4|
//| Copyright © 2011, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright"Copyright © 2011, MetaQuotes Software Corp.
#属性链接 "http://www.metaquotes.net"
外部int TP = 100。
外来的int TS = 100。
外来的双倍lot = 0.1。
int slip = 3;
int Magic = 1;
//+------------------------------------------------------------------+
//|专家初始化功能 |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|专家去初始化功能|
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|专家启动功能|
//+------------------------------------------------------------------+
int start()
{
//----
int total,ticket; //declared total and ticket
int signal = signal_MACD(); // signal_MACD将值传递给信号
AnalyzeSignal(signal); //分析信号
int MACD[8] = {0,1,2,3,4,5,6,7}; //创建一个一维MACD阵列
MACD[0] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE, MODE_MAIN,7)
MACD[1] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,6)。
MACD[2] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE, MODE_MAIN,5)。
MACD[3] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,4)。
MACD[4] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,3) 。
MACD[5] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,2)。
MACD[6] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,1)。
MACD[7] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,0) 。
total = OrdersTotal(); //总的订单数。
int signal_MACD() //计算MACD信号
{
if(total<1) //如果订单少于1,考虑条件。
{
如果(MACD[0]<0)
{
如果(MACD[1]>0)
{
如果(MACD[2]>0)
{
{ 如果(MACD[3]>0)
{
{ 如果(MACD[4]>0)
{
{ 如果(MACD[5]>0)
{
{ 如果(MACD[6]>0)
{
{ 如果(MACD[7]<0)
{
返回(-100)。
}
}
}
}
}
}
}
}
如果(MACD[0]>0)
{
如果(MACD[1]<0)
{
如果(MACD[2]<0)
{
{ 如果(MACD[3]<0)
{
{ 如果(MACD[4]<0)
{
{ 如果(MACD[5]<0)
{
{ 如果(MACD[6]<0)
{
如果(MACD[7]>0)
{
return(100);
}
}
}
}
}
}
}
}
}
}
空白分析信号(int signal)。
{
如果(signal == 100)
{
ticket = OrderSend(Symbol(),OP_BUY,Ask,slip,Bid-TS*Point,Bid+TP*Point, "buy",Magic,0,Green);
如果(ticket>0)
{
OrderSelect(ticket,SELECT_BY_TICKET;)
Print("open for Buy at price:" OrderOpenPrice())。
}
否则
{
Print("open failed due to:" GetLastError())。
return(0);
}
}
如果(signal == -100)
{
ticket = OrderSend(Symbol(),OP_SELL,Bid,slip,Ask+TS*Point,Ask-TP*Point, "Sell",Magic,0,Green);
如果(ticket>0)
{
OrderSelect(ticket,SELECT_BY_TICKET)。
Print("open for sale at price:" OrderOpenPrice())。
}
否则
{
Print("open failed due to:" GetLastError())。
return(0);
}
}
}
//----
return(0);
}
//+------------------------------------------------------------------+