编码帮助 - 页 246 1...239240241242243244245246247248249250251252253...786 新评论 Mladen Rakic 2014.03.17 22:18 #2451 macerina: 谢谢Mladen的代码...这是否像您在前面的逻辑中解释的那样,有双macd的比较和50的交叉。 提前感谢 马塞里纳 不同的是,在Aspen图形版本中,次级进场信号是rsi和其信号线 的交叉,而在metatrader版本中,次级信号是rsi和50线的交叉。Macd部分是一样的(你应该采取封闭的信号--在aspen图形版本中是这样做的)。 macerina 2014.03.17 23:45 #2452 谢谢你的信息mladen ......是否可以在同一个指标中设置选择50线交叉和信号线 交叉的选项......。 谢谢 SuLaimon 2014.03.18 12:29 #2453 mladen: sulaimoney 这些程序都是正常的。附上一个简单的指标,当调用这两个程序后,显示一切正常。检查代码的其他部分,因为错误不在这两个程序中。 你好,Mladen 我已经检查了 代码,发现了一些错误,我已经替换了。 现在我试图使用以下值 double lastorderprice = 0。 和 int bscount = 0。 作为全局范围内的变量,这样它们就可以被调用,例如 void NewOrder() // OnEveryTick void LastBuySellOrder() // 循环查看所有未平仓的订单以选择最后的订单(买入/卖出) OnEveryTick { double lastorderprice = 0; datetime lastTime = 0; datetime closeTime = 0; int lastTicket = -1; // 无开放。 for (int i=OrdersTotal()-1; i >= 0; i--) if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { 如果(OrderSymbol() == Symbol() && OrderMagicNumber() == OrderId &&( OrderType() == OP_BUY || OrderType() == OP_SELL ) && OrderOpenTime() >= lastTime && OrderCloseTime() == closeTime && OrderTicket() > lastTicket ) { lastTime = OrderOpenTime(); lastorderprice = OrderOpenPrice(); closeTime = OrderCloseTime(); LastTicket = OrderTicket()。 } return(lastTicket)。 } 否则 Print("OrderSelect()错误 - ", ErrorDescription(GetLastError()))。 } void PendingStopOrderCount() { int bscount = 0。 for (int i=OrdersTotal()-1; i >= 0; i--) 如果(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) { 如果(OrderSymbol() == Symbol() 如果(OrderMagicNumber() == OrderId) 如果(OrderType() == OP_BUYSTOP ) { bscount++; } } 否则 { Print("OrderSend() error - ", ErrorDescription(GetLastError()))。 } } // 如果存在OpBuy或OpSell void NewOrder() { 如果(bscount==0) { BuyStopPending()。 } } Coding help 如何编码? 初学者的问题 MQL5 MT5 MetaTrader [删除] 2014.03.18 12:32 #2454 HI 这个指标是重绘的吗?如果是的话,什么时候回调多少条? xps_v8_oscillator.ex4xps_v8_oscillator.mq4 附加的文件: xps_v8_oscillator.ex4 6 kb xps_v8_oscillator.mq4 11 kb Mladen Rakic 2014.03.18 12:39 #2455 toldmikl: HI这个指标是重绘的吗?如果是的话,什么时候回调多少条? xps_v8_oscillator.ex4xps_v8_oscillator.mq4 是的,它是一个太阳风指标,周期根据时间框架自动设置。 1分钟:周期=2880 5分钟:周期=576 15分钟:周期=192 30分钟:周期=96 1小时及以上:周期=48 [删除] 2014.03.18 13:22 #2456 好的,但我在离线图表M2上使用这个:S所以它不是正常的时间框架 Mladen Rakic 2014.03.18 13:28 #2457 toldmikl: 好吧,但我在离线图表M2上使用这个:S 所以它不是正常的时间框架。 试试吧,你自己就知道了(使用自动刷新之类的东西来强制指标刷新所有的条形图,或者干脆,当有足够多的新条形图出现时,进入参数,不要改变任何东西,点击确定)。请注意,当趋势发生变化时,它将做什么。 这比我试图解释太阳风代码中的问题并说服任何人要好。 [删除] 2014.03.18 13:43 #2458 我不能改变周期,只能看到源代码,这就是它。 #属性 indicator_separate_window #属性 indicator_minimum 0 #属性 indicator_maximum 1 #属性 indicator_buffers 3 #属性 indicator_color2 C'72,49,255'. #属性 indicator_color3 C'255,49,72'. #属性 indicator_width2 6 #属性 indicator_width3 6 int period; 外部的bool alarm=false。 double ExtBuffer0[]; double ExtBuffer1[]; double ExtBuffer2[]; double alertBar; double last; int init() { //----------------------------- switch ( Period() ) { case 1: period = 2880;break; case 5: period = 576;break; case 15: period = 192;break; case 30: period = 96;break; case 60: period = 48;break; case 240: period = 48;break; case 1440: period = 48;break; case 10080:period = 48;break; 默认情况:周期=48;break。 } //----------------------------- SetIndexStyle(0,DRAW_NONE); SetIndexStyle(1,DRAW_HISTOGRAM); SetIndexStyle(2,DRAW_HISTOGRAM); IndicatorDigits(Digits+1); SetIndexBuffer(0,ExtBuffer0); SetIndexBuffer(1,ExtBuffer1); SetIndexBuffer(2,ExtBuffer2)。 IndicatorShortName("");//X :-)")。 SetIndexLabel(0, NULL); SetIndexLabel(1, NULL); SetIndexLabel(2, NULL)。 返回(0)。 } int deinit() { //---- ObjectDelete("XPS"); ObjectDelete("XPS2"); ObjectDelete("XPS3")。 //---- return(0); } int start() { int limit; int counted_bars=IndicatorCounted(); double prev,current,old; double Value=0,Value1=0,Value2=0,Fish=0,Fish1=0,Fish2=0; 双重价格。 double MinL=0; double MaxH=0。 如果(counted_bars>0) counted_bars--。 limit=Bars-counted_bars; for(int i=0; i<limit; i++) { MaxH = High; MinL = Low[Lowest(NULL,0,MODE_LOW,period,i)] 。 价格=(High+Low)/2。 Value = 0.33*2*((price-MinL)/(MaxH-MinL)-0.5) + 0.67*Value1; Value=MathMin(MathMax(Value,-0.999),0.999)。 ExtBuffer0=0.5*MathLog((1+Value)/(1-Value))+0.5*Fish1。 Value1=Value。 Fish1=ExtBuffer0; } bool up = TRUE; for(i=limit-2; i>=0; i--) { current=ExtBuffer0; prev=ExtBuffer0; 如果((current0))|(current<0)) up= false。 如果((current>0)&&(prev0))up= true。 if(!up) { ExtBuffer2=1。 ExtBuffer1=0。 如果(alarm && i==0 && last != 2 && ExtBuffer1 == 0 && Bars>alertBar) { Alert("OSC...可能的趋势是在",Period()," ",Symbol()上下降。) alertBar = Bars;last = 2; } } 否则 { ExtBuffer1=1。 ExtBuffer2=0。 if (alarm && i==0 && last != 1 && ExtBuffer2 == 0 && Bars>alertBar) { Alert("OSC...可能的趋势是在",Period()," ",Symbol()上上升。) alertBar = Bars; last = 1; } } }//结束循环 ObjectDelete("XPS")。 ObjectCreate("XPS",OBJ_LABEL, 2, 0, 0); ObjectSetText("XPS","!XPS v8", 28, "Arial Black", C'46,46,46')。 ObjectSet("XPS", OBJPROP_CORNER, 2); ObjectSet("XPS", OBJPROP_BACK, 0); ObjectSet("XPS", OBJPROP_XDISTANCE, 6); ObjectSet("XPS", OBJPROP_YDISTANCE, 8); ObjectDelete("XPS2")。 ObjectCreate("XPS2", OBJ_LABEL, 2, 0, 0); ObjectSetText("XPS2","!XPS v8", 28, "Arial Black", Silver)。 ObjectSet("XPS2", OBJPROP_CORNER, 2); ObjectSet("XPS2", OBJPROP_BACK, 0); ObjectSet("XPS2", OBJPROP_XDISTANCE, 4); ObjectSet("XPS2", OBJPROP_YDISTANCE, 10); ObjectDelete("XPS3")。 ObjectCreate("XPS3", OBJ_LABEL, 2, 0, 0); ObjectSetText("XPS3", "Trade like a BOSS", 9, "Arial Black", Silver); ObjectSet("XPS3", OBJPROP_CORNER, 2); ObjectSet("XPS3", OBJPROP_BACK, 0); ObjectSet("XPS3", OBJPROP_XDISTANCE, 7); ObjectSet("XPS3", OBJPROP_YDISTANCE, 3); return(0); } 所以呢? Coding help 习俗 Icustom Mladen Rakic 2014.03.18 13:47 #2459 toldmikl: 我不能改变周期,只能看到源代码,这就是它。#属性 indicator_separate_window #属性 indicator_minimum 0 #属性 indicator_maximum 1 #属性 indicator_buffers 3 #属性 indicator_color2 C'72,49,255'. #属性 indicator_color3 C'255,49,72'. #属性 indicator_width2 6 #属性 indicator_width3 6 int period; 外部的bool alarm=false。 double ExtBuffer0[]; double ExtBuffer1[]; double ExtBuffer2[]; double alertBar; double last; int init() { //----------------------------- switch ( Period() ) { case 1: period = 2880;break; case 5: period = 576;break; case 15: period = 192;break; case 30: period = 96;break; case 60: period = 48;break; case 240: period = 48;break; case 1440: period = 48;break; case 10080:period = 48;break; 默认情况:周期=48;break。 } //----------------------------- SetIndexStyle(0,DRAW_NONE); SetIndexStyle(1,DRAW_HISTOGRAM); SetIndexStyle(2,DRAW_HISTOGRAM); IndicatorDigits(Digits+1); SetIndexBuffer(0,ExtBuffer0); SetIndexBuffer(1,ExtBuffer1); SetIndexBuffer(2,ExtBuffer2)。 IndicatorShortName("");//X :-)")。 SetIndexLabel(0, NULL); SetIndexLabel(1, NULL); SetIndexLabel(2, NULL)。 返回(0)。 } int deinit() { //---- ObjectDelete("XPS"); ObjectDelete("XPS2"); ObjectDelete("XPS3")。 //---- return(0); } int start() { int limit; int counted_bars=IndicatorCounted(); double prev,current,old; double Value=0,Value1=0,Value2=0,Fish=0,Fish1=0,Fish2=0; 双重价格。 double MinL=0; double MaxH=0。 如果(counted_bars>0) counted_bars--。 limit=Bars-counted_bars; for(int i=0; i<limit; i++) { MaxH = High; MinL = Low[Lowest(NULL,0,MODE_LOW,period,i)] 。 价格=(High+Low)/2。 Value = 0.33*2*((price-MinL)/(MaxH-MinL)-0.5) + 0.67*Value1; Value=MathMin(MathMax(Value,-0.999),0.999)。 ExtBuffer0=0.5*MathLog((1+Value)/(1-Value))+0.5*Fish1。 Value1=Value。 Fish1=ExtBuffer0; } bool up = TRUE; for(i=limit-2; i>=0; i--) { current=ExtBuffer0; prev=ExtBuffer0; 如果((current0))|(current<0)) up= false。 如果((current>0)&&(prev0))up= true。 if(!up) { ExtBuffer2=1。 ExtBuffer1=0。 如果(alarm && i==0 && last != 2 && ExtBuffer1 == 0 && Bars>alertBar) { Alert("OSC...可能的趋势是在",Period()," ",Symbol()上下降。) alertBar = Bars;last = 2; } } 否则 { ExtBuffer1=1。 ExtBuffer2=0。 if (alarm && i==0 && last != 1 && ExtBuffer2 == 0 && Bars>alertBar) { Alert("OSC...可能的趋势是在",Period()," ",Symbol()上上升。) alertBar = Bars; last = 1; } } }//结束循环 ObjectDelete("XPS")。 ObjectCreate("XPS", OBJ_LABEL, 2, 0, 0); ObjectSetText("XPS","!XPS v8", 28, "Arial Black", C'46,46,46')。 ObjectSet("XPS", OBJPROP_CORNER, 2); ObjectSet("XPS", OBJPROP_BACK, 0); ObjectSet("XPS", OBJPROP_XDISTANCE, 6); ObjectSet("XPS", OBJPROP_YDISTANCE, 8); ObjectDelete("XPS2")。 ObjectCreate("XPS2", OBJ_LABEL, 2, 0, 0); ObjectSetText("XPS2","!XPS v8", 28, "Arial Black", Silver)。 ObjectSet("XPS2", OBJPROP_CORNER, 2); ObjectSet("XPS2", OBJPROP_BACK, 0); ObjectSet("XPS2", OBJPROP_XDISTANCE, 4); ObjectSet("XPS2", OBJPROP_YDISTANCE, 10); ObjectDelete("XPS3")。 ObjectCreate("XPS3", OBJ_LABEL, 2, 0, 0); ObjectSetText("XPS3", "Trade like a BOSS", 9, "Arial Black", Silver); ObjectSet("XPS3", OBJPROP_CORNER, 2); ObjectSet("XPS3", OBJPROP_BACK, 0); ObjectSet("XPS3", OBJPROP_XDISTANCE, 7); ObjectSet("XPS3", OBJPROP_YDISTANCE, 3); return(0); } 那么? 它对任何不是标准时间框架的时间段(如 "2分钟 "离线图表)应用周期48 关于可以改变计算周期的太阳风的版本,请看这个主题:https://www.mql5.com/en/forum/179650 Dedoctor 2014.03.18 19:11 #2460 向各位大师问好!请帮助我编辑这个脚本,只留下订单、手数、买入/卖出。我已经拥有一个自动设置止盈/止损 的EA,因此与这个独立的脚本相冲突。 这个脚本会自动打开你在菜单中指定的任何数量的市场订单,但目前它只打开了一个订单,即使你输入5个订单。请帮助我解决这个错误,并完全删除SCRIPT中的获利/止损。 祝福你 附加的文件: open_multi_order-5_digits.mq4 3 kb 1...239240241242243244245246247248249250251252253...786 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谢谢Mladen的代码...这是否像您在前面的逻辑中解释的那样,有双macd的比较和50的交叉。 提前感谢
马塞里纳
不同的是,在Aspen图形版本中,次级进场信号是rsi和其信号线 的交叉,而在metatrader版本中,次级信号是rsi和50线的交叉。Macd部分是一样的(你应该采取封闭的信号--在aspen图形版本中是这样做的)。
谢谢你的信息mladen ......是否可以在同一个指标中设置选择50线交叉和信号线 交叉的选项......。
谢谢
sulaimoney 这些程序都是正常的。附上一个简单的指标,当调用这两个程序后,显示一切正常。检查代码的其他部分,因为错误不在这两个程序中。
你好,Mladen
我已经检查了 代码,发现了一些错误,我已经替换了。
现在我试图使用以下值
double lastorderprice = 0。
和
int bscount = 0。
作为全局范围内的变量,这样它们就可以被调用,例如 void NewOrder()
// OnEveryTick
void LastBuySellOrder() // 循环查看所有未平仓的订单以选择最后的订单(买入/卖出) OnEveryTick
{
double lastorderprice = 0;
datetime lastTime = 0;
datetime closeTime = 0;
int lastTicket = -1; // 无开放。
for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
如果(OrderSymbol() == Symbol() && OrderMagicNumber() == OrderId
&&( OrderType() == OP_BUY || OrderType() == OP_SELL )
&& OrderOpenTime() >= lastTime && OrderCloseTime() == closeTime
&& OrderTicket() > lastTicket )
{
lastTime = OrderOpenTime();
lastorderprice = OrderOpenPrice();
closeTime = OrderCloseTime();
LastTicket = OrderTicket()。
}
return(lastTicket)。
}
否则
Print("OrderSelect()错误 - ", ErrorDescription(GetLastError()))。
}
void PendingStopOrderCount()
{
int bscount = 0。
for (int i=OrdersTotal()-1; i >= 0; i--)
如果(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)
{
如果(OrderSymbol() == Symbol()
如果(OrderMagicNumber() == OrderId)
如果(OrderType() == OP_BUYSTOP )
{
bscount++;
}
}
否则
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()))。
}
}
// 如果存在OpBuy或OpSell
void NewOrder()
{
如果(bscount==0)
{
BuyStopPending()。
}
}
HI
这个指标是重绘的吗?如果是的话,什么时候回调多少条?
xps_v8_oscillator.ex4xps_v8_oscillator.mq4
HI
这个指标是重绘的吗?如果是的话,什么时候回调多少条?
xps_v8_oscillator.ex4xps_v8_oscillator.mq4好的,但我在离线图表M2上使用这个:S所以它不是正常的时间框架
好吧,但我在离线图表M2上使用这个:S 所以它不是正常的时间框架。
试试吧,你自己就知道了(使用自动刷新之类的东西来强制指标刷新所有的条形图,或者干脆,当有足够多的新条形图出现时,进入参数,不要改变任何东西,点击确定)。请注意,当趋势发生变化时,它将做什么。
这比我试图解释太阳风代码中的问题并说服任何人要好。
我不能改变周期,只能看到源代码,这就是它。
#属性 indicator_separate_window
#属性 indicator_minimum 0
#属性 indicator_maximum 1
#属性 indicator_buffers 3
#属性 indicator_color2 C'72,49,255'.
#属性 indicator_color3 C'255,49,72'.
#属性 indicator_width2 6
#属性 indicator_width3 6
int period;
外部的bool alarm=false。
double ExtBuffer0[];
double ExtBuffer1[];
double ExtBuffer2[];
double alertBar;
double last;
int init() {
//-----------------------------
switch ( Period() )
{
case 1: period = 2880;break;
case 5: period = 576;break;
case 15: period = 192;break;
case 30: period = 96;break;
case 60: period = 48;break;
case 240: period = 48;break;
case 1440: period = 48;break;
case 10080:period = 48;break;
默认情况:周期=48;break。
}
//-----------------------------
SetIndexStyle(0,DRAW_NONE);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexStyle(2,DRAW_HISTOGRAM);
IndicatorDigits(Digits+1);
SetIndexBuffer(0,ExtBuffer0);
SetIndexBuffer(1,ExtBuffer1);
SetIndexBuffer(2,ExtBuffer2)。
IndicatorShortName("");//X :-)")。
SetIndexLabel(0, NULL);
SetIndexLabel(1, NULL);
SetIndexLabel(2, NULL)。
返回(0)。
}
int deinit()
{
//----
ObjectDelete("XPS");
ObjectDelete("XPS2");
ObjectDelete("XPS3")。
//----
return(0);
}
int start() {
int limit;
int counted_bars=IndicatorCounted();
double prev,current,old;
double Value=0,Value1=0,Value2=0,Fish=0,Fish1=0,Fish2=0;
双重价格。
double MinL=0;
double MaxH=0。
如果(counted_bars>0) counted_bars--。
limit=Bars-counted_bars;
for(int i=0; i<limit; i++)
{ MaxH = High;
MinL = Low[Lowest(NULL,0,MODE_LOW,period,i)] 。
价格=(High+Low)/2。
Value = 0.33*2*((price-MinL)/(MaxH-MinL)-0.5) + 0.67*Value1;
Value=MathMin(MathMax(Value,-0.999),0.999)。
ExtBuffer0=0.5*MathLog((1+Value)/(1-Value))+0.5*Fish1。
Value1=Value。
Fish1=ExtBuffer0;
}
bool up = TRUE;
for(i=limit-2; i>=0; i--)
{
current=ExtBuffer0;
prev=ExtBuffer0;
如果((current0))|(current<0)) up= false。
如果((current>0)&&(prev0))up= true。
if(!up) {
ExtBuffer2=1。
ExtBuffer1=0。
如果(alarm && i==0 && last != 2 && ExtBuffer1 == 0 && Bars>alertBar)
{
Alert("OSC...可能的趋势是在",Period()," ",Symbol()上下降。)
alertBar = Bars;last = 2;
}
}
否则 {
ExtBuffer1=1。
ExtBuffer2=0。
if (alarm && i==0 && last != 1 && ExtBuffer2 == 0 && Bars>alertBar)
{
Alert("OSC...可能的趋势是在",Period()," ",Symbol()上上升。)
alertBar = Bars;
last = 1;
}
}
}//结束循环
ObjectDelete("XPS")。
ObjectCreate("XPS",OBJ_LABEL, 2, 0, 0);
ObjectSetText("XPS","!XPS v8", 28, "Arial Black", C'46,46,46')。
ObjectSet("XPS", OBJPROP_CORNER, 2);
ObjectSet("XPS", OBJPROP_BACK, 0);
ObjectSet("XPS", OBJPROP_XDISTANCE, 6);
ObjectSet("XPS", OBJPROP_YDISTANCE, 8);
ObjectDelete("XPS2")。
ObjectCreate("XPS2", OBJ_LABEL, 2, 0, 0);
ObjectSetText("XPS2","!XPS v8", 28, "Arial Black", Silver)。
ObjectSet("XPS2", OBJPROP_CORNER, 2);
ObjectSet("XPS2", OBJPROP_BACK, 0);
ObjectSet("XPS2", OBJPROP_XDISTANCE, 4);
ObjectSet("XPS2", OBJPROP_YDISTANCE, 10);
ObjectDelete("XPS3")。
ObjectCreate("XPS3", OBJ_LABEL, 2, 0, 0);
ObjectSetText("XPS3", "Trade like a BOSS", 9, "Arial Black", Silver);
ObjectSet("XPS3", OBJPROP_CORNER, 2);
ObjectSet("XPS3", OBJPROP_BACK, 0);
ObjectSet("XPS3", OBJPROP_XDISTANCE, 7);
ObjectSet("XPS3", OBJPROP_YDISTANCE, 3);
return(0);
}
所以呢?
我不能改变周期,只能看到源代码,这就是它。
#属性 indicator_separate_window
#属性 indicator_minimum 0
#属性 indicator_maximum 1
#属性 indicator_buffers 3
#属性 indicator_color2 C'72,49,255'.
#属性 indicator_color3 C'255,49,72'.
#属性 indicator_width2 6
#属性 indicator_width3 6
int period;
外部的bool alarm=false。
double ExtBuffer0[];
double ExtBuffer1[];
double ExtBuffer2[];
double alertBar;
double last;
int init() {
//-----------------------------
switch ( Period() )
{
case 1: period = 2880;break;
case 5: period = 576;break;
case 15: period = 192;break;
case 30: period = 96;break;
case 60: period = 48;break;
case 240: period = 48;break;
case 1440: period = 48;break;
case 10080:period = 48;break;
默认情况:周期=48;break。
}
//-----------------------------
SetIndexStyle(0,DRAW_NONE);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexStyle(2,DRAW_HISTOGRAM);
IndicatorDigits(Digits+1);
SetIndexBuffer(0,ExtBuffer0);
SetIndexBuffer(1,ExtBuffer1);
SetIndexBuffer(2,ExtBuffer2)。
IndicatorShortName("");//X :-)")。
SetIndexLabel(0, NULL);
SetIndexLabel(1, NULL);
SetIndexLabel(2, NULL)。
返回(0)。
}
int deinit()
{
//----
ObjectDelete("XPS");
ObjectDelete("XPS2");
ObjectDelete("XPS3")。
//----
return(0);
}
int start() {
int limit;
int counted_bars=IndicatorCounted();
double prev,current,old;
double Value=0,Value1=0,Value2=0,Fish=0,Fish1=0,Fish2=0;
双重价格。
double MinL=0;
double MaxH=0。
如果(counted_bars>0) counted_bars--。
limit=Bars-counted_bars;
for(int i=0; i<limit; i++)
{ MaxH = High;
MinL = Low[Lowest(NULL,0,MODE_LOW,period,i)] 。
价格=(High+Low)/2。
Value = 0.33*2*((price-MinL)/(MaxH-MinL)-0.5) + 0.67*Value1;
Value=MathMin(MathMax(Value,-0.999),0.999)。
ExtBuffer0=0.5*MathLog((1+Value)/(1-Value))+0.5*Fish1。
Value1=Value。
Fish1=ExtBuffer0;
}
bool up = TRUE;
for(i=limit-2; i>=0; i--)
{
current=ExtBuffer0;
prev=ExtBuffer0;
如果((current0))|(current<0)) up= false。
如果((current>0)&&(prev0))up= true。
if(!up) {
ExtBuffer2=1。
ExtBuffer1=0。
如果(alarm && i==0 && last != 2 && ExtBuffer1 == 0 && Bars>alertBar)
{
Alert("OSC...可能的趋势是在",Period()," ",Symbol()上下降。)
alertBar = Bars;last = 2;
}
}
否则 {
ExtBuffer1=1。
ExtBuffer2=0。
if (alarm && i==0 && last != 1 && ExtBuffer2 == 0 && Bars>alertBar)
{
Alert("OSC...可能的趋势是在",Period()," ",Symbol()上上升。)
alertBar = Bars;
last = 1;
}
}
}//结束循环
ObjectDelete("XPS")。
ObjectCreate("XPS", OBJ_LABEL, 2, 0, 0);
ObjectSetText("XPS","!XPS v8", 28, "Arial Black", C'46,46,46')。
ObjectSet("XPS", OBJPROP_CORNER, 2);
ObjectSet("XPS", OBJPROP_BACK, 0);
ObjectSet("XPS", OBJPROP_XDISTANCE, 6);
ObjectSet("XPS", OBJPROP_YDISTANCE, 8);
ObjectDelete("XPS2")。
ObjectCreate("XPS2", OBJ_LABEL, 2, 0, 0);
ObjectSetText("XPS2","!XPS v8", 28, "Arial Black", Silver)。
ObjectSet("XPS2", OBJPROP_CORNER, 2);
ObjectSet("XPS2", OBJPROP_BACK, 0);
ObjectSet("XPS2", OBJPROP_XDISTANCE, 4);
ObjectSet("XPS2", OBJPROP_YDISTANCE, 10);
ObjectDelete("XPS3")。
ObjectCreate("XPS3", OBJ_LABEL, 2, 0, 0);
ObjectSetText("XPS3", "Trade like a BOSS", 9, "Arial Black", Silver);
ObjectSet("XPS3", OBJPROP_CORNER, 2);
ObjectSet("XPS3", OBJPROP_BACK, 0);
ObjectSet("XPS3", OBJPROP_XDISTANCE, 7);
ObjectSet("XPS3", OBJPROP_YDISTANCE, 3);
return(0);
}
那么?它对任何不是标准时间框架的时间段(如 "2分钟 "离线图表)应用周期48
关于可以改变计算周期的太阳风的版本,请看这个主题:https://www.mql5.com/en/forum/179650
向各位大师问好!请帮助我编辑这个脚本,只留下订单、手数、买入/卖出。我已经拥有一个自动设置止盈/止损 的EA,因此与这个独立的脚本相冲突。
这个脚本会自动打开你在菜单中指定的任何数量的市场订单,但目前它只打开了一个订单,即使你输入5个订单。请帮助我解决这个错误,并完全删除SCRIPT中的获利/止损。
祝福你