收藏 分享(赏)

MultiCharts 操作教程.pdf

上传人:HR专家 文档编号:6298218 上传时间:2019-04-05 格式:PDF 页数:21 大小:2.96MB
下载 相关 举报
MultiCharts 操作教程.pdf_第1页
第1页 / 共21页
MultiCharts 操作教程.pdf_第2页
第2页 / 共21页
MultiCharts 操作教程.pdf_第3页
第3页 / 共21页
MultiCharts 操作教程.pdf_第4页
第4页 / 共21页
MultiCharts 操作教程.pdf_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、 1 融通社会财富 创造多元价值 MC操作教程 入市有风险,投资需谨慎 尹秀明译 MultiCharts操作教程 2 融通社会财富 创造多元价值 MC操作教程 入市有风险,投资需谨慎 第一章 图表基础 一、数据段(Data Intervals) 数据段也是我们在日常分析中常说的时间周期,即每根 K 线代表的时间结构,它是交易活动用来确定当一根BAR结束和另一根BAR开始或时间的数量。大多数交易者都熟悉每根BAR的时间间隔在一天的日条形图。 二、Bar的属性与保留字(Bar Attribute Reserved Words) 在图表应用程序中需要及时跟踪Bar的属性,关于Bar的属性可以通过系统

2、内部的保留字获取,Bar的属性主要包括Bar的类型、Bar的时间间隔、Bar的数量,通过这些保留字可以让我们去定义它们。 BarType 它是可以让交易者去定义自己技术分析图表中Bar的类型,其返回的是一个表示时间周期的数值。 0 = Tick Bar or Volume Bar 1 = Intraday Minute Bar 2 = Daily Bar 3 = Weekly Bar 4 = Monthly Bar 5 = Point BarInterval 它可以让交易者去定义自己日内技术分析图表中 Bar 的时间周期,其返回的是一个表示日内时间结构的数值。 举例,如if BarType ,

