如何编码? - 页 60 1...535455565758596061626364656667...347 新评论 fracte 2007.12.22 10:30 #591 谢谢Kalenzo。 我试着用OP_BUYLIMIT,但它不起作用。 我将尝试用OP_BUYSTOP。 MrM 2007.12.25 18:06 #592 快速编码问题 如何在屏幕上的(所有收盘价的)平均值处放一条横线?有什么具体的代码吗? jjk2 2007.12.26 07:31 #593 简单的突破性EA //+------------------------------------------------------------------+ //| SimpleBreakoutEA.mq4 | //| | //| | //+------------------------------------------------------------------+ #property copyright "jjk2" #property link "" //---- input parameters extern int ____TIME_RANGE____; extern int TimeRange = 1; // # of Hours to look back from TimeEnd. ex) if breakout is @ 22:00 GMT to 23:00 GMT. Total TimeRange to lookback is 8 hrs. extern int TimeBegin = 22; extern int TimeEnd = 23; extern int CancelTime = 20; // ALL REMAINING ORDERS WILL BE CANCELED AT THIS INDICATED TIME. extern int ______FILTERS______; extern int TriggerFilter = 0; extern bool AllowBreakEven = True; extern int ______ORDERS______; extern double Lots = 0.1; extern int StopLoss = 50; extern int TakeProfit = 100; extern int Slippage = 2; extern int MagicNumber = 23423; int init() { return(0); } int deinit() { return(0); } int start() { // OPEN ORDERS @ HIGH/LOW from TIMEBEGIN to TimeEND if (Hour() >= TimeBegin-1 && Hour() >= TimeEnd) { int HH = iHighest(NULL, 0, MODE_HIGH,TimeRange,0); int LL = iLowest(NULL, 0, MODE_LOW,TimeRange,0); } double SL_High = Ask - (StopLoss * Point); double SL_Low = Bid + (StopLoss*Point); double TP_High = Ask + (TakeProfit*Point); double TP_Low = Bid - (TakeProfit*Point); if ( Ask > HH + TriggerFilter) OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, SL_High, TP_High, "Breakout Buy", MagicNumber, NULL, Blue); if ( Bid < LL + TriggerFilter) OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, SL_Low, TP_Low, "Breakout Sell", MagicNumber, NULL, Red); // MOVE SL @ BreakEven if allowed. MarketPrice distance Open Price > stop*point, then stop must equal to MarketPrice - Stop*point as new stoploss. int total = 0; if ( AllowBreakEven == True ) { for(total = OrdersTotal() - 1; total >= 0; total--) { OrderSelect(total, SELECT_BY_POS); if ( Bid - OrderOpenPrice() > SL_High*Point ) OrderModify(OrderTicket(), OrderOpenPrice(), Bid - SL_High*Point, OrderTakeProfit(),0, CLR_NONE); if ( OrderOpenPrice() - Ask > SL_Low*Point ) OrderModify(OrderTicket(), OrderOpenPrice(), Ask + SL_Low*Point , OrderTakeProfit(),0, CLR_NONE); } } return(0); } //+------------------------------------------------------------------+ 由于某些原因,它不能工作....,有谁知道为什么? How to code? Ojala EA 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 Beno 2007.12.27 19:18 #594 ericlooi 2007.12.28 18:44 #595 如何将指标转为EA? 你好,我想知道如何将一个指标变成EA? 许多指标在某些条件下有箭头标志,我想用EA来测试它们。 我想让EA根据箭头形成的情况来进行交易。 有人能帮助我吗?谢谢。 Sergey Golubev 2007.12.28 19:01 #596 这个是根据箭头标志的 https://www.mql5.com/en/forum/173249/page51 ericlooi 2007.12.29 03:24 #597 把附件中的指标变成EA呢? 谁能帮帮我?谢谢。 [删除] 2007.12.29 07:01 #598 附加的文件: envelopes.mq4 3 kb Ingvar Engelbrecht 2007.12.29 11:07 #599 代码结构 你好。 我是Metatrader的新手,但在编程方面非常有经验。我已经在MT中创建了一些专家顾问的样本和一些稍微复杂的指标。不清楚的是如何构建一个相当复杂的EA。我想让EA调用一些 "信号 "函数来检查不同的设置条件。 我应该如何编码这些函数? 1.作为EA中的 "内联 "函数 2.2.作为 "独立 "的指标,返回一个值,而不是写在屏幕上? 3.调用一些其他的 "独立 "函数,如调用iMA。 如果我选择替代方案1,EA中的内联函数是否可以使用Close运行最后200个条形图并调用iMA? 替代方案2可以吗?当对指标进行编码时,所有 "可用 "的条形图都会被处理,当然这对EA来说是不需要的。 替代方案3对我来说似乎是合乎逻辑的选择,但我不确定如何构建它,以便在回溯测试 中发挥作用,以及我需要传递给它什么,该函数默认可以访问什么,例如Close。 举个例子,我需要在 "信号 "函数中确定的是当前的趋势是什么,何时开始的。我已经在一个指标中进行了编码,所以我知道如何进行实际的编码。 希望得到任何建议。 英瓦尔 wolfe 2007.12.29 19:01 #600 ingvar_e: 你好。 我是Metatrader的新手,但在编程方面非常有经验。我已经在MT中创建了一些专家顾问的样本和一些稍微复杂的指标。不清楚的是如何构建一个相当复杂的EA。我想让EA调用一些 "信号 "函数来检查不同的设置条件。我应该如何编码这些函数?1.作为EA中的 "内联 "函数2.2.作为 "独立 "的指标,返回一个值,而不是写在屏幕上?3.调用一些其他的 "独立 "函数,如调用iMA。如果我选择替代方案1,EA中的内联函数是否可以使用Close运行最后200个条形图并调用iMA?替代方案2可以吗?当对指标进行编码时,所有 "可用 "的条形图都会被处理,当然这对EA来说是不需要的。替代方案3对我来说似乎是合乎逻辑的选择,但我不确定如何构建它,以便在回溯测试中发挥作用,以及我需要传递给它什么,该函数默认可以访问什么,例如Close。举个例子,我需要在 "信号 "函数中确定的是当前的趋势是什么,何时开始的。我已经在一个指标中进行了编码,所以我知道如何进行实际的编码。希望得到任何建议。 英华 你可能已经知道怎么做了,所以如果你知道的话,请原谅。 当前 条形图的移动平均线。 iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0)。 200条之前 的移动平均线。 iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,200)。 你可以从你想要的任何条形的当前条形到过去的任何条形中调用移动平均线。 1...535455565758596061626364656667...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谢谢Kalenzo。
我试着用OP_BUYLIMIT,但它不起作用。
我将尝试用OP_BUYSTOP。
快速编码问题
如何在屏幕上的(所有收盘价的)平均值处放一条横线?有什么具体的代码吗?
简单的突破性EA
//| SimpleBreakoutEA.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright "jjk2"
#property link ""
//---- input parameters
extern int ____TIME_RANGE____;
extern int TimeRange = 1; // # of Hours to look back from TimeEnd. ex) if breakout is @ 22:00 GMT to 23:00 GMT. Total TimeRange to lookback is 8 hrs.
extern int TimeBegin = 22;
extern int TimeEnd = 23;
extern int CancelTime = 20; // ALL REMAINING ORDERS WILL BE CANCELED AT THIS INDICATED TIME.
extern int ______FILTERS______;
extern int TriggerFilter = 0;
extern bool AllowBreakEven = True;
extern int ______ORDERS______;
extern double Lots = 0.1;
extern int StopLoss = 50;
extern int TakeProfit = 100;
extern int Slippage = 2;
extern int MagicNumber = 23423;
int init()
{
return(0);
}
int deinit()
{
return(0);
}
int start()
{
// OPEN ORDERS @ HIGH/LOW from TIMEBEGIN to TimeEND
if (Hour() >= TimeBegin-1 && Hour() >= TimeEnd)
{
int HH = iHighest(NULL, 0, MODE_HIGH,TimeRange,0);
int LL = iLowest(NULL, 0, MODE_LOW,TimeRange,0);
}
double SL_High = Ask - (StopLoss * Point);
double SL_Low = Bid + (StopLoss*Point);
double TP_High = Ask + (TakeProfit*Point);
double TP_Low = Bid - (TakeProfit*Point);
if ( Ask > HH + TriggerFilter) OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, SL_High, TP_High, "Breakout Buy", MagicNumber, NULL, Blue);
if ( Bid < LL + TriggerFilter) OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, SL_Low, TP_Low, "Breakout Sell", MagicNumber, NULL, Red);
// MOVE SL @ BreakEven if allowed. MarketPrice distance Open Price > stop*point, then stop must equal to MarketPrice - Stop*point as new stoploss.
int total = 0;
if ( AllowBreakEven == True )
{
for(total = OrdersTotal() - 1; total >= 0; total--)
{
OrderSelect(total, SELECT_BY_POS);
if ( Bid - OrderOpenPrice() > SL_High*Point )
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - SL_High*Point, OrderTakeProfit(),0, CLR_NONE);
if ( OrderOpenPrice() - Ask > SL_Low*Point )
OrderModify(OrderTicket(), OrderOpenPrice(), Ask + SL_Low*Point , OrderTakeProfit(),0, CLR_NONE);
}
}
return(0);
}
//+------------------------------------------------------------------+由于某些原因,它不能工作....,有谁知道为什么?
如何将指标转为EA?
你好,我想知道如何将一个指标变成EA?
许多指标在某些条件下有箭头标志,我想用EA来测试它们。
我想让EA根据箭头形成的情况来进行交易。
有人能帮助我吗?谢谢。
这个是根据箭头标志的
https://www.mql5.com/en/forum/173249/page51
把附件中的指标变成EA呢?
谁能帮帮我?谢谢。
代码结构
你好。
我是Metatrader的新手,但在编程方面非常有经验。我已经在MT中创建了一些专家顾问的样本和一些稍微复杂的指标。不清楚的是如何构建一个相当复杂的EA。我想让EA调用一些 "信号 "函数来检查不同的设置条件。
我应该如何编码这些函数?
1.作为EA中的 "内联 "函数
2.2.作为 "独立 "的指标,返回一个值,而不是写在屏幕上?
3.调用一些其他的 "独立 "函数,如调用iMA。
如果我选择替代方案1,EA中的内联函数是否可以使用Close运行最后200个条形图并调用iMA?
替代方案2可以吗?当对指标进行编码时,所有 "可用 "的条形图都会被处理,当然这对EA来说是不需要的。
替代方案3对我来说似乎是合乎逻辑的选择,但我不确定如何构建它,以便在回溯测试 中发挥作用,以及我需要传递给它什么,该函数默认可以访问什么,例如Close。
举个例子,我需要在 "信号 "函数中确定的是当前的趋势是什么,何时开始的。我已经在一个指标中进行了编码,所以我知道如何进行实际的编码。
希望得到任何建议。
英瓦尔
你好。
我是Metatrader的新手,但在编程方面非常有经验。我已经在MT中创建了一些专家顾问的样本和一些稍微复杂的指标。不清楚的是如何构建一个相当复杂的EA。我想让EA调用一些 "信号 "函数来检查不同的设置条件。
我应该如何编码这些函数?
1.作为EA中的 "内联 "函数
2.2.作为 "独立 "的指标,返回一个值,而不是写在屏幕上?
3.调用一些其他的 "独立 "函数,如调用iMA。
如果我选择替代方案1,EA中的内联函数是否可以使用Close运行最后200个条形图并调用iMA?
替代方案2可以吗?当对指标进行编码时,所有 "可用 "的条形图都会被处理,当然这对EA来说是不需要的。
替代方案3对我来说似乎是合乎逻辑的选择,但我不确定如何构建它,以便在回溯测试中发挥作用,以及我需要传递给它什么,该函数默认可以访问什么,例如Close。
举个例子,我需要在 "信号 "函数中确定的是当前的趋势是什么,何时开始的。我已经在一个指标中进行了编码,所以我知道如何进行实际的编码。
希望得到任何建议。
英华你可能已经知道怎么做了,所以如果你知道的话,请原谅。
当前 条形图的移动平均线。
iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0)。
200条之前 的移动平均线。
iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,200)。
你可以从你想要的任何条形的当前条形到过去的任何条形中调用移动平均线。