[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 1124 1...111711181119112011211122112311241125112611271128112911301131...1145 新しいコメント dzhini 2011.01.12 09:16 #11231 こんにちは。私の質問に戻ります。逆取引はうまくいきません。サイト内を見回しましたが、この件に関するものは見つかりませんでした。私が何を間違えているのか、アドバイスをお願いします(まだ言語を勉強中です)。 extern double TP = 70; //takeprofit extern double SL = 0; //stoploss extern double Lot = 0.1; double HighLevel; double LowLevel; int resBuy=0; int resSell=0; //+--------------------------------------------------------+ //|エキスパート初期化関数| //+--------------------------------------------------------+ int init() { HighLevel=High[1]; LowLevel=Low[1]; return; } ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・。 //+------------------------------------------------------------------------+ //| expert function | //+------------------------------------------------------------------------+ void start() { if(Bars<100 && IsTradeAllowed()==false) return; if(resBuy==0 && resSell==0 && CheckBreak()==-1) { resSell=OrderSend(Symbol(),OP_SELL,Lot,Bid,2,0,Bid -TP,"",MAGICMA,0,Red); HighLevel=LowLevel; LowLevel=Close[1]; return; } }. if(resBuy==0 && resSell==0 && CheckBreak()==1) { resBuy=OrderSend(Symbol(),OP_BUY,Lot,Ask,2,0,Ask + TP,"",MAGICMA,0,Blue); LowLevel=HighLevel; HighLevel=Close[1]; return; } } if(resBuy!=0 && resSell==0 && Close[1]<LowLevel) //------------------------------------- この部分に興味があります:1つのバーでのクロージングとオープニング { bool closeBuy=OrderClose(resBuy, Lot, Bid, 2, Blue); // while(!IsTradeAllowed())Sleep(100); resSell=OrderSend(Symbol(),OP_SELL,Lot,Bid,2,0,Bid -TP,"",MAGICMA,0,Red); HighLevel=LowLevel; LowLevel=Close[1]; return; } }. if(resSell!=0 && resBuy==0 && Close[1]>HighLevel) //------------------------------------- この部分に興味があります:1つのバーでのクロージングとオープニング { bool closeSell=OrderClose(resSell, Lot, Ask, 0.0002, Red); // while(!IsTradeAllowed())Sleep(100); resBuy=OrderSend(Symbol(),OP_BUY,Lot,Ask,2,0,Ask + TP,"",MAGICMA,0,Blue); LowLevel=HighLevel; HighLevel=Close[1]; return; } }; resBuy=OrderSend(Symbol(),OP_BUY,Lot,Ask,2,0,Ask + TP), LowLevel=HighLevel } //Low&Highチェック break (Func) double CheckBreak() { double candle=Open[1]-Close[1]; if(candle>0 && Low[1]<LowLevel) return(-1); if(candle<0 && High[1]>HighLevel) return(1; } } ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・? [WARNING CLOSED!] Any newbie [アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. [Archive!] Any rookie question, 削除済み 2011.01.12 10:22 #11232 皆さんこんにちは 配列の問題があります 仮に int start (){ // 関数開始 int OrdSen_1=OrderSend(Symbol(, OP_BUY, 0.10, Ask,1, Ask-70*Point, Ask+70*Point); //買い注文 if(OrdSen_1==-1){ Alert("OrdSen_1 ",GetLastError());}; }; }.// 注文時のエラーチェック double mas1[]={}; // 配列 } 問題は、OrdSen_1に属する値 "Symbol(), OP_BUY, 0.10, Ask,1, Ask-70*Point, Ask+70*Point" をどうやって配列 mas1[]={} に入れ、さらに使用したり配列から取得したり変数と同一視して使用できるようにするか、ということです。このような命令や配列は他にもあるかもしれませんが、要は原理を理解すればいいのです。 できれば詳しく説明していただけると助かります :) 削除済み 2011.01.12 12:10 #11233 Techno: Outsideは使わないから削除される、つまり、どこからも呼び出さないから削除される、これで理解できましたか? 了解です、ありがとうございます。) 削除済み 2011.01.12 12:11 #11234 artmedia70: このサンプルを見て、どう思われますか? :))))) wifiだとOKです。 galion 2011.01.12 12:58 #11235 ごあいさつエディタで同じ変数や関数が使われている場所をすべて把握するにはどうしたらよいでしょうか? Владимир Тезис 2011.01.12 13:04 #11236 Galion: ごあいさつエディタで同じ変数や関数が使われている場所をすべて把握するにはどうしたらよいでしょうか? 私はこのためにNotepad++を使用しています。変数を一度ハイライトするだけで、コード全体でハイライトされるようになります。 Владимир Тезис 2011.01.12 13:06 #11237 しかし、Notepad++でシンタックスをハイライトするには、MQL4言語用にチューニングする必要があります。このフォーラムの検索でNotepad++と入力すると、すでに設定されたエディタへのリンクが見つかります - 私はそれを何度もここに投稿しました。 galion 2011.01.12 13:47 #11238 drknn: しかし、Notepad++でシンタックスをハイライトするには、MQL4言語用にチューニングする必要があります。このフォーラムの検索でNotepad++と入力すると、すでに設定されたエディタへのリンクが見つかります - 私はそれを何度もここに投稿しました。 ありがとうございます。インストールすると、点灯して、より楽しくなります)) Владимир Тезис 2011.01.12 13:59 #11239 Galion: ありがとうございます。インストールすると、点灯して、より楽しくなります)) 見つかった変数をマークする、とても面白い機能があるんです。Ctrl+Fを押して、変数名を入力し、「ブックマーク」「見つかったマーク」にチェックを入れる。そして、「すべてを検索」ボタンを押します。これを削除するには、「すべて削除」ボタンを押します galion 2011.01.12 15:14 #11240 drknn: 見つかった変数をマークするための非常に興味深い関数があります。Ctrl+Fを押して、変数名を入力し、「ブックマーク」と「見つかったマーク」にチェックを入れます。そして、「すべてを検索」ボタンを押します。削除する場合は「すべて削除」をクリックします。 そして、ダブルクリックでコードスニペットに移動します)))ちょうど私が必要としていたものです、ありがとう) 1...111711181119112011211122112311241125112611271128112911301131...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは。私の質問に戻ります。逆取引はうまくいきません。サイト内を見回しましたが、この件に関するものは見つかりませんでした。私が何を間違えているのか、アドバイスをお願いします(まだ言語を勉強中です)。
extern double TP = 70; //takeprofit
extern double SL = 0; //stoploss
extern double Lot = 0.1;
double HighLevel;
double LowLevel;
int resBuy=0;
int resSell=0;
//+--------------------------------------------------------+
//|エキスパート初期化関数|
//+--------------------------------------------------------+
int init()
{
HighLevel=High[1];
LowLevel=Low[1];
return;
} ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・。
//+------------------------------------------------------------------------+
//| expert function |
//+------------------------------------------------------------------------+
void start()
{
if(Bars<100 && IsTradeAllowed()==false) return;
if(resBuy==0 && resSell==0 && CheckBreak()==-1)
{
resSell=OrderSend(Symbol(),OP_SELL,Lot,Bid,2,0,Bid -TP,"",MAGICMA,0,Red);
HighLevel=LowLevel;
LowLevel=Close[1];
return;
} }.
if(resBuy==0 && resSell==0 && CheckBreak()==1)
{
resBuy=OrderSend(Symbol(),OP_BUY,Lot,Ask,2,0,Ask + TP,"",MAGICMA,0,Blue);
LowLevel=HighLevel;
HighLevel=Close[1];
return;
} }
if(resBuy!=0 && resSell==0 && Close[1]<LowLevel) //------------------------------------- この部分に興味があります:1つのバーでのクロージングとオープニング
{
bool closeBuy=OrderClose(resBuy, Lot, Bid, 2, Blue);
// while(!IsTradeAllowed())Sleep(100);
resSell=OrderSend(Symbol(),OP_SELL,Lot,Bid,2,0,Bid -TP,"",MAGICMA,0,Red);
HighLevel=LowLevel;
LowLevel=Close[1];
return;
} }.
if(resSell!=0 && resBuy==0 && Close[1]>HighLevel) //------------------------------------- この部分に興味があります:1つのバーでのクロージングとオープニング
{
bool closeSell=OrderClose(resSell, Lot, Ask, 0.0002, Red);
// while(!IsTradeAllowed())Sleep(100);
resBuy=OrderSend(Symbol(),OP_BUY,Lot,Ask,2,0,Ask + TP,"",MAGICMA,0,Blue);
LowLevel=HighLevel;
HighLevel=Close[1];
return;
} }; resBuy=OrderSend(Symbol(),OP_BUY,Lot,Ask,2,0,Ask + TP), LowLevel=HighLevel
}
//Low&Highチェック break (Func)
double CheckBreak()
{
double candle=Open[1]-Close[1];
if(candle>0 && Low[1]<LowLevel) return(-1);
if(candle<0 && High[1]>HighLevel) return(1;
} } ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・?
配列の問題があります
仮に
int start (){ // 関数開始
int OrdSen_1=OrderSend(Symbol(, OP_BUY, 0.10, Ask,1, Ask-70*Point, Ask+70*Point); //買い注文
if(OrdSen_1==-1){ Alert("OrdSen_1 ",GetLastError());}; }; }.// 注文時のエラーチェック
double mas1[]={}; // 配列
}
問題は、OrdSen_1に属する値 "Symbol(), OP_BUY, 0.10, Ask,1, Ask-70*Point, Ask+70*Point" をどうやって配列 mas1[]={} に入れ、さらに使用したり配列から取得したり変数と同一視して使用できるようにするか、ということです。このような命令や配列は他にもあるかもしれませんが、要は原理を理解すればいいのです。
できれば詳しく説明していただけると助かります :)
Outsideは使わないから削除される、つまり、どこからも呼び出さないから削除される、これで理解できましたか?
このサンプルを見て、どう思われますか? :)))))
ごあいさつエディタで同じ変数や関数が使われている場所をすべて把握するにはどうしたらよいでしょうか?
ごあいさつエディタで同じ変数や関数が使われている場所をすべて把握するにはどうしたらよいでしょうか?
私はこのためにNotepad++を使用しています。変数を一度ハイライトするだけで、コード全体でハイライトされるようになります。
しかし、Notepad++でシンタックスをハイライトするには、MQL4言語用にチューニングする必要があります。このフォーラムの検索でNotepad++と入力すると、すでに設定されたエディタへのリンクが見つかります - 私はそれを何度もここに投稿しました。
ありがとうございます。インストールすると、点灯して、より楽しくなります))
ありがとうございます。インストールすると、点灯して、より楽しくなります))
見つかった変数をマークする、とても面白い機能があるんです。Ctrl+Fを押して、変数名を入力し、「ブックマーク」「見つかったマーク」にチェックを入れる。そして、「すべてを検索」ボタンを押します。これを削除するには、「すべて削除」ボタンを押します
見つかった変数をマークするための非常に興味深い関数があります。Ctrl+Fを押して、変数名を入力し、「ブックマーク」と「見つかったマーク」にチェックを入れます。そして、「すべてを検索」ボタンを押します。削除する場合は「すべて削除」をクリックします。
そして、ダブルクリックでコードスニペットに移動します)))ちょうど私が必要としていたものです、ありがとう)