3、 ,= , = Close1 then Alert; if Close Close1 AND Low Close1 OR High High1 then Alert; 4、程序运行的优先顺序 计算机有程序评估语句的优先级,某些运算符具有更高的优先级,则计算机先运行该运算, 之后程序再从左到右的进行计算。 如,1 + 5 * 3 + 4 = 20 (1+5) * (3+4) = 42 1 + (5*(3+4) = 36 FALSE AND TRUE OR FALSE AND TRUE = FALSE FALSE OR TRUE AND FALSE OR TRUE = TRUE FALSE AND

4、 (TRUE OR FALSE) AND TRUE = FALSE 7 融通社会财富 创造多元价值 MC操作教程 入市有风险,投资需谨慎 三、保留字(Reserved words) 保留的字或关键字组成了EasyLanguage 编程语言。每个保留字执行的操作或返回的数据值。他们都是指标和策略的构建元素。保留字不区分大小写,交易者应该避免使用保留字的名称作为自定义的变量或参数输入。常用保留字见下表: 注,请参阅有关保留字用法的字典。 1、常量(Constants) 常量是保留字,代表一个固定的值。 SetPlotColor(1,Blue); Blue = 2 Condition1 = Dayo

5、fWeek(Date) = Monday; Monday = 1 2、跳跃字(Skip words) 跳跃字是用来改善 EasyLanguage 代码的可读性的保留的字。他们没有任何其他功能,就会执行 EasyLanguage 指令时忽略。如, Buy next bar at market; Buy next bar at the close of this bar limit; 3、属性(Attributes) 属性是转动整个分析技术的开关某一功能的开关。他们不可能在代码之内被改变。 8 融通社会财富 创造多元价值 MC操作教程 入市有风险,投资需谨慎 LegacyColorValue =

6、TRUE/这将打开或关闭旧时的颜色值 IntrabarOrderGeneration = TRUE/这将打开或关闭bar内策略的命令生成 InfiniteLoopDetection = TRUE/这将打开或关闭循环侦查 四、内置函数 EasyLanguage 函数是经常使用的公式或可以返回 true 的任一的数字的真 /假或字符串值,在任何分析技术或另一个函数中,可以调用函数,允许交易者编写复杂的数学公式,大部分函数拥有一个或多个输入参数来修正函数的演算,在不同的环境中,函数的用途与弹性均不同。 最常见的数学与技术分析计算已编写并内置。交易者还可以创建自己的函数库。一旦验证可以永久使用。常用内

7、置函数如下: 如, if Average(Close,10) crosses above Average(Close,20) then Buy next bar at market; 第五章 EasyLanguage申明 计算机程序是程序员根据一组给定的规则和语法编写的一系列指令,所有的计算机程序基本上做三个主要的事情:计算表达式、 更改顺序表达式进行计算,对用户输出数据。 EasyLanguage 提供了多种与交易相关的其他工具,交易者可以将这些工具植入到自己的分析技术中。EasyLanguage中每个完整的句子都是用分号隔开; 如,Value1 = Highest(High,20)1; 有

8、几个保留字是对EasyLanguage开始前所做的申明。这些保留字是所有指标和策略的重要组成部分。 如, Inputs: /外部参数使用宣告 Variables: /变量使用宣告 Arrays: /数组使用宣告 If then begin end; Plot1(numericvalue);/画线 Alert(alert string);/满足条件后发出提示音 Buy next bar at Market;/买在下一根BAR的开盘价 Sell Short next bar at Market;/卖在下一根BAR的开盘价 For = 1 to then begin end; 9 融通社会财富 创造

9、多元价值 MC操作教程 入市有风险,投资需谨慎 Print(expression list);/输出 Commentary(expression list);/评注 一、宣告(Declaration) 声明语句允许交易者创建自己独特的语言元素作为输入参数的变量,或数组变量。这些名称应具有描述性的,存储在计算机中应该是符合逻辑与易理解的。 输入、 变量或数组的声明名称可以是最多的 42 个字符长。他们必须以字母字符开头,不能以数字或下划线的除外的符号开头。 1.外部参数输入(Inputs) 参数输入声明是创建一个分析技术中的参数的名称。这些参数可用于更改计算的值,更改显示颜色或介绍分支逻辑。输入

10、允许交易者利用它可以轻松地测试不同应用中的计算逻辑,交易者可通过研究分析窗口实现修改,而不必修改 EasyLanguage 代码。 当声明的一项策略投入使用时,允许交易者利用图表分析窗口中的优化功能。优化允许交易者设置策略输入参数的范围,计算每个方案并显示出一分全面的策略绩效报告。 输入的名称是唯一的声明它们的研究。可以使用相同的名称重新在其它研究中,但在同一研究中不能使用相同的名称, 例如不能声明一个具有相同的输入作为变量的名称。此外,请记住以避免命名与保留字名称相同词。 输入保留字有二个形式:Input and Inputs,后面必须有冒号,之后的一系列参数输入必须用逗号隔开。同时每个声明

11、的输入必须有一些有用的值作为默认值。此默认值确定输入 (数字、 真/假或文本) 中的数据类型。如, Inputs: price(close),length(20); Plot1(average(price,length); 2. 变量宣告(Variables) 变量是一个编程的工具,可以存储计算的值,当需要的时候可以参考所使用的值。每个变量都有一个唯一的名称,在技术分析中需要用时可以调用。变量可以是数字值、 真/假比较或文本字符串。变量可以用描述计算性质或数据目的的描述性名称 。 变量将保存从一根BAR到另一根BAR的值。 在变量中存放计算的值有几个好处,可以减少复杂语句的印刷错误,可以引用一

12、个简单的可读性名称,以及改善运行与存储效率。 像参数输入的命名一样,变量名都是唯一的,交易者可以其他研究中再次使用相同的名称,在相同的研究中不能使用同一个名称,例如声明与输入的名称不能使用相同的变量。 在使用前,必须声明用户命名的变量,用变量保留字声明变量,有四种形式: Variables, Variable, Vars, Var.后面必须紧跟冒号,一系列变量间用逗号间隔。 每一个宣告的变量都要赋予初始值,变量通常会将其初始化为 0,但也可以初始化为有用的任何值。此初始化的值决定变量的数据类型 (数字、 真实 /假或文本字符串)。 Variables: LastHigh(0), /创设一个数值

13、变量 NewHigh(false),/创设一个真/假变量 HighAlert(“); /创设一个文本变量 二、 变量分配(Variable Assignment) 计算、 比较和其他值通常被存储以备技术分析或战略使用。一些新值或设置状态变量的行为称为工作分配。等号(=) 的保留字用于变量赋值。 如,Vars: SlowAverage(0), FastAverage(0); SlowAverage = Average(Close, 18); FastAverage = Average(Close, 9); 10 融通社会财富 创造多元价值 MC操作教程 入市有风险,投资需谨慎 1.理解变量类型

14、许多指标、策略、函数都是用变量、参数和数组来写的,这些语言元素使交易者可以组织和管理信息,以及在应用研究时,灵活性内置。变量、参数、数组有三种类型: Numeric /包含简单或复杂、正的或负的数字 True/false /包含一个真/假的说明,一个真/假的表述,一个真/假的语言 Text String /包含一个在引号中的文本字符、数字或字母 2.系统已宣告变量(Pre-Declared Variables) 已宣告变量是语言自动地认可的可变量,功能上等于用户宣告的变量,但是不需要用户重新宣告。 Value0 to Value99 有100个以宣告的数值变量 Condition0 to Co

15、nditition99 有100个已经宣告的逻辑真/假变量 如,Value1 = Average(Price, Length); Condition1 = Close Crosses Above Value1; 3. 变量计算与存储 当您引用的变量时, 返回该变量的值是为上一根BAR收盘时的变量值。 如,Value1 = Value1 + 1; 在这个变量的赋值中,将在每个BAR上递增一个Value1。 由于Value1参考的是每根BAR的收盘价,因此只有在每根BAR走完后才能在Value1递增。 4. 变量历史值 变量、公式、函数以及保留字都能够检验图表中BAR上的历史值,通过在变量后面增加

16、n来宣告要引用多久的历史变量,0表示使用的是当前BAR的数据。 Plot1(Close5);/画前第5根BAR收盘价的线 Plot2(Highest(High, 10)1);/从前一根BAR开始往前数10根BAR的高价的最高值画线 Plot3(Close - Open)1);/前一根BAR收盘与开盘差画线 Condition1 = Condition21 OR Condition22;/将前一根BAR的condition2或将倒数第二根BAR的condition2赋予condition1 5. 变量计算 Value1 = Value1 + 1; / simple once per bar ev

17、ent counter Value2 = Value2 + (Close - Close1); / sum net changes Value3 = Value2 / Value1; / Cumulative average 6.设置变量或有条件的持有变量 变量将从一根BAR到另一根BAR持有其值,除非被重新分配值。只有当条件满足时,变量才被重新计算,该变量持有新值知道新的条件满足。 Vars: Bar1Range(0); if Date Highest(High,10)1 then Alert; If.Then.Else. if Close Average(Close, 20) then S

18、etPlotColor(1, Green) Else SetPlotColor(1, Red); If.Then Begin.End if Close Average(Close, 20) then begin SetPlotColor(1, Green); Alert; end; If.Then Begin.End Else Begin.End if Close Average(Close, 20) then begin SetPlotColor(1, Green); Alert(“Close Above Average“); end Else begin SetPlotColor(1, R

19、ed); Alert(“Close Below Average”); end; ONCE.Begin.End Var: Counter(0) if( CurrentBar = 1 ) and ( Counter = 0 ) then Counter = 1000; 可以写成: Var: Counter(0) once ( CurrentBar = 1 ) and ( Counter = 0 ) begin Counter = 1000; end; 12 融通社会财富 创造多元价值 MC操作教程 入市有风险,投资需谨慎 第六章 迭代(Iteration) 迭代语句导致一个或多个 EL 语句重复执

20、行,在特定的同一栏上数迭代或直到真/假条件得到满足。有叠代声明的三种类型 EasyLanguage :For loops, while loops, and repeat loops. For Loop For loops 能够以递增或递减的方式来迭代,这主要依赖于两个保留字:To - count ascending; DownTo - count descending 如, Vars: RangeSum(0), x(0);变量宣告 RangeSum = 0; 在每个BAR上重设变量值 For x = 0 to 5 begin RangeSum = RangeSum + Rangex; end

21、; 这个循环将迭代6次,即 (0, 1, 2, 3, 4, 5). Vars: RangeSum(0), x(0); RangeSum = 0; For x = 5 downto 0 begin RangeSum = RangeSum + Rangex; end; 在所有迭代完成前,要打破原有的迭代圈,需要增加额外的条件语句使循环变量达到最大值或最终值。 For value1 = 0 to 4 begin if Closevalue1 Closevalue1 + 1 then Value1 = 4; end; While Loop 当某一情况是真实或错误的时,循环将重复一个或更多声明。如果循环

22、中的条件从未是真实的,循环将执行。 while Value1 = 0 begin Value2 = Value2 + 1; if Value2 100 then Value1 = 1; end; 第七章 输出 EasyLanguage给交易者几个方式来输出数据、指标运算的值以及有条件的比较。 一、Plot Statement 在图表中,绘制线条或点是基于指定的 y 轴数值,但是绘制语句不允许用在策略中。绘制图的基本结构:PlotN(numeric expression, “plot name“); /这里的N可取1到99,无间隔 Plot1(Close, “The Close“); Plot1

23、(High, “The High“); Plot2(Low, “The Low“); 13 融通社会财富 创造多元价值 MC操作教程 入市有风险,投资需谨慎 绘图语句用于指标、 ShowMe 和 PaintBar 研究。一项指标可以包含最多99条同时绘制。 一个完成的绘制语句包含很多方面,具体结构如下:、 PlotN(numeric expression, “plot name“, foreground color, backgroundcolor, width); 如,Plot1(Close, “The Close“, Red, Default, 3); 通常有条件地基于一些技术指标设置颜色

24、和宽度比要硬代码颜色的语句中的条件更有用。主要有以下几个保留字:SetPlotColor, SetPlotBGColor, and SetPlotWidth 一旦定义了使用 PlotN 保留字,交易者可以在其他绘图EasyLanguage 语句中引用。 Plot1(Average(Close, 10), “Avg Close“); if Close crosses above Plot11 then Alert; 二、有条件的格式化绘制 Plot可以更改基于指定的价格或指标条件的绘图颜色与宽度。即每一项指标中的绘图都可以按条件设置更改颜色和宽度。有条件的设置绘图类型有三个保留字: SetPlo

25、tColor,SetPlotWith,SetPlotBGColor 如,if Close Average(Close,10) then SetPlotColor(1, Cyan) else SetPlotColor(1, Red); Plot1(Average(Close,10), “MovAvg“); 另如,if Volume Average(Volume,10) then SetPlotWidth(1, 4) / Thicker else SetPlotWidth(1, 2); / Thinner Plot1(Average(volume,10), “MovAvg“); 再如, if Cl

26、ose Average(Close,10) then SetPlotBGColor(1, DarkGreen) else SetPlotBGColor(1, DarkRed); Plot1(Average(Close,10), “MovAvg“); 这个例子中,绘图背景色根据收盘价高于还是低于10日平均价线从深绿到深红改变。 三、设置警示音 这是当预先设定的条件满足时,设置满足条件的指标发出声音,以提醒交易者。 设置提示音要做两件事情:一是指标必须满足设置标准并且在代码中要使用保留字Alerts; 二是提示音设置必须用在图表分析中,如, if Close Highest(Close, 10)1

27、 then Alert; if Close Close1 then Buy next bar at Market; 这表示策略将产生一个信号指令,只要一个TICK价高于前一根BAR的收盘价。 一、策略代码的基本结构 / 外部参数使用宣告 Inputs: MoLength(10), StopAmt(100), ProfitAmt(100); / 变量使用宣告 Vars: MoValue(0); / 将变量赋值并存储到计算机中 MoValue = Momentum(Close, MoLength); / 做多条件 if MoValue crosses over 0 then / 做多进场指令 Bu

28、y(“Mo LE”) 100 Shares next bar at Market; /做空条件 if MoValue crosses under 0 then / 做空进场指令 Sell Short(“Mo SE”) 100 shares next bar at Market; / 为多头、空头头寸设置止损性指令 SetStopLoss(StopAmt); / 为多头、空头指令设置止盈指令 SetProfitTarget(ProfitAmt); 二、先进的自动指令(Advanced Order Automation) 先进交易指令运行设置进出指令、价格、头寸和其他一些设置,这些高级指令都可以通

29、过自动交易保留字在代码中实现。这些功能回测没有影响。 这些高级指令通过保留字“Set“来实现,一旦打开,从生成的所有订单任何应用于图表的策略组件将继续使用相同的高级的命令功能,当不需要的时候可以关闭该功能。 17 融通社会财富 创造多元价值 MC操作教程 入市有风险,投资需谨慎 SetBreakEven - sets an exit stop at the entry price, after a minimum profit is achieved. SetDollarTrailing - sets an exit stop a fixed number of dollars away fr

30、om the peak profit. SetPercentTrailing - sets an exit stop a fixed percent of the peak profit away from the peak profit, after a minimum profit is achieved. SetProfitTarget - sets an exit order at a fixed dollar profit target. SetStopLoss - sets a stop loss order at a fixed dollar risk from entry. 如

31、,Vars: MoValue(0); MoValue = Momentum(Close, 10); if MoValue crosses over 0 then Buy next bar at Market; SetStopLoss(100); SetProfitTarget(100); SetStopPosition - exit is calculated for the entire position in dollars. SetStopShare or SetStopContract - exits are calculated per share or contract Input

32、s: StopAmt(1), ProfitAmt(1); SetStopShare; SetStopLoss(StopAmt); SetProfitTarget(ProfitAmt); 第九章 创设函数 函数是一个 EasyLanguage 文件,执行一组定义的说明并返回一个或多个值,大多数指标和策略利用函数执行数学计算功能,函数的返回值可以使是时间、数字,字符串或逻辑真与假。 函数可以作用帮助使指标、策略和其他作用的复杂减到最小。他们提高可读性并减少错误。 大多数的函数具有灵活性,允许添加一个单一的计算参数在很多情况下使用的函数。 函数可以是单个的语句,或者可以是复杂的计算要求。函数通常具有

33、调用派生值和简化代码的其他功能。 函数命名,函数的命名与文件名是一致的,函数名称不能包含空格或非字母字符,下划线的除外。 如,Range = High - Low; /文件名“Range” 如,inputs: Price(numericseries), Length(numericsimple) ; variables: Sum( 0 ) ; Sum = 0 ; for Value1 = 0 to Length - 1 begin Sum = Sum + PriceValue1; end ; Summation = Sum ; /文件名“Summation“ 如,inputs: Price(C

34、lose), Length(10); variables: Avg( 0 ) ; Avg = Summation(Price, Length) / Length; Plot1(Avg, “Avg”); 一、函数输入参数 许多函数编写将灵活性添加到函数计算的输入参数,输入从基于输入的声明的调用分析技术,可以将参数值传递给函数。由该的用户和已声明的输入的参数名称确定名称和所需的输入值的类型应具有描述性的其功能和目的。 18 融通社会财富 创造多元价值 MC操作教程 入市有风险,投资需谨慎 在函数参数输入中有三种类型:Numeric, TrueFalse, and String(text) Nume

35、ric -当一个函数的参数的定义是数字时,函数需要一个数值或表达式,如,3, .456, 100.234, Close, Average(Close, 20), TrueFalse -函数的参数定义为真/假,需要真/假值或表达式,如True, False, Close Close1, String -当一个函数的参数定义为字符串时,函数需要一个 String 值,或表达式,如“B”, “Sell”, “New High” 如,Inputs: Price(numeric), BuyCond(TrueFalse), Label(string); 二、参量子型 (Parameter Subtypes

36、) 目前有两种类型的子类参数:Simple and Series. 参量子型确定输入参量在BAR与BAR之间是否是恒定的(simple),输入参量在每个BAR上的值都是不同的(series) Simple Parametersare constant values that do not change from bar to bar.他在计算中占用很少的内存并能提高程序允许的速度。该函数代码不能引用在历史上一个简单的输入的参数值。 Series Parametersare generally going to be different on every bar。如平均函数close值在程序运行

37、中将是一系列参数值。函数代码可以引用一个系列历史上参数值。 如,Inputs: Price(numericseries), Length(numericsimple) ; Inputs: BuyCond(truefalseseries), TimeCond(truefalsesimple) ; Inputs: Message(stringseries), SymbolName(stringsimple) ; 三、输入/输出参数(Function Input/Output Parameters) 输入/输出参数允许修改并返回多个函数要调用的分析技术的其他值。这允许做许多相关的演算,然后返回所有值

38、。它还允许修改数组,然后返回整个函数修改的数组。这些多个输出参数值是除了正常的函数返回值。 如,Inputs: oUpperBand(NumericRef), oLowerBand(NumericRef); oUpperBand = Highest(High, 10)1; oLowerBand = Lowest(Low, 10)1; MyBands = 1;/函数名为“MyBands“ /该函数计算,并返回两个值使用输入/输出参数。该函数本身不会返回一个有用的值,但是仍然需要计算,并且返回1的假值。 如,Vars: oUpperBand(0), oLowerBand(0); Value1 =

39、MyBands(oUpperBand, oLowerBand); Plot1(oUpperBand); Plot2(oLowerBand); 四、函数存储和记忆优化(Function Storage and Memory Optimization) 可以创建 EasyLanguage 中的函数,以返回数字、 文本字符串或真/假值,为了优化内存,数字函数可以设置为只返回一个整数、 浮点数或双浮的值。EasyLanguage 还允许函数自身通过引用历史数据来优化内存存储。即系列设置与单值设置。 Simple Functions不能引用以前的本身的值,这函数占用较少的内存并且无需逐个BAR去计算,但

40、是简单函数可以引用内部系列函数和BAR上价格的历史值。 Series Functions能够引用以前的本身的值,每根BAR上逐个的计算并且所有的历史变量值都被存储。 如,if Close Close1 then Value1 = BarNumber;/调用函数BarNumber BarNumber = BarNumber1 + 1;/逐个计数 19 融通社会财富 创造多元价值 MC操作教程 入市有风险,投资需谨慎 五、内存优化(Memory Optimization) 内存优化在创建一个函数时 EasyLanguage 自动设置基于历史参考资料的存储功能内的代码。在验证时如果可能,将设置功能存

41、储为简单节省内存。 联系方式: 总部 无锡业务部 地址:无锡市人民中路97号佳福大厦10楼 地址:无锡市人民中路97号佳福大厦 邮编:214002 邮编:214002 电话:0510-82751988 电话:0510-82756983 传真:0510-82759156 传真:0510-82756983 客服中心:400-8888-012 电子邮件: 盐城营业部 江阴营业部 地址:盐城市人民中路2号建设大楼4楼 地址:江阴市澄江镇大桥北路105号时代超市4楼 邮编:224001 邮编:214400 电话:0515-83706602 电话:0510-80625962 传真:0515-8835299

42、1 传真:0510-86876317 重庆营业部 南通营业部 地址:重庆渝中区中山三路168号中安大厦16-1号 地址:南通市南大街290号崇川大厦4楼 邮编:400000 邮编:226000 电话:023-63636822 电话:0513-85157399 20 融通社会财富 创造多元价值 MC操作教程 入市有风险,投资需谨慎 传真:023-63638862 传真:0513-85587588 合肥营业部 南宁营业部 地址:合肥市蜀山区长江西路3号春天大厦503室 地址:南宁市金浦路16号汇东国际E座28楼 邮编:230031 邮编:530022 电话:0551-2851190 电话:0771

43、-5735809 传真:0551-2854191 传真:0771-5735811 宜兴营业部 大连营业部 地址:宜兴市光明西路2号神马小区 地址:大连市中山区友好路211号商务特区1602室 邮编:214206 邮编:116001 电话:051087333311 电话:0411-82302785 传真:051087333355 传真:0411-39860567 长沙营业部 上海营业部 地址:长沙市芙蓉中路一段469号新闻大厦12层 地址:上海市浦东新区世纪大道1589号6楼10-11单元 邮编:410005 邮编:200122 电话:0731-84331320 电话:021-58208216

44、传真:0731-84331300 传真:021-58208227 常州营业部 郑州营业部 地址:常州市延陵西路19号嘉宏大厦10楼 地址:郑州未来大道69号未来大厦1212室 邮编:213003 邮编:450008 电话:0519-88055001 电话:0371-65613091 传真:0519-88168925 传真:0371-65612153 福州营业部 南昌营业部 地址:福州五一北路129号榕城商贸中心25层02号 地址:南昌北京西路88号江信国际大厦17楼 邮编:350001 邮编:330000 电话:0591-87509932 电话:0791-6304648 传真:0591-87509932 传真:0791-6304789 苏州营业部 青岛营业部 21 融通社会财富 创造多元价值 MC操作教程 入市有风险,投资需谨慎 地址:苏州工业园区苏雅路388号新天翔商业广 地址:青岛市市南区东海西路35号太平洋中心2号写 场2幢903、904室 字楼3楼 邮编:215021 邮编:266000 电话:0512-62963125 电话:0532-89092096 传真:0512-62963135 传真:0532-89092099

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报