//+------------------------------------------------------------------+ //| Stoploss.mq4 | //| Copyright 2016, Marco vd Heijden, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright"Copyright 2016, Marco vd Heijden, MetaQuotes Software Corp." #property link"https://www.mql5.com" #property version"1.00" #property strict //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ intOnInit() { //--- create object BitmapLabelCreate( 0, // chart's ID "BmpLabel", // label name 0, // subwindow index 20, // X coordinate 20, // Y coordinate "\\Images\\on.bmp", // image in On mode "\\Images\\off.bmp", // image in Off mode 0, // visibility scope X coordinate 0, // visibility scope Y coordinate 0, // visibility scope shift by X axis 0, // visibility scope shift by Y axis 0, // pressed/released CORNER_LEFT_UPPER, // chart corner for anchoring ANCHOR_LEFT_UPPER, // anchor type clrRed, // border color when highlighted STYLE_SOLID, // line style when highlighted 1, // move point size false, // in the background false, // highlight to move true, // hidden in the object list 0); // priority for mouse click
} //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ voidOnTick() { //--- if(ObjectGetInteger(0,"BmpLabel",OBJPROP_STATE)==true) { Print("Stoploss active"); // Do Something... }
if(ObjectGetInteger(0,"BmpLabel",OBJPROP_STATE)==false) { Print("Stoploss inactive"); // Do Something... } } //+------------------------------------------------------------------+ //| Create Bitmap Label object | //+------------------------------------------------------------------+ bool BitmapLabelCreate(constlong chart_ID=0, // chart's ID conststring name="BmpLabel", // label name constint sub_window=0, // subwindow index constint x=0, // X coordinate constint y=0, // Y coordinate conststring file_on="", // image in On mode conststring file_off="", // image in Off mode constint width=0, // visibility scope X coordinate constint height=0, // visibility scope Y coordinate constint x_offset=10, // visibility scope shift by X axis constint y_offset=10, // visibility scope shift by Y axis constbool state=false, // pressed/released constENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // chart corner for anchoring constENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // anchor type constcolor clr=clrRed, // border color when highlighted constENUM_LINE_STYLE style=STYLE_SOLID, // line style when highlighted constint point_width=1, // move point size constbool back=false, // in the background constbool selection=false, // highlight to move constbool hidden=true, // hidden in the object list constlong z_order=0) // priority for mouse click { //--- reset the error value ResetLastError(); //--- create a bitmap label if(!ObjectCreate(chart_ID,name,OBJ_BITMAP_LABEL,sub_window,0,0)) { Print(__FUNCTION__, ": failed to create \"Bitmap Label\" object! Error code = ",GetLastError()); return(false); } //--- set the images for On and Off modes if(!ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,0,file_on)) { Print(__FUNCTION__, ": failed to load the image for On mode! Error code = ",GetLastError()); return(false); } if(!ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,1,file_off)) { Print(__FUNCTION__, ": failed to load the image for Off mode! Error code = ",GetLastError()); return(false); }
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x); //--- set label coordinates ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y); ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width); //--- set visibility scope for the image; if width or height values ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height); ObjectSetInteger(chart_ID,name,OBJPROP_XOFFSET,x_offset); //--- set the part of an image that is to be displayed in the visibility scope ObjectSetInteger(chart_ID,name,OBJPROP_YOFFSET,y_offset); ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state); //--- define the label's status (pressed or released) ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner); //--- set the chart's corner, relative to which point coordinates are defined ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor); //--- set anchor type ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr); //--- set the border color when object highlighting mode is enabled ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style); //--- set the border line style when object highlighting mode is enabled ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,point_width); //--- set a size of the anchor point for moving an object ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back); //--- display in the foreground (false) or background (true) ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);//--- enable (true) or disable (false) the mode of moving the label by mouse ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection); ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden); //--- hide (true) or display (false) graphical object name in the object list ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order); //--- set the priority for receiving the event of a mouse click in the chart return(true); //--- successful execution } //+------------------------------------------------------------------+
bool use_stoploss; // stoploss flag //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ intOnInit() { //--- create object BitmapLabelCreate( 0, // chart's ID "BmpLabel", // label name 0, // subwindow index 20, // X coordinate 20, // Y coordinate "\\Images\\on.bmp", // image in On mode "\\Images\\off.bmp", // image in Off mode 0, // visibility scope X coordinate 0, // visibility scope Y coordinate 0, // visibility scope shift by X axis 0, // visibility scope shift by Y axis 0, // pressed/released CORNER_LEFT_UPPER, // chart corner for anchoring ANCHOR_LEFT_UPPER, // anchor type clrRed, // border color when highlighted STYLE_SOLID, // line style when highlighted 1, // move point size false, // in the background false, // highlight to move true, // hidden in the object list 0); // priority for mouse click
if(use_stoploss==1) { // Do Something else... } } //+------------------------------------------------------------------+ //| Check Stoploss state | //+------------------------------------------------------------------+ void CheckStoplossState() { if(ObjectGetInteger(0,"BmpLabel",OBJPROP_STATE)==true) { if(use_stoploss==0) { Alert("Stoploss active"); use_stoploss=1; } } if(ObjectGetInteger(0,"BmpLabel",OBJPROP_STATE)==false) { if(use_stoploss==1) { Alert("Stoploss inactive"); use_stoploss=0; } } } //+------------------------------------------------------------------+ //| Create Bitmap Label object | //+------------------------------------------------------------------+ bool BitmapLabelCreate(constlong chart_ID=0, // chart's ID conststring name="BmpLabel", // label name constint sub_window=0, // subwindow index constint x=0, // X coordinate constint y=0, // Y coordinate conststring file_on="", // image in On mode conststring file_off="", // image in Off mode constint width=0, // visibility scope X coordinate constint height=0, // visibility scope Y coordinate constint x_offset=10, // visibility scope shift by X axis constint y_offset=10, // visibility scope shift by Y axis constbool state=false, // pressed/released constENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // chart corner for anchoring constENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // anchor type constcolor clr=clrRed, // border color when highlighted constENUM_LINE_STYLE style=STYLE_SOLID, // line style when highlighted constint point_width=1, // move point size constbool back=false, // in the background constbool selection=false, // highlight to move constbool hidden=true, // hidden in the object list constlong z_order=0) // priority for mouse click { //--- reset the error value ResetLastError(); //--- create a bitmap label if(!ObjectCreate(chart_ID,name,OBJ_BITMAP_LABEL,sub_window,0,0)) { Print(__FUNCTION__, ": failed to create \"Bitmap Label\" object! Error code = ",GetLastError()); return(false); } //--- set the images for On and Off modes if(!ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,0,file_on)) { Print(__FUNCTION__, ": failed to load the image for On mode! Error code = ",GetLastError()); return(false); } if(!ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,1,file_off)) { Print(__FUNCTION__, ": failed to load the image for Off mode! Error code = ",GetLastError()); return(false); }
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x); //--- set label coordinates ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y); ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width); //--- set visibility scope for the image; if width or height values ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height); ObjectSetInteger(chart_ID,name,OBJPROP_XOFFSET,x_offset); //--- set the part of an image that is to be displayed in the visibility scope ObjectSetInteger(chart_ID,name,OBJPROP_YOFFSET,y_offset); ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state); //--- define the label's status (pressed or released) ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner); //--- set the chart's corner, relative to which point coordinates are defined ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor); //--- set anchor type ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr); //--- set the border color when object highlighting mode is enabled ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style); //--- set the border line style when object highlighting mode is enabled ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,point_width); //--- set a size of the anchor point for moving an object ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back); //--- display in the foreground (false) or background (true) ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);//--- enable (true) or disable (false) the mode of moving the label by mouse ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection); ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden); //--- hide (true) or display (false) graphical object name in the object list ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order); //--- set the priority for receiving the event of a mouse click in the chart return(true); //--- successful execution } //+------------------------------------------------------------------+
//| Stoploss.mq4 |
//| Copyright 2016, Marco vd Heijden, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, Marco vd Heijden, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- create object
BitmapLabelCreate(
0, // chart's ID
"BmpLabel", // label name
0, // subwindow index
20, // X coordinate
20, // Y coordinate
"\\Images\\on.bmp", // image in On mode
"\\Images\\off.bmp", // image in Off mode
0, // visibility scope X coordinate
0, // visibility scope Y coordinate
0, // visibility scope shift by X axis
0, // visibility scope shift by Y axis
0, // pressed/released
CORNER_LEFT_UPPER, // chart corner for anchoring
ANCHOR_LEFT_UPPER, // anchor type
clrRed, // border color when highlighted
STYLE_SOLID, // line style when highlighted
1, // move point size
false, // in the background
false, // highlight to move
true, // hidden in the object list
0); // priority for mouse click
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
if(ObjectGetInteger(0,"BmpLabel",OBJPROP_STATE)==true)
{
Print("Stoploss active");
// Do Something...
}
if(ObjectGetInteger(0,"BmpLabel",OBJPROP_STATE)==false)
{
Print("Stoploss inactive");
// Do Something...
}
}
//+------------------------------------------------------------------+
//| Create Bitmap Label object |
//+------------------------------------------------------------------+
bool BitmapLabelCreate(const long chart_ID=0, // chart's ID
const string name="BmpLabel", // label name
const int sub_window=0, // subwindow index
const int x=0, // X coordinate
const int y=0, // Y coordinate
const string file_on="", // image in On mode
const string file_off="", // image in Off mode
const int width=0, // visibility scope X coordinate
const int height=0, // visibility scope Y coordinate
const int x_offset=10, // visibility scope shift by X axis
const int y_offset=10, // visibility scope shift by Y axis
const bool state=false, // pressed/released
const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // chart corner for anchoring
const ENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // anchor type
const color clr=clrRed, // border color when highlighted
const ENUM_LINE_STYLE style=STYLE_SOLID, // line style when highlighted
const int point_width=1, // move point size
const bool back=false, // in the background
const bool selection=false, // highlight to move
const bool hidden=true, // hidden in the object list
const long z_order=0) // priority for mouse click
{
//--- reset the error value
ResetLastError();
//--- create a bitmap label
if(!ObjectCreate(chart_ID,name,OBJ_BITMAP_LABEL,sub_window,0,0))
{
Print(__FUNCTION__,
": failed to create \"Bitmap Label\" object! Error code = ",GetLastError());
return(false);
}
//--- set the images for On and Off modes
if(!ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,0,file_on))
{
Print(__FUNCTION__,
": failed to load the image for On mode! Error code = ",GetLastError());
return(false);
}
if(!ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,1,file_off))
{
Print(__FUNCTION__,
": failed to load the image for Off mode! Error code = ",GetLastError());
return(false);
}
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x); //--- set label coordinates
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width); //--- set visibility scope for the image; if width or height values
ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
ObjectSetInteger(chart_ID,name,OBJPROP_XOFFSET,x_offset); //--- set the part of an image that is to be displayed in the visibility scope
ObjectSetInteger(chart_ID,name,OBJPROP_YOFFSET,y_offset);
ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state); //--- define the label's status (pressed or released)
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner); //--- set the chart's corner, relative to which point coordinates are defined
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor); //--- set anchor type
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr); //--- set the border color when object highlighting mode is enabled
ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style); //--- set the border line style when object highlighting mode is enabled
ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,point_width); //--- set a size of the anchor point for moving an object
ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back); //--- display in the foreground (false) or background (true)
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);//--- enable (true) or disable (false) the mode of moving the label by mouse
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden); //--- hide (true) or display (false) graphical object name in the object list
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order); //--- set the priority for receiving the event of a mouse click in the chart
return(true); //--- successful execution
}
//+------------------------------------------------------------------+
//| Stoploss.mq4 |
//| Copyright 2016, Marco vd Heijden, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, Marco vd Heijden, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
bool use_stoploss; // stoploss flag
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- create object
BitmapLabelCreate(
0, // chart's ID
"BmpLabel", // label name
0, // subwindow index
20, // X coordinate
20, // Y coordinate
"\\Images\\on.bmp", // image in On mode
"\\Images\\off.bmp", // image in Off mode
0, // visibility scope X coordinate
0, // visibility scope Y coordinate
0, // visibility scope shift by X axis
0, // visibility scope shift by Y axis
0, // pressed/released
CORNER_LEFT_UPPER, // chart corner for anchoring
ANCHOR_LEFT_UPPER, // anchor type
clrRed, // border color when highlighted
STYLE_SOLID, // line style when highlighted
1, // move point size
false, // in the background
false, // highlight to move
true, // hidden in the object list
0); // priority for mouse click
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//--- check stoploss
CheckStoplossState();
if(use_stoploss==0)
{
// Do something...
}
if(use_stoploss==1)
{
// Do Something else...
}
}
//+------------------------------------------------------------------+
//| Check Stoploss state |
//+------------------------------------------------------------------+
void CheckStoplossState()
{
if(ObjectGetInteger(0,"BmpLabel",OBJPROP_STATE)==true)
{
if(use_stoploss==0)
{
Alert("Stoploss active");
use_stoploss=1;
}
}
if(ObjectGetInteger(0,"BmpLabel",OBJPROP_STATE)==false)
{
if(use_stoploss==1)
{
Alert("Stoploss inactive");
use_stoploss=0;
}
}
}
//+------------------------------------------------------------------+
//| Create Bitmap Label object |
//+------------------------------------------------------------------+
bool BitmapLabelCreate(const long chart_ID=0, // chart's ID
const string name="BmpLabel", // label name
const int sub_window=0, // subwindow index
const int x=0, // X coordinate
const int y=0, // Y coordinate
const string file_on="", // image in On mode
const string file_off="", // image in Off mode
const int width=0, // visibility scope X coordinate
const int height=0, // visibility scope Y coordinate
const int x_offset=10, // visibility scope shift by X axis
const int y_offset=10, // visibility scope shift by Y axis
const bool state=false, // pressed/released
const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // chart corner for anchoring
const ENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // anchor type
const color clr=clrRed, // border color when highlighted
const ENUM_LINE_STYLE style=STYLE_SOLID, // line style when highlighted
const int point_width=1, // move point size
const bool back=false, // in the background
const bool selection=false, // highlight to move
const bool hidden=true, // hidden in the object list
const long z_order=0) // priority for mouse click
{
//--- reset the error value
ResetLastError();
//--- create a bitmap label
if(!ObjectCreate(chart_ID,name,OBJ_BITMAP_LABEL,sub_window,0,0))
{
Print(__FUNCTION__,
": failed to create \"Bitmap Label\" object! Error code = ",GetLastError());
return(false);
}
//--- set the images for On and Off modes
if(!ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,0,file_on))
{
Print(__FUNCTION__,
": failed to load the image for On mode! Error code = ",GetLastError());
return(false);
}
if(!ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,1,file_off))
{
Print(__FUNCTION__,
": failed to load the image for Off mode! Error code = ",GetLastError());
return(false);
}
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x); //--- set label coordinates
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width); //--- set visibility scope for the image; if width or height values
ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
ObjectSetInteger(chart_ID,name,OBJPROP_XOFFSET,x_offset); //--- set the part of an image that is to be displayed in the visibility scope
ObjectSetInteger(chart_ID,name,OBJPROP_YOFFSET,y_offset);
ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state); //--- define the label's status (pressed or released)
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner); //--- set the chart's corner, relative to which point coordinates are defined
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor); //--- set anchor type
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr); //--- set the border color when object highlighting mode is enabled
ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style); //--- set the border line style when object highlighting mode is enabled
ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,point_width); //--- set a size of the anchor point for moving an object
ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back); //--- display in the foreground (false) or background (true)
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);//--- enable (true) or disable (false) the mode of moving the label by mouse
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden); //--- hide (true) or display (false) graphical object name in the object list
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order); //--- set the priority for receiving the event of a mouse click in the chart
return(true); //--- successful execution
}
//+------------------------------------------------------------------+
または、それ自身の関数に 入れることもできます。
私はOnTick()関数に入れましたが、最終的にはタイマー関数で実行した方がいいかもしれません。なぜなら、状態を変更するためにはティックを受信する必要があり、新しいティックが到着する前に注文を出すと、古い状態のままになってしまい、望ましくない場合があります。しかし、最終的にはタイマー関数で状態を切り替える方がずっと速くなり、マーケットが閉じてティックが入ってこないときにも機能するようになります。
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//--- check stoploss
CheckStoplossState();
if(use_stoploss==0)
{
// Do something...
}
if(use_stoploss==1)
{
// Do Something else...
}
}
//+------------------------------------------------------------------+
//| Check Stoploss state |
//+------------------------------------------------------------------+
void CheckStoplossState()
{
if(ObjectGetInteger(0,"BmpLabel",OBJPROP_STATE)==true)
{
if(use_stoploss==0)
{
Alert("Stoploss active");
use_stoploss=1;
}
}
if(ObjectGetInteger(0,"BmpLabel",OBJPROP_STATE)==false)
{
if(use_stoploss==1)
{
Alert("Stoploss inactive");
use_stoploss=0;
}
}
}
または、それ自身の関数に 入れることもできます。
私はOnTick()関数に入れましたが、最終的にはタイマー関数で実行した方がいいかもしれません。なぜなら、状態を変更するためにはティックを受信する必要があり、新しいティックが到着する前に注文を出すと、古い状態のままになってしまい、望ましくない場合があります。しかし、最終的にはタイマー関数で状態を切り替える方がずっと速くなり、マーケットが閉じてティックが入ってこないときにも機能するようになります。
私はまだ試していません、私はあなたの2つのコメントは、私のEAのコードの私の部分を終了すると感じています。
あなたは私を正しく理解してくれて、とても感謝しています。
もう一つ、本当にありがとうございました。あなたの大きな助けで私の問題は解決しました。
OnTick() の代わりにOnChartEvent() を使用することは可能でしょうか?
私はすでに試して、私はまだ何の問題も表示されませんが、あなたはOnTick() 関数を使用して、私はちょうど約確認したいです。
Off( / False / 1 ) の時はストップロスが有効で、On( / True / 0 ) の時はストップロスが無効になるので、@Marco さんにお聞きしたいのですが、画像の場所について何か問題があるのでしょうか?( ただ、私は何も変更したくない、このビットマップは私にとって非常に危険です、冗談ではない - 私はそれがまだ私から長い時間を取る参照してください)
また、 ビットマップラベルオブジェクトの グローバル 変数について、使うべき特定の ものがあるかどうか、試す前に聞いて おく必要があります。( 私の質問理由は、Bitmap Label Objectは他のものとは全く異なるものが必要だと思うからです...など)
ありがとうございました。
いいえ、ドキュメントに従うだけです。
OnChartEvent()の中で使用することは可能ですが、例えばtrailingstopのようなコードを含めることはできないことを覚えておいてください。
ビットマップの問題については、フォルダに移動して、onをonOLDにリネームし、offをonにリネームし、onOLDをoffにリネームしてください。
また、以下のボタンを使用することもできます。
また、より小さいものが必要であれば、リサイズすることもできます。
リネームするとうまくいったのですが、御社のコードでは正しく動作しているので、もう一度確認して みようと思います。
グローバル変数。 私はそれのために以下のコードのようにしようとしましたが、私はグローバル変数ウィンドウでそれを見ることさえ、結果はありません。
use_stoploss_gv = _Symbol + "test BmpLabel GV";
if ( GlobalVariableCheck( use_stoploss_gv ) == true )
{
use_stoploss = GlobalVariableGet( use_stoploss_gv );
}
else
{
GlobalVariableSet( use_stoploss_gv, use_stoploss );
}
あなたは私のために多くを作った。
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---Global Variables
string use_stoploss_gv=_Symbol+"test BmpLabel GV";
if(GlobalVariableCheck(use_stoploss_gv)==true)
{
use_stoploss=GlobalVariableGet(use_stoploss_gv);
Print(use_stoploss_gv," Exists");
}
else
{
GlobalVariableSet(use_stoploss_gv,use_stoploss);
Print(use_stoploss_gv," Created");
}
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
動作しているようです。
Marco vd Heijden:
動作しているように見えます。
しかし、それは最後の変更を保存しません。
例:チャートに追加して、それを'On'にして、他のタイムフレームに切り替えると、'Off'になってしまう、これは正常ではありません。
また、他の機能であるロット、ストップロス、テイクプロフィットにはグローバル変数を使っていますが、このビットマップラベルは うまくいきません。
どうか、このBitmap Label の問題を解決する方法について、アドバイスや手助けをしてください。
どうもありがとうございます。
以下のコードは、あなたが私を助けてくれた後、完全に動作します。
そして、私はあなたが言ったように名前を変更し、それは良い動作しますが、ちょうど私が疑問に思っている、私は何か間違ったことをやっているのでしょうか?
( ちょうど私は心配 です )
void ordersell()
{
CheckStopLossState();
if ( use_stoploss == 0 )
{ sl = Bid + points_to_change( stoploss * 10 ); }
if ( use_stoploss == 1 )
{ sl = 0; }
OrderSend( ... sl, ... );
return;
}
事前にありがとうございました。