学习如何赚取村民的钱 [第2集] ! - 页 157 1...150151152153154155156157158159160161162163164...473 新评论 Роман 2012.11.11 12:33 #1561 BeerGod: 重点是,我想摆脱浇头之间的固定距离,让它们成为动态的,在越过相反的线时关闭(在相反的信号下)。 我根据ATR的指示,做了一个动态的通道宽度。到目前为止,我一直在micro-real上使用这个(反转的)Avalanche型方案(反转的martin),与Ilan一起使用这个分支的设置。还没有在伊兰测试过这个方案。我的入场方式不是通过布林,而是通过OSMA指标。代码计算出平均化通道的宽度,达到这个宽度后,对增加的体积进行平均化。extern int Period_ATR = 30; // значение АТР для расчета динамического канала extern double Mul_TP = 4.0; // множитель целевой прибыли в единицах волатильности (АТР) extern double Mul_Sl = 0.8; // множитель защитной остановки с последующим производством усреднения позиции при ее сработке уже // увеличенным лотом в единицах волатильности (АТР) ... //-----------------------------------------------------расчет динамического канала---------------------------- if (Symbol() == "GBPJPY" || Symbol() == "EURJPY" || Symbol() == "USDJPY" || Symbol() == "CHFJPY" || Symbol() == "NZDJPY" || Symbol() == "USDRUR") { channel = (iATR(Symbol(),PERIOD_D1,Period_ATR,1)*1000)*Mul_Sl; StopLossPips = NormalizeDouble(channel,0); } else { channel = 10* (iATR(Symbol(),PERIOD_D1,Period_ATR,1)*10000/3)*Mul_Sl; StopLossPips = NormalizeDouble(channel,0); } if (Symbol() == "XAGUSD") // || Symbol() == "EURGBP") StopLossPips = StopLoss; // т.к. волатильность (по АТР) другая (выше) { channel = (iATR(Symbol(),PERIOD_D1,Period_ATR,1)*100)*Mul_Sl; StopLossPips = NormalizeDouble(channel,0); } if (Symbol() == "XAUUSD") // || Symbol() == "XAUUSD" || Symbol() == "EURGBP") StopLossPips = StopLoss; // т.к. волатильность (по АТР) другая (выше) { channel = (iATR(Symbol(),PERIOD_D1,Period_ATR,1)*100)*Mul_Sl; // Большая волатильность, поэтому умножение на 10. StopLossPips = NormalizeDouble(channel,0); } TakeProfitPips=NormalizeDouble(StopLossPips*Mul_TP,0); // расчет уровня тейка для всех инструментов по заданному значению динамического стопа [删除] 2012.11.11 13:14 #1562 谢谢,我将进行实验。一般来说,如果你合理地加注,它是有效的。 Роман 2012.11.11 13:17 #1563 BeerGod:谢谢,我将进行实验。一般来说,如果你合理地进行补货,是有用处的。 不客气。当然!IMHO!我们在这里谈论的不是补给,我们谈论的是平均数--那是如果你在考虑伊兰那样的消耗......:-) 一旦我优化了外部变量,并为现实世界准备了一个活的版本,我就会发布一个报告 我也可以在布林带上做一个起手的条目... [删除] 2012.11.11 13:44 #1564 我决定从头开始写我的 "Illan",这是一个有风险的交易,但风险是合理的,我决定使用bollejder进行输入,现在我必须做一个明智的平均分配,以保持系统的最低存款。 Роман 2012.11.11 14:01 #1565 BeerGod: 我决定从头开始写我的 "Illan",这是一个有风险的交易,但风险是合理的,我决定使用bollejder作为一个入口点,现在我必须做一个明智的平均数,所以该系统将以最小的存款工作。 我将把我的Avalanche(反转和加法)的平均方案一对一地转移到Ilan(姿势的平均价格)上,我将使用变体。我也可能做一个关于布林格的启动程序...目前在OSME上。 我有一个这样的代码。extern int Max_Iteration = 36; // Максимальное количество итераций (ордеров) в мартине extern int k = 2; // с какой итерации тралим extern int VAR_MM = 0; // используемый вариант MM в соотв-ии: // 0 = множитель с числами ФИБО; // 1 - по Илану в соответствие с LotExponent // 2 - классический мартин - удвоение предыдущего объема // 3 - мн по ар-ой прогрессии // 4 - мартин по схеме домножения предпредыдущего объёма на 2, т.е. 1,2,3,4,6,8,12,16,24,32 extern double LotExponent = 1.1; // на сколько умножать стартовый лот в степени - схема по Илану .... if (Iteration <= Max_Iteration && VAR_MM == 0) // Последующие лоты открываются по множителю в соответствие с числами ФИБО switch(Iteration) // Заголовок switch { // Начало тела switch case 1 : Lots_New = lastLots * 1; lots = lastLots; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );break; //расчет нового объема case 2 : Lots_New = lots * 2; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 3 : Lots_New = lots * 3; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 4 : Lots_New = lots * 5; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 5 : Lots_New = lots * 8; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 6 : Lots_New = lots * 13; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 7 : Lots_New = lots * 21; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; ... case 19: Lots_New = lots * 6765; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 20: Lots_New = lots * 10946;Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; default: Lots_New = lots * 17711; {Iteration = 0; Print("Выход за пределы. Iteration = ", Iteration, " Lots_New = ", Lots_New ); } } // Конец тела switch if (Iteration <= Max_Iteration && VAR_MM == 1) //Последующие лоты открываются по ИЛАНУ через экспоненту: iLots = NormalizeDouble(Lots * MathPow(LotExponent, NumOfTrades), lotdecimal); switch(Iteration) // Заголовок switch { // Начало тела switch // case 0 : Lots_New = lots; Print("старт, Lots_New = ", Lots_New );break; // СТАРТ case 1 : Lots_New = lastLots * 1; lots = lastLots; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );break; //расчет нового объема // расчет последующих объемов, открываемых позиций, начиная с объема ПЕРВОЙ-case 1 default: Lots_New = lots * MathPow(LotExponent, Iteration); Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); } // Конец тела switch if (Iteration <= Max_Iteration && VAR_MM == 2)// Последующие лоты открываются в соответствие с классическим мартином - удвоение switch(Iteration) // Заголовок switch { // Начало тела switch case 1 : Lots_New = lastLots * 1; lots = lastLots; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );break; //расчет нового объема case 2 : Lots_New = lots * 2; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 3 : Lots_New = lots * 4; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; ... case 16: Lots_New = Lots * 32768;Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 17: Lots_New = Lots * 65536;Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; default: Lots_New = lots * 65536; {Iteration = 0; Print("Выход за пределы. Iteration = ", Iteration, " Lots_New = ", Lots_New ); } } if (Iteration <= Max_Iteration && VAR_MM == 3)// Последующие лоты открываются в соответствие с членами ар прогрессии switch(Iteration) // Заголовок switch { // Начало тела switch case 1 : Lots_New = lastLots * 1; lots = lastLots; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );break; //расчет нового объема case 2 : Lots_New = lots * 3; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; case 3 : Lots_New = lots * 5; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; case 4 : Lots_New = lots * 7; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; case 5 : Lots_New = lots * 9; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; ... case 57: Lots_New = lots * 113; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; case 58: Lots_New = lots * 115; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; default: Lots_New = lots * 117; {Iteration = 0; Print("Выход за пределы. Iteration = ", Iteration, " Lots_New = ", Lots_New ); } } // Конец тела switch if (Iteration <= Max_Iteration && VAR_MM == 4) // мартин по схеме домножения предпредыдущего объёма на 2, т.е. 1,2,3,4,6,8,12,16,24,32 switch(Iteration) // Заголовок switch { // Начало тела switch case 1 : Lots_New = lastLots * 1; lots = lastLots; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );break; //расчет нового объема case 2 : Lots_New = lots * 2; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 3 : Lots_New = lots * 3; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 4 : Lots_New = lots * 4; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; ... case 31: Lots_New = lots * 49152;Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 32: Lots_New = lots * 65536;Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; default: Lots_New = lots * 98304;{Iteration = 0; Print("Выход за пределы. Iteration = ", Iteration, " Lots_New = ", Lots_New ); } } [删除] 2012.11.11 16:38 #1566 谢谢你的代码,它们给了我一个想法,尽管我会重写代码以适应我的逻辑,我应该试验一下动态平均,那么奇迹就有可能)这个系统有潜力......是的,这是故事的一部分,但这都是关于平均距离(正确的计算)的。 [删除] 2012.11.12 17:15 #1567 它对历史有作用吗?也许现在是时候去寻找引言的来源了? [删除] 2012.11.12 17:26 #1568 你好,村民们!!!。https://www.mql5.com/ru/forum/142073/page2 Роман 2012.11.12 23:56 #1569 rentik:你好,村民们!!!。https://www.mql5.com/ru/forum/142073/page2 Priva! 祝贺你的女儿出生! 干得好! Роман 2012.11.13 10:43 #1570 elmucon:ARBITRAGE是一件有趣的事情 同意!这是格兰德资本的季节性 差价交易 的报告。真实就在眼前... 附加的文件: 1.zip 9 kb 1...150151152153154155156157158159160161162163164...473 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
重点是,我想摆脱浇头之间的固定距离,让它们成为动态的,在越过相反的线时关闭(在相反的信号下)。
我根据ATR的指示,做了一个动态的通道宽度。到目前为止,我一直在micro-real上使用这个(反转的)Avalanche型方案(反转的martin),与Ilan一起使用这个分支的设置。还没有在伊兰测试过这个方案。我的入场方式不是通过布林,而是通过OSMA指标。
代码计算出平均化通道的宽度,达到这个宽度后,对增加的体积进行平均化。
谢谢,我将进行实验。一般来说,如果你合理地加注,它是有效的。
谢谢,我将进行实验。一般来说,如果你合理地进行补货,是有用处的。
不客气。当然!IMHO!
我们在这里谈论的不是补给,我们谈论的是平均数--那是如果你在考虑伊兰那样的消耗......:-)
一旦我优化了外部变量,并为现实世界准备了一个活的版本,我就会发布一个报告
我也可以在布林带上做一个起手的条目...
我决定从头开始写我的 "Illan",这是一个有风险的交易,但风险是合理的,我决定使用bollejder作为一个入口点,现在我必须做一个明智的平均数,所以该系统将以最小的存款工作。
我将把我的Avalanche(反转和加法)的平均方案一对一地转移到Ilan(姿势的平均价格)上,我将使用变体。我也可能做一个关于布林格的启动程序...目前在OSME上。
我有一个这样的代码。
你好,村民们!!!。
https://www.mql5.com/ru/forum/142073/page2
你好,村民们!!!。
https://www.mql5.com/ru/forum/142073/page2
Priva!
祝贺你的女儿出生!
干得好!
ARBITRAGE是一件有趣的事情
同意!这是格兰德资本的季节性 差价交易 的报告。真实就在眼前...