[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 697 1...690691692693694695696697698699700701702703704...1145 新评论 Sergey Guliaev 2010.07.13 09:14 #6961 rensbit: 锚的角度是指从哪个角度计算窗口中物体的位置。角度从左到右顺时针计算。 如果我抓取到右下角,那么呢,我应该设置负坐标吗? Валентин 2010.07.13 09:16 #6962 valenok2003: 如果我抓取到右下角,我是否要设置负坐标? 不,正坐标,终端会自己计算出所需的点。比如说。从第2个角开始的15个像素 [删除] 2010.07.13 09:17 #6963 Azerus: 请告知。 为了计算连续事件的数量(例如,在一个系列中收盘价高于开盘价的条数,反之亦然),我只能得出以下结论。 有两个问题(如果上述有意义的话):(1)如果连续系列停止了,如何重置计数器的读数;(2)如何正确写入Buffer[i]--即我如何能 "看到 "结果本身? 也就是说,如果某个条形图的指标显示为"-3",这意味着这是连续第三个条形图的收盘价低于开盘价;如果它之后的下一个条形图收盘价高于开盘价,指标将显示为 "1" ......。 int i=Bars-1 while (i > 0) { int x=0。 int y=0。 if ( Close[i] > Open[i] ) { x++ ; Buf [i]= x; } 如果(Close[i] < Open[i] ){ y-- ; Buf2[i] =y ; } i--; } Sergey Guliaev 2010.07.13 09:20 #6964 rensbit: 不,正坐标,终端会自己计算出所需的点。比如说。距2个角15像素 谢谢你,它正在工作。 cyclik333 2010.07.13 09:31 #6965 artmedia70: 显示你的代码,以便不被猜中 在Gorando程序中制作,加入了你的马汀。 //+------------------------------------------------------------------+ //| Copyright 2005, Gordago Software Corp. //| http://www.gordago.com/ | //| 2.0版本| //+------------------------------------------------------------------+ #property copyright"Copyright 2005, Gordago Software Corp." #属性链接 "http://www.gordago.com" #define MIN_STOPLOSS_POINT 10 #define MIN_TAKEPROFIT_POINT 10 #define MAGIC 218650 外部字符串sNameExpert = "从Gordago生成"。 外部int nAccount =0; 外部双倍的dBuyStopLossPoint = 0; 外来的双倍dSellStopLossPoint = 0; 外来的双数dBuyTakeProfitPoint = 0; 外来的双倍dSellTakeProfitPoint = 0; 外来的双倍数dBuyTrailingStopPoint = 0; 外来的双倍dSellTrailingStopPoint = 0; 外来的双Lot = 0.10。 外置 int nSlippage = 30; 外部 bool lFlagUseHourTrade = True; 外部inttern nFromHourTrade = 0; 外置 intToHourTrade = 23; 外部 bool lFlagUseSound = False; 外部字符串sSoundFileName = "alert.wav"。 外部颜色 colorOpenBuy = Blue; 外部的colorCloseBuy = Aqua; 外部颜色OpenSell = 红色。 extern colorCloseSell = Aqua; void deinit() { 评论(")。 } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start(){ 如果(lFlagUseHourTrade){ 如果(!(Hour()>=nFromHourTrade && Hour()<=nToHourTrade)){ 评论("贸易的时间还没有到来!")。 return(0); } } 如果(Bars < 100){ Print("小于100的条形图")。 return(0); } 如果(nAccount > 0 && nAccount != AccountNumber()){ 评论("账户交易:"+账户号码()+"禁止!")。 return(0); } 如果((dBuyStopLossPoint > 0 && dBuyStopLossPoint < MIN_STOPLOSS_POINT) || (dSellStopLossPoint > 0 && dSellStopLossPoint < MIN_STOPLOSS_POINT)){ Print("StopLoss 小于" + MIN_STOPLOSS_POINT)。 return(0); } 如果((dBuyTakeProfitPoint > 0 && dBuyTakeProfitPoint < MIN_TAKEPROFIT_POINT) || (dSellTakeProfitPoint > 0 && dSellTakeProfitPoint < MIN_TAKEPROFIT_POINT)){ Print("TakeProfit小于" + MIN_TAKEPROFIT_POINT)。 return(0); } double diOpen0=iOpen(NULL,60,0); double d1=(0.00030); double diHigh2=iHigh(NULL,60,0)。 double diOpen3=iOpen(NULL,60,0); double d4=(0.00030); double diLow5=iLow(NULL,60,0)。 double diOpen6=iOpen(NULL,60,1); double diClose7=iClose(NULL,60,1); double diOpen8=iOpen(NULL,60,2); double diClose9=iClose(NULL,60,2); double diOpen10=iOpen(NULL,60,0); double d11=(0.00030); double diHigh12=iHigh(NULL,60,0)。 double diOpen13=iOpen(NULL,60,0); double d14=(0.00030); double diLow15=iLow(NULL,60,0)。 double diOpen16=iOpen(NULL,60,1); double diClose17=iClose(NULL,60,1); double diOpen18=iOpen(NULL,60,2); double diClose19=iClose(NULL,60,2); 如果(AccountFreeMargin() < (1000*Lot)){ Print("我们没有钱。Free Margin = " + AccountFreeMargin())。 return(0); } bool lFlagBuyOpen = false, lFlagSellOpen = false, lFlagBuyClose = false, lFlagSellClose = false; lFlagBuyOpen = (diOpen0+d1>diHigh2 && diOpen3-d4<diLow5 && diOpen6<diClose7 && diOpen8>diClose9) 。 lFlagSellOpen = (diOpen10+d11>diHigh12 && diOpen13-d14<diLow15 && diOpen16>diClose17 && diOpen18<diClose19) 。 lFlagBuyClose = False。 lFlagSellClose = False; 如果(!ExistPositions()){ 如果(lFlagBuyOpen){ OpenBuy()。 { return(0); } 如果(lFlagSellOpen){ OpenSell()。 return(0); } } 如果(ExistPositions()){ 如果(OrderType()==OP_BUY){ 如果(lFlagBuyClose){ bool flagCloseBuy = OrderClose(OrderTicket(, OrderLots(), Bid, nSlippage, colorCloseBuy)。 如果(flagCloseBuy && lFlagUseSound) PlaySound(sSoundFileName)。 return(0); } } 如果(OrderType()==OP_SELL){ 如果(lFlagSellClose){ bool flagCloseSell = OrderClose(OrderTicket(, OrderLots(), Ask, nSlippage, colorCloseSell)。 如果(flagCloseSell && lFlagUseSound) PlaySound(sSoundFileName)。 return(0); } } } 如果(dBuyTrailingStopPoint > 0 || dSellTrailingStopPoint > 0){ for (int i=0; i<OrdersTotal(); i++){ 如果(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){ bool lMagic = true。 如果(MAGIC > 0 && OrderMagicNumber() != MAGIC) lMagic = false。 如果(OrderSymbol()==Symbol() && lMagic) { 如果(OrderType()==OP_BUY && dBuyTrailingStopPoint > 0) { 如果(Bid-OrderOpenPrice() > dBuyTrailingStopPoint*Point) { 如果(OrderStopLoss()<Bid-dBuyTrailingStopPoint*Point) 修改StopLoss(Bid-dBuyTrailingStopPoint*Point)。 } } 如果(OrderType()==OP_SELL) { 如果(OrderOpenPrice()-Ask>dSellTrailingStopPoint*Point) { 如果(OrderStopLoss()>Ask+dSellTrailingStopPoint*Point || OrderStopLoss()==0) ModifyStopLoss(Ask+dSellTrailingStopPoint*Point)。 } } } } } } 返回(0)。 } bool ExistPositions() { for (int i=0; i<OrdersTotal(); i++){ 如果(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){ bool lMagic = true。 如果(MAGIC > 0 && OrderMagicNumber() != MAGIC) lMagic = false。 如果(OrderSymbol()==Symbol() && lMagic) { return(True)。 } } } return(false)。 } 无效的修改止损(double ldStopLoss) { bool lFlagModify = OrderModify(OrderTicket(, OrderOpenPrice(), ldStopLoss, OrderTakeProfit(), 0, CLR_NONE)。 如果(lFlagModify && lFlagUseSound) PlaySound(sSoundFileName)。 } //+----------------------------------------------------------------------------+ //| Author : Kim Igor V. aka KimIV, http://www.kimiv.ru |。 //+----------------------------------------------------------------------------+ //| 版本号 : 19.02.2008|| //| 说明:返回最后位置的损失标志。 //+----------------------------------------------------------------------------+ //| 参数: | //| sy - 仪器的名称(" - 任何符号,|) //| NULL - 当前符号) | |//| op - 操作 (-1 - 任何位置) | //| mn - 魔法数字(-1 - 任何魔法)| //+----------------------------------------------------------------------------+ bool isLossLastPos(string sy="", int op=-1, int mn=-1) { datetime t; int i, j=-1, k=OrdersHistoryTotal(); 如果(sy=="0")sy=符号()。 for (i=0; i<k; i++) { 如果(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){ 如果(OrderSymbol()==sy || sy=="){ 如果(OrderType()==OP_BUY || OrderType()==OP_SELL) { 如果(op<0 || OrderType()==op){ 如果(mn<0 || OrderMagicNumber()==mn) { 如果(t<OrderCloseTime()){ t=OrderCloseTime()。 j=i。 } } } } } } } 如果(OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)){ 如果(OrderProfit()<0)返回(True)。 } return(False)。 } 空白的OpenBuy(){ 双重dStopLoss = 0, dTakeProfit = 0。 double Lots_New = Lot; 如果(isLossLastPos(NULL, -1, MAGIC)) Lots_New *= 2; else if (!isLossLastPos(NULL, -1, MAGIC)) Lots_New = Lot; 如果(dBuyStopLossPoint > 0) dStopLoss = Bid-dBuyStopLossPoint*Point。 如果(dBuyTakeProfitPoint > 0) dTakeProfit = Bid + dBuyTakeProfitPoint * Point; int numorder = OrderSend(Symbol(, OP_BUY, Lots_New, Ask, nSlippage, dStopLoss, dTakeProfit, sNameExpert, MAGIC, 0, colorOpenBuy); 如果(numorder > -1 && lFlagUseSound) PlaySound(sSoundFileName)。 } 空白的OpenSell() { 双重dStopLoss = 0, dTakeProfit = 0。 double Lots_New = Lot; 如果(isLossLastPos(NULL, -1, MAGIC)) Lots_New *= 2; else if (!isLossLastPos(NULL, -1, MAGIC)) Lots_New = Lot; 如果(dSellStopLossPoint > 0) dStopLoss = Ask+dSellStopLossPoint*Point。 如果(dSellTakeProfitPoint > 0) dTakeProfit = Ask-dSellTakeProfitPoint*Point。 int numorder = OrderSend(Symbol(,OP_SELL, Lots_New, Bid, nSlippage, dStopLoss, dTakeProfit, sNameExpert, MAGIC, 0, colorOpenSell); 如果(numorder > -1 && lFlagUseSound) PlaySound(sSoundFileName)。 } [WARNING CLOSED!] Any newbie EA that produces 1650% Need help with simple Валентин 2010.07.13 09:32 #6966 valenok2003: 如果你不介意在例子中修正它,由于某些原因,它对我不起作用。 ObjectSetText("info", str3, fontsize, fontname); ObjectSet("info", OBJPROP_CORNER, corner); ObjectSet("info", OBJPROP_XDISTANCE, xdistance); ObjectSet("info", OBJPROP_YDISTANCE, ydistance); ObjectSet("info", OBJPROP_COLOR, clr); 我把可变角做成了外部的(为了方便)。它包含了将被计算为坐标的角的号码 Dimitry 2010.07.13 09:56 #6967 Roger: 尝试用以下方式代替 如果(OrderStopLoss()<pp-(TStop.Buy+TrailingStep-1)*po||OrderStopLoss()==0) 至 如果(OrderStopLoss()>pp-(TStop.Buy+TrailingStep-1)*po||OrderStopLoss()==0) 罗杰,谢谢,但还是不能正常工作。尝试了另一次拖网,但错误仍然存在 :( 拖网一个姿势和同时拖网几个姿势有什么区别吗? Sergey Guliaev 2010.07.13 10:11 #6968 rensbit: 我把角的变量做成了外部的(为了方便)。它包含了将被计算出坐标的角的号码 谢谢你! 还有一个问题。如何正确地将Wingdings的符号插入评论中。 Валентин 2010.07.13 10:28 #6969 哪个符号? Sergey Guliaev 2010.07.13 10:35 #6970 rensbit: 哪个符号? 版权 1...690691692693694695696697698699700701702703704...1145 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
锚的角度是指从哪个角度计算窗口中物体的位置。角度从左到右顺时针计算。
如果我抓取到右下角,那么呢,我应该设置负坐标吗?
如果我抓取到右下角,我是否要设置负坐标?
请告知。
为了计算连续事件的数量(例如,在一个系列中收盘价高于开盘价的条数,反之亦然),我只能得出以下结论。
有两个问题(如果上述有意义的话):(1)如果连续系列停止了,如何重置计数器的读数;(2)如何正确写入Buffer[i]--即我如何能 "看到 "结果本身?
也就是说,如果某个条形图的指标显示为"-3",这意味着这是连续第三个条形图的收盘价低于开盘价;如果它之后的下一个条形图收盘价高于开盘价,指标将显示为 "1" ......。
int i=Bars-1
while (i > 0) {
int x=0。
int y=0。
if ( Close[i] > Open[i] ) { x++ ;
Buf [i]= x; }
如果(Close[i] < Open[i] ){ y-- ;
Buf2[i] =y ; }
i--;
}
不,正坐标,终端会自己计算出所需的点。比如说。距2个角15像素
显示你的代码,以便不被猜中
在Gorando程序中制作,加入了你的马汀。
//+------------------------------------------------------------------+
//| Copyright 2005, Gordago Software Corp.
//| http://www.gordago.com/ |
//| 2.0版本|
//+------------------------------------------------------------------+
#property copyright"Copyright 2005, Gordago Software Corp."
#属性链接 "http://www.gordago.com"
#define MIN_STOPLOSS_POINT 10
#define MIN_TAKEPROFIT_POINT 10
#define MAGIC 218650
外部字符串sNameExpert = "从Gordago生成"。
外部int nAccount =0;
外部双倍的dBuyStopLossPoint = 0;
外来的双倍dSellStopLossPoint = 0;
外来的双数dBuyTakeProfitPoint = 0;
外来的双倍dSellTakeProfitPoint = 0;
外来的双倍数dBuyTrailingStopPoint = 0;
外来的双倍dSellTrailingStopPoint = 0;
外来的双Lot = 0.10。
外置 int nSlippage = 30;
外部 bool lFlagUseHourTrade = True;
外部inttern nFromHourTrade = 0;
外置 intToHourTrade = 23;
外部 bool lFlagUseSound = False;
外部字符串sSoundFileName = "alert.wav"。
外部颜色 colorOpenBuy = Blue;
外部的colorCloseBuy = Aqua;
外部颜色OpenSell = 红色。
extern colorCloseSell = Aqua;
void deinit() {
评论(")。
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start(){
如果(lFlagUseHourTrade){
如果(!(Hour()>=nFromHourTrade && Hour()<=nToHourTrade)){
评论("贸易的时间还没有到来!")。
return(0);
}
}
如果(Bars < 100){
Print("小于100的条形图")。
return(0);
}
如果(nAccount > 0 && nAccount != AccountNumber()){
评论("账户交易:"+账户号码()+"禁止!")。
return(0);
}
如果((dBuyStopLossPoint > 0 && dBuyStopLossPoint < MIN_STOPLOSS_POINT) ||
(dSellStopLossPoint > 0 && dSellStopLossPoint < MIN_STOPLOSS_POINT)){
Print("StopLoss 小于" + MIN_STOPLOSS_POINT)。
return(0);
}
如果((dBuyTakeProfitPoint > 0 && dBuyTakeProfitPoint < MIN_TAKEPROFIT_POINT) ||
(dSellTakeProfitPoint > 0 && dSellTakeProfitPoint < MIN_TAKEPROFIT_POINT)){
Print("TakeProfit小于" + MIN_TAKEPROFIT_POINT)。
return(0);
}
double diOpen0=iOpen(NULL,60,0);
double d1=(0.00030);
double diHigh2=iHigh(NULL,60,0)。
double diOpen3=iOpen(NULL,60,0);
double d4=(0.00030);
double diLow5=iLow(NULL,60,0)。
double diOpen6=iOpen(NULL,60,1);
double diClose7=iClose(NULL,60,1);
double diOpen8=iOpen(NULL,60,2);
double diClose9=iClose(NULL,60,2);
double diOpen10=iOpen(NULL,60,0);
double d11=(0.00030);
double diHigh12=iHigh(NULL,60,0)。
double diOpen13=iOpen(NULL,60,0);
double d14=(0.00030);
double diLow15=iLow(NULL,60,0)。
double diOpen16=iOpen(NULL,60,1);
double diClose17=iClose(NULL,60,1);
double diOpen18=iOpen(NULL,60,2);
double diClose19=iClose(NULL,60,2);
如果(AccountFreeMargin() < (1000*Lot)){
Print("我们没有钱。Free Margin = " + AccountFreeMargin())。
return(0);
}
bool lFlagBuyOpen = false, lFlagSellOpen = false, lFlagBuyClose = false, lFlagSellClose = false;
lFlagBuyOpen = (diOpen0+d1>diHigh2 && diOpen3-d4<diLow5 && diOpen6<diClose7 && diOpen8>diClose9) 。
lFlagSellOpen = (diOpen10+d11>diHigh12 && diOpen13-d14<diLow15 && diOpen16>diClose17 && diOpen18<diClose19) 。
lFlagBuyClose = False。
lFlagSellClose = False;
如果(!ExistPositions()){
如果(lFlagBuyOpen){
OpenBuy()。
{ return(0);
}
如果(lFlagSellOpen){
OpenSell()。
return(0);
}
}
如果(ExistPositions()){
如果(OrderType()==OP_BUY){
如果(lFlagBuyClose){
bool flagCloseBuy = OrderClose(OrderTicket(, OrderLots(), Bid, nSlippage, colorCloseBuy)。
如果(flagCloseBuy && lFlagUseSound)
PlaySound(sSoundFileName)。
return(0);
}
}
如果(OrderType()==OP_SELL){
如果(lFlagSellClose){
bool flagCloseSell = OrderClose(OrderTicket(, OrderLots(), Ask, nSlippage, colorCloseSell)。
如果(flagCloseSell && lFlagUseSound)
PlaySound(sSoundFileName)。
return(0);
}
}
}
如果(dBuyTrailingStopPoint > 0 || dSellTrailingStopPoint > 0){
for (int i=0; i<OrdersTotal(); i++){
如果(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
bool lMagic = true。
如果(MAGIC > 0 && OrderMagicNumber() != MAGIC)
lMagic = false。
如果(OrderSymbol()==Symbol() && lMagic) {
如果(OrderType()==OP_BUY && dBuyTrailingStopPoint > 0) {
如果(Bid-OrderOpenPrice() > dBuyTrailingStopPoint*Point) {
如果(OrderStopLoss()<Bid-dBuyTrailingStopPoint*Point)
修改StopLoss(Bid-dBuyTrailingStopPoint*Point)。
}
}
如果(OrderType()==OP_SELL) {
如果(OrderOpenPrice()-Ask>dSellTrailingStopPoint*Point) {
如果(OrderStopLoss()>Ask+dSellTrailingStopPoint*Point || OrderStopLoss()==0)
ModifyStopLoss(Ask+dSellTrailingStopPoint*Point)。
}
}
}
}
}
}
返回(0)。
}
bool ExistPositions() {
for (int i=0; i<OrdersTotal(); i++){
如果(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
bool lMagic = true。
如果(MAGIC > 0 && OrderMagicNumber() != MAGIC)
lMagic = false。
如果(OrderSymbol()==Symbol() && lMagic) {
return(True)。
}
}
}
return(false)。
}
无效的修改止损(double ldStopLoss) {
bool lFlagModify = OrderModify(OrderTicket(, OrderOpenPrice(), ldStopLoss, OrderTakeProfit(), 0, CLR_NONE)。
如果(lFlagModify && lFlagUseSound)
PlaySound(sSoundFileName)。
}
//+----------------------------------------------------------------------------+
//| Author : Kim Igor V. aka KimIV, http://www.kimiv.ru |。
//+----------------------------------------------------------------------------+
//| 版本号 : 19.02.2008||
//| 说明:返回最后位置的损失标志。
//+----------------------------------------------------------------------------+
//| 参数: |
//| sy - 仪器的名称(" - 任何符号,|)
//| NULL - 当前符号) |
|//| op - 操作 (-1 - 任何位置) |
//| mn - 魔法数字(-1 - 任何魔法)|
//+----------------------------------------------------------------------------+
bool isLossLastPos(string sy="", int op=-1, int mn=-1) {
datetime t;
int i, j=-1, k=OrdersHistoryTotal();
如果(sy=="0")sy=符号()。
for (i=0; i<k; i++) {
如果(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){
如果(OrderSymbol()==sy || sy=="){
如果(OrderType()==OP_BUY || OrderType()==OP_SELL) {
如果(op<0 || OrderType()==op){
如果(mn<0 || OrderMagicNumber()==mn) {
如果(t<OrderCloseTime()){
t=OrderCloseTime()。
j=i。
}
}
}
}
}
}
}
如果(OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)){
如果(OrderProfit()<0)返回(True)。
}
return(False)。
}
空白的OpenBuy(){
双重dStopLoss = 0, dTakeProfit = 0。
double Lots_New = Lot;
如果(isLossLastPos(NULL, -1, MAGIC))
Lots_New *= 2;
else if (!isLossLastPos(NULL, -1, MAGIC))
Lots_New = Lot;
如果(dBuyStopLossPoint > 0)
dStopLoss = Bid-dBuyStopLossPoint*Point。
如果(dBuyTakeProfitPoint > 0)
dTakeProfit = Bid + dBuyTakeProfitPoint * Point;
int numorder = OrderSend(Symbol(, OP_BUY, Lots_New, Ask, nSlippage, dStopLoss, dTakeProfit, sNameExpert, MAGIC, 0, colorOpenBuy);
如果(numorder > -1 && lFlagUseSound)
PlaySound(sSoundFileName)。
}
空白的OpenSell() {
双重dStopLoss = 0, dTakeProfit = 0。
double Lots_New = Lot;
如果(isLossLastPos(NULL, -1, MAGIC))
Lots_New *= 2;
else if (!isLossLastPos(NULL, -1, MAGIC))
Lots_New = Lot;
如果(dSellStopLossPoint > 0)
dStopLoss = Ask+dSellStopLossPoint*Point。
如果(dSellTakeProfitPoint > 0)
dTakeProfit = Ask-dSellTakeProfitPoint*Point。
int numorder = OrderSend(Symbol(,OP_SELL, Lots_New, Bid, nSlippage, dStopLoss, dTakeProfit, sNameExpert, MAGIC, 0, colorOpenSell);
如果(numorder > -1 && lFlagUseSound)
PlaySound(sSoundFileName)。
}
如果你不介意在例子中修正它,由于某些原因,它对我不起作用。
我把可变角做成了外部的(为了方便)。它包含了将被计算为坐标的角的号码
尝试用以下方式代替
如果(OrderStopLoss()<pp-(TStop.Buy+TrailingStep-1)*po||OrderStopLoss()==0)
至
如果(OrderStopLoss()>pp-(TStop.Buy+TrailingStep-1)*po||OrderStopLoss()==0)
我把角的变量做成了外部的(为了方便)。它包含了将被计算出坐标的角的号码
谢谢你!
还有一个问题。如何正确地将Wingdings的符号插入评论中。
哪个符号?
版权