[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 506 1...499500501502503504505506507508509510511512513...631 新评论 [删除] 2012.11.13 20:32 #5051 嗨,伙计们!我在哪里或如何点击来了解我可以投注的最大手数? Boris 2012.11.13 21:07 #5052 MaxZ: 是否有任何MT4账户可以用负资产开锁?我纯粹是出于兴趣而问。这个争论是在另一个论坛上产生的。我被告知,这样的账户确实存在!:DD 为了不出现不必要的问题,这里有一个例子。 你已经开了一笔交易,交易量为N。你的终端在 "Free: "一行后显示:"-XXX.XX"...你能不能用音量N打开一个锁!?我不认为在普通账户中会这样。而且我被告知,有一些特殊的账户!:))))))我不相信... 收到的答案是...我很震惊... 这些 "大厨 "不知道如何引诱 "愚蠢的匹诺曹 "了!他们的 "大厨 "是谁? 我只在测试器中见到科里亚-莫尔佐夫。我把我的限制放在工人辅导员那里,以免走极端!"。;)) Boris 2012.11.13 21:18 #5053 Beowulf: 嗨,伙计们!我在哪里或如何点击来了解我可以投注的最大手数?double MaxLot = MarketInfo(Symbol(), MODE_MAXLOT); //В следущий раз не ленитесь заглянуть в Доку, а то тут могут послать к телепату! Роман 2012.11.14 00:32 #5054 borilunad: 他已经在另一个主题中问到了这个问题。它被回答...但他并不了解这些代码--他自己也写过相关内容。 他想要一个脚本(现成的解决方案--按一个键(运行脚本)--看屏幕)。 [删除] 2012.11.14 01:43 #5055 r772ra,哇,我应该多关注一下Kim的功能,谢谢! Boris 2012.11.14 10:16 #5056 Roman.: 他已经在另一个主题中问过这个问题。它被回答...但他并不了解这些代码--他自己也写过相关内容。 它需要一个脚本(现成的解决方案--按一个键(运行脚本)--看屏幕)。 现在只剩下一件事,邀请他为我们的账户投资。:)) Victor Nikolaev 2012.11.14 10:25 #5057 borilunad: 只剩下一件事要做,邀请他为我们的账户投资!:)) 这是个好主意,但很难实施 TarasBY 2012.11.14 10:52 #5058 hoz: 我现在有点糊涂了。这里有3个函数,每个函数都接收一个特定指标的特定信号。 这个功能接收来自所有指数的一般信号,并做出买入 或卖出 的决定。 这是接收一般信号的主函数;在这里,我们通过循环获得指数值,当然是要通过所有的条形图。而后将获得的值通过引用传递给需要这些值的适当的函数,也就是传递给函数。int GetCrossingMa(double& i_maFast1, double& i_maFast2, double& i_maSlow1, double& i_maSlow2)int GetStochSignal(double& stochD1, double& stochD2, double& stochK1, double& stochK2)void GetMomentumSignal() ,原则上也可以放在这里。 因此,所有指数的计算都将在一个主要功能中得到信号。在这种情况下,一切都符合逻辑...TarasBY:维克多!你有逻辑,但知识还不够深入。如果你坚持下去,前者会帮助你比课本走得更远,而要 "征服 "后者,你必须从它(课本)开始。你还没有准备好(尚未)建立你自己的逻辑代码结构,请回到按字母顺序排列的版本。 P.S. 在你的代码中,什么 "吸引眼球"。在函数GetSignal()中,为了寻找两行的交叉点,可以使用for 循环,但最好使用while 循环,尽管这是个人的偏好。首先,你需要像 "执行不能被赦免 "中那样移动一个括号,使你的代码执行你刚才所说的内容。由于某些原因,这个(结果)函数缺少两个函数的结果:GetStochSignal()和GetMomentumSignal()--这稍微有点不重要。在函数GetCrossingMa()和GetStochSignal()中,通过引用传递参数是没有意义的,因为如果函数中的这些变量改变了它们的值,那才有意义。空白的GetMomentumSignal()函数没有返回任何东西。虽然我承认,从外面看 "更难看"...:))) 下面是一个从MAsh(s)获取信号的函数的另一个变体。//IIIIIIIIIIIIIIIIIII==================CONSTANS=================IIIIIIIIIIIIIIIIIIIIII+ #define BULL 0 #define BEAR 1 #define STOP -1 //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+ extern int Use_ChangeTrend.MA = 0; // 0 - off; Брать сигнал на смене тренда: //1 - ТОЛЬКО на первом; 2 - ТОЛЬКО не на первом; 3 - на всех extern double MA_K_Period = 3.0; // коэффициент получения периода 2-ой МАшки. extern int MA_Period = 14; /*extern*/ int MA_Shift = 0; extern int MA_Method = 7; extern int MA_Price = 7; /*extern*/ int Color_Mode = 0; int bia_PeriodMA[2]; //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+ //| Автор : TarasBY, taras_bulba@tut.by | //+-----------------------------------------------------------------------------------+ //| Получаем сигнал по наклону MA или по пересечению 2-х MA | //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+ int fGet_SignalMA (string fs_Symbol, // Symbol int fi_TF, // Таймфрейм double fd_Deviation = 0, // расхождение м/у МАшками bool fb_ControlBeginChangeTrend = False, // Контроль начала смены тренда int fi_BarSignal = 1, // Бар на котором считываем сигнал int fi_VerificationBars = 1) // Количество баров для подтверждения сигнала { static int li_preSignal = STOP; double lda_MA[2]; bool lb_twice = (MA_K_Period > 1.0), lb_Condition; int li_BAR = fi_BarSignal, li_Trend = STOP, li_VerificationBars = 0, li_cmd = 1; //---- //---- Если работаем с 2-мя МАшками if (lb_twice) { for (int li_IND = 0; li_IND < 2; li_IND++) {lda_MA[li_IND] = iCustom (fs_Symbol, fi_TF, "AllAverages_v2.51", fi_TF, bia_PeriodMA[li_IND], MA_Shift, MA_Method, MA_Price, Color_Mode, 0, li_BAR);} //---- На 1-ом проверяемом баре фиксируем расхождение МАшек double ld_Deviation = fControl_Deviation (lda_MA, lb_Condition, li_cmd, li_Trend, fd_Deviation); } //---- Если работаем с 1-ой МАшкой else { for (li_IND = 0; li_IND < 2; li_IND++) {lda_MA[li_IND] = iCustom (fs_Symbol, fi_TF, "AllAverages_v2.51", fi_TF, MA_Period, MA_Shift, MA_Method, MA_Price, Color_Mode, 0, li_BAR + li_IND);} double ld_Price = fGet_PriceOnBar (PRICE_TYPICAL, fs_Symbol, fi_TF, li_BAR); //---- На 1-ом проверяемом баре фиксируем расхождение МАшек ld_Deviation = fControl_Deviation (lda_MA, lb_Condition, li_cmd, li_Trend, fd_Deviation); if (NDD (li_cmd * (lda_MA[0] - ld_Price)) >= 0.0) return (STOP); } //---- Если фиксируем на баре пересечение или горизонтальное расположение МА - выходим if (ld_Deviation == 0.0) return (STOP); int li_cnt = 0; while (lb_Condition == true) { li_BAR++; //---- Собираем показания МАшек в массив if (lb_twice) { for (li_IND = 0; li_IND < 2; li_IND++) {lda_MA[li_IND] = iCustom (fs_Symbol, fi_TF, "AllAverages_v2.51", fi_TF, bia_PeriodMA[li_IND], MA_Shift, MA_Method, MA_Price, Color_Mode, 0, li_BAR);} bool lb_AddCondition = true; li_cnt++; } else { for (li_IND = 0; li_IND < 2; li_IND++) {lda_MA[li_IND] = iCustom (fs_Symbol, fi_TF, "AllAverages_v2.51", fi_TF, MA_Period, MA_Shift, MA_Method, MA_Price, Color_Mode, 0, li_BAR + li_IND);} ld_Price = fGet_PriceOnBar (PRICE_TYPICAL, fs_Symbol, fi_TF, li_BAR); lb_AddCondition = (NDD (li_cmd * (lda_MA[0] - ld_Price)) < 0.0); } //---- Фиксируем расхождение МАшек или наклон 1-ой МА ld_Deviation = NDD (lda_MA[0] - lda_MA[1]); //---- Определяем условия контроля пересечения МАшек или изменение наклона if (li_Trend == BULL) lb_Condition = (ld_Deviation >= 0.0); else lb_Condition = (ld_Deviation <= 0.0); //---- Производим подсчёт баров, на которых выполняется означенное расхождение if (lb_AddCondition) { if (fd_Deviation != 0.0) {if (MathAbs (ld_Deviation) >= fd_Deviation) li_VerificationBars++;} else li_VerificationBars++; } else li_cnt++; //---- Если не отслеживаем начало смены тренда if (!fb_ControlBeginChangeTrend) {if (li_VerificationBars == fi_VerificationBars) return (li_Trend);} else { //---- Если баров, на которых выполняются заданные нами условия, > fi_VerificationBars - выходим if (li_VerificationBars > fi_VerificationBars) {li_preSignal = STOP; return (STOP);} else if (!lb_Condition) { if (li_VerificationBars == fi_VerificationBars) {return (li_Trend);} //---- Если не набрали нужное количество подтверждений сиганала после пересечения // или смены наклона - выходим else if (li_VerificationBars < fi_VerificationBars) return (STOP); } } //---- Предусматриваем уход от зацикливания (на начале отсчёта) if (li_cnt > MA_Period) return (STOP); } //---- return (STOP); } //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+ //| Автор : TarasBY, taras_bulba@tut.by | //+-----------------------------------------------------------------------------------+ //| Контролируем расхождение 2-ух МАшек или наклон 1-ой МАшки | //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+ double fControl_Deviation (double ar_MA[], // массив входящих значений bool& fb_Condition, // состояние тренда int& fi_cmd, // "знак тренда" int& fi_Trend, // тренд double fd_Deviation = 0) // расхождение м\у МАшками { double ld_Deviation = NDD (ar_MA[0] - ar_MA[1]); //---- //---- Если фиксируем на баре пересечение или горизонтальное расположение МА - выходим if (ld_Deviation == 0.0) return (0.0); //---- Проверяем расхождение на нужную величину (если задано) if (fd_Deviation != 0.0) {if (MathAbs (ld_Deviation) < fd_Deviation) return (0.0);} if (ld_Deviation > 0.0) {fb_Condition = (ld_Deviation >= 0.0); fi_Trend = BULL;} else {fb_Condition = (ld_Deviation <= 0.0); fi_Trend = BEAR; fi_cmd = -1;} //---- return (ld_Deviation); } //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+从评论中可以了解到,信号可以作为一个МА的倾斜结果(在MA_K_Period <= 1.0)或作为2个МА的交叉结果(在MA_K_Period > 1.0)获得。第二个MA的周期是自己计算的(在这个函数之外)。 bia_PeriodMA[0] = MA_Period; bia_PeriodMA[1] = MA_Period * MA_K_Period;你也可以在函数中指定2个MAs的分歧条件(当fd_Deviation>0.0)。你也可以跟踪相交的事实(fb_ControlBeginChangeTrend = TRUE),或者只是固定快和慢相对于对方的发现。 为了看看这段代码是如何工作的,我在档案中放置了一个指标,通过这个函数的信号来绘制箭头。我们使用Signal_MA.tpl(用于一个MA)或Signal_MA2.tpl(用于两个MA)启动它。顺便说一下,MAs可以是不同的类型。 附加的文件: signal_ma.zip 185 kb Victor Nikolaev 2012.11.14 11:01 #5059 TarasBY:下面是该函数的另一个变体,它接收来自MA的信号。从评论中我们可以看到,信号可以根据一个MA的倾斜度(在MA_K_Period <= 1.0)或根据2个MA的交叉点(在MA_K_Period > 1.0)来获得。第二个MA的周期是自己计算的(在这个函数之外)。你也可以在函数中指定2个MAs的分歧条件(当fd_Deviation>0.0)。你也可以跟踪相交的事实(fb_ControlBeginChangeTrend = TRUE),或者只是固定快和慢相对于对方的发现。 为了看看这段代码是如何工作的,我在档案中放置了一个指标,通过这个函数的信号来绘制箭头。顺便说一下,MAs可能是不同的。 如果你想加快指标的工作,请联系 TarasBY 2012.11.14 11:26 #5060 Vinin: 如果你想加快一个指标的速度,请联系 如果是指标,是哪一个?- 算是马士奇的那个?无论哪种方式--这都会很有趣! 1...499500501502503504505506507508509510511512513...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是否有任何MT4账户可以用负资产开锁?我纯粹是出于兴趣而问。这个争论是在另一个论坛上产生的。我被告知,这样的账户确实存在!:DD
为了不出现不必要的问题,这里有一个例子。
你已经开了一笔交易,交易量为N。你的终端在 "Free: "一行后显示:"-XXX.XX"...你能不能用音量N打开一个锁!?我不认为在普通账户中会这样。而且我被告知,有一些特殊的账户!:))))))我不相信...
收到的答案是...我很震惊...
这些 "大厨 "不知道如何引诱 "愚蠢的匹诺曹 "了!他们的 "大厨 "是谁?
我只在测试器中见到科里亚-莫尔佐夫。我把我的限制放在工人辅导员那里,以免走极端!"。;))
嗨,伙计们!我在哪里或如何点击来了解我可以投注的最大手数?
他已经在另一个主题中问到了这个问题。它被回答...但他并不了解这些代码--他自己也写过相关内容。
他想要一个脚本(现成的解决方案--按一个键(运行脚本)--看屏幕)。
r772ra,哇,我应该多关注一下Kim的功能,谢谢!
他已经在另一个主题中问过这个问题。它被回答...但他并不了解这些代码--他自己也写过相关内容。
它需要一个脚本(现成的解决方案--按一个键(运行脚本)--看屏幕)。
现在只剩下一件事,邀请他为我们的账户投资。:))
只剩下一件事要做,邀请他为我们的账户投资!:))
这是个好主意,但很难实施
我现在有点糊涂了。这里有3个函数,每个函数都接收一个特定指标的特定信号。
这个功能接收来自所有指数的一般信号,并做出买入 或卖出 的决定。
这是接收一般信号的主函数;在这里,我们通过循环获得指数值,当然是要通过所有的条形图。而后将获得的值通过引用传递给需要这些值的适当的函数,也就是传递给函数。
int GetCrossingMa(double& i_maFast1, double& i_maFast2, double& i_maSlow1, double& i_maSlow2)
int GetStochSignal(double& stochD1, double& stochD2, double& stochK1, double& stochK2)
void GetMomentumSignal() ,原则上也可以放在这里。
因此,所有指数的计算都将在一个主要功能中得到信号。在这种情况下,一切都符合逻辑...
维克多!你有逻辑,但知识还不够深入。如果你坚持下去,前者会帮助你比课本走得更远,而要 "征服 "后者,你必须从它(课本)开始。你还没有准备好(尚未)建立你自己的逻辑代码结构,请回到按字母顺序排列的版本。
P.S. 在你的代码中,什么 "吸引眼球"。
在函数GetSignal()中,为了寻找两行的交叉点,可以使用for 循环,但最好使用while 循环,尽管这是个人的偏好。首先,你需要像 "执行不能被赦免 "中那样移动一个括号,使你的代码执行你刚才所说的内容。由于某些原因,这个(结果)函数缺少两个函数的结果:GetStochSignal()和GetMomentumSignal()--这稍微有点不重要。
在函数GetCrossingMa()和GetStochSignal()中,通过引用传递参数是没有意义的,因为如果函数中的这些变量改变了它们的值,那才有意义。
空白的GetMomentumSignal()函数没有返回任何东西。
虽然我承认,从外面看 "更难看"...:)))
下面是一个从MAsh(s)获取信号的函数的另一个变体。
从评论中可以了解到,信号可以作为一个МА的倾斜结果(在MA_K_Period <= 1.0)或作为2个МА的交叉结果(在MA_K_Period > 1.0)获得。第二个MA的周期是自己计算的(在这个函数之外)。
你也可以在函数中指定2个MAs的分歧条件(当fd_Deviation>0.0)。你也可以跟踪相交的事实(fb_ControlBeginChangeTrend = TRUE),或者只是固定快和慢相对于对方的发现。
为了看看这段代码是如何工作的,我在档案中放置了一个指标,通过这个函数的信号来绘制箭头。我们使用Signal_MA.tpl(用于一个MA)或Signal_MA2.tpl(用于两个MA)启动它。顺便说一下,MAs可以是不同的类型。
下面是该函数的另一个变体,它接收来自MA的信号。
从评论中我们可以看到,信号可以根据一个MA的倾斜度(在MA_K_Period <= 1.0)或根据2个MA的交叉点(在MA_K_Period > 1.0)来获得。第二个MA的周期是自己计算的(在这个函数之外)。
你也可以在函数中指定2个MAs的分歧条件(当fd_Deviation>0.0)。你也可以跟踪相交的事实(fb_ControlBeginChangeTrend = TRUE),或者只是固定快和慢相对于对方的发现。
为了看看这段代码是如何工作的,我在档案中放置了一个指标,通过这个函数的信号来绘制箭头。顺便说一下,MAs可能是不同的。
如果你想加快指标的工作,请联系
如果你想加快一个指标的速度,请联系