//====================================================================================================================
NEW_WINDOW, W_NAME, "Main form 1", W_ICON, 12, W_TYPE, SETTINGS, ALWAYS_ON_TOP, OOI,
//----------------------------------------------------------------------------------//----------------------------------------------------------------------------------
GROUP, A,
__, BUTTON,"BUY",text,N_COLOR,(int)clrBlue, GAP,50, BUTTON,"SELL", text,N_COLOR,(int)clrRed,
END_GROUP,
//--------------------------
i, AT, _X2X, "MF", 10, _Y2Y,"MF", 10,
i,BUTTONS, PARAM_TYPE,_BOOL, TEXT_FONT,"Times New Roman", W,100, H,34, FONT_SIZE,11, END,
//----------------------------------------------------------------------------------
GROUP, A,
__,V_BOX,"V1",W,860, _,H,248,_,N_FRAME,1,_,NP_FRAME,1,
END_GROUP,
//--------------------------
i, AT, _X2X, "MF", 10, _Y2Y,"MF", 50,
//----------------------------------------------------------------------------------//----------------------------------------------------------------------------------//Объявляем таблицу://----------------------------------------------------------------------------------
GROUP,"Orders table", IS_TABLE,
__, T_HEADER, "#",W,20,_,H,30, C_HEADER, "Order", C_HEADER, "Opening Time",W,90, C_HEADER, "Type", W,90, C_HEADER, "Volume", W,90, C_HEADER, "Symbol", W,90,
C_HEADER, "Price", W,90,
C_HEADER, "Comission", W,90, C_HEADER, "Swap", W,90, C_HEADER, "PnL", W,90, C_HEADER, "Close", W,40,
__, R_HEADER,"1", CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"2",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"3",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"4",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"5",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"6",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"7",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"8",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"9",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"10",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"11",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"12",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"13",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"14",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"15",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"16",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"17",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"18",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"19",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"20",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
__, R_HEADER,"21",CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, CELL, A, I_BUTTON, A,
END_GROUP,
//------------------------------------
i,AT, LEFT_TOP, 0,0,
i, IN, "V1",
//-----------
i, Y_GAP,-1,
i, X_GAP,-1,
//-----------
i, IS_ZEBRA_STYLE,
i, DnD_RECIEVER,
i, R_HEADERS, W,20, N_COLOR,(int)C'0,235,0', END,
i, C_HEADERS, H,30, END,
i, CELLS, H,25, END,
i, C_HEADERS, DnD_ON, DnD_FUNCTION, ROTATE_COLOMNS, END,
i, I_BUTTONS, C_FUNCTION, DELETES_ROW, text,HIDE,1, N_FRAME,1,A_FRAME,1, NP_FRAME,1, AP_FRAME,1, N_LABEL,745, END,
i, IS_DINAMIC,
//----------------------------------------------------------------------------------"Order", H,30,
//----------------------------------------------------------------------------------
END_WINDOW,
//====================================================================================================================
并找一个有餐桌的窗口。
在界面文件中,用户将得到这样的代码。
//=====================================================================================================================//WINDOW: Main form 1 | element: BUTTON | name: BUY | Location: Window's Main Frame//=====================================================================================================================case BUTTON3____BUY:
//------------------------------------------------------------------------------------------------------//What to do when button pressed or released?//------------------------------------------------------------------------------------------------------switch((int)action)
{
case pressed: break;
case released: break;
}
//------------------------------------------------------------------------------------------------------//Your comment://------------------------------------------------------------------------------------------------------break;
//=====================================================================================================================//WINDOW: Main form 1 | element: BUTTON | name: SELL | Location: Window's Main Frame//=====================================================================================================================case BUTTON4____SELL:
//------------------------------------------------------------------------------------------------------//What to do when button pressed or released?//------------------------------------------------------------------------------------------------------switch((int)action)
{
case pressed: break;
case released: break;
}
//------------------------------------------------------------------------------------------------------//Your comment://------------------------------------------------------------------------------------------------------break;
//=====================================================================================================================//WINDOW: Main form 1 | element: I_BUTTON | name: 1_Close | Location: Window's Main Frame | Table: 300000007//=====================================================================================================================case I_BUTTON14___Close:
//------------------------------------------------------------------------------------------------------//What to do when button pressed or released?//------------------------------------------------------------------------------------------------------switch((int)action)
{
case pressed: break;
case released: break;
}
//------------------------------------------------------------------------------------------------------//Your comment://------------------------------------------------------------------------------------------------------break;
}
}
//=================================================================================================================
用你所附的引擎的版本进行工作,作为示范。
这是很直接的。如果你的方法和我想的一样,那么我不认为动态表或通过计时器更新位置值有什么问题。彼得,你为什么从一开始就把事情搞得一团糟?)
瓦西里,最主要的是不要急于下结论。既不适合你,也不适合我))。
我将投入我的五分钱。我现在没有时间了。但有这样一个想法,在家里实施类似的面板。因此,我认为不只是做一个十字星来平仓 (虽然这是必要的),还要做一个标记,指定手数,做这个批发平仓。这将给与职位更灵活的工作,以及他们的部分关闭。
我可以做到这一点。
彼得,在定时器中做一个for循环,它将穿过未结订单并将订单列表中的变化发送到你的表中。另外,让你表中的订单利润也动态变化。
Vasily,请把这段代码粘贴到测试的EA文件中(用tick和timer功能代替旧的功能)。
还有,你必须替换外部连接文件中的第68行和第114行。
那里有点混杂。用OrderOpenTime() 代替OrderOpenPrice()。
它应该工作得很好。看看吧。
呃,这不是典型的做法--将数据(模型)与视图分开,并使用观察者模式将特定的视图订阅到模型变化或特定的模型字段。
但这需要这样一个库的用户,以面向对象的思维,把他们的EA数据塞进建议的对象结构中(是的,是的,你需要学习该库/框架的方法来建立一个接口)。而且很多人对OOP一无所知。
但彼得说你不必学习任何东西!只要去把你的全局变量 塞进现成的处理程序卷轴中,接口就能工作。是的,它是一个天赐良机,伙计们!它不是 "为书架制作木板,按照说明连接它们,然后摆放书籍",而是 "画出你的书架,然后在上面摆放你的书籍"。少写代码多办事((c)/JQuery,如果你是)。
很明显,产品定位有问题。如果是这样呢?嘿,程序员!你想赚点钱吗?你可以卖掉看起来不错的东西!拿出一百多个没有接口的专家顾问系统,然后卖给他们接口,哈哈哈 ))
好吧,界面文件有一个缺点,其中控件的处理程序是 "突出的"--它是静态的。我必须绞尽脑汁,创建一个新的处理程序类型,作为一个模板,通过输入参数接受用户/程序数据。
诶,不是要做大典......
没关系,Rehtag会做Konowam。)))
呃,这不是典型的做法--将数据(模型)与视图分开,并使用观察者模式将特定的视图订阅到模型变化或特定的模型字段。
但这需要这样一个库的用户,以面向对象的思维,把他们的EA数据塞进建议的对象结构中(是的,是的,你需要学习该库/框架的方法来建立接口)。而且很多人对OOP一无所知。
但彼得说你不必学习任何东西!只要去把你的全局变量 塞进现成的处理程序卷轴中,接口就能工作。是的,它是一个天赐良机,伙计们!它不是 "为书架制作木板,按照说明连接它们,然后摆放书籍",而是 "画出你的书架,然后在上面摆放你的书籍"。少写代码多办事((c)/JQuery,如果你是)。
显然,产品定位存在问题。如果是这样呢?嘿,程序员!你想赚点钱吗?你可以卖掉看起来不错的东西!拿出一百多个没有接口的专家顾问系统,然后卖给他们接口,哈哈哈 ))
好吧,界面文件有一个缺点,其中控件的处理程序是 "突出的"--它是静态的。我必须绞尽脑汁,创建一个新的处理程序类型,作为一个模板,通过输入参数接受用户/程序数据。
起初我以为这又是一批消极的东西,但后来我读得更清楚了,原来不是。只是情绪。
这个构造器是为那些真正热衷于算法交易的人准备的。对他们来说,不把时间浪费在研究图库上而是直接编写这段代码是有意义的。
并找一个有餐桌的窗口。
在界面文件中,用户将得到这样的代码。
而且它将决定在按钮点击事件上做什么和怎么做。
下一个动态表将更加有趣。这些单元格将有输入字段、弹出列表、复选框、按钮、单选按钮、进度条,以及带有+/-按钮的输入字段。
棘手的部分是这样一个表格的动态性。毕竟,访问元素和获取它们的值并不与特定的参数相联系,而是取决于行的布局。