[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 205 1...198199200201202203204205206207208209210211212...631 新评论 [删除] 2012.06.24 06:16 #2041 下午好。问题如下。在 S.K .的MQL4书中 ,在"交易操作"部分,有一个简单脚本 的例子,修改一个申报价格高于其他挂单 的挂单(modifyorderprice.mq4),如下 。//-------------------------------------------------------------------- // modifyorderprice.mq4 // Предназначен для использования в качестве примера в учебнике MQL4. //--------------------------------------------------------------- 1 -- int start() // Спец.функция start { int Tral=10; // Дист. приближения string Symb=Symbol(); // Финанс. инструмент double Dist=1000000.0; // Предустановка double Win_Price=WindowPriceOnDropped(); // Здесь брошен скрипт //--------------------------------------------------------------- 2 -- for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер { if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий { // Анализ ордеров: //------------------------------------------------------ 3 -- if (OrderSymbol()!= Symb) continue; // Не наш фин.инструм. if (OrderType()<2) continue; // Рыночный ордер //------------------------------------------------------ 4 -- if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits) < NormalizeDouble(Dist,Digits)) // Выбираем ближайший { Dist=MathAbs(OrderOpenPrice()-Win_Price);// Новое значение int Tip =OrderType(); // Тип выбранного орд. int Ticket=OrderTicket(); // Номер выбранн. орд. double Price =OrderOpenPrice(); // Цена выбранн. орд. double SL =OrderStopLoss(); // SL выбранного орд. double TP =OrderTakeProfit(); // TP выбранного орд. } // Конец if } // Конец анализа ордера } // Конец перебора орд. //--------------------------------------------------------------- 5 -- if (Tip==0) // Если отложенных нет { Alert("По ",Symb," отложенных ордеров нет"); return; // Выход из программы } //--------------------------------------------------------------- 6 -- while(true) // Цикл закрытия орд. {或者在这个脚本的第5-6块中有一个错误,因为(在我看来)这一行if (Tip==0) // Если отложенных нет应该是这样的if (Tip<2) // Если отложенных нет因为所有类型的非挂单(市场)订单都有类型0或1,即小于2。 还是我误解了什么。问题:请你澄清一下:如果我有什么误解,是什么?提前感谢您的回答。 Aleksander 2012.06.24 06:23 #2042 7777877: 下午好。我有以下问题。在 S.K.的 MQL4书中, 在"交易操作 "部分,有一个简单脚本 的例子,它修改了一个挂单,这个挂单的申报价格比其他挂单的价格更接近脚本所附的点( 或者这个脚本的第5-6块有错误,因为(在我看来)行应该 是这样的,因为所有类型的非挂单(市场)订单的类型都是0或1,即小于2。 或者我误解了什么。 问题:请你让我明白:如果我误解了 什么,到底是 什么 ? 提前感谢你的回答 亲爱的...不要在这里写这么大的字......你可能会打破你的眼睛 :-) 和那...在你提问之前......你有没有试过在MetaEditor中阅读BACKGROUND?全部?......首先......这样你就不会问关于类型和类似东西的愚蠢问题.... === OrderSend() 函数的操作类型。 可以是以下任何一个值。 恒定 价值 描述 OP_BUY 0 购买 销量:OP_SELL 1 出售 OP_BUYLIMIT 2 买入上限挂单 OP_SELLLIMIT 3 悬而未决的卖出限价单 OP_BUYSTOP 4 悬而未决的买入止损单 OP_SELLSTOP 5 悬而未决的卖出止损单 Aleksander 2012.06.24 06:28 #2043 但就类型而言--没有什么问题...正是==0应该是... 因为在第三块 if (OrderType()<2) continue; // Рыночный ордер 市场订单被跳过... === 如果在订单列表中发现挂单,TYPE变量将不等于0。 --- Дмитрий 2012.06.24 06:39 #2044 下午好。你能给我一个提示吗? 例如,我们有MA通过Level_R和Level_S的标准。 int Criterion; double MA_1=iMA(......,0); double MA_2=iMA(......,1); double MA_3=iMA(......,2); if(MA_1 > Level_S_1 && Ma_2 <= Level_S_2 MA_3 <= Level_S_3) Criterion=1; if(MA_1 > Level_R_1 && Ma_2 <= Level_R_2 MA_3 <= Level_R_3) Criterion=2; 问题:我们如何记忆标准,使它保持一个1或2的值(取决于通过),直到新的通过发生,而不是在随后的刻度上重置。 Aleksander 2012.06.24 06:43 #2045 将变量定义放在Start或其他函数之外...进入全局变量... Дмитрий 2012.06.24 06:52 #2046 Aleksander: 将变量定义放在Start或其他函数之外...进入全局变量... 我已经试过了,他一直在骂人......暗示着我的无能。 Aleksander 2012.06.24 07:04 #2047 然后,如果文本较小,就发布整个文本......最多 20-30 行 Дмитрий 2012.06.24 07:25 #2048 int Criterion, Crit; int start() { Crit= Fun_Criterion( Criterion); switch(Crit) { /************/ } return(0); } Fun_Criterion(int Criterion) { if(MA_1 > Level_S_1 && Ma_2 <= Level_S_2 MA_3 <= Level_S_3) Criterion=1; if(MA_1 < Level_R_1 && Ma_2 >= Level_R_2 MA_3 >= Level_R_3) Criterion=2; return(Criterion); } Aleksander 2012.06.24 07:55 #2049 为什么会有中间人? FUN的功能是什么? int Criterion; int start() { Fun_Criterion(); switch( Criterion) { /************/ } return(0); } //----------------------------- void Fun_Criterion() { if(MA_1 > Level_S_1 && Ma_2 <= Level_S_2 && MA_3 <= Level_S_3) Criterion=1; if(MA_1 < Level_R_1 && Ma_2 >= Level_R_2 && MA_3 >= Level_R_3) Criterion=2; } 而&&的位置不对...... Дмитрий 2012.06.24 08:09 #2050 在我看来,是TRANSFERABLE PARAMETER))))),但我不能没有它)))。谢谢,修好了,正在工作。 1...198199200201202203204205206207208209210211212...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
下午好。问题如下。在 S.K .的MQL4书中 ,在"交易操作"部分,有一个简单脚本 的例子,修改一个申报价格高于其他挂单 的挂单(modifyorderprice.mq4),如下 。
或者在这个脚本的第5-6块中有一个错误,因为(在我看来)这一行应该是这样的因为所有类型的非挂单(市场)订单都有类型0或1,即小于2。还是我误解了什么。
问题:请你澄清一下:如果我有什么误解,是什么?
提前感谢您的回答。
下午好。我有以下问题。在 S.K.的 MQL4书中, 在"交易操作 "部分,有一个简单脚本 的例子,它修改了一个挂单,这个挂单的申报价格比其他挂单的价格更接近脚本所附的点(
或者这个脚本的第5-6块有错误,因为(在我看来)行应该
是这样的,因为所有类型的非挂单(市场)订单的类型都是0或1,即小于2。
或者我误解了什么。
问题:请你让我明白:如果我误解了
什么,到底是 什么
?亲爱的...不要在这里写这么大的字......你可能会打破你的眼睛 :-)
和那...在你提问之前......你有没有试过在MetaEditor中阅读BACKGROUND?全部?......首先......这样你就不会问关于类型和类似东西的愚蠢问题....
===
OrderSend() 函数的操作类型。 可以是以下任何一个值。
但就类型而言--没有什么问题...正是==0应该是...
因为在第三块
市场订单被跳过...
===
如果在订单列表中发现挂单,TYPE变量将不等于0。
---
下午好。你能给我一个提示吗?
例如,我们有MA通过Level_R和Level_S的标准。
int Criterion; double MA_1=iMA(......,0); double MA_2=iMA(......,1); double MA_3=iMA(......,2);
问题:我们如何记忆标准,使它保持一个1或2的值(取决于通过),直到新的通过发生,而不是在随后的刻度上重置。
将变量定义放在Start或其他函数之外...进入全局变量...
为什么会有中间人? FUN的功能是什么?
而&&的位置不对......