MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1338 1...133113321333133413351336133713381339134013411342134313441345...1953 新しいコメント sibiriyak73 2020.12.31 02:06 #13371 もっと正しく質問します。 Expert Advisorに必要な取引数を説明するコードのブロックがあります。このように見えます。 int OPEN=1です。 if(OrdersTotal()) OPEN=0; // これ以上、注文を開くことはできません。 if(OPEN==1) { //ここで開く } 問題は、すべてのシンボルに対して必要なディール 数(この例では1)をオープンすることです。そして、彼に説明する必要があります。 現在の 商品について、この数の取引を開始する必要があることを示します。_SymbolやSymbol()のようなものです。どうすればいいのか?解決策は簡単だと思います。 Iurii Tokman 2020.12.31 06:18 #13372 sibiriyak73:もっと正しく質問します。Expert Advisorに必要な取引数を説明するコードのブロックがあります。このように見えます。int OPEN=1です。if(OrdersTotal())OPEN=0; // これ以上、注文を開くことはできません。if(OPEN==1){//ここで開く}問題は、すべてのシンボルに対して必要なディール 数(この例では1)をオープンすることです。そして、彼に説明する必要があります。現在の 商品について、この数の取引を開始する必要があることを示します。_SymbolやSymbol()のようなものです。どうすればいいのか?解決策は簡単だと思います。 if(!isTradeToDay(Symbol())) { //Здесь открываем } sibiriyak73 2020.12.31 07:51 #13373 Iurii Tokman: クソみたいな案件を取り、売りで Iurii Tokman 2020.12.31 08:08 #13374 sibiriyak73: とんでもない案件を吹っ飛ばして、売り込みで 1.すべてのコードを表示 2.テレパスクラブに参加する。 sibiriyak73 2020.12.31 08:39 #13375 Iurii Tokman: 1. 全コードを表示する 2. テレパスクラブに参加する:) :) 買いも売りも開ける方法がわかった。しかし、案件の数は、すべてのティックで開くわけではありません int start() { double a=iOpen(NULL,PERIOD_D1,0); double d=_ORDER*0.00001; double c=d+1; double s=c*a; double limit= NormalizeDouble(s,_Digits); // Print("制限レベル=",limit); double e=_STOP*0.00001; double n=e+1 とする。 double m=n*a; double SL= NormalizeDouble(m,_Digits); //Print("ストップレベル=",SL); double p=_TP*0.00001; double f=p+1; double z=f*a; double TP= NormalizeDouble(z,_Digits)とする。 double w=iOpen(NULL,PERIOD_D1,0); double q=_ORDER*0.00001; double j=q+1; double v=w/j; double limit1= NormalizeDouble(v,_Digits); // Print("制限レベル=",limit); double k=_STOP*0.00001; double y=k+1; double u=w/y; double SL1= NormalizeDouble(u,_Digits); //Print("ストップレベル=",SL); double g=_TP*0.00001; double _f=g+1; double _m=w/_f; double TP1= NormalizeDouble(_m,_Digits)とする。 if(Hour()==Nac) { if(iOpen(NULL,PERIOD_D1,0)<iOpen(NULL,PERIOD_D1,1)) { if(!isTradeToDay(Symbol()))。 { int ticket1=OrderSend(Symbol(),OP_SELLSTOP,1.5,limit1,3,SL1,TP1,NULL,0,0,clrRed); //ここでオープンする。 } } if(iOpen(NULL,PERIOD_D1,0)>iOpen(NULL,PERIOD_D1,1)) { if(isTradeToDay(Symbol())の場合) { int ticket=OrderSend(Symbol(),OP_BUYSTOP,1.5,limit,3,SL,TP,NULL,0,0,clrBlueViolet); //ここでオープンする。 } } } if(Hour()==Kon) { bool result; int エラーです。 //---- while(OrdersTotal()>0) { if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)) { if(OrderType()==OP_BUY) result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),MarketInfo(OrderSymbol(),MODE_DIGITS),3,CLR_NONE).OrderTicketの値幅は、注文の種類によって異なります。 if(オーダータイプ()==OP_SELL) result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),MarketInfo(OrderSymbol(),MODE_DIGITS)),3,CLR_NONE).となります。 if(OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket())。 if(result!=TRUE) { error=GetLastError()です。 Print("LastError = ",error, ",Symbol()); } さもなくば error=0です。 } さもなくば Print("Error when order select ", GetLastError()); } } //+------------------------------------------------------------------+ //|| //+------------------------------------------------------------------+ return(0)です。 } 以下は、宣言された変数を 除いたコードです。 Any questions from newcomers どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - Any rookie question, so Iurii Tokman 2020.12.31 09:01 #13376 sibiriyak73: code needs to be inserted Alt+S and where is the function ? how did you compile it ? no errors ? sibiriyak73 2020.12.31 09:08 #13377 Iurii Tokman:code should be inserted Alt+S and where is the function ? how did you compile it ? no errors ? 機能は一番下にあります。コンパイルはエラーなし。売り方が、特定の商品について、他の商品の建玉があっても、その建玉を調整することができた。 の楽器があります。しかし、ベイサイドはティック ごとにトレードを発射して終わりです sibiriyak73 2020.12.31 09:12 #13378 Iurii Tokman:code should be inserted Alt+S and where is the function ? how did you compile it ? no errors ? 現時点では、このようなコードになっています。セルサイドはすべてOKだが、バイサイドはすべてのティックが 取引となる ファイル: dkub7ffup_1nw86d_2.mq4 13 kb 4i6gjk84s_tem9jy_2.ex4 20 kb Iurii Tokman 2020.12.31 09:30 #13379 sibiriyak73: 現時点では、このようなコードになっています。セルサイドはすべてOKだが、バイサイドはすべてのティックが トレードになる 買い方でも同じことが言えます。 sibiriyak73 2020.12.31 10:20 #13380 Iurii Tokman:買い方も同じにするべし isTradeToDay関数のどこを変更すれば、買い側と売り側で同じになるのかがわかりません。まだ買い側が動作しない :( 1...133113321333133413351336133713381339134013411342134313441345...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
もっと正しく質問します。
Expert Advisorに必要な取引数を説明するコードのブロックがあります。このように見えます。
int OPEN=1です。
if(OrdersTotal())
OPEN=0; // これ以上、注文を開くことはできません。
if(OPEN==1)
{
//ここで開く
}
問題は、すべてのシンボルに対して必要なディール 数(この例では1)をオープンすることです。そして、彼に説明する必要があります。
現在の 商品について、この数の取引を開始する必要があることを示します。_SymbolやSymbol()のようなものです。どうすればいいのか?解決策は簡単だと思います。
もっと正しく質問します。
Expert Advisorに必要な取引数を説明するコードのブロックがあります。このように見えます。
int OPEN=1です。
if(OrdersTotal())
OPEN=0; // これ以上、注文を開くことはできません。
if(OPEN==1)
{
//ここで開く
}
問題は、すべてのシンボルに対して必要なディール 数(この例では1)をオープンすることです。そして、彼に説明する必要があります。
現在の 商品について、この数の取引を開始する必要があることを示します。_SymbolやSymbol()のようなものです。どうすればいいのか?解決策は簡単だと思います。
とんでもない案件を吹っ飛ばして、売り込みで
1.すべてのコードを表示
2.テレパスクラブに参加する。
1. 全コードを表示する
2. テレパスクラブに参加する:)
:)
買いも売りも開ける方法がわかった。しかし、案件の数は、すべてのティックで開くわけではありません
int start()
{
double a=iOpen(NULL,PERIOD_D1,0);
double d=_ORDER*0.00001;
double c=d+1;
double s=c*a;
double limit= NormalizeDouble(s,_Digits);
// Print("制限レベル=",limit);
double e=_STOP*0.00001;
double n=e+1 とする。
double m=n*a;
double SL= NormalizeDouble(m,_Digits);
//Print("ストップレベル=",SL);
double p=_TP*0.00001;
double f=p+1;
double z=f*a;
double TP= NormalizeDouble(z,_Digits)とする。
double w=iOpen(NULL,PERIOD_D1,0);
double q=_ORDER*0.00001;
double j=q+1;
double v=w/j;
double limit1= NormalizeDouble(v,_Digits);
// Print("制限レベル=",limit);
double k=_STOP*0.00001;
double y=k+1;
double u=w/y;
double SL1= NormalizeDouble(u,_Digits);
//Print("ストップレベル=",SL);
double g=_TP*0.00001;
double _f=g+1;
double _m=w/_f;
double TP1= NormalizeDouble(_m,_Digits)とする。
if(Hour()==Nac)
{
if(iOpen(NULL,PERIOD_D1,0)<iOpen(NULL,PERIOD_D1,1))
{
if(!isTradeToDay(Symbol()))。
{
int ticket1=OrderSend(Symbol(),OP_SELLSTOP,1.5,limit1,3,SL1,TP1,NULL,0,0,clrRed); //ここでオープンする。
}
}
if(iOpen(NULL,PERIOD_D1,0)>iOpen(NULL,PERIOD_D1,1))
{
if(isTradeToDay(Symbol())の場合)
{
int ticket=OrderSend(Symbol(),OP_BUYSTOP,1.5,limit,3,SL,TP,NULL,0,0,clrBlueViolet); //ここでオープンする。
}
}
}
if(Hour()==Kon)
{
bool result;
int エラーです。
//----
while(OrdersTotal()>0)
{
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
if(OrderType()==OP_BUY)
result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),MarketInfo(OrderSymbol(),MODE_DIGITS),3,CLR_NONE).OrderTicketの値幅は、注文の種類によって異なります。
if(オーダータイプ()==OP_SELL)
result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),MarketInfo(OrderSymbol(),MODE_DIGITS)),3,CLR_NONE).となります。
if(OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELLSTOP)
OrderDelete(OrderTicket())。
if(result!=TRUE)
{
error=GetLastError()です。
Print("LastError = ",error, ",Symbol());
}
さもなくば
error=0です。
}
さもなくば
Print("Error when order select ", GetLastError());
}
}
//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+
return(0)です。
}
以下は、宣言された変数を 除いたコードです。
code needs to be inserted Alt+S
and where is the function ?
how did you compile it ? no errors ?
code should be inserted Alt+S
and where is the function ?
how did you compile it ? no errors ?
機能は一番下にあります。コンパイルはエラーなし。売り方が、特定の商品について、他の商品の建玉があっても、その建玉を調整することができた。
の楽器があります。しかし、ベイサイドはティック ごとにトレードを発射して終わりです
code should be inserted Alt+S
and where is the function ?
how did you compile it ? no errors ?
現時点では、このようなコードになっています。セルサイドはすべてOKだが、バイサイドはすべてのティックが トレードになる
買い方でも同じことが言えます。
買い方も同じにするべし
isTradeToDay関数のどこを変更すれば、買い側と売り側で同じになるのかがわかりません。まだ買い側が動作しない :(