任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 770

 
Leonid123456:

插上插头。它无休止地工作......

使用这篇文章中的最后一个方法成功地解决了这个问题 https://www.mql5.com/ru/articles/1399

你说无限是什么意思?把你想要的条件!

if(BuyPos < n) // n = cколько не больше!

OrdersTotal()显示总数。然后用它来做闭合和修改的循环!

 
价格标记 能否被设置为与它所处的价格不同的值?如果是这样,怎么做?我很慢...
 
TheXpert:
价格标记能否被设置为与它所处的价格不同的值?如果是这样,怎么做?我正在放慢一些速度......
如果我们谈论的是 OBJ_ARROW_LEFT_PRICE 或类似的权利,不,你不能,显示的值与纵坐标同时作用。
 
input double lots = 0.01;
input int takeprofit = 100;
input int stoploss = 100;
input double DeltaPrice = 50;
 extern int magic = 123;
 
//----------------+
int init()
     

{
 if (PRICE_OPEN!=0); 
  else {if PRICE_OPEN = NormalizeDouble(Ask +PRICE_OPEN *DeltaPrice*Point,Digits); 
       else  PRICE_OPEN = NormalizeDouble(Bid - PRICE_OPEN*DeltaPrice*Point,Digits);}       
              
              
             
return(0);
}
int start()
{


int ticket=OrderSend(Symbol(),OP_BUYLIMIT,lots,PRICE_OPEN,3,PRICE_OPEN-stoploss* Point,PRICE_OPEN + takeprofit* Point,NULL,123,120,CLR_NONE);






return(0);
}
 
请大家帮忙!!!告诉我这里出了什么问题。
 
logut:
请大家帮助我!!告诉我这里有什么问题。

首先解释它是什么,应用这个代码的结果应该是什么

if (PRICE_OPEN!=0); 
  else {if PRICE_OPEN = NormalizeDouble(Ask +PRICE_OPEN *DeltaPrice*Point,Digits); 
       else  PRICE_OPEN = NormalizeDouble(Bid - PRICE_OPEN*DeltaPrice*Point,Digits);}     

至少要把手册打开一分钟...

 

logut:
люди помогите пожалуйста!!! подскажите что у меня здесь не так

input double lots = 0.01;
input int takeprofit = 100;
input int stoploss = 100;
input double DeltaPrice = 50;
 extern int magic = 123;
 
//----------------+
int init()
     

{
 if (PRICE_OPEN!=0); 
  else {if PRICE_OPEN = NormalizeDouble(Ask +PRICE_OPEN *DeltaPrice*Point,Digits); 
       else  PRICE_OPEN = NormalizeDouble(Bid - PRICE_OPEN*DeltaPrice*Point,Digits);}       
              
              
             
return(0);
}
int start()
{


int ticket=OrderSend(Symbol(),OP_BUYLIMIT,lots,PRICE_OPEN,3,PRICE_OPEN-stoploss* Point,PRICE_OPEN + takeprofit* Point,NULL,123,120,CLR_NONE);






return(0);
}

就这样了。

我不知道它是否真的能编译。不知为何,我不相信。即使不检查,我也会说它不应该。

阅读什么是预定义常数以及它们是如何被使用的,什么是L值,它与R值有什么不同。

然而,我认为你需要从基础知识开始:网站顶部有大量的文档和教程的链接,代码库中充满了带源代码的例子。

 
脚本会用哪条命令把数值复制到剪贴板上?
 
Escapee:
脚本会用什么命令来复制数值到剪贴板?
没有任何开箱即用的。把它写到一个文件里更容易,至少有这样的函数(FileWrite )。
 
Escapee:

脚本会用什么命令来复制数值到剪贴板?

这只是针对旧的构建,对于新的构建,你需要修改它。但这是可以实施的,而且相对容易。

#import "user32.dll"
   int OpenClipboard(int notUsed); // BOOL
   int CloseClipboard(); // BOOL
   int EmptyClipboard();  // BOOL
   int SetClipboardData(int format, int hMem); // HANDLE

   int SendMessageA(int hWnd, int Msg, int wParam, int lParam);
   int GetParent(int hWnd);
  
#import "ntdll.dll"
   int memcpy(int dst, string src, int cnt);

   int RtlGetLastWin32Error();
   int RtlSetLastWin32Error(int dwErrCode);

#import "kernel32.dll"
   int GlobalAlloc(int uFlags, int dwBytes); // HGLOBAL
   int GlobalLock(int hMem); // void*
   int GlobalUnlock(int hMem); // HGLOBAL
   int GlobalFree(int hMem); // HGLOBAL
#import

#define  GMEM_MOVEABLE 2
#define  GMEM_ZEROINIT 64

#define  CF_TEXT 1

void PlaceToClipboard(string toCopy)
{
   int size = StringLen(toCopy) + 1;
  
   RtlSetLastWin32Error(0);
   int hMem = GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, size);
   if (hMem == 0)
   {
      Print("Alloc failed, error #", RtlGetLastWin32Error());
      return;
   }
  
   RtlSetLastWin32Error(0);
   int ptr = GlobalLock(hMem);
  
   if (ptr == 0)
   {
      Print("Memory lock failed, error #", RtlGetLastWin32Error());
      return;
   }

   memcpy(ptr, toCopy, size);
   GlobalUnlock(hMem);
  
   // now prepare clipboard
  
   int res = OpenClipboard(0);
   if (res == 0)
   {
      Print("Open clipboard failed");
      return;
   }
  
   res = EmptyClipboard();
   if (res == 0)
   {
      Print("Empty clipboard failed");
      CloseClipboard();
      return;
   }
  
   RtlSetLastWin32Error(0);
   res = SetClipboardData(CF_TEXT, hMem);
   if (res == 0)
   {
      Print("Set Data failed, error #", RtlGetLastWin32Error());
   }
   CloseClipboard();

